Release Notes

Boost 1.87.0

API Changes
  • #991 Conversion into structs ignores unknown keys.

  • #1041 Exception wrapping behaviour for value_to is simplified.

  • #1040 Deprecated initilaizer list behavior was removed.

  • #1040 Deprecated type aliases were removed.

New Features
Fixes
  • #1057 Use correct 64bit full multiplication for MinGW on ARM64.

  • #1048 Fix parse_into handling of tuple of the wrong size.

  • #1047 Check for input size larger than allowed size of sequence.

  • #1034 Fix value_ref segfaulting on GCC 14.

Boost 1.86.0

Deprecation
  • Support for GCC versions older than version 5.0 is deprecated and will stop in Boost 1.88.0.

API Changes
  • #941 source_location parameter was added to throwing accessor functions.

New Features
  • #940 Parse option to tolerate invalid UTF-16 surrogate pairs, and produce WTF-8.

  • #941 Added accessor functions that return system::result.

Fixes
  • Handle missing error case in direct parsing.

Boost 1.85.0

New Dependencies
  • #915 Boost.Endian is now used to deal with endianness.

API Changes
  • #881 Aliases to Boost.System and Boost.Container components are deprecated and will be completely removed in 1.87.0.

New Features
  • #979 Conversion of described classes supports private members

  • #979 Rvalue reference overload for visit.

  • #977 Add conversion support for path-like types.

Fixes
  • #988 Parsing into described classes correctly considers inherited members.

  • #975 Conversion of self-referential sequences is disabled.

  • #952 Fixed reference handling in visit.

Boost 1.84.0

API Changes
  • #925 Add a conversion category for variants.

  • #833 Add a conversion category for optionals.

  • #840 Relax iterator requirements for constructors from iterator pairs.

New Features
Fixes
  • #933 Fix reading beyond input buffer.

  • #920 Fix inconsistent choice of init list constructor.

  • Documentation improvements.

Boost 1.83.0

API Changes
  • #859 The library now only throws system_error, except for when allocation failed, in which case std::bad_alloc is thrown.

  • #884 Serialization behavior can now be changed by serialize_options.

New Features
Fixes
  • #901 Fix object member functions that should provide strong guarantee.

  • #887 Fix ambiguity of end call when boost/range.hpp is included.

  • #902 Fix ASan failures.

  • #904 Fix error message for error::size_mismatch.

  • Fix conversion into tuple with const elements.

Boost 1.82.0

Improvements
Fixes
  • #876 Fix parser suspend inside an escape character.

  • #814 Make sentinel() return a unique pointer.

Boost 1.81.0

API Changes
  • #686 Conversion traits were redesigned.

  • #756 Removed condition::assign_error.

  • #758 Removed generic_category alias.

New Features
  • #749 object::stable_erase.

  • #778 Added error condition for generic library errors.

  • #619 Added parse overload for std::istream.

  • #619 operator>> for value.

Improvements
  • #686 Null-like type conversion support (including std::nullptr_t).

  • #736 Non-throwing conversion from value to user types.

  • #677 value_to/from supports std::optional and std::nullopt_t.

  • #517 value_to/from supports std::variant and std::monotype.

  • #626 value_to/from supports supports described classes and enums.

  • #757 Rvalue ref-qualified accessors for value.

Fixes
  • #745 Support for self-swap and self-move in string.

  • #747 Support for self-swap and self-move in array.

  • #735 Replaced C floating point constants with C++ equivalents.

  • Documentation improvements.

Boost 1.80.0

API Changes
  • #703 Add non-const value::at overloads.

  • #717 Add the ability to manually choose endianness of the platform.

  • Add string::subview() overload.

Fixes
  • #692 Fix segfault in array::erase(it).

  • #697 Fix low performance of serialize on libc++.

  • #708 Fix ambiguous conversion to std::string_view on GCC 8.

  • #717 Fix parsing on big-endian platforms.

  • #726 Fix handling of comment after trailing comma.

  • Minor documentation fixes.

Boost 1.79.0

API Changes
  • #650 Standalone mode of the library is removed. Users who wish to continue using standalone JSON can switch to the C++ Alliance fork.

New Features
  • #480 Add support for JSON Pointer.

Improvements
  • Add std::error_code overloads.

  • #680 Add boost::source_location to error_codes.

Fixes
  • #668 Naturally grow string during serialization.

Boost 1.78.0

API Changes
  • #628 Standalone mode of the library is removed.

Boost 1.78.0

API Changes
  • #628 Standalone mode of the library is deprecated.

New Features
Fixes
  • #608 #612 Fixed signed integer overflow in number parsing.

  • #620 Documentation fixes.

Improvements
  • #557 Add support for /Zc:implicitNoexcept- on MSVC.

Boost 1.77.0

Fixes
  • object deallocates the correct size.

  • Fixed crash when constructing array from a pair of iterators that form an empty range.

  • key_value_pair allocates with the correct alignment.

Improvements

Boost 1.76.0

Fixes
  • #481 Refactored value_from implementation; user customizations are now always preferred over library-provided overloads.

  • #484 Fixed imprecise parsing for some floating point numbers.

  • #485 Fixed link errors in standalone mode, when used alongside Boost.

  • #497 Fix Boost.Build builds on GCC 4.8.

Boost 1.75.0

  • Initial release.