Skip to content

Releases: munich-data-engineering/reflect-cpp

v0.26.2

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 19 Oct 21:04
907674d
  • Restore public linkage for libbson

v0.26.1

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 19 Oct 20:11
433795b

Minor fixes:

  • Make sure we link libbson correctly
  • Include get_type_name_str_view
  • Fix Cap’n Proto maps with scalar and enum values (thanks @lixin-wei)

v0.26.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 18 Oct 20:26
eb82ef6
  • Numerous runtime optimizations (thanks @Altren)
  • Support for environment variables
  • Support for C++-26 reflection
  • Add arrow operator
  • Support for std::expected
  • Use hugo instead of mkdocs for the documentation
  • Reject out-of-range integer values (thanks @sean0407)
  • Add from_reflection(...) as an alternative to a constructor (thanks @gg-sr)
  • Add support for std::inplace_vector (thanks @gg-sr)
  • Add DurationAsCount processor (thanks @gg-sr)
  • Reject trailing characters when parsing timestamp (thanks @fhgffy)
  • Add EnumNamesOnly processor
  • Add support for wchar args in CLI
  • Output zero flag name if available (thanks @ZXShady)
  • Reject externally tagged variants with more than one field (thanks @ciprianf-flexion)
  • Allow reading integer as double in TOML (thanks @gg-sr)
  • Make sure std::set compiles with custom allocator
  • Preserve msgpack float width (thanks @Miguel-OYeah)
  • Preserve float width for all other binary formats
  • Add operator== for generic and object (thanks @jinchengJL)
  • Fix in the CBOR tests (thanks @aruisdante)
  • Workaround for issue in Clang 21/22 (thanks @aruisdante)
  • No internal linkage in headers (thanks @autoantwort)
  • Show default values in the schema (thanks @autoantwort )
  • Generic::to_*() enhancements (thanks @kone-tlammi)
  • Make sure that read does not abort when default values can not be validated
  • Compile-time optimization, particularly for larger structs
  • Make sure variables marked as default_var are never required
  • Fix infinite recursion bug in schema generation
  • Fixed wrong code snippet in the documentation (thanks @evanwporter)
  • Minor fix: Added missing header (thanks @gg-sr)
  • Minor fix: Removed unreachable code (thanks to @axel-dewalt for reporting)

v0.25.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 16 May 21:27
1327ef1
  • Add CLI argument parser (thanks @Centimo)
  • Add support for boost serialization (thanks @ron0studios)
  • Add support for cereal
  • Add support for yas
  • Support std::chrono time points (thanks @ron0studios)
  • Parse null into std::nullopt optionals (thanks @Fellfalla)
  • Add support for non-ASCII characters (thanks @mrgyatso)
  • Add DOxygen-style docstrings
  • Custom reflector for enum types (thanks @FrancescoMerenda)
  • Add multiline serialization in YAML (thanks @microdee)
  • Add rfl::Deprecated (thanks @AndrewNolte)
  • Fix msgpack missing parameter comments (thanks @index1207)
  • Various bugfixes (thanks @Centimo)
  • Fix Error function (thanks @Ra-LM)
  • Add CMake option toggling for strict warnings (thanks @axel-dewalt)
  • Add enum value descriptions to JSON schema (thanks @AndrewNolte)
  • Compile-time error messages when user tries to insert XML into generics
  • Bugfixes for Cap'n Proto (thanks @lixin-wei)
  • Add default constructor to rfl::TaggedUnion
  • Make sure negative are rejected when the type is unsigned

v0.24.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 13 Feb 05:11
c2ab61a
  • Add rfl::Commented
  • Add support for atomic variables
  • Support parsing arbitrary durations (thanks @vittorioromeo)
  • Add camelCase to snake_case conversion (thanks @cacharle)
  • Allow stateful visitors on rfl::Variant and rfl::TaggedUnion (thanks @FrancescoMerenda)
  • Add default constructor to rfl::TaggedUnion
  • Allow custom allocators on map-like data structures
  • Add CMake version file (thanks @deckstose )
  • Add support for ROS (thanks @TomCC7 )
  • Fix unused parameter warnings (thanks @makekryl)
  • Fix missing space in static_assert (thanks @cacharle )
  • Improve invalid enum error message (thanks @BugelNiels)
  • Better error message for unused values (thanks @BugelNiels)
  • Add filename and license in Cpack (thanks @BugelNiels)
  • Make sure that GCC 13 also compils with std::expected
  • Make sure that TaggedUnion can be combined with NoExtraFields
  • Allow the mixing of Rename and DefaultVar

v0.23.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 01 Jan 12:31
  • Added rfl::DefaultVar
  • Speed up the reflection process
  • Make rfl::Literal default-constructible
  • Fix missing "hours" when parsing std::chrono::duration (thanks, @gibbz00)
  • Use non-throwing versions of jsoncons for CBOR and UBJSON (thanks, @Ian-Flury)
  • Allow int64 to double conversion in rfl::Generic (thanks, @Curve)
  • Removed unused variable warnings (thanks, @KostinPavel)
  • Do not assume that std::string_view is null-terminated (thanks, @ActuallyaDeviloper)
  • Improve bad access error message (thanks, @hos-b)
  • Fix array declaration syntax in documentation (thanks, @HaydnTrigg )
  • Fix target check for tomlplusplus (thanks, @HaydnTrigg)
  • Add msgpackc to NAMES
  • Refactor: Use concepts where appropriate

v0.22.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 28 Oct 23:03

v0.21.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 15 Sep 19:49
6f27b8a

v0.20.0

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 06 Aug 21:13
f36b136
  • 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

Choose a tag to compare

@liuzicheng1987 liuzicheng1987 released this 16 Apr 00:25
a70b4ec
  • 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.