Skip to content

Releases: getml/reflect-cpp

v0.21.0

15 Sep 19:49
6f27b8a
Compare
Choose a tag to compare

v0.20.0

06 Aug 21:13
f36b136
Compare
Choose a tag to compare
  • Use enchantum for much faster enum handling (thanks to @ZXShady)
  • Much better support for bytestrings (thanks to @bjia56 and @Ian-Flury)
  • Allow writing to string_views (thanks to @lixin-wei)
  • Better handling of std::optional in CBOR (thanks to @dcorbeil)
  • Added support for std::span
  • Exception-free handling for TOML
  • Improved support for string_views in TOML and XML
  • Fix CBOR encoding for uint64_t (thanks to @Ian-Flury)
  • Better error handling for UBJSON and CBOR (thanks to @bryceschober)
  • Renamed the insert in rfl::Object to insert_range
  • Improvements to yyjson write (thanks to @AndrewNolte)
  • Configure CPack for building the library (thanks to @DawnMagnet )
  • Only install packages you actually need in vcpkg

v0.19.0

16 Apr 00:25
a70b4ec
Compare
Choose a tag to compare
  • Allow rfl::Box to be copyable, when desired. Thanks to @jmcken8 for this contribution.
  • Change back to tomlplusplus as this library now has a config.cmake on vcpkg.
  • Serialize byte strings as binaries. Thanks to @Altren for this contribution.
  • Add support for std::chrono::duration.
  • Allow the extension of the enum range support. Thanks to @jokla for this contribution.
  • Bugfix in tags. Thanks to @seashell11234455 .
  • Move optionals instead of copying them. Thanks to @jmcken8.

v0.18.0

16 Mar 14:19
c929d3f
Compare
Choose a tag to compare
  • Allow people to use C++-23 std::expected instead of our custom results. Special thanks to @jowillianto for this contribution!
  • Use toml11 instead of tomlplusplus. The reason for this change is that tomlplusplus is difficult to manage as a dependency in vcpkg.
  • Make the reader stricter: Do not allow floating point values to read integers and vice versa. The JSON reader always used to behave like this, but now all formats do.
  • Redesign rfl::Bytestring to better conform to the C++ standard and also as a workaround for a bug in LLVM 18. Thanks to @Altren for flagging and fixing this issue!
  • Support long integers in rfl::Generic. Thanks to @bjia56!
  • Make sure that the resulting JSON schema does not require any fields when rfl::DefaultIfMissing is used.
  • Make sure all textual formats support reading from std::string_view.
  • Bugfix: Added missing imports. Thanks to @AnsiV01 and @filippobrizz.

v0.17.0

06 Jan 18:16
b57a52a
Compare
Choose a tag to compare
  • Support for Avro
  • Support for Cap'n Proto
  • Closer integration with vcpkg and Conan
  • Use jsoncons instead of TinyCBOR for CBOR
  • Add operator== to TaggedUnion
  • Support MinGW
  • Better pointer casts
  • Read std::string_view in the JSON format
  • Add versioning to the shared library

v0.16.0

23 Nov 20:46
Compare
Choose a tag to compare
  • Added support for UBJSON
  • Added a new documentation based on mkdocs (https://rfl.getml.com/)
  • Fixes in the package dependencies
  • Minor changes to various containers

v0.16.0-rc3

23 Nov 20:05
Compare
Choose a tag to compare
v0.16.0-rc3 Pre-release
Pre-release

This is a pre-release.

v0.16.0-rc2

23 Nov 19:53
385241f
Compare
Choose a tag to compare
v0.16.0-rc2 Pre-release
Pre-release

This is a pre-release.

v0.16.0-rc1

23 Nov 15:14
e34440c
Compare
Choose a tag to compare
v0.16.0-rc1 Pre-release
Pre-release

This is a release candidate that is not ready for production use.

v0.15.0

09 Nov 19:50
716de7b
Compare
Choose a tag to compare
  • Speed-ups in compile time: Precompiled headers, more code in .cpp source files, fewer checks for duplicate fields
  • New processors: rfl::UnderlyingEnums, rfl::DefaultIfMissing, rfl::NoExtraFields, rfl::AllowRawPtrs, rfl::AddTagsToVariants
  • Increased maximum number of supported fields to 256
  • Added support for transforming structs to generics
  • More comprehensive testing pipeline
  • Various bugfixes

Thanks to everyone who contributed to this release: @dcorbeil, @Urfoex, @Harry-Chen, @BestITUserEUW, @danielmohansahu, @Altren, @dmikushin, @AnsiV01 (I hope I am not forgetting anyone)