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