Changes in 2.2.16
-----------------
** Improvement
    * Document Satisfying Condition feature as OSGi R8 specification-compliant
      - The existing satisfying condition implementation is now documented as compliant 
        with the preliminary OSGi R8 Declarative Services specification changes
      - See https://docs.osgi.org/specification/osgi.cmpn/8.0.0/service.component.html#service.component-satisfying.condition
      - Added comprehensive documentation in README.md
      - Updated code comments to reflect specification compliance
    * #486 Stop flooding the scheduled executor with no-op tasks for change count updates

Changes in 2.2.14
-----------------
** PRs
    * #383 Do not print an error when a wildcard is used in component header
    * #359 felix.scr - Fix printing of array of primitive types.
    * #438 Enable conditional command registration.
    * #437 Use globalContext for commands if configured

** Bug
    * [FELIX-6726] One reference can be unset more then once and will cause IllegalArgumentExceptionin Framework
    * [FELIX-6778] Reduce number of re-creation(s) of SCR Component Registry thread

Changes in 2.2.12
-----------------
** Bug
    * [FELIX-6699] Skip parsing of repeated Service-Component entries

Changes in 2.2.8
-----------------
** Improvement
    * [FELIX-6463] Changing log levels for DS component getState and registration

** Bug
    * [FELIX-6616] Dynamic greedy 1..1 references may activate with no reference service bound
    * [FELIX-6633] Dynamic references may miss events while causing deactivation
    * [FELIX-6682] Felix SCR - 3 TestCases fail in OSGi TCK

Changes in 2.2.6
-----------------
** Bug
    * [FELIX-6581] - use system context to clean up logger domains

Changes in 2.2.4
-----------------
** Bug
    * [FELIX-6564] Fixed NPE while retrieving component descriptions from SCR

Changes in 2.2.2
-----------------
** Improvement
    * Replace use of PackageAdmin with FrameworkWiring
** Bug
    * [FELIX-6521] Stop exporting org.osgi.service.component packages
    * [FELIX-6511] Cancel the SCR Component Registry's changeCountTimer on deactivation.

Changes in 2.2.0
-----------------
** Improvement
    * Build against final OSGi SCR API artifacts
    * [FELIX-6458] Use ServiceReference.adaptTo(ServiceReferenceDTO)
** Bug
    * [FELIX-6501] Fixed issue with ConcurrentModificationException

Changes in 2.2.0-RC1
-----------------
** Improvement
    * Initial implementation of OSGi R8.  This version has all the fixes up to and including SCR version 2.1.30

Changes in 2.1.28
-----------------
** Bug
    * [FELIX-6407] - SCR Log Extension still logs using the log level of the extended bundle
    * [FELIX-6408] - SCR NPE in MultipleStaticReluctantCustomizer.modifiedService

Changes in 2.1.26
-----------------
** Bug
    * [FELIX-6352] - SCR should protect against unregistered IllegalStateException for its ConfigurationListener registrations
    * [FELIX-6361] - IllegalArgumentException possible from LoggerFactory.getLogger(Bundle, String, Class<L>)
    * [FELIX-6353] - Constructor injection: activation with optional reference fails if service not available
    * [FELIX-6351] - EventDispatcher: Error during dispatch. (java.lang.IllegalStateException: Service already unregistered.)
    * [FELIX-6349] - Possible NullPointerException on modified event in DependencyManager

Changes in 2.1.24
-----------------
** Bug
    * [FELIX-6327] - NoSuchElementException can occur with SingleDynamicCustomizer when services are removed
    * [FELIX-6315] - Factory components are eagerly deactivated
    * [FELIX-6325] - OSGi log package is mandatory but imported as optional

Changes in 2.1.22
-----------------
** Bug
    * [FELIX-6314] - NullPointerException in SingleComponentManager.disposeImplementationObject
    * [FELIX-6108] - SCR activation log-messages cannot be disabled with R7 LogService
    * [FELIX-6274] - Potential Class Space problems with multiple Log Service APIs
    * [FELIX-6317] - dynamic greedy optional/mandatory references can get wrong service ranking
    * [FELIX-6161] - SCR: Method of resolving references limits Service ListenerHook implementations
** Improvement
    * [FELIX-6307] - SCR logging uses null name for logger in LogServiceEnabledLogger.getLogger()
    * [FELIX-6293] - Apache Felix SCR Logging

Changes in 2.1.20
-----------------
** Bug
    * [FELIX-6261] - [Regression] Empty property values are treated as String arrays


Changes in 2.1.18
-----------------
** Bug
    * [FELIX-6096] - SCR fails if the Java Runtime Environment does not support permissions
    * [FELIX-6206] - NPE in ComponentRegistry.getComponentHolders()
    * [FELIX-6251] - Possible NullPointerException when DependencyManager.m_tracker is null
    * [FELIX-6252] - Deadlock in SCR ComponentRegistry updateChangeCount
** Improvement
    * [FELIX-6107] - Logging Passwords when invoking activate Method
    * [FELIX-6215] - Cannot run scr unit tests on Java 11
    * [FELIX-6218] - Replace kxml2 with standard SAX XML parser
    * [FELIX-6220] - Refactor injection implementation
    * [FELIX-6241] - IllegalStateException can be thrown from listener if BundleContext is invalid

Changes in 2.1.16
-----------------
** Bug
    * [FELIX-6056] - SCR exports promises
    * [FELIX-6055] - NullPointerException possible because ServiceReference.getBundle() can return null
    * [FELIX-6050] - Use abstract class for PrototypeRefPair implementations for Single vs. Multiple case
    * [FELIX-6044] - Component deactivation does not cause reference services to be ungotten
    * [FELIX-6043] - ClassNotFoundException org.osgi.util.function.Function
    * [FELIX-6041] - scr gogo commands require gogo runtime to be present when scr resolves
    * [FELIX-6036] - Race condition prevents optional/greedy ref setter method from being called
    * [FELIX-6026] - SCR command problems
    * [FELIX-5989] - java.lang.IllegalArgumentException from AbstractLogger.format when logging debug message

** Improvement
    * [FELIX-5987] - Slow ServiceComponentRuntime with delivering ServiceReferenceDTOs

Changes in 2.1.14
-----------------
** Bug
    * [FELIX-5950] - NPE in MultiplePrototypeRefPair.unsetServiceObject
    * [FELIX-5974] - Prototype scope references are not released on deactivation

Changes in 2.1.12
-----------------
** Bug
    * [FELIX-5959] - Exception on changecount timer timeout


Changes in 2.1.10
-----------------
** Bug
    * [FELIX-4260] - IllegalStateException: The service has been unregistered
    * [FELIX-5947] - ClassLoader memory leak
** Improvement
    * [FELIX-5948] - Collection of performance and memory optimizations

Changes in 2.1.8
----------------
** Bug
    * [FELIX-5927] - Single element Annotation type does not incorporate PREFIX_
    * [FELIX-5926] - Logger instance is not set for constructor and reference injection
    * [FELIX-5929] - Failed activation state not reported in DTOs
    * [FELIX-5930] - Service reference is missing in DTO
    * [FELIX-5905] - SCR cannot access method getLogger from LogService R7
    * [FELIX-5910] - Set correct AccessControlContext when receiving configuration events


Changes in 2.1.6
----------------
** Bug
    * [FELIX-5902] - java.lang.IllegalArgumentException: Bundle org.apache.felix.scr is not resolved with R7 LogService
    * [FELIX-5904] - SCR is creating a logger instance using name "null"


Changes in 2.1.2
----------------
** Bug
    * [FELIX-5866] - SCR does not respect the log level set in LoggerAdmin
    * [FELIX-5865] - SCR R7 logging support doesn't work on equinox framework
    * [FELIX-5867] - Reference field of type Logger for service LoggerFactory is always null
    * [FELIX-5885] - SCR uses an overly restrictive import range for promises


Changes in 2.1.0
----------------
** Improvement
    * [FELIX-5354] - Implement Declarative Service Updates for OSGi R7
    * [FELIX-5454] - Service properties for ComponentFactory (OSGi R7)
    * [FELIX-5455] - Constructor Injection (OSGi R7)
    * [FELIX-5456] - Field injection of component activation objects (OSGi R7)
    * [FELIX-5457] - Logger support (OSGi R7)
    * [FELIX-5458] - Improved ConfigurationPlugin Support (OSGi R7)
    * [FELIX-5460] - DTO Updates (OSGi R7)
    * [FELIX-5557] - Updates to section 112.8.2.2 Coercing Component Property Values (OSGi R7)
    * [FELIX-5559] - Add change count property to runtime service (OSGi R7)
    * [FELIX-5590] - Add support for single value annotations and new key mapping (OSGi R7)
    * [FELIX-5695] - Use Java 7 as base version
    * [FELIX-5696] - Separate metatype provider from managed service
** Bug
    * [FELIX-5769] - SCR should not bind prototype_required reference to bundle scope service
    * [FELIX-5775] - Service properties not updated for lazy service when configuration changes
    * [FELIX-5507] - ConfigurationAdmin might not be visible to SCR implementation
    * [FELIX-5543] - Component property types must implement java.lang.annotation.Annotation methods properly


Changes from 2.0.12 to 2.0.14
-----------------------------
** Bug
    * [FELIX-5618] - Cycles in DS depending on bundle order
    * [FELIX-5704] - SCR can't be wired to recent gogo-runtime versions
    * [FELIX-5739] - Strange behaviour with Lazy-ActivationPolicy and autostart


Changes from 2.0.10 to 2.0.12
-----------------------------
** Bug
    * [FELIX-5416] - Endless loop throwing InterruptedException when shutting down framework
    * [FELIX-5627] - Class loading issues while finding fields causes an NPE
    * [FELIX-5628] - Global lock in FieldHandler.NotResolved::resolve method can cause deadlock


Changes from 2.0.8 to 2.0.10
----------------------------
** Improvement
    * [FELIX-5568] - SCR contains compact3 profile code
** Bug
    * [FELIX-5572] - Reference target filter fails when using field strategy for multiple cardinality reference with multiple component instances
    * [FELIX-5615] - Global lock in BaseMethod.NotResolved::resolve method can cause deadlock
    * [FELIX-5613] - SCR bundle fails to start without Config Admin


Changes from 2.0.6 to 2.0.8
---------------------------
** Improvement
    * [FELIX-5459] - Use Java 6 as minimum version
    * [FELIX-5374] - Reduce severity of log message from SCR when there is no metatype
    * [FELIX-5474] - Do not call no-arg Bundle.getHeaders() method
    * [FELIX-5360] - Strange loading of org.apache.felix.service.command.Descriptor


Changes from 2.0.4 to 2.0.6
---------------------------
** Bug
    * [FELIX-5315] - Unexpected release of ConfigurationAdmin service in RegionConfigurationSupport
    * [FELIX-5316] - Updating from SCR 2.0.2 to SCR 2.0.4 leads to null pointers
    * [FELIX-5318] - SCR causes startup to wait when bundle uninstall itself in activator


Changes from 2.0.2 to 2.0.4
---------------------------
** Improvement
    * [FELIX-5257] - Improve formatting of command list output
    * [FELIX-5243] - Make the code more reusable
    * [FELIX-5194] - Pay attention if configuration change count doesn't change
    * [FELIX-5174] - Logging involving Configuration should show change count
    * [FELIX-5129] - ScrInfo info should more explicitly indicatte there are no component configurations
    * [FELIX-4607] - Configure with nested annotations/interfaces

** Bug
    * [FELIX-5300] - ServiceComponentRuntime should not throw IllegalStateException
    * [FELIX-5276] - Possible hang when unbind method alters service properties
    * [FELIX-5270] - Configuration race between update and delete
    * [FELIX-5264] - Configuration updates may be missed
    * [FELIX-5256] - Object conversion should pass through unrecognized classes of the same type
    * [FELIX-5220] - Alarmist logging when bundle stops before we've activated it
    * [FELIX-5213] - ComponentContext.getServiceReference returns null though service registered
    * [FELIX-5202] - ServiceComponentRuntimeImpl NPE with subsystems/regions
    * [FELIX-5186] - Alarmist logging on asynchronous service changes
    * [FELIX-5080] - gogo info command left out Implementation-Class
    * [FELIX-5079] - Not enough configuration listeners to deal with regions
    * [FELIX-5044] - (felix-extensions) Service property changes during service registration get ignored
    * [FELIX-5040] - Get system bundle by location, not number, for global extender true
    * [FELIX-5032] - IndexOutOfBoundsException in SCR ComponentTestBase class
    * [FELIX-4538] - Problem with stale references with "triangle" of static references
    * [FELIX-4417] - Circular references detected but not resolved if one of the references in the cycle has optional cardinality
    * [FELIX-4237] - Updating a configuration may deactivate/active component multiple times
    * [FELIX-1824] - Cirular References are not currently explicitly checked and detected


Changes from 2.0.0 to 2.0.2
---------------------------
** Improvement
    * [FELIX-5001] - scr:list Gogo command should display component configurations
    * [FELIX-5020] - Don't log exception if metatype is not available

** Bug
    * [FELIX-5028] - ServiceFactory for components might return null


Changes from 1.8.2 to 2.0.0
---------------------------
** Improvement
    * [FELIX-4949] - [RFC-190] Implement prototype_required
    * [FELIX-4918] - Implement searching for event methods according to 112.3.2
    * [FELIX-4916] - Provide service capability
    * [FELIX-4787] - Update DS Implementation to R6
    * [FELIX-4769  - [RFC190/212] Implement ComponentServiceObjects
    * [FELIX-4634] - [RFC212] Implement replace strategy
    * [FELIX-4633] - [RFC212] Implement update strategy
    * [FELIX-4632] - [RFC212] Make properties map passed to event methods comparable
    * [FELIX-4631] - [R6/RFC212] Implement field injection
    * [FELIX-4537] - use a bnd.bnd file for bnd configuration
    * [FELIX-4507] - "persistent" factory components
    * [FELIX-4506] - Control felix optional extensions through xml attributes in component descriptor
    * [FELIX-4467] - Option to use system bundle context for tracking bundles
    * [FELIX-4412] - Add Provide-Capability for declarative services bundle
    * [FELIX-4406] - [R6/rfc190] support 1.3 namespace
    * [FELIX-4405] - [R6rfc190] support prototype scope
    * [FELIX-4404] - [R6/rfc190] implement additional event method signature single Map
    * [FELIX-4403] - [R6/rfc190] implement configuration through annotation instances
    * [FELIX-4402] - [R6/rfc190] implement multiple pid support
    * [FELIX-4401] - [R6/rfc190] Implement runtime/introspection/console based on DTOs
    * [FELIX-4391] - R6/rfc190 Support <refname>.cardinality.minimum configuration property

** Bug
    * [FELIX-4990] - Only first factoy configuration is used
    * [FELIX-4968] - With configuration annotations, coercion exceptions are thrown at the wrong time.
    * [FELIX-4967] - Configuration annotations need to handle char and char[]
    * [FELIX-4965] - Configuration annotations with invalid members handled incorrectly
    * [FELIX-4964] - Reactivate component at most once per service event
    * [FELIX-4957] - [RFC-212] Various issues with field references
    * [FELIX-4951] - [RFC-190] Correct pid handling
    * [FELIX-4950] - [RFC-190] Within a component instance for each reference to the same service the same object needs to be injected
    * [FELIX-4883] - ServiceComponentRuntime.getComponentConfigurationDTOs NullPointerException
    * [FELIX-4843] - ScrInfo impl misses the first provided service
    * [FELIX-4835] - Use bnd 2.3 (via maven-bundle-plugin 2.5.3) to avoid java 8 import problems
    * [FELIX-4793] - Components with an empty configuration are created even if configuration is required or available
    * [FELIX-4792] - Handle Errors on component initialization
    * [FELIX-4790] - SCR MutablePropertiesTest fails when run with framework 4.6.0
    * [FELIX-4789] - SCR Felix4188Test fails when run with framework 4.4.1 or newer
    * [FELIX-4785] - Incompatible SCR API
    * [FELIX-4768] - [RFC190/212] Reference can specify both method and field
    * [FELIX-4753] - Timing issues with bundle context configuration and CM configuration taking effect.
    * [FELIX-4686] - If component is declared with 1.3 NS and ds.factory.enabled = true, validation error occors
    * [FELIX-4585] - SCR will create an additional component instance when ComponentContext.enableComponent is called
    * [FELIX-4563] - target filters in xml reference element are not turned into properties
    * [FELIX-4536] - [R6rfc190] service.pid property aggregates pids from all configurations.
    * [FELIX-4469] - shell command "scr help" does not work without parameter
    * [FELIX-4447] - Regression in ScrShellCommand (NPE caused by falsy regex)
    * [FELIX-4396] - for factory components, configuration changes should affect existing instances
    * [FELIX-4149] - Do not directly support modifying service registration properties


Changes from 1.8 to 1.8.2
---------------------------

** Bug
    * [FELIX-4309] - SCR leaves some components in DISABLED state
    * [FELIX-4313] - Bad synchronization in scr where a lock is held while ungetting a service
    * [FELIX-4322] - [DS] Prevent activation attempts until all dependency managers are set up with trackers
    * [FELIX-4323] - [DS] ScrService.getComponents may return a null array element
    * [FELIX-4325] - [DS] Synchronization issue when activating component
    * [FELIX-4326] - Possible Invalid BundleContext exception when shutting down the extender
    * [FELIX-4348] - [DS] locateService calls race with component reconfiguration
    * [FELIX-4349] - Synchronization issue in ComponentRegistry
    * [FELIX-4350] - Component wrongly activated

** Improvement
    * [FELIX-4316] - Packages imported dynamically should also be imported statically with an optional flag
    * [FELIX-4317] - SCR implementation should avoid using bundleContext.getBundle()
    * [FELIX-4343] - [DS] rationalize log levels

Changes from 1.6.2 to 1.8
---------------------------

** Bug
    * [FELIX-3536] (minor additional work) - Consider putting the non-spec ComponentFactory behavior in a separate class
    * [FELIX-3708] - [DS] use java 5
    * [FELIX-3729] - [DS] Track dependencies by imitating ServiceTracker and keeping a list of actual service references all the time
    * [FELIX-3738] - [DS] ComponentInstance.getServices(String refName) is implemented wrong for 0..1 and 1..1 refs
    * [FELIX-3754] - Services registered from within the activate method may not be bound
    * [FELIX-3787] - NPE on reference update
    * [FELIX-3790] - [DS] Services may not be bound if the events arrive during component instantiation.
    * [FELIX-3825] - [DS] make logging more useful by including component ID when known
    * [FELIX-3826] - [DS] race in enabling components with factory pid
    * [FELIX-3862] - [DS] Deadlock when service is removed during activation
    * [FELIX-3870] - [DS] confusing logic around determining if modified method can be called on config update
    * [FELIX-3875] - [DS] After configuration changes target filter on optional ref, matching services are not bound
    * [FELIX-3888] - [DS] Expose the insides of ScrCommand as a service directly and enhance it
    * [FELIX-3890] - [DS] We might try to unbind a service we couldn't get and didn't bind
    * [FELIX-3891] - [DS] synchronization around registerService can create deadlocks
    * [FELIX-3902] - [DS] Single dynamic mandatory reference problem on target filter update
    * [FELIX-3915] - [DS] Timing hole between ComponentHolder initial config and registration
    * [FELIX-3952] - [DS] service events can go missing resulting in hang
    * [FELIX-3967] - [DS] NPE in DependencyManager$AbstractCustomizer.isSatisfied
    * [FELIX-3971] - [DS] SingleDynamicCustomizer doesn't respond correctly to configuration update events.
    * [FELIX-3975] - [DS] Give ParseException cause to move out of the stone age
    * [FELIX-3991] - [DS] component deactivation may not complete properly with enough threads
    * [FELIX-4000] - [DS] ConcurrentModificationException in AbstractComponentManager iterating through m_dependencyManagers
    * [FELIX-4004] - [DS] ConcurrentModificationException in DependencyManager.open(
    * [FELIX-4006] - [DS] While disposing a component, it's possible to unbind a reference that wasn't bound.
    * [FELIX-4011] - [DS] code refactoring/simplification
    * [FELIX-4020] - [DS] A reference being unregistered between checking for references available and actual binding may get bound anyway
    * [FELIX-4031] - [DS] Respond better to InterruptedException
    * [FELIX-4055] - [DS] Component instance unset but remains in Active state
    * [FELIX-4057] - [DS] Use Findbugs, and fix located problems
    * [FELIX-4069] - [DS] ConcurrentModificationException in ServiceFactoryComponentManager
    * [FELIX-4070] - [DS] Reduce or eliminate use of States in command pattern
    * [FELIX-4088] - [DS] NPE from SCR service unregistration
    * [FELIX-4090] - [DS] ActivateMethod.ACTIVATE_TYPES_DS11 and ACTIVATE_TYPES_DS10 should be static final
    * [FELIX-4166] - [DS] Removing required dependency before component is created leaves service registered
    * [FELIX-4171] - [DS] possible DependencyManager NPE during cleanup after failure to activate a component
    * [FELIX-4188] - [DS] If a bundle is stopped while the SCR extender is being stopped, the callback for the STOPPING event returns before full deactivation
    * [FELIX-4189] - [DS] DS should not hold any lock while calling bundleContext#getService
    * [FELIX-4223] - [DS] DependencyManager filter should be set up in enable, not activate, to avoid race conditions
    * [FELIX-4224] - [DS] Dependency manager can be active but not have m_bindMethods set
    * [FELIX-4287] - [DS] NPE when calling ComponentInstance.dispose after bundle shut down
    * [FELIX-4290] - [DS] Issue with factory components with required configuration
    * [FELIX-4293] - [DS] logic error in handling configuration LOCATION_CHANGED event
    * [FELIX-4297] - [DS] timing hole in opening a dependency manager

** Task
    * [FELIX-3584] - [DS] Handle new LOCATION_CHANGED event
    * [FELIX-3651] - [DS] Properly support configuration location binding and targeted pids
    * [FELIX-4298] - [DS] Run tests against R5 config admin and require specifying profile for R4

Changes from 1.6.0 to 1.6.2
---------------------------

** Sub-task
    * [FELIX-3650] - Don't log a warn message for Configuration Admin LOCATION_CHANGED event

** Bug
    * [FELIX-2578] - Declarative Services bundle does not start without Configuration Admin API wired
    * [FELIX-2821] - Component service references not unbound in reverse order (breaks compendium spec 112.5.15)
    * [FELIX-2823] - Uncaught exception in case of circular service reference
    * [FELIX-2824] - Components that have a ConfigurationPolicy value of REQUIRE fail to activate
    * [FELIX-2926] - No log message on missing activate method
    * [FELIX-2944] - SCR/ spec version 1.1-felix is causing NPE in XmlHandler
    * [FELIX-2962] - SCR doesn't detect invalid XML
    * [FELIX-2992] - scr 1.6.1-SNAPSHOT: impossible to build due to obsolete dependencies
    * [FELIX-3039] - SCR cleans up delayed service components too aggressively
    * [FELIX-3086] - IllegalArgumentException in PropertyMetadata.setValues()
    * [FELIX-3087] - Given invalid value, but the property isn't invalid.
    * [FELIX-3089] - A component without ServicePermissions cannot be registered as a service
    * [FELIX-3090] - SCR factory components ignore reference target filters
    * [FELIX-3093] - SCR project does not build on machines with empty M2 repository
    * [FELIX-3108] - SCR doesn't cope when the DS xml is not encoded using the default platform encoding.
    * [FELIX-3126] - SCR activates a service component while the containing bundle is stopping.
    * [FELIX-3288] - NPE when component exposed as a service with servicefactory = true
    * [FELIX-3307] - NPE in DependencyManager.invokeBindMethod
    * [FELIX-3317] - Concurrency issue during Component Service registration
    * [FELIX-3325] - Finding activate/deactivate/modified methods has numerous problems
    * [FELIX-3409] - with permissions enabled, AbstractComponentManager.verifyDependencyManagers is wrong.
    * [FELIX-3410] - ImmediateComponentManager should use any non-ignored configuration to try to activate a component.
    * [FELIX-3456] - Component ignores required static service addition when in Activating state
    * [FELIX-3533] - Strip out . properties when a lifecycle method returns service properties
    * [FELIX-3534] - ServiceFactory components don't deal with ConfigurationAdmin updates properly
    * [FELIX-3535] - Minor DS cleanup fixes
    * [FELIX-3536] - Consider putting the non-spec ComponentFactory behavior in a separate class
    * [FELIX-3557] - Tests for DS circular dependency behavior
    * [FELIX-3559] - [DS] first register immediate components' service, then create the implementation object per spec
    * [FELIX-3625] - "officially" upgrade scr to ds 1.2 from compendium 4.3
    * [FELIX-3637] - DS bind concurrency problem
    * [FELIX-3639] - SCR "need write lock" assertion error
    * [FELIX-3645] - SCR could not obtain lock in 5000 ms
    * [FELIX-3646] - AbstractComponent.disposeInternal ignores reason
    * [FELIX-3647] - Component modification must continue if modify method throws
    * [FELIX-3648] - A component declared with DS 1.0 or DS 1.1 namespace must fail validation if Reference.updated attribute is declared
    * [FELIX-3649] - Remove ct.workaround property and support
    * [FELIX-3657] - [DS] ServiceFactory problems
    * [FELIX-3658] - [DS] disableing a component that is a dependency of another results in an IllegalStateException
    * [FELIX-3659] - [DS] Share the method objects among all the dependency managers and component managers for the same class
    * [FELIX-3675] - [DS] NPE shutting down a component due to service already removed
    * [FELIX-3676] - [DS] misleading logging on first immediate component getService call
    * [FELIX-3681] - [DS] Dependencies are not dropped when implemention object is discarded
    * [FELIX-3697] - [DS] create all the components in a bundle before enabling them
    * [FELIX-3698] - [DS] code simplification for BundleComponentActivator.getSelectedComponents
    * [FELIX-3704] - [DS] ds shutdown should wait for ComponentActorThread task queue to complete before finishing
    * [FELIX-3710] - [DS] don't try to activate for a service event for an optional reference
    * [FELIX-3717] - [DS] unbind method might not have correct parameters
    * [FELIX-3718] - [DS] deactivate might not move component state to unsatisfied
    * [FELIX-3719] - [DS]  disabling a dependency manager should not reset the service count
    * [FELIX-3723] - ClassCastException on ConfigurationAdmin service creating components
    * [FELIX-3724] - [DS] concurrent getService calls may return null
    * [FELIX-3725] - [DS] hidden dependency on spring junit wrapper from pax exam
    * [FELIX-3726] - Reference target filters defined as component properties are ignored
    * [FELIX-3727] - [DS] NPE during shutdown
    * [FELIX-3744] - set implementation object before modifying service properties

** Improvement
    * [FELIX-2895] - Allow the use of a property to tell SCR to always discover Service Component files even if there's no wildcard in the name
    * [FELIX-3016] - Activator log level cannot be changed dynamically through Configuration Admin
    * [FELIX-3232] - Re-Import SCR Service API
    * [FELIX-3371] - update scr build to recent pax components
    * [FELIX-3377] - Allow a component to update its own service properties
    * [FELIX-3506] - SCR bind/unbind/update methods should be able to return a map of service properties like the activate/deactivate/modified methods.s
    * [FELIX-3558] - [DS] make it easier to debug tests by cribbing code from ScrService to print out DS state     * [FELIX-3569] - Improve configured method handling for ComponentFactory instances
    * [FELIX-3662] - [DS] use backport-util-concurrenct instead of concurrent for pre java 5 compatibility
    * [FELIX-3677] - [DS] in the scr command info operation, show the bound service references

** New Feature
    * [FELIX-2712] - [SCR] Add Gogo command support
    * [FELIX-3507] - scr greedy and reluctant policy options from compendium 4.3
    * [FELIX-3524] - SCR configuration-pid from compendium 4.3

** Task
    * [FELIX-2539] - Include DEPENDENCIES file in distributables
    * [FELIX-2553] - Reconsider logging/log levels
    * [FELIX-2903] - Inline required KXml classes
    * [FELIX-3158] - Upgrade to Felix parent POM 2.1 and use managed ant plugin version
    * [FELIX-3527] - Add Java API usage check
    * [FELIX-3668] - Revert Rev. 1381440 "restore previous behavior when a bind method cannot be found"
    * [FELIX-3679] - Component names need not be globally unique any more
    * [FELIX-3747] - Cleanup maven project setup

** Wish
    * [FELIX-1747] - Use Remote Resources Plugin to generate the legal files


Changes from 1.4.0 to 1.6.0
---------------------------

** Bug
    * [FELIX-1952] - Factory configured ComponentFactory instances not reconfigured when configuration updated
    * [FELIX-1997] - Actual configuration might not be reflected in the web console
    * [FELIX-2006] - If an Error is thrown instantiated a component, the component remains in the Activating state and cannot be managed any longer
    * [FELIX-2090] - Multiple concurrency issues under heavy "stop/start" load
    * [FELIX-2091] - AbstractComponentManager.getBundle() may throw NullPointerException
    * [FELIX-2213] - NPE when modifying properties of lazy (uninstantiated) service
    * [FELIX-2230] - NPE deactivating service during fw shutdown
    * [FELIX-2231] - Errors with services in Lazy bundles
    * [FELIX-2233] - ConfiguredComponentHolder tracks component enablement but not disablement
    * [FELIX-2288] - Felix SCR API problem/misunderstanding
    * [FELIX-2289] - Unsynchronized access to map of component instances may block the system
    * [FELIX-2325] - SCR says that my component is registered twice
    * [FELIX-2370] - Access to internal data structures for delayed and service factory components not thread safe
    * [FELIX-2399] - Make ScrService lenient against unexpected configuration data types
    * [FELIX-2510] - Configuration not provided to components if Configuration Admin is not active while setting up components
    * [FELIX-2518] - Modified method without arguments not supported
    * [FELIX-2519] - Declarative Services 1.0 descriptors must fail to validate if 1.1 attributes are declared
    * [FELIX-2520] - Bind method selection must not expect the component's bundle to import the service interface type
    * [FELIX-2521] - Method call failures not always handled correctly
    * [FELIX-2523] - Component must be reactivated even if modified method is declared

** Improvement
    * [FELIX-2368] - Activate components synchronously
    * [FELIX-2372] - Improve logging on IllegalStateException getting a service
    * [FELIX-2526] - Add a property to enable workarounds for CT assumptions

** Sub-task
    * [FELIX-2534] - Adapt SCR LICENSE and NOTICE files


Changes from 1.2.0 to 1.4.0
---------------------------

** Bug
    * [FELIX-1841] - SCR invokes bind method twice when dependency service properties are modified
    * [FELIX-1846] - When updated configuration of component without a previously set target filter, NullPointerException is thrown
    * [FELIX-1866] - SCR 1.1 restarts components when service properties are changed, even if "modified" attributed is specified
    * [FELIX-1922] - issue with configuration policy=require and with factory components
    * [FELIX-1923] - SCR project misses explicit Maven Bundle Plugin version
    * [FELIX-1926] - Access to internal maps in the ComponentRegistry must be guarded against concurrency issues
    * [FELIX-1927] - NPE in AbstractComponentManager if no services are provided and a SecurityManager is installed
    * [FELIX-1942] - Component Factory instances are may reactivate
    * [FELIX-1943] - Component Factory not deactivated if required reference unregistered
    * [FELIX-1944] - Reference.getServiceReferences() returns empty array if no services bound

** Improvement
    * [FELIX-1897] - Add proper Configuration Admin support for SCR configuration

** New Feature
    * [FELIX-1893] - Add "update" callback support to inform components of modified service properties

** Task
    * [FELIX-1945] - Increase org.apache.felix.scr package export to 1.4


Changes from 1.0.8 to 1.2.0
---------------------------

** Bug
    * [FELIX-1162] - Component.getReferences returns null if a component that has references is not enabled.
    * [FELIX-1166] - SCR does not rebind ConfigurationAdmin service in Sling jcrinstall tests
    * [FELIX-1173] - Concurrency Issues while containing bundle is stopping
    * [FELIX-1177] - Components must correctly be disposed off
    * [FELIX-1178] - Component may remain deactivated after a reference has been unregistered and registered again
    * [FELIX-1185] - If a static/mandatory reference to a service is unregistered, the component should be deactivated synchronously instead of asynchronously
    * [FELIX-1195] - NullPointerException in ComponentActivatorTask if component is destroyed
    * [FELIX-1238] - NPE when invoking "scr list" with no components registered
    * [FELIX-1252] - NullPointerException in "scr list" command
    * [FELIX-1413] - Newly registered services must not immediately bound for static references
    * [FELIX-1414] - Service ranking is only obeyed on first component activation
    * [FELIX-1416] - Wrong factory configuration behaviour
    * [FELIX-1436] - Descriptors with duplicate implementation and/or service elements are invalid
    * [FELIX-1437] - DS 1.1 signatures for activators and bind methods only available for declaration with new namespace
    * [FELIX-1440] - Abort method (binder, activator) method search on non-accessible suitable methods
    * [FELIX-1445] - When a component is deactivated due to the deactivation of a service to which it staticly 1..1 references, this component is not reactivated when that service is reregistered.
    * [FELIX-1503] - Component Factory instances are not let gone after dispose
    * [FELIX-1504] - ComponentInstance implementation is reused accross reactivations
    * [FELIX-1658] - Deadlocks caused by component activation and deactivation
    * [FELIX-1666] - Missing support for DS 1.1 specified lazy activation behavior
    * [FELIX-1674] - typo in scr and webconsole - "unsatisifed"
    * [FELIX-1714] - typo in scr command
    * [FELIX-1733] - Disposed components are not removed from the component registry
    * [FELIX-1825] - Configurations of delayed components are not deactivated if not used any more
    * [FELIX-1826] - ComponentException must be thrown if ComponentFactory.newInstance cannot create a component instance
    * [FELIX-1827] - Check permission before getting or registering services
    * [FELIX-1830] - Support for DS 1.1 character property type name
    * [FELIX-1832] - ServiceFactory must not be deactivated if the instances fails to be created
    * [FELIX-1833] - Stopping the Felix SCR bundle may leave traces behind thus preventing the class loader from being GC-ed

** Improvement
    * [FELIX-1186] - Defer the construction of a log message
    * [FELIX-1223] - Replace ManagedService[Factory] by ConfigurationListener based component configuration
    * [FELIX-1239] - AbstractComponentManager.getServiceReference need not be synchronized
    * [FELIX-1313] - Declarative Services bundle should not export Configuration Admin package
    * [FELIX-1314] - Restructure SCR implementation package
    * [FELIX-1443] - Unify Method lookup
    * [FELIX-1447] - Remove ComponentMetadata parameter from AbstractComponentManager.log method signature
    * [FELIX-1530] - Extend the SCR introspection API to reflect the new DS 1.1 features
    * [FELIX-1686] - Missing activate or deativate methods show up as Error in LogService
    * [FELIX-1735] - Use system property to provide bundle jar file to integration tests
    * [FELIX-1823] - Drop support for Framework API 1.3 (R4.0)

** New Feature
    * [FELIX-924] - No component instance if no Configuration
    * [FELIX-925] - Extend SCR to allow alternate activate and deactivate method signatures
    * [FELIX-927] - Allow bind and unbind methods to receive the service properties
    * [FELIX-928] - Allow use of wildcards in Service-Component header
    * [FELIX-929] - Making name attributes optional
    * [FELIX-930] - XML schema namespace change
    * [FELIX-1232] - Do not use private configuration properties as service properties
    * [FELIX-1284] - Support for the 'modified' operation (DS in OSGi 4.2 compendium)

** Task
    * [FELIX-1711] - Remove OSGi library source from SVN and depend on official R4.2 libraries


Changes from 1.0.6 to 1.0.8
---------------------------

** Bug
    * [FELIX-714] - Needless component reactivation on startup
    * [FELIX-832] - Bind method not invoked when the unbind method is unspecified after reference is changed
    * [FELIX-836] - Deadlocks caused by Declarative Services
    * [FELIX-861] - NullPointerException on stopping bundle managed by SCR
    * [FELIX-950] - service.ranking property not respected for singular service reference
    * [FELIX-993] - Reference target filters not handled correctly
    * [FELIX-1044] - DependencyManager may miss service registrations
    * [FELIX-1053] - SCR: Bound Service Replacement regression ?

** Improvement
    * [FELIX-639] - Need more logs from SCR
    * [FELIX-717] - Fix License Reference for KXml in NOTICE file
    * [FELIX-923] - Log a better message if the names of components collide
    * [FELIX-1046] - Upgrade parent pom reference to new parent pom (for repository.a.o deployment)


Changes from 1.0.4 to 1.0.6
---------------------------

** Bug
    * [FELIX-694] - NullPointerException on shutdown
    * [FELIX-695] - XML configuration file uses unqualified locals
    * [FELIX-698] - SCR logs "java.lang.IllegalStateException: Invalid BundleContext" when activating components

** Improvement
    * [FELIX-668] - SCR OBR description


Changes from 1.0.2 to 1.0.4
---------------------------

** Bug
    * [FELIX-624] - Wrong classloader is used to detect bind/unbind methods
    * [FELIX-646] - Reconfiguration of factory components is not possible


Changes from 1.0.0 to 1.0.2
---------------------------

** Bug
    * [FELIX-490] - Deadlocks may be caused by Declarative Services
    * [FELIX-539] - Intermittent IllegalArgumentException while using declarative services
    * [FELIX-550] - SCR registers service component twice after stopping/starting a bundle
    * [FELIX-578] - ComponentFactoryImpl.newInstance() must create the component synchronously
    * [FELIX-579] - NPE in AbstractComponentManager
    * [FELIX-591] - NPE in AbstractComponentManager
    * [FELIX-593] - Fix handling of immediate attribute of component factories
    * [FELIX-599] - Service Registration Lock: Do not release not-owned lock and don't wait so long for the lock
    * [FELIX-601] - Reactivation of a component after a configuration update should be completely asynchronous


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

** Bug
    * [FELIX-105] - SCR component/reference/cardinality never used
    * [FELIX-106] - SCR doesn't support XML documents with namespaces
    * [FELIX-109] - java.lang.ClassCastException when the component descriptor contains <property> elements
    * [FELIX-112] - activate() calls do not match with deactivate() calls for a delayed component (immediate="false") and service instances are multiple (although there is no factory)
    * [FELIX-264] - Update pom to use new bundle plugin
    * [FELIX-268] - SCR module in the pom.xml
    * [FELIX-279] - Concurrency Issues when enabling components
    * [FELIX-337] - Immediate components are registered as delayed
    * [FELIX-341] - Intermittent exception during Felix shutdown
    * [FELIX-356] - DependencyManager.bind may bind to null and does not correctly check for success
    * [FELIX-357] - activation and deactivation may run concurrently
    * [FELIX-364] - 0..1 dynamic service reference does not bind properly.
    * [FELIX-366] - Bound Service Replacement incorrect
    * [FELIX-368] - Service binding odities if (un)bind methods take ServiceReferences
    * [FELIX-384] - Possible deadlock on framework startlevel change
    * [FELIX-385] - ReferenceMetadata.setTarget includes the interface name in the target filter
    * [FELIX-387] - Fix support for reference service target properties
    * [FELIX-425] - DependencyManager does not correctly handle service counting
    * [FELIX-464] - Cannot retrieve service to be unbound in unbind method taking ServiceReference
    * [FELIX-489] - Intermittent deadlock while using declarative services in Tuscany

** Improvement
    * [FELIX-128] - Implementing missing ComponentContext methods
    * [FELIX-131] - Fix method lookup and implement enableComponet/disableComponent
    * [FELIX-132] - Integrate SCR with Felix
    * [FELIX-140] - Drop GenericActivator from SCR
    * [FELIX-243] - Add support for ServiceFactory components
    * [FELIX-254] - Add support for property values in <property> element body
    * [FELIX-258] - Support Configuration Admin configuration
    * [FELIX-259] - Add support for factory components
    * [FELIX-277] - Improve SCR packaging to make it simpler to deploy and use
    * [FELIX-373] - Log the unsatisfied dependencies of a component which prevent activation of the component
    * [FELIX-374] - Register ManagedService on behalf of components to receive Configuration
    * [FELIX-392] - Better handle unexpected issues when trying to get a activation or binding method by reflection

** New Feature
    * [FELIX-18] - Implement Declarative Services
    * [FELIX-110] - completion of the current Felix SCR implementation to take into account components <properties> elements
    * [FELIX-284] - Add Management API

** Task
    * [FELIX-144] - Change all headers and remove copyright notices
