Skip to content

Ember+ SDK v1.8.0

Compare
Choose a tag to compare
@KimonHoffmann KimonHoffmann released this 14 Feb 10:17
· 51 commits to master since this release

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() and pop_back() to ObjectIdentifier.
  • 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 and onLastPackageReceived. The original callback onPackageReceived 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.