cereal v1.3.0 Release Notes
Release Date: 2019-10-25 // over 3 years ago-
๐ 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
Previous changes from v1.2.2
-
๐ This is a minor feature and bug fix release for cereal.
๐ The majority of fixes and enhancements for this release come from the community. Thank you for your contributions!
๐ Fixes and enhancements include:
- Polymorphic registrations should always occur as intended, especially on VS2015 (#356)
- โ Unit testing overhauled to prepare for modules; dependency on boost test dropped in favor of doctest (#139)
- ๐ Continuous integration testing for Windows using AppVeyor (thanks to @tusharpm, #373)
๐ Minor fixes and enhancements include:
- ๐ Ongoing optimizations for polymorphism support (thanks in part to @dlardi, #335, also see #354 for continuing work)
- cereal now uses local
#include
to make it easier to drop into a project (thanks to @kklouzal, #347) - ๐ Fixed a bug related to threading support (thanks to @auric, #331)
- ๐ Fixed a bug related to loading bitsets (thanks to @drivehappy, #355)
- Avoid conflict with the
check
macro on OSX (thanks to @erichkeane, #341, #342) - โ Removed remaining traces of hardcoded RapidJSON namespaces to avoid conflicting with system library (thanks to @Enhex, #351)
- ๐ง
cereal::size_type
can now be configured via macro (#379) - ๐ Improved traivs continuous integration testing (thanks to @tusharpm, #367)
- ๐ cereal no longer uses c-style casts interanlly (thanks to @laudrup, #363)
- ๐ Improved support for migrating from boost (thanks to @headupinclouds, #366)
๐ See the closed issues for more information.
Known Issues
๐ Polymorphic registration for large numbers of classes is currently slower than it should be. See the ongoing progress towards this at #354.
Want to contribute to cereal?
- Check out the contribution guidelines
- Take a look at the current major projects for cereal
- Look through the open issues