Releases: tcalmant/ipopo
v3.1.0
- Addition of the pyproject.toml file
- Updated and fixed SliXMPP to 1.10
- Updated osgiservicebridge to 1.5.8
- Removed etcd3 dependency
- Replacement of the etcd3 package by a custom implementation by @scottslewis (see issue #143 and pull request #145)
- The etcd2 endpoint discovery is now deprecated. Removal is expected in next minor version (3.2) or when it breaks.
pelix.misc.xmpp.BasicBot
doesn't inheritslixmpp.ClientXMPP
anymore, but is the class to call to create an XMPP client. This ensures that the client will run in a specific thread with a valid asyncio loop and will forward common methods to that thread. Its main purpose is to provide a non-async API toward the underlying bot.- XMPP bots will now inherit
pelix.misc.xmpp.XMPPBotClient
which behaves like the previousBasicBot
class (without asyncio loop handling) and inherits slixmpp.ClientXMPP.
Full Changelog: 3.0.0...3.1.0
v3.0.0
First release of the v3 branch
- Dropped support for Python 2.7 and versions earlier than 3.10
- Kept compability with iPOPO 1.0 on API level
- Moved from Travis-CI to GitHub actions to test project against Python 3.10, 3.11 and 3.12
- Added type hints where possible
- Support types in specifications
- Documentation updates
- Fixed most deprecation warnings from Python 3.12
- Upgraded Eclipse Paho to 2.1
- Replaced SleekXMPP by SliXMPP
- Added an etcd3 discovery provider
- Updated
osgiservicebridge
to 1.5.7 because ofprotobuf
version issues - Fixed link to Karaf
v1.0.2
v1.0.1
- Added a
RequiresBroadcast
decorator, which injects a proxy that broadcasts
calls to all services matched by the requirement. It also transparently
ignores calls when no service matches the requirement. ConfigurationAdmin
default persistence can now be disabled by setting the
pelix.configadmin.persistence.default.disable
framework property to any
non-empty value.
See #113 for more details.- Added a
to_record()
method inLogEntry
objects. This converts the
Pelix entry to alogging.LogRecord
object, which can then be formatted
using standard formatters.
Note that some information is missing, like the place the log record is from
(file path and line).
v1.0.0
First 1.x release of iPOPO!
Note: The Pelix/iPOPO project is now split in two branches: iPOPO (v1
branch) and ipopo2 (v2
branch). The v2
branch requires Python 3.7+, whereas v1
will keep compatibility with Python 2.7.
Bug fixes with this release:
- Fixed an error when starting the framework after having loaded native modules, e.g.
numpy
. These modules don't have a__path__
set, which case was not handled when the framework normalizes the existing module paths. - Fixed an invalid import of
collections
abstract classes for Python 3.3+ inpelix.internal.hooks
.
v0.8.1
This is a bug fixing release:
- Fixed a memory leak in the thread pool implementation.
The patch comes from issue 35 of the jsonrpclib-pelix project. - Fixed a deadlock in the Py4J provider (issue #100), contributed by Scott Lewis (@scottslewis).
See pull request #101 for more details.
v0.8.0
A new step toward 1.0 !
This major new feature of this release is the contribution of the Remote Service Admin implementation by @scottslewis.
The documentation about this new feature is split into 3 parts:
- A refcard
- A tutorial on the Py4J provider
- A tutorial on the XML-RPC provider
The evolution of this feature can be seen in issues #60 and #98.
v0.7.1
This is a small release, before version 0.8.0 (unless some issues are detected meanwhile)
This version adds:
- TLS Remote Shell
- Shell completion services
- Shell reference cards in the documentation
@In/ValidateComponent
decorators, which give more control on the argument of the life-cycle callbacks- Bugs fixed:
Framework.delete()
behavior on stopped frameworks- LogService access to Python LogRecord messages
v0.7.0
This version adds:
- Prototype Service Factories
- Automatic release of consumed services when a bundle stops. This will avoid some stale references when using service factories. WARNING: This is an important change in behavior, which might break some projects which use stale references to pass information from one bundle version to another during an update (which is a bad way to do it).
- Deprecation handling of the
imp
package - Added a
Framework.delete()
method to avoid the need to know about theFrameworkFactory
class.
This release also removes some Python 2.6 compatibility code that was remaining. and which is not necessary anymore, as this version of Python is not supported anymore by iPOPO.
A big thank you to @elrhedda for his feedback.
v0.6.5
This version mainly adds:
- Service Factories
- HTTP Routing (based on decorators,
HttpGet
,HttpPost
, ...) - Redis and ZooKeeper remote service discovery providers (Docker-friendly discovery)
- Added basic support of HTTPS in Remote Services
A big thanks to iPOPO contributors:
- @debovis for fixing a strange behavior when importing a module a bundle depends on
- @Paltoquet for fixing the thread pool
- @ahmadshahwan for preventing imported HTTP servlets to be exposed by the local HTTP server
- @tbr for adding an auto-naming capacity in
@Provides
decorators and for fixing a bug innormalize_path()