Change Log¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Changed¶
- Migrate a handful of tests from the legacy test suite to gtest based test suite
- Improve shared library loading error messages
- c++17 compatible - https://github.com/CppMicroServices/CppMicroServices/pull/465 - https://github.com/CppMicroServices/CppMicroServices/pull/479
Deprecated¶
Fixed¶
- Correctly install Declarative Services and LogService headers
- Infinite loop in GetCurrentWorkingDir
- Use cross build objcopy
- Service reference dependency deadlock
- Instantiating multiple service implementations within the same service component
- Codecov integration
- BundleRegistry deadlock
- Remove unnecessary copying of AnyMap
- Minimum and maximum cardinality values
- Error if duplicate service component reference names are used
- Improve performance of ServiceTrackers
Added¶
- Declarative Services
- Expose checksum from zip archive.
- Framework property (org.cppmicroservices.library.load.options) to control library loading options on macOS and Linux.
- Add gmock
Changed¶
Removed¶
Deprecated¶
- The following Bundle method functions:
GetProperties
GetProperty
GetPropertyKeys
Fixed¶
- static ServiceTracker object crashes in ServiceTracker::Close()
- Does the ServiceTracker deleter close the service?
- Optimize peak heap allocation when installing bundles
- Change GetHeaders API to return a const ref
- How do service consumers know whether to use BundleContext::GetService or ServiceObjects?
- Add a testpoint to validate the return value of ServiceFactory::GetService
- Invalid Bundle causes crash on method invocation
- Use correct framework event severity and exception types for service factory errors
- Raspberry Pi arm build failing
- Service ctor exception crash
- Update library loading error messages
- Unknown Cmake Command “add_compile_definitions”
- GetChildResources() should not have a dependency on GetChildren()
- Improved code coverage to 90%
- Various performance improvements to:
- Reduce the number of open file handles
- Reduce peak heap memory utilization
- AtCompoundKey
- ServiceTracker
- Service look up
- Bundle installs
Added¶
Added¶
Fixed¶
- Fix a race condition when getting and ungetting a service. #202
- Make reading the current working directory thread-safe. #209
- Guard against recursive service factory calls. #213
- Fix LDAP filter match logic to properly handle keys starting with the same sub-string. #227
- Fix seg fault when using a default constructed LDAPFilter instance. #232
- Several fixes with respect to error code handling. #238
- IsConvertibleTo method doesn’t check for validity of member. #240
v3.1.0 (2017-06-01)¶
Changed¶
Deprecated¶
The following BundleContext member functions:
RemoveBundleListener
RemoveFrameworkListener
RemoveServiceListener
And the variants of
AddBundleListener
AddFrameworkListener
,AddServiceListener
that take member functions.
The free functions:
ServiceListenerMemberFunctor
BundleListenerMemberFunctor
BindFrameworkListenerToFunctor
The functions
ShrinkableVector::operator[std::size_t]
ShrinkableMap::operator[const Key&]
v3.0.0 (2017-02-08)¶
See the migration guide for moving from a 2.x release to 3.x.
Added¶
- Added MinGW-w64 to the continuous integration matrix #168
- Include major version number in library names and install dirs #144
- Integrated coverity scan reports #16
- Added OS X to the continuous integration matrix #136
- Building for Android is now supported #106
- Enhanced the project structure to support sub-projects #14
- The bundle life-cycle now supports all states as described by OSGi and is controllable by the user #25
- Added support for framework listeners and improved logging #40
- Implemented framework properties #42
- Static bundles embedded into an executable are now auto-installed #109
- LDAP queries can now be run against bundle meta-data #53
- Resources from bundles can now be accessed without loading their shared library #15
- Support last modified time for embedded resources #13
Changed¶
- Fix up bundle property and manifest header handling #135
- Introduced C++11 features #35
- Re-organize header files #43, #67
- Improved memory management for framework objects and services #38
- Removed static globals #31
- Switched to using OSGi nomenclature in class names and functions #46
- Improved static bundle support #21
- The resource compiler was ported to C++ and gained improved command line options #55
- Changed System Bundle ID to
0
#45 - Output exception details (if available) for troubleshooting #27
- Using the
US_DECLARE_SERVICE_INTERFACE
macro is now optional #24 - The
Any::ToString()
function now outputs JSON formatted text #12
v2.0.0 (2013-12-23)¶
Major release with backwards incompatible changes. See the migration guide for a detailed list of changes.
Added¶
- Removed the base class requirement for service objects
- Improved compile time type checking when working with the service registry
- Added a new service factory class for creating multiple service instances based on RFC 195 Service Scopes
- Added ModuleFindHook and ModuleEventHook classes
- Added Service Hooks support
- Added the utility class
us::LDAPProp
for creating LDAP filter strings fluently - Added support for getting file locations for writing persistent data
Removed¶
- Removed the output stream operator for
us::Any