V0.2.9
Surprisingly little changed in this release for the final users, but many changes have been made to ensure this library is more suitable in embedded applications.
Trees, documents and archives no longer handle their memory directly, allowing for their external allocation.
Wrappers still owning memory are available in xml::stored
under the same name as their original versions.
The namespace will be made unavailable when compiling for an embedded or offloaded target in a later release.
Next release will focus on documentation, examples, better handling of embedded/offloaded targets, and will start refactoring the code handling queries to match the current objectives.
Breaking changes#
- The
close
function for Tree(Raw) and Document(Raw) changed signature to return the newStored<T>
objects, so that storage is separate from the base classes to better use code in embedded and offloaded contexts. - The
close_fragment
andextract_symbols
functions changed. The former now returns a data type more compatible with the revised Archive sections, while the latter has been extended to return both symbols and buffer at once. - Significant updates in the binary format, with more offsets being relative and lengths in place of a second offset.
- Fixed signatures for
from_binary
removing string_views in place ofstd::span<const uint8_t>
, and fixed some return types which were not set toconst
. - Other minor differences might be present due to the changes discussed prior, it is too hard to spot and report all of them, check the commit diffs to see the all.