Changes from 1.2.12 to 1.2.14
-----------------------------

** Bug
    * [FELIX-3002] - Embed the OBR specific information for the EventAdmin bundle in the manifest


Changes from 1.2.10 to 1.2.12
-----------------------------

** Bug
    * [FELIX-2915] - Potential deadlock on shutdown


Changes from 1.2.8 to 1.2.10
----------------------------

** Bug
    * [FELIX-2836] - Async threads should be daemon threads

** Improvement
    * [FELIX-2861] - Remove unnecessary object creation


Changes from 1.2.6 to 1.2.8
---------------------------

** Improvement
    * [FELIX-2655] - allow event admin log level to be configurable


Changes from 1.2.4 to 1.2.6
---------------------------

** Bug
    * [FELIX-2608] - Threads should be daemon threads


Changes from 1.2.2 to 1.2.4
---------------------------

** Bug
    * [FELIX-2582] - Event admin requires config admin packages
    * [FELIX-2431] - EventAdmin service unregistered but not registered again on ConfigAdmin startup

** Improvement
    * [FELIX-2562] - Remove object caches
    * [FELIX-2558] - Handle configuration changes without restarting event admin service


Changes from 1.0.0 to 1.2.2
---------------------------

** Bug
    * [FELIX-2089] - IllegalStateException thrown by LogWrapper if logging after bundle stop

** Improvement
    * [FELIX-1875] - Add R4.2 support for Event Admin
    * [FELIX-1913] - All events are processed in a queue
    * [FELIX-2020] - Make event admin configurable through configuration admin
    * [FELIX-1960] - Fine-grained timeout configuration
    * [FELIX-664]  - Event Admin OBR description


Initial Release 1.0.0
---------------------
