cereal v1.3.0 Release Notes

Release Date: 2019-10-25 // almost 2 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 and optional (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.


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?