Changes in 1.6.2
----------------
** Bug
    * [FELIX-6373] - Wrong provide capability header


Changes in 1.6.0
----------------
** Improvement
    * [FELIX-4678] - Make list of denied event handlers available via JMX
** Task
    * [FELIX-6329] - Update event admin to Java 8
    * [FELIX-6330] - Use term deny list for event handlers hitting the timeout


Changes in 1.5.0
----------------
** Task
    * [FELIX-5773] - Update implementation to EventAdmin 1.4 (R7)
** Improvement
    * [FELIX-5813] - EventAdmin async threads should be named
** Bug
    * [FELIX-5738] - EventAdmin IgnoreTopic config. property doesn't support wildcards
    * [FELIX-5831] - Async/sync Thread Pool Ratio is not changeable at runtime


Changes from 1.4.6 to 1.4.8
---------------------------
** Improvement
    * [FELIX-5323] -  EventAdmin should export version 1.3.1 of org.osgi.service.event


Changes from 1.4.4 to 1.4.6
---------------------------
** Bug
    * [FELIX-5006] - EventAdmin threads should be named
    * [FELIX-5051] - Memory leak in async delivery
    * [FELIX-5107] - NullPointerException in org.apache.felix.eventadmin.impl.adapter.LogEventAdapter if log msg is empty


Changes from 1.4.2 to 1.4.4
---------------------------
** Improvement
    * [FELIX-4623] - Add test for thread based ordering
    * [FELIX-4638] - Less locking on event handler timing
    * [FELIX-4663] - Potential memory leak in AsyncDeliveryTask
** Bug
    * [FELIX-4963] - Eventadmin leaks caller's security context downstream


Changes from 1.4.0 to 1.4.2
---------------------------
** Improvement
    * [FELIX-4623] - Make Async to Sync ThreadPool Ratio Configurable
    * [FELIX-4629] - Documentation - Properties and Property Defaults Incorrect
    * [FELIX-4630] - Adding PerformanceTestIT to measure difference between send and post events
** Bug
    * [FELIX-4627] - Potential Memory Leak in AsyncDeliverTasks
    * [FELIX-4617] - Empty configurations for ignore topic and ignore timeout lead to error messages in the log
    * [FELIX-4618] - NPE if config value for ignore topic or timeout is empty


Changes from 1.3.2 to 1.4.0
---------------------------
** Improvement
    * [FELIX-4608] - Merge Performance IT into Event Admin
    * [FELIX-4604] - Add a configuration to ignore certain events
    * [FELIX-3511] - Use java.concurrent from Java 6
    * [FELIX-4316] - Packages imported dynamically should also be imported statically with an optional flag


Changes from 1.3.0 to 1.3.2
---------------------------
** Bug
    * [FELIX-3689] - Event admin requires org.osgi.util.tracker in version 1.5
    

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
---------------------
