:::{admonition} Release Date
:class: info
2014-04-28
:::
Project
* Added samples to the project repository
* Removed the static website from the repository
* Added the project to [Coveralls](https://coveralls.io/)
* Increased code coverage
Framework
* Added a `BundleActivator` decorator, to define the bundle activator
class. The `activator` module variable should be replaced by this decorator.
* Renamed specifications constants: from `XXX_SPEC` to `SERVICE_XXX`
iPOPO
* Added a *waiting list* service: instantiates components as soon as
the iPOPO service and the component factory are registered
* Added `RequiresMap` handler
* Added an `if_valid` parameter to binding callbacks decorators:
`Bind`, `Update`, `Unbind`, `BindField`, `UpdateField`,
`UnbindField`. The decorated method will be called if and only if
the component valid.
* The `get_factory_context()` from `decorators` becomes public to ease
the implementation of new decorators
Remote Services
* Large rewriting of Remote Service core modules
* Now using OSGi Remote Services properties
* Added support for the OSGi EDEF file format (XML)
* Added an abstract class to easily write RPC implementations
* Added mDNS service discovery
* Added an MQTT discovery protocol
* Added an MQTT-RPC protocol, based on Node.js
[MQTT-RPC module](https://github.com/wolfeidau/mqtt-rpc)
* Added a Jabsorb-RPC transport. Pelix can now use Java services and vice-versa, using:
* [Cohorte Remote Services](https://github.com/cohorte/cohorte-remote-services)
* [Eclipse ECF](https://wiki.eclipse.org/ECF/) and the
[Jabsorb-RPC provider](https://github.com/cohorte/cohorte-remote-services/tree/master/deprecated/org.cohorte.ecf.provider.jabsorb)
Shell
* Enhanced completion with `readline`
* Enhanced commands help generation
* Added arguments to filter the output of `bl`, `sl`, `factories` and `instances`
* Corrected `prompt` when using `readline`
* Corrected `write_lines()` when not giving format arguments
* Added an `echo` command, to test string parsing
Services
* Added support for *managed service factories* in ConfigurationAdmin
* Added an EventAdmin-MQTT bridge: events from EventAdmin with an
`event.propagate` property are published over MQTT
* Added an early version of an MQTT Client Factory service
Miscellaneous
* Added a `misc` package, with utility modules and bundles:
* `eventadmin_printer`: an EventAdmin handler that prints
or logs the events it receives
* `jabsorb`: converts dictionary from and to the Jabsorb-RPC format
* `mqtt_client`: a wrapper for the [Paho](https://eclipse.dev/paho/)
MQTT client, used in MQTT discovery and MQTT-RPC.