Repository navigation
Releases: munich-data-engineering/reflect-cpp
Releases · munich-data-engineering/reflect-cpp
Release list
v0.26.2
v0.26.1
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
- 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
- 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
- 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
- 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
- Shared exports in MSVC (@BestITUserEUW)
- Better error handling inside the writers
- Added explicit ref-qualifiers for Error.what (@BestITUserEUW)
- Use target compile definitions for REFLECTCPP_USE_STD_EXPECTED (@BestITUserEUW)
- Fix Clang 20 warnings (@KostinPavel)
- Cleanup includes (@KostinPavel)
- Make sure all headers are self-contained
- Allow specifications of the schema in Cap'n Proto (@lixin-wei )
- Modernize JSON schema (@AndrewNolte )
- Shared exports in MSVC (@BestITUserEUW)
- Fixes in the documentation (@awaismirza92)
- Update YYJSON to 0.12.0
v0.21.0
- Support for CSV
- Support for parquet
- Add interfaces for JWT compatability (thanks to @aligirayhanozbay and @aligirayhanozbay-abex)
- Add rfl::AddNamespacedTagsForVariants (thanks to @bryceschober)
- Better forwarding to improve read performance (thanks to @GregTheMadMonk)
- Various bugfixes (thanks to @ftschindler, @bryceschober )
v0.20.0
- 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
- 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.