Releases: tcalmant/ipopo
Releases · tcalmant/ipopo
v0.6.3
Project
- iPOPO now has a logo ! (thanks to @debbabi)
- README file has been rewritten
- Better PEP-8 compliance
- Updated jsonrpclib requirement version to 0.2.6
Pelix
- Optimization of the service registry (less dictionaries, use of sets, ...)
- Added the
hide_bundle_services()
to the service registry.
It is by the framework to hide the services of a stopping bundle from
get_service_reference
methods, and before those services will be
unregistered. - Removed the deprecated
ServiceEvent.get_type()
method
iPOPO
- Optimization of StoredInstance (handlers, use of sets, ...)
HTTP
- Added a
is_header_set()
method to the HTTPServletResponse bean. - Response headers are now sent on
end_headers()
, not onset_header()
,
to avoid duplicate headers. - The request queue size of the basic HTTP server can now be set as a component
property (pelix.http.request_queue_size
)
Shell
- The
pelix.shell.console
module can now be run as a main script - Added the report shell command
- Added the name of varargs in the signature of commands
- Corrected the signature shown in the help description for static methods
- Corrected the thread and threads shell commands for pypy
Remote Services
- Added support for keyword arguments in most of remote services transports
(all except XML-RPC) - Added support for
pelix.remote.export.only
and
pelix.remote.export.none
service properties...only
tells the
exporter to export the given specifications only, while..none
forbids
the export of the service.
Utilities
- Updated the MQTT client to follow the new API of Eclipse Paho MQTT Client
Tests
- Travis-CI: Added Python 3.5 and Pypy3 targets
- Better configuration of coverage
- Added tests for the remote shell
- Added tests for the MQTT client and for MQTT-RPC
v0.6.2
iPOPO
- The properties of a component can be updated when calling the
retry_erroneous()
method. This allows to modifiy the configuration of
a component before trying to validate it again (HTTP port, ...). - The
get_instance_details()
dictionary now always contains a filter
entry for each of the component requirement description, even if not filter
has been set.
Shell
- The
ipopo.retry
shell command accepts properties to be reconfigure the
instance before trying to validate it again. - The bundle commands (start, stop, update, uninstall) now prints the
name of the bundle along with its ID. - The
threads
andthreads
shell commands now accept a stack depth limit
argument.
HTTP
- Protect the
ServletRequest.read_data()
method against empty or invalid
Content-Length headers
v0.6.1
iPOPO
- The stack trace of the exception that caused a component to be in the
ERRONEOUS state is now kept, as a string. It can be seen throught the
instance
shell command.
Shell
- The command parser has been separated from the shell core service. This
allows to create custom shells without giving access to Pelix administration
commands. - Added
cd
andpwd
shell commands, which allow changing the working
directory of the framework and printing the current one. - Corrected the encoding of the shell output string, to avoid exceptions when
printing special characters.
Remote Services
- Corrected a bug where an imported service with the same endpoint name as an
exported service could be exported after the unregistration of the latter.
v0.6.0
- iPOPO doesn't support Python 2.6 anymore
- pelix.misc.xmpp: Added a workaround to connect servers with anonymous login on SSL/StartSSL connections (see SleekXMPP issue 351)
v0.5.9
Main additions
- iPOPO now works with IronPython (tested inside Unity 3D)
- Components raising an error during validation goes in the ERRONEOUS state/
- The
@SingletonFactory
decorator ensures that only one component of this
factory can be instantiated at a time. - The
@Temporal
requirement decorator allows to require a service and to
wait a given amount of time for its replacement before invalidating the
component or while using the requirement. @RequiresBest
ensures that it is always the service with the best
ranking that is injected in the component.- The
@PostRegistration
and@PreUnregistration
callbacks allows the
component to be notified right after one of its services has been registered
or will be unregistered. - The HTTP service 404 and 500 error pages can be customized by a hook service.
- The
ThreadPool
class is now a cached thread pool. It now has a minimum
and maximum number of threads: only the required threads are alive.
A thread waits for a task during 60 seconds (by default) before stopping.