Release Notes
Boost 1.93.0
Special thanks to Ramya Eliger for contributing a lot of fixes for this release!
-
#993 Added dependency on Boost.Charconv.
-
#1205 Described classes category is now ranked lowest.
-
#1156 Added
use_categoryfor conversion category selection.
-
#1172 Fixed use of incorrect memory resource in
array::insert. -
#1177 Fixed string corruption in
string::shrink_to_fit. -
#1178 Fixed unnecessary allocation in
basic_parser. -
#1175 Fixed undefined behavior caused by self-assign with
string::assign. -
#1171 Fixed incorrect overflow check in JSON Pointer functions.
-
#1179 Fixed incorrect deallocate size in
monotonic_resource::release. -
#1184 Use correct memory resource in
value::value. -
#1181 Use correct alignment value in the destructor of
string. -
#1185 Fix size check in JSON string parsing algorithm.
-
#1186 Forward mapped value in
object::insert_or_assign. -
#1182 Fix required member check for described structs in
parse_into. -
#1188 Fix cleanup on failed insert into
object. -
#1174 Fix undefined behaviour caused by self-insert in
array::insert. -
#1192 Fix array index overflow in
set_at_pointer. -
#1197 Fix compilation error on some platforms.
-
#1200 Clear accumulated name in
parse_intoenum handler. -
#1195 Fix array end handling for first variant alternative in
parse_into. -
#1201 Fix string to enum conversion in
value_to. -
#1202 Fix parsing JSON numbers with large exponent and zero mantissa.
-
#1193 Align caller-supplied buffer in
value_stackconstructor. -
#1208 Fix undefined behavior caused by self-insert in
set_at_pointer. -
#1207 Fix undefined behavior for some sequences in
parse_into. -
#1213 Disabled usage of
clang::no_destroyin clang-cl. -
#1213 Fixed
value::to_number's incorrect lower bound when converting from double tostd::int64_t.
Boost 1.91.0
-
#1146 Changed
valueconstruction fromstd::initializer_listto usevalue_from. This allows constructingvaluefrom user-defined types. -
#1140 Changed
value_toto construct tuples using curly braces. This adds support for more tuple-like types.
Boost 1.87.0
-
#644 Add GDB pretty printers for Boost.JSON types.
Boost 1.86.0
-
Support for GCC versions older than version 5.0 is deprecated and will stop in Boost 1.88.0.
-
#941
source_locationparameter was added to throwing accessor functions.
-
Handle missing error case in direct parsing.
Boost 1.85.0
Boost 1.84.0
-
#627 Parsing directly into user types. See Direct Parsing.
Boost 1.83.0
-
#859 The library now only throws
system_error, except for when allocation failed, in which casestd::bad_allocis thrown. -
#884 Serialization behavior can now be changed by
serialize_options.
-
#599 Parser option for more precise number parsing.
-
#885 Support
parse_optionsin streamoperator<<. -
#397 Parser option to allow
InfinityandNaNJSON literals. -
#901 Parser mode that only validates numbers rather than parsing them.
-
#892 Numbers with exponent larger than
INT_MAXare accepted by the parser and treated as infinity.
Boost 1.82.0
-
#807
value_tosupports missing elements forstd::optional. -
Documentation improvements.
Boost 1.81.0
-
#686 Null-like type conversion support (including
std::nullptr_t). -
#736 Non-throwing conversion from
valueto user types. -
#677
value_to/fromsupportsstd::optionalandstd::nullopt_t. -
#517
value_to/fromsupportsstd::variantandstd::monotype. -
#626
value_to/fromsupports supports described classes and enums. -
#757 Rvalue ref-qualified accessors for
value.
Boost 1.79.0
-
#650 Standalone mode of the library is removed. Users who wish to continue using standalone JSON can switch to the C++ Alliance fork.
-
#480 Add support for JSON Pointer.
-
Add
std::error_codeoverloads. -
#680 Add
boost::source_locationtoerror_codes.
-
#668 Naturally grow string during serialization.
Boost 1.78.0
-
#628 Standalone mode of the library is removed.
Boost 1.78.0
Boost 1.77.0
-
objectdeallocates the correct size. -
Fixed crash when constructing
arrayfrom a pair of iterators that form an empty range. -
key_value_pairallocates with the correct alignment.
-
value_tosupportsTupleLiketypes. -
value_toandvalue_fromsupportstd::arrayand similar types.
Boost 1.76.0
-
#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.