[/
    Copyright (c) 2021 Dmitry Arkhipov (grisumbras@gmail.com)

    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

    Official repository: https://github.com/boostorg/beast
]

[section Release Notes]

[/-----------------------------------------------------------------------------]

[heading Boost 1.83.0]

[*API Changes]

* [ issue 859 ] The library now only throws __system_error__, except for when
  allocation failed, in which case `std::bad_alloc` is thrown.
* [ issue 884 ] Serialization behavior can now be changed by
  [link json.ref.boost__json__serialize_options `serialize_options`].

[*New Features]

* [ issue 819 ] [link json.conversion.contextual_conversions Contextual conversions].
* [ issue 599 ] [link json.ref.boost__json__number_precision Parser option]
  for more precise number parsing.
* [ issue 885 ] Support [link json.ref.boost__json__parse_options `parse_options`]
  in stream `operator<<`.
* [ issue 397 ] [link json.ref.boost__json__parse_options Parser option] to
  allow `Infinity` and `NaN` JSON literals.
* [ issue 901 ] [link json.ref.boost__json__number_precision Parser mode]
  that only validates numbers rather than parsing them.
* [ issue 892 ] Numbers with exponent larger than `INT_MAX` are accepted
  by the parser and treated as infinity.

[*Fixes]

* [ issue 901 ] Fix `object` member functions that should provide strong
  guarantee.
* [ issue 887 ] Fix ambiguity of `end` call when `boost/range.hpp` is included.
* [ issue 902 ] Fix ASan failures.
* [ issue 904 ] Fix error message for `error::size_mismatch`.
* Fix conversion into tuple with const elements.

[heading Boost 1.82.0]

[*New Features]

* [ issue 800 ] [link json.ref.boost__json__value.set_at_pointer `set_at_pointer`].
* [ issue 570 ] [link json.ref.boost__json__value.hash_value `boost::hash` support].

[*Improvements]

* [ issue 848 ] [link json.ref.boost__json__serializer.serializer.overload3 Caller-provided serializer storage].
* [ issue 807 ] `value_to` supports missing elements for `std::optional`.
* Documentation improvements.

[*Fixes]

* [ issue 876 ] Fix parser suspend inside an escape character.
* [ issue 814 ] Make sentinel() return a unique pointer.

[heading Boost 1.81.0]

[*API Changes]

* [ issue 686 ] Conversion traits were redesigned.
* [ issue 756 ] Removed `condition::assign_error`.
* [ issue 758 ] Removed `generic_category` alias.

[*New Features]

* [ issue 749 ] `object::stable_erase`.
* [ issue 778 ] Added error condition for generic library errors.
* [ issue 619 ] Added `parse` overload for `std::istream`.
* [ issue 619 ] `operator>>` for `value`.

[*Improvements]

* [ issue 686 ] Null-like type conversion support (including `std::nullptr_t`).
* [ issue 736 ] Non-throwing conversion from `value` to user types.
* [ issue 677 ] `value_to/from` supports `std::optional` and `std::nullopt_t`.
* [ issue 517 ] `value_to/from` supports `std::variant` and `std::monotype`.
* [ issue 626 ] `value_to/from` supports supports described classes and enums.
* [ issue 757 ] Rvalue ref-qualified accessors for `value`.

[*Fixes]

* [ issue 745 ] Support for self-swap and self-move in `string`.
* [ issue 747 ] Support for self-swap and self-move in `array`.
* [ issue 735 ] Replaced C floating point constants with C++ equivalents.
* Documentation improvements.

[heading Boost 1.80.0]

[*API Changes]

* [issue 703] Add non-const `value::at` overloads.
* [issue 717] Add the ability to manually choose endianness of the platform.
* Add `string::subview()` overload.

[*Fixes]

* [issue 692] Fix segfault in `array::erase(it)`.
* [issue 697] Fix low performance of `serialize` on libc++.
* [issue 708] Fix ambiguous conversion to `std::string_view` on GCC 8.
* [issue 717] Fix parsing on big-endian platforms.
* [issue 726] Fix handling of comment after trailing comma.
* Minor documentation fixes.

[heading Boost 1.79.0]

[*API Changes]

* [issue 650] Standalone mode of the library is removed. Users who wish to
  continue using standalone JSON can switch to
  [@https://github.com/CPPAlliance/standalone-json.git the C++ Alliance fork].

[*New Features]

* [issue 480] Add support for JSON Pointer.

[*Improvements]

* Add `std::error_code` overloads.
* [issue 680] Add `boost::source_location` to `error_codes`.

[*Fixes]

* [issue 668] Naturally grow string during serialization.

[heading Boost 1.78.0]

[*API Changes]

* [issue 628] Standalone mode of the library is removed.

[heading Boost 1.78.0]

[*API Changes]

* [issue 628] Standalone mode of the library is deprecated.

[*New Features]

* [issue 549] [issue 550] Allow external libraries to forward declare
  __value_to__ and __value_from__.

[*Fixes]

* [issue 608] [issue 612] Fixed signed integer overflow in number parsing.
* [issue 620] Documentation fixes.

[*Improvements]

* [issue 557] Add support for `/Zc:implicitNoexcept-` on MSVC.

[heading Boost 1.77.0]

[*New Features]

* [issue 538] [link json.ref.boost__json__string.operator_std__string_view
  Implicit conversion operator from `string` to `std::string_view`].
* [issue 521] __std_hash__ specializations for json types.

[*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]

* __value_to__ supports `TupleLike` types.
* __value_to__ and __value_from__ support __std_array__ and similar types.

[heading Boost 1.76.0]

[*Fixes]

* [issue 481] Refactored __value_from__ implementation; user customizations are
  now always preferred over library-provided overloads.
* [issue 484] Fixed imprecise parsing for some floating point numbers.
* [issue 485] Fixed link errors in standalone mode, when used alongside Boost.
* [issue 497] Fix Boost.Build builds on GCC 4.8.

[heading Boost 1.75.0]

* Initial release.

[endsect]
