Changes in 1.9.16 ----------------- ** New Feature * [FELIX-6131] : Add in-memory persistence manager * [FELIX-6059] : Improve usability for ConfigurationPlugins ** Bug * [FELIX-6091] : Permissions do not declare a CapabilityPermission for `osgi.implementation` Changes in 1.9.14 ----------------- ** Bug * [FELIX-6066] : Duplicate registration of ConfigurationAdmin from PersistenceManagerTracker Changes in 1.9.12 ----------------- ** Bug * [FELIX-6062] : Coordination is not checked if its terminated * [FELIX-6061] : Avoid using getDeclaredMethods which needs a permission check Changes in 1.9.10 ----------------- ** Bug * [FELIX-5962] : Exception during event processing leaves CM threads alive and holding the JVM running during framework shutdown ** New Feature * [FELIX-5951] : Automatically add ConfigurationAdmin service as a shell command Changes in 1.9.8 ---------------- ** Bug * [FELIX-5949] : Configuration _updates_ are ignored when using a NotCachablePersistenceManager Changes in 1.9.6 ---------------- ** Bug * [FELIX-5908] : NoClassDefFoundError for the CM Security Domain combiner * [FELIX-5918] : AccessControlExceptions in ConfigurationAdmin methods Changes in 1.9.4 ---------------- ** Bug * [FELIX-5892] : Repeated calls to getFactoryConfiguration return different configuration instances Changes in 1.9.2 ---------------- ** Bug * [FELIX-5845] : org.apache.felix.cm.impl.persistence.PersistenceManagerProxy broken Changes in 1.9.0 ---------------- ** Improvement * [FELIX-5288] : Implement RFC 227 (OSGi R7 Update) * [FELIX-5351] : Implement coordinations (OSGi R7) * [FELIX-5289] : Alias PID Handling of Factory Configurations (OSGi R7) * [FELIX-5290] : Locking Configuration Records (OSGi R7) * [FELIX-5291] : Improve Configuration Updates (OSGi R7) * [FELIX-5292] : Capabilities (OSGi R7) * [FELIX-5293] : Improved ConfigurationPlugin Support (OSGi R7) * [FELIX-5468] : Refactor persistence handling * [FELIX-5693] : Improve persistence manager handling * [FELIX-5695] : Use Java 7 as base version * [FELIX-5778] : Refactor factory configuration handling ** Bug * [FELIX-5745] : Empty collections should be allowed as property value Changes from 1.8.14 to 1.8.16 ----------------------------- ** Bug * [FELIX-5669] : Registering a PersistenceManager causes duplicate caches. Changes from 1.8.12 to 1.8.14 ----------------------------- ** Bug * [FELIX-5443] : Frequent Changes cause UpdateThread to ConcurrentModificationException * [FELIX-5435] : Service does not get loaded with updated properties that have been modified on file system after felix framework restart Changes from 1.8.10 to 1.8.12 ----------------------------- ** Improvement * [FELIX-5380] : Reduce quite useless log verbosity * [FELIX-5366] : Additional Unit Tests for ConfigurationHandler ** Bug * [FELIX-5368] : ConfigurationManager ignores NotCachablePersistenceManager marker interface * [FELIX-5385] : ConfigAdmin uses wrong security when calling ManagedServices Changes from 1.8.8 to 1.8.10 ---------------------------- ** Improvement * [FELIX-5088] : CaseSensitiveDictionary should implement equals() * [FELIX-5211] : Use provide/require capabilities instead of obsolete and meaningless import-export service headers ** Bug * [FELIX-5301] : ConfigurationPlugin support is not spec compliant Changes from 1.8.6 to 1.8.8 --------------------------- ** Improvement * [FELIX-4917] : FilePersistenceManager doesn't support comments ** Bug * [FELIX-4962] : Configadmin leaks caller's security context downstream * [FELIX-4945] : Escaped folder names makes ConfigAdmin incompatible and factory configs not always work Changes from 1.8.4 to 1.8.6 --------------------------- ** Improvement * [FELIX-4844] : Store configuration data in a diff-tool friendly way * [FELIX-4884] : Avoid unnecessary array creation if listConfigurations does not find anything Changes from 1.8.2 to 1.8.4 --------------------------- ** Bug * [FELIX-4846] : Wrong exception type in list operation * [FELIX-4851] : ConfigAdmin only forwards ConfigurationEvents to ConfigurationListeners which are provided by bundles that are in state ACTIVE * [FELIX-4855] : ConfigAdmin does not update ManagedServiceFactory on framework restart Changes from 1.8.0 to 1.8.2 ---------------------------- ** Bug * [FELIX-4302] : Config Admin can create illegal names on windows * [FELIX-4360] : Ensure ordered property values in configurations * [FELIX-4362] : Security ConfigAdmin permissions are inherited on the stack * [FELIX-4385] : NPE in Configuration Admin Service when deleting configuration * [FELIX-4408] : CaseInsensitiveDictionary is platform/locale dependant * [FELIX-4566] : Consistency in PersistenceManager and Cache is not guaranteed ** Improvement * [FELIX-4316] : Packages imported dynamically should also be imported statically with an optional flag * [FELIX-4811] : Optimize ConfigurationManager#listConfigurations Changes from 1.6.0 to 1.8.0 ---------------------------- ** Bug * [FELIX-3360] : Bundle location is statically set for dynamically bound bundles * [FELIX-3762] : NPE in UpdateConfiguration#run * [FELIX-3820] : Possible NPE in ConfigAdmin after shutting down when accessed by bad behaving bundles * [FELIX-3823] : ConfigAdmin should explicitely unregister services * [FELIX-4165] : FilePersistenceManager fails to rename configuration file * [FELIX-4197] : [CM] Always check permission on Configuration.get/setBundleLocation * [FELIX-4238] : Unnecessary re-initialization of PersistenceManagers in configadmin ** Improvement * [FELIX-4039] : Add Permissions file in ConfigAdmin bundle ** Task * [FELIX-3808] : Upgrade ConfigAdmin to pax-exam 2 Changes from 1.4.0 to 1.6.0 ---------------------------- ** Bug * [FELIX-3532] : Source artifact is not being generated * [FELIX-3596] : Config Admin should track SynchronousConfigurationListeners * [FELIX-3721] : Configuration not always provided upon initial service registration ** Improvement * [FELIX-3577] : Refactor helpers and service trackers * [FELIX-3622] : ConfigurationManager.listConfigurations may not always properly log the configuration PID ** Task * [FELIX-3479] : [Config Admin 1.5] Implement Configuration.getChangeCount() * [FELIX-3480] : [Config Admin 1.5] Implement support for SynchronousConfigurationListener * [FELIX-3481] : [Config Admin 1.5] Implement support for Targeted PIDs * [FELIX-3483] : [Config Admin 1.5] Export cm API at version 1.5 * [FELIX-3554] : Prevent same configuration to be delivered multiple times * [FELIX-3562] : Use OSGi Configuration Admin 1.5 API classes * [FELIX-3578] : ConfigAdmin Maven build does not have Maven convention *-sources.jar artifacts Changes from 1.2.8 to 1.4.0 ---------------------------- ** Bug * [FELIX-2766] : Calling update() on a newly created factory configuration causes FileNotFoundException * [FELIX-2771] : Configuration Admin does not work on Foundation 1.2 and Mika * [FELIX-2813] : NPE in UpdateThread when updating a configuration right after ConfigurationAdmin service starts * [FELIX-2847] : NPE in ConfigurationManager.java:1003 (static String toString( ServiceReference ref )) * [FELIX-2885] : The config admin bundle does not indicate its provided and required services dependencies * [FELIX-2888] : if you create a factory configuration and anybody takes a peek before you've had a chance to update, your pudding is trapped forever * [FELIX-3046] : Empty array configuration value is read as null after restart * [FELIX-3175] : RankingComparator results in wrong results * [FELIX-3227] : ManagedService.update must be called with null if configuration exists but is not visilbe * [FELIX-3228] : Configuration.getBundleLocation to generous * [FELIX-3229] : ConfigurationAdmin.getConfiguration(String, String) and .createConfiguration(String) to generous * [FELIX-3230] : ConfiguartionAdapter.setBundleLocation checks configuration permission incorrectly * [FELIX-3231] : Disable update counter * [FELIX-3233] : ConfigurationManager.canReceive may throw NullPointerException * [FELIX-3390] : Intermittent NPE in ConfigurationManager ** Improvement * [FELIX-3180] : Provide MessageFormat based logging method * [FELIX-3327] : Gracefully handle Configuration access after Configuration Admin Service has terminated ** Task * [FELIX-3176] : Implement Configuration Admin 1.4 changes * [FELIX-3177] : Remove temporary inclusion of OSGi classes * [FELIX-3200] : Track PID changes of ManagedService[Factory] services * [FELIX-3301] : Enforce only using Java 1.3 API use ** Wish * [FELIX-1747] : Use Remote Resources Plugin to generate the legal files Changes from 1.2.4 to 1.2.8 --------------------------- ** Bug * [FELIX-1545] : Configurations may still be delivered more than once (or not at all) * [FELIX-1727] : Properties with leading dots not allowed * [FELIX-2179] : junit does not need to be a compile scope dependency of configadmin * [FELIX-2557] : ConfigurationEvent delivery not building the listener list correctly ** Improvement * [FELIX-1907] : Improve documentation on PersistenceManager API * [FELIX-2552] : Add caching PersistenceManager proxy * [FELIX-2554] : Improve unit test setup to allow for easier use of integration tests from within IDEs ** Task * [FELIX-1543] : Remove org.osgi.service.cm from configadmin project as soon as R4.2 compendium library is available from the Maven Repository * [FELIX-2559] : Adapt Configuration Admin LICENSE and NOTICE files Changes from 1.2.0 to 1.2.4 --------------------------- ** Bug * [FELIX-1535] : Permission is checked against the using bundle instead of the access control context (call stack) * [FELIX-1542] : Configuration may be supplied twice in certain situations ** Improvement * [FELIX-1541] : Include latest CM 1.3 (Compendium R 4.2) package export Changes from 1.0.10 to 1.2.0 ---------------------------- ** Bug * [FELIX-979] : Config Admin throwing NPE * [FELIX-1146] : ConfigAdmin can deliver updates to a managed service factory more than once * [FELIX-1165] : When restarting a bundle, the config admin reports "Configuration ... has already been delivered", and the bundle receives no configuration. * [FELIX-1477] : ConfigAdmin implementation is not thread-safe * [FELIX-1479] : Security errors accessing configurations in the file system * [FELIX-1484] : Dynamically bound configuration must be reset to null after target bundle is uninstalled. * [FELIX-1486] : Multiple PIDs must be supported * [FELIX-1488] : Configuration binding is broken * [FELIX-1489] : New Configurations must still be delivered to ManagedService * [FELIX-1508] : Configuration.update() must not send CM_UPDATED event ** Improvement * [FELIX-1219] : ConfigAdmin package version has been bumped * [FELIX-1507] : Prevent update failure in case of multiple updates/deletes ** New Feature * [FELIX-1231] : Support multi-value service.pid service properties * [FELIX-1234] : Configuration Plugins should be called for all configuration instances of factory targets Changes from 1.0.8 to 1.0.10 ---------------------------- ** Bug * [FELIX-889] : Arrays of primitives not supported by Configuration Admin * [FELIX-890] : Configuration.getProperty returns a Dictionary which is not entirely private ** Improvement * [FELIX-903] : Add functionality to limit log output in the absence of a LogService Changes from 1.0.4 to 1.0.8 --------------------------- ** Bug * [FELIX-740] : ConfigurationManager throws NPE when bundle that registered service is uninstalled * [FELIX-880] : ServiceReference of ConfigurationEvent is null * [FELIX-881] : Stopping the Configuration Admin bundle causes a NullPointerException ** Improvement * [FELIX-665] : Configuration Admin OBR description * [FELIX-865] : OBR: Do not declare ManagedService[Factory], ConfigurationListener and PersistenceManager as required services * [FELIX-879] : Use Collection interface internally instead of Vector, also be lenient and accept any Colleciton value and do not require Vector Changes from 1.0.1 to 1.0.4 --------------------------- ** Bug * [FELIX-611] : ConfigurationAdmin.listConfigurations returns empty configurations * [FELIX-612] : ConfigurationAdmin.createFactoryConfiguration should not persist Configuration ** Improvement * [FELIX-605] : Include ServiceTracker as private package Changes from 1.0.0 to 1.0.1 --------------------------- ** Bug * [FELIX-516] : ManagedService[Factory] may be updated twice with the same Configuration * [FELIX-522] : Configuration Admin allows configuration keys with illegal characters Initial Release 1.0.0 ---------------------