v0.2.3 - Initially published version v0.2.4 - Fixed closing of file descriptor of event loop's semaphore on exec - Fixed interrupt handling when polling - Improved tutorial - Fixed issue with googlemock - Added object proxy factory overload that takes unique_ptr to a connection - Workaround: Clang compilation error when compiling sdbus::Struct (seems like an issue of Clang) v0.2.5 - Real fix for issue with sdbus::Struct inherited constructors - Little code refactorings and improvements v0.2.6 - Fixed memory leak in Message copy operations v0.3.0 - Introduced support for asynchronous server-side methods - Refactored the concept of Message into distinctive concrete message types - As this release comes with breaking API changes: * if you're using lower-level API, please rename 'Message' to whatever concrete message type (MethodCall, MethodReply, Signal) is needed there, * if you're using higher-level API, please re-compile and re-link your application against sdbus-c++, * if you're using generated stub headers, please re-compile and re-link your application against sdbus-c++. v0.3.1 - Fixed hogging the CPU by server with async methods (issue #15) v0.3.2 - Switched from autotools to CMake build system v0.3.3 - Minor fixes in tutorial examples - Add comment on threading traits of Variant and its const methods - Fix broken invariant of const Variant::peekValueType() method v0.4.0 - Introduce support and implementation of common D-Bus annotations - Remove hard-coded warning-related compiler options from the build system v0.4.1 - Change constexpr member into a getter method to be compatible across odr-usage rules of various compiler versions v0.4.2 - Improve documentation - Minor code improvements - Introduce sdbus-c++ performance tests with measurements v0.4.3 - Add another abstraction layer for sd-bus to improve isolation for unit testing - Minor code improvements for consistency and clarity - Not-existing interface name and object path fixes in integration tests v0.5.0 - Redesign of the Connection model for scalability, thread-safety, simplicity and clarity - [[Breaking ABI change]] Introduce support for asynchronous invocation of D-Bus methods on client-side - Revise and extend sdbus-c++ tutorial - Introduce stress tests that involve a D-Bus server and client interacting in dense communication in both sync and async ways - Compilation error fixes for older gcc versions v0.5.1 - Cleanups of CMakeLists.txt - Rename sdbus-c++ test executables for consistency - Rename sdbus-c++ stub code generator executable - Introduce generation of doxygen documentation - Improve documentation v0.5.2 - Simplify and unify basic API level callbacks for both sync and async methods v0.5.3 - Extend stress tests with dynamic object and proxy creation and destruction from multiple threads - [[Breaking ABI change]] Add getConnection() method to IObject - A few minor fixes v0.6.0 - This release comes with a number of API and ABI breaking changes (that hopefully lead to a more mature and stable API for near future): - Some constructs have been renamed (see below for details), you'll have to adapt your sources whether you're using the basic or the convenience sdbus-c++ API. - You'll also have to re-generate adaptor/proxy stubs with the new stub code generator if you're using them. - And you'll have to take care of manual registeration/deregistration in the constructors/destructors of your final adaptor and proxy classes. See updated using sdbus-c++ tutorial. - Cleaning up some names (of class, methods, files): * ConvenienceClasses.h/.inl/.cpp -> ConvenienceApiClasses.h/.inl/.cpp * IObjectProxy class -> IProxy * Interfaces class -> AdaptorInterfaces * Interfaces.h -> split into AdaptorInterfaces.h and ProxyInterfaces.h * createObjectProxy() method -> createProxy() - Add new unregister() virtual function to IObject and IProxy to allow for safe construction and destructions of D-Bus ojects and proxies hooked to live D-Bus connections. - Extend stress tests to allow testing safe initialization/deinitialization of objects and proxies - Fix gcc warnings - Use release v1.8.1 of googletest for tests v0.7.0 - [[Breaking ABI change]] Added full support for ObjectManager, Properties and other standard D-Bus interfaces (Reordering virtual functions in interface classes) - sdbus-c++ now can automatically download, build and incorporate libsystemd static library, which makes things pretty easy in non-systemd environments - Minor changes in generated proxy/adaptor code: * renamed interfaceName to INTERFACE_NAME to avoid potential naming clashes * signal emitting methods now begin with "emit" prefix and capitalized first letter of signal name - sdbus-c++ file organization has been adjusted to comply to de-facto OSS project standards - Build system improvements -- moving towards more modern CMake - Using googletest from master branch instead of v1.8.1 which has THREADS_PTHREAD_ARG issue when cross-compiling - Documentation improvements - Minor changes (renamings) in the code generated by sdbus-c++-xml2cpp generator - Other minor fixes and internal design improvements v0.7.1 - Fixed waiting in integration tests - Added object manager automatically in ObjectManager_adaptor constructor - Introduced support for unix fd type - Redesigned Message class hierarchy to be more idiomatic, clean and intent-revealing - Resolved a few clang-tidy warnings and suggestions - Extended the tutorial with info on standard D-Bus interfaces - Added protected non-virtual destructor in generated *_proxy/*_adaptor classes v0.7.2 - Rewrite UnixFd implementation from plain UnixFd struct to full-ownership-semantics UnixFd class v0.7.3 - Add ability to integrate with external event loops - Add getSenderName() method to Message - Skip GetMachineId integration test case when /etc/machine-id is not available v0.7.4 - Add support for custom timeout of D-Bus method calls - Add support for opening a connection to a remote system bus using ssh - Internal refactoring: Use tag dispatching to construct various types of Connection v0.7.5 - [[Breaking ABI change]] No more hiding from C++17: Move API code containing C++17 uncaught_exceptions calls from within library to public API - Add a method to retrieve the unique name of a connection v0.7.6 - Fixes of clang-8 errors and warnings