cereal v 1.3.0
This is a feature and bug fix release for cereal.
This release contains a few new features, numerous quality of life improvements, and bug fixes. Many of these come from community contributions.
With this release, the develop
branch is being removed in favor of a single default branch. This means that tagged releases should be used in favor of trusting the master branch as being stable. The development branch for documentation, gh-pages-develop
, is also being removed. This change comes with two small side benefits: pull requests will always be against the correct branch, and it will be easy to see development activity at a glance.
New features include:
- Deferred serialization for smart pointers (#185)
- Initial support for C++17 standard library
variant
andoptional
(thanks to @arximboldi, #448) - Support for
std::atomic
(thanks to @bluescarni, #277)
Fixes and enhancements include:
- Vastly improved continuous integration testing (#568, #569)
- Fixed several issues related to compilation on newer compilers (#579, #587, #515)
- Fixed warnings with
-Wconversion
and-Wdocumentation
(thanks to @WSoptics, #423) - Performance improvements for polymorphic serialization (#354)
Minor fixes and enhancements include:
- Fixed a bug related to
CEREAL_REGISTER_DYNAMIC_INIT
with shared libraries (thanks to @m2tm, #523) - Avoid unnecessary undefined behavior with
StaticObject
(thanks to @erichkeane, #470) - New
version.hpp
file describes cereal version (#444) - Ability to disable
size=dynamic
attribute in the XML archive (thanks to @hoensr, #401)
Other Notes
- The static checking for
minimal
serialization has been relaxed as there were many legitimate cases it was interfering with (thanks to @h-2, #565) - The
vs2013
directory has been removed in favor of generating solutions with CMake (#574)
This is not an exhaustive list of changes or individual contributions. See the closed issues for more information.
Want to contribute to cereal?
Open source projects take a considerable amount of time to maintain! Contributions are always appreciated, especially when they can be easily integrated.
- Check out the contribution guidelines
- Take a look at the current major projects for cereal
- Look through the open issues