Ember+ SDK v1.8.0
Overview
Version 1.8.0 of the Ember+ SDK is a feature release that introduces various new features to the GLOW DTD.
- Multiple schema references per node.
- Node templates to reduce redundant traffic.
- Parameters may now have the value
null
to indicate that no value is present.
Apart from these new features this release also contains numerous fixes and stability improvements.
Please note that that version 1.8.0 is a best effort release to provide a stable reference for all features introduced since the beginning of 2014. Going forward several structural changes will be made to the projects and its libraries:
- The Ember+ protocol will enter a feature frozen maintenance mode meaning there will be no extensions in the foreseeable future as it is now considered feature complete.
- All libraries will be split into separate git repositories. The monolithic repository will be maintained using subtree copies generated by git subrepo.
- All libraries will transition to individual, semantic versioning starting with version 2.0.0.
Apart from these structural changes the current mid-term roadmap foresees transitioning the C++ libraries libs101
, libformula
and libember
to C++17. The C++03 variant will be frozen at version 1.8.0 with the exception of important fixes that may be backported by popular request.
Added
- All: Added CMake build instructions.
- All: Added support for the new GLOW DTD features.
- libember: Added convenience operations
front()
,pop_front()
andpop_back()
toObjectIdentifier
. - libember: Added support for floating point type NaN encoding and decoding.
- libember_slim: Allow building and using libember_slim as a shared library.
- libember_slim: Added callbacks for
onOtherPackageReceived
,onFirstPackageReceived
andonLastPackageReceived
. The original callbackonPackageReceived
still exists, but is not only invoked when an ember packet has been decoded. - libs101: The encoder and decoder now support the non-escaping variant.
Changed
- TinyEmberPlus: TinyEmberPlus is now built against Qt5.
Fixed
- All: Fixed issues #51, #52 and #54.
- libember: Fixed issues #26, #45 and #48.
- libember: Fixed potential memory leaks during decoding in
DomReader
. - libember: Fixed a memory leak caused by
ListContainer::eraseImpl()
not freeing memory allocated to the erased nodes. - libember: Fixed
StreamBuffer
not swapping the maximum size. - libember_slim: Fixed issue #38.
- EmberLib.Net: Fixed
NullReferenceExceptions
in error cases. - libformula:
Term::compute()
no longer uses global state.