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

** Bug
    * [FELIX-2997] - java.lang.NullPointerException during shutdown while sending events
    * [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
---------------------
