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.BasicBotdoesn't inheritslixmpp.ClientXMPPanymore, 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.XMPPBotClientwhich behaves like the previousBasicBotclass (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
osgiservicebridgeto 1.5.7 because ofprotobufversion issues - Fixed link to Karaf
v1.0.2
v1.0.1
- Added a
RequiresBroadcastdecorator, 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. ConfigurationAdmindefault persistence can now be disabled by setting the
pelix.configadmin.persistence.default.disableframework property to any
non-empty value.
See #113 for more details.- Added a
to_record()method inLogEntryobjects. This converts the
Pelix entry to alogging.LogRecordobject, 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
collectionsabstract 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/ValidateComponentdecorators, 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
imppackage - Added a
Framework.delete()method to avoid the need to know about theFrameworkFactoryclass.
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
@Providesdecorators and for fixing a bug innormalize_path()