Changes from 1.2.14 to 1.3.0
----------------------------

** Bug
    * [FELIX-3121] - Add back the manifest header indicating the provided service
    * [FELIX-3451] - EventAdmin ignoring filters for handler which are registered for all (*) topics 

** Improvement
    * [FELIX-3319] - Add invalid topics when not accepting EventHandler
    * [FELIX-3321] - Improve implementation and reduce load on the service registry
    * [FELIX-3518] - Update to EventAdmin Spec 1.3

    
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
    * [FELIX-3053] - Potential deadlock if event handler throws Throwable and is bypassing timeout handling
    * [FELIX-3055] - Event Admin deadlocks when sendEvent is called from within a handleEvent method

** Improvement
    * [FELIX-2156] - Remove Import-Service header in 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
---------------------
