./devel/boost, Free, peer-reviewed portable C++ source libraries

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.86.0, Package name: boost-1.86.0, Maintainer: pkgsrc-users

Boost is a set of free, peer-reviewed, C++ libraries. The emphasis is on
portable libraries which work well with the ISO C++ Standard Library.

This is a meta package that depends on all other components of Boost.


Required to run:
[devel/boost-libs] [devel/boost-docs] [devel/boost-headers] [devel/boost-build] [devel/boost-jam] [devel/py-boost] [devel/boost-mpi] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Version history: (Expand)


CVS history: (Expand)


   2024-10-10 16:44:17 by Jonathan Perkin | Files touched by this commit (9)
Log message:
boost: Various SunOS fixes.
   2024-10-04 05:26:54 by Ryo ONODERA | Files touched by this commit (7) | Package updated
Log message:
meta-pkgs/boost,devel/boost-build,devel/boost-docs,devel/boost-jam,devel/boost-h \ 
eaders,
devel/boost-libs,devel/boost-mpi,devel/py-boost: Uodate to 1.86.0

Changelog:
New Libraries

  * No new libraries.

Updated Libraries

  * Atomic:
      + Use futex(2) system call on OpenBSD since recent OpenBSD versions have
        removed support for syscall(2).
  * Beast:
      + API Changes
          o Added HTTP status code 418 I'm a teapot.
      + Fixes
          o Narrowing conversion in read_size_hint_db().
          o Overloads that are ambiguous when using default completion tokens.
          o Misplaced static_assert in http::basic_fields move-assignment
            operator.
          o Underflow of bytes_transferred in WebSocket partial write
            operations.
          o websocket::stream::read_size_hint() does not exceed
            read_message_max.
          o Various warnings in tests.
          o Error handling in SSL shutdown operations in examples.
          o Annotate fallthrough case in zlib.
          o Handling of expired timers in basic_stream::ops::transfer_op.
          o Ambiguity in test::basic_stream constructor overloads.
          o Partial parsing of the final chunk in http::parser.
      + Improvements
          o Graceful shutdown in server_flex_awaitable example.
          o Simplified awaitable examples.
          o Added fuzzing targets.
          o Remove superfluous uses of std::bind in some examples.
          o ssl_stream does not use flat_stream.
      + Documentation
          o ssl_stream and flat_stream marked as deprecated.
          o net::ssl::stream is canonical in snippets and examples.
          o Added SSL/TLS Shutdown Procedure section.
      + Acknowledgements
          o tyler92, Ruslan Zakirov, Orgad Shaneh, Alexander Kernozhitsky
  * Charconv:
      + Fixed support for PPC64LE architecture.
      + Fixed support for platforms like Alpine linux that provide the <
        quadmath.h> header but not the compiled library.
      + Fixed first character pattern matching in from_chars for integer types.
      + Fixed overflow detection for integers with base greater than 10.
      + Added native support for std::float16_t and std::bfloat16_t instead of
        using interchange formats.
  * Cobalt:
      + Added support for asio::cancel_after
      + Made asio::deferred co_await-able, because it's asio's default token
      + Added noop utility
      + Added experimental support for stackful coroutines/fibers
      + Fixed movability of channel & coroutine types
  * Compat:
      + Added bind_front.hpp, bind_back.hpp, invoke.hpp, mem_fn.hpp,
        integer_sequence.hpp and type_traits.hpp.
      + Added function_ref.hpp.
  * Container:
      + Fixed bugs/issues:
          o GitHub #285: "devector<>::push_front asserts after \ 
clear()".
          o GitHub #280: "Several containers don't support non-movable types
            when move assigning".
          o GitHub #279: "small_vector cannot go back to use stack space".
          o GitHub #277: "Remove dep on boost::static_assert".
          o GitHub #275: "Compilation fails if custom key comparison is \ 
used".
          o GitHub #273: "flat_map/vector crashes on appends (memory
            corruption)".
          o GitHub #269: "flat_multimap::emplace not sorting elements under
            GCC".
          o GitHub #266: "small_vector<T> is misaligned on the stack in 32
            bits".
          o GitHub #259: "Global variables".
          o GitHub #245: "flat_tree::insert ordered range doesn't assert
            sorting".
          o GitHub #241: "flat_map should support same interface as \ 
std::map".
  * Core:
      + Added a boost/core/pointer_in_range.hpp header with a pointer_in_range
        function template to check if a pointer is within a given range.
      + Fixed type_name for abstract classes. (#172)
      + Fixed boost/core/type_name.hpp compilation error with MSVC with
        disabled native wchar_t type. (#173)
      + Added a workaround for an MSVC bug causing empty_value compilation
        errors when it is used with a nested class. (PR#175)
  * CRC:
      + C++03 is no longer supported; a C++11 compiler is required. (This
        includes GCC 4.6 or later, and MSVC 10.0 (VS 2010) or later.)
      + Removed dependencies on Array, Config, Integer, and TypeTraits. The
        library is now standalone.
  * Filesystem:
      + is_empty operation is now better protected against concurrent
        filesystem modifications.
      + On POSIX systems, is_empty now indicates error if invoked on a file
        other than a regular file or a directory.
      + On Windows, fixed file_size and is_empty operating on symlinks rather
        than the files the symlinks refer to. (#313)
      + directory_entry::refresh no longer throws an exception if the file
        referenced by the entry doesn't exist. This makes directory_entry::
        status and directory_entry::symlink_status, as well as methods based on
        them, behave similarly to the equivalent standalone operations. The
        fact that the file does not exist is still indicated via the error_code
        returned by the corresponding directory_entry::refresh overload, or can
        be seen by testing if the file type returned by directory_entry::status
        or directory_entry::symlink_status calls is file_type::file_not_found.
        (#314)
      + Fixed weakly_canonical testing path elements for existence relative to
        the current path instead of the base path specified in the call, if the
        input path was a relative path.
      + On Windows, fixed weakly_canonical producing incorrect result path when
        the input path started with "..". (#311)
  * Format:
      + C++03 is no longer supported; a C++11 compiler is required. (This
        includes GCC 4.7 or later, and MSVC 12.0 (VS 2013) or later.)
  * Function:
      + Removed dependency on Boost.TypeTraits.
      + Brought back the argN_type typedefs that were accidentally lost in
        1.85.
  * GIL:
      + Added
          o Added tell() and error() functions to istream_device and
            ostream_device classes (PR#747).
      + Changed
          o Don't ignore custom color converter in color_converted_view
            function (PR#726).
          o Added workaround for conflict with min() and max() macros on WinAPI
            (PR#745).
          o The use of boost::filesystem in GIL is now configurable in CMake
            via option BOOST_GIL_USE_BOOST_FILESYSTEM (PR#743).
      + Fixed
          o Fixed convolution in convolve_2d (PR#723)
          o Normalize Gaussian 2D kernel to avoid darkening (PR#725)
          o Wrong buffer size in path string conversion functions for std::
            wstring is fixed, avoiding buffer overflows when using I/O-related
            functions with std::wstring paths (PR#746).
      + Acknowledgements
          o Christoph Gringmuth, Christopher Kormanyos, nicolacandussi, Dirk
            Stolle, Olzhas Zhumabek
  * Graph:
      + Major update: C++14 is the new minimum standard; this was partly
        dictated by dependencies (at least to C++11) and partly by choice. If
        you require support for an older standard, please contact the
        maintainer.
      + Remove direct dependency on Boost.Regex.
      + Fix several compilation errors caused by not explicitly including
        common headers.
      + isomorphism: Fix docs, ignore vertex_max_invariant parameter in favour
        of cheaply calculating upper exclusive bound, fix bug with Associative
        Property Map, improve space efficiency from linear in the size of the
        maximum invariant to linear in the size of g1.
      + boykov_kolmogorov_max_flow: Fix named parameter overload.
      + adj_list_edge_iterator: Fix maybe-uninitialized warnings.
      + hawick_circuits: Add a parameter to optionally limit the depth of the
        search, causing a potentially suboptimal answer to be returned early.
      + disjoint_sets: Improve performance of link_sets by removing redundant
        lookup of set representatives.
      + maximum_adjacency_search: Refactor and more tests.
      + property: Use BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS to remove wasted space.
      + labeled_graph: Fix remove_labeled_vertex so that it actually removes
        the label too.
      + r_c_shortest_paths: Fix bug that the single-solution variant did not
        always return the shortest path.
      + read_graphviz: Fix stack overflow (oss-fuzz issue 66719) and
        non-keyword subgraph parsing.
      + Many miscellaneous improvements: broken links, typos, etc.
  * Interprocess:
      + Fixed bugs:
          o GitHub #191 ("vectorstream: support file sizes larger than INT_MAX
            ").
          o GitHub #198 ("Minor fixes for documentation of offset_ptr").
          o GitHub #202 ("Allow to map message_queue in anonymous memory").
          o GitHub #207 ("cmake: link system libraries").
          o GitHub #214 ("Doc: Fix github links").
  * Intrusive:
      + Fixed bug GitHub #86: Invalid UTF-8 character in comment
  * JSON:
      + Support for GCC versions older than version 5.0 is deprecated and will
        stop in Boost 1.88.0.
      + source_location parameter was added to throwing accessor functions.
      + Parse option to tolerate invalid UTF-16 surrogate pairs, and produce
        WTF-8.
      + Added accessor functions that return system::result.
      + Handle missing error case in direct parsing.
  * LexicalCast:
      + Fixed conversion of std::basic_string_view and boost::basic_string_view
        containing one or more \0 characters. Issue was introduced in 1.85.0.
  * leaf:
      + More optimal verbose_diagnostic_info implementation.
      + Bug fixes.
      + Added [[nodiscard]] to class result<>.
  * Locale:
      + Add support for custom allocators in conv::utf_to_utf
      + Don't build examples by default
  * Log:
      + Added a workaround for windres.exe issue, when it is used in CMake to
        compile event log resource files on MinGW-w64. (PR#231)
  * Math:
      + Correct Bessel function results at infinity, see 1143.
      + Improve Non Central T numerical stability, see scipy20693.
      + Correct float_next/float_prior behaviour at infinity.
      + Prevent spurious underflow in non-central beta, see scipy20693.
      + Add improvement to Heuman Lambda precision.
      + Improve Skew Normal root finding, see 1120.
      + Lots of minor fixes and improved code coverage.
  * Multiprecision:
      + Make sure eval_convert_to() does not terminate with super large
        numbers, see 618.
      + Fix sinc implementation to match behavior of Boost.Math.
      + Fix divide-by-zero in cpp_int modulus operations.
      + Fix underflow behavior consistency for integers greater than 128-bits,
        see 626.
  * MySQL:
      + The long-deprecated functions query, start_query, execute_statement and
        start_statement_execution (and their async equivalents) have been
        removed.
      + Breaking changes to experimental APIs:
          o The identifier class (client-side SQL formatting) has been removed.
            Use the new format specifiers feature, instead.
          o The required interface for custom formatters has been changed to
            accomodate the new format specifiers API.
          o any_connection::async_connect now requires that its connect_params
            argument be kept alive until the operation completes. The overload
            taking a const connect_params* has been removed.
          o character_set::name is now a const char* instead of a string_view,
            as MySQL character set names can't contain NULL characters.
          o any_connection internal buffer is now limited to 64MB. If you need
            to read or write rows bigger than that, increase
            any_connection_params::max_buffer_size. connection and their helper
            typedefs are not limited.
          o Renamed any_connection_params::initial_read_buffer_size to
            initial_buffer_size.
          o Renamed pool_params::initial_read_buffer_size to
            initial_buffer_size.
      + New experimental API: pipelines. Pipelines can increase efficiency by
        coalescing several requests in a single network packet. Pipelines can
        be used to run text queries, prepare, execute and close statements,
        reset session state and set the connection's character set.
      + Client-side SQL formatting now supports ranges out of the box.
        Formatting can be further customized using the new sequence function.
        Use cases like batch inserts and batch lookups can be significantly
        simplified using this functionality.
      + Client-side SQL formatting now supports format specifiers which modify
        how values are formatted. {:i} formats a string as a dynamic SQL
        identifiers, and {:r} outputs a raw unescaped
      + The static interface (static_results and static_execution_state) now
        supports Boost.Pfr types using pfr_by_name and pfr_by_position. Added
        underlying_row_t to support such types.
      + date and datetime can now be constructed from and converted to C++20
        std::chrono::local_time.
      + Added any_connection_params::max_buffer_size, which allows to set a
        limit to the connection's internal buffer.
      + Added is_fatal_error, which allows users can now distinguish between
        fatal (which require closing and re-opening the connection) and
        non-fatal error codes.
      + Added formattable_ref, a type-erased reference type that can refer to
        any type satisfying the Formattable concept.
      + Fixed an ODR violation under MSVC which could cause crashes in release
        builds when using Boost.MySQL with other code also using asio::
        coroutine in different translation units.
  * Odeint:
      + Added CMake Option BOOST_NUMERIC_ODEINT_NO_ADAPTORS to reduce
        dependencies, see 82
      + Fixed CMake detection of MPI.
  * Process:
      + Moved the old boost.process to v1 subfolder and inline namespace.
        deprecated process/*.hpp v1 headers
      + Turned v2 into a compile library.
      + Fixed usage on alpine linux / musl
  * Stacktrace:
      + Big new feature: stacktrace from arbitrary exception for Windows. std::
        stacktrace::from_current_exception() now works on Windows platform.
        Many thanks to huangqinjin for the implementation PR#159 Now on POSIX
        and Windows the from_current_exception() function returns the
        stacktrace of the current exception object as if the stacktrace was
        captured at the point of throwing the exception.
      + Fixed inclusion of rarely used Windows SDK headers which can cause
        conflict with other code using Windows SDK. Thanks to Marat Abrarov for
        fixing the issue PR#157.
      + Build option boost.stacktrace.from_exception now properly works on
        MacOS. Thanks to Peter Dimov for the fix PR#166.
      + Fixed a typo in assert expression. Thanks to Kilian Henneberger for the
        bug report #164.
      + Fixed shadowing warnings. Thanks to Nigel Stewart for the bug report #
        141.
      + Added dladdr minimal support for AIX. Many thanks to Cl??ment Chigot
        for the implementation PR#114.
      + Added Boost::stacktrace CMake alias that refers to the best supported
        implementation of Boost.Stacktrace on the platform. Thanks to Alex for
        the feature PR#167.
      + Significant improvement of CMake: multiple fixes, added many new tests,
        improved CI. Many thanks to Peter Dimov for all the improvements.
      + Fix addr2line work when the process is looked up via PATH. Thanks to
        Schreischildkroete for the bug report and to Jens Richter for fix #72.
  * Test:
      + Fix -Wundef in configuration step.
      + Fix unreachable return compilation error on MSVC.
  * Unordered:
      + Added container pmr aliases when header <memory_resource> is available.
        The alias boost::unordered::pmr::[container] refers to boost::unordered
        ::[container] with a std::pmr::polymorphic_allocator allocator type.
      + Equipped open-addressing and concurrent containers to internally
        calculate and provide statistical metrics affected by the quality of
        the hash function. This functionality is enabled by the global macro
        BOOST_UNORDERED_ENABLE_STATS.
      + Avalanching hash functions must now be marked via an is_avalanching
        typedef with an embedded value constant set to true (typically,
        defining is_avalanching as std::true_type). using is_avalanching = void
        is deprecated but allowed for backwards compatibility.
      + Added Visual Studio Natvis framework custom visualizations for
        containers and iterators. This works for all containers with an
        allocator using raw pointers. In this release, containers and iterators
        are not supported if their allocator uses fancy pointers. This may be
        addressed in later releases.
  * UUID:
      + Major update.
      + C++03 is no longer supported, a C++11 compiler is required. (This
        includes GCC 4.8 or later, MSVC 14.0 (VS 2015) or later, and
        MinGW-w64.)
      + Decreased number of Boost dependencies from 39 (in total) to just 5.
      + Updated to reflect the newer RFC 9562.
      + Added generators for time-based UUIDs.
      + Many other improvements, see the revision history.
  * Wave:
      + Replaced one use of vsprintf with the more secure vsnprintf
      + Fixed bug:
          o #197: Improper signed overflow handling (UB and a missing division
            check)
  * WinAPI:
      + Added BOOST_USE_WINAPI_VERSION CMake option, which allows users to
        specify the Windows version for Boost to target.

Updated Tools

  * BoostBook:
      + DTD updated: constructor, copy-assignment and destructor elements are
        now allowed inside method-group elements.
      + Many fixes and improvements in Doxygen-generated documentation:
          o Fixed duplicate equal signs in Doxygen-generated enum value
            initializers.
          o Disabled alphabetical sorting of function arguments. The sorting
            can be re-enabled by setting the new boost.sort.params XSL
            parameter to 1.
          o Added support for custom class member grouping. See Doxygen tags @
            name and @{/@}.
          o Added support for Doxygen references to classes, methods, enums,
            variables, etc. (see @ref tag).
          o Added support for @remark and @important tags.
          o Added support for @parblock tags, which can be used to place
            multiple paragraphs under a tag that expects a single paragraph as
            an argument (e.g. @returns).
          o Template parameter defaults that refer to implementation details
            are now concealed, similar to function parameter defaults.
          o Improved presentation of unnamed enums. Instead of showing a
            synthesized name such as @0, the name is either omitted or is [
            unnamed], if the name is necessary to introduce a link to the enum
            documentation.
          o Changed the "See Also" (@sa) blocks to be displayed \ 
inline, similar
            to "Returns".
          o Fixed presentation of multiple exception specifications (@throws).
          o Added support for free form description of throwing behavior. If
            the exception type after the @throws tag is "~" then the \ 
exception
            type is omitted from the output, and the following description is
            displayed directly in the "Throws" section.
          o Removed redundant spaces in return types and template parameters.
  * Build:
      + Includes release of B2 version 5.2.1.
   2024-08-06 11:54:57 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
boost: fix for Numpy 2.0
   2024-07-06 11:26:35 by Aleksey Cheusov | Files touched by this commit (1)
Log message:
Update distinfo
   2024-07-06 10:53:57 by Aleksey Cheusov | Files touched by this commit (1)
Log message:
Fix build failure on glibc-based Linuxes; glibc also don`t have quadmath.h
   2024-04-18 16:16:30 by Ryo ONODERA | Files touched by this commit (3)
Log message:
devel/boost-headers: Fix no quadmath case under NetBSD

Bump PKGREVISION.
   2024-04-17 18:14:02 by Adam Ciarcinski | Files touched by this commit (12) | Package updated
Log message:
boost: updated to 1.85.0

Version 1.85.0

New Libraries
Charconv:
A high quality implementation of <charconv> in C++11, from Matt Borland.
Scope:
A collection of scope guard utilities and a unique_resource wrapper, from Andrey \ 
Semashev.
Updated Libraries
Asio:
Fixed the async_result primary template's concept checking to correctly handle \ 
lvalue-qualified completion signatures.
Fixed some compile errors that could arise when using the bind_allocator, \ 
bind_executor, bind_immediate_executor and bind_cancellation_slot completion \ 
token adapters to adapt each other.
Changed the experimental::ranged_parallel_group operation so that it moves the \ 
completion_order vector when invoking the completion handler.
Fixed some warnings about deprecated implicit copy constructors on \ 
ip::basic_resolver_query, io_context::strand, and coroutine.
Updated the version specification used to initialise Winsock.
Fixed co_spawn to correctly propagate exceptions resulting from cancellation to \ 
the completion handler.
Added calls to std::launder to fix undefined behaviour in awaitable<> \ 
internal storage.
Added missing handling of the file_base::append flag in the Windows \ 
implementation of file support.
Updated the socket and descriptor implementations to add more cases where they \ 
will fall back to fcntl if a call to ioctl fails.
Fixed the boost/asio/experimental/parallel_group.hpp header so that it is \ 
self-contained.
Fixed a compile error that occurred when channels and experimental::coro were \ 
both used in the same translation unit.
Added missing CancellationSlot type requirements to documentation.
Fixed the documentation hyperlinks for the deduced return types of asynchronous \ 
operations' initiating functions.
Other minor documentation updates.
Atomic:
Added support for pause instruction on RISC-V.
Beast:
API Changes
The status code list has been updated to conform with the IANA registry.
Fixes
Unreachable code warning in buffers_cat.hpp.
Connection error handling in websocker_server_awaitable example.
Concurrent calls to async_write in advanced server examples.
zlib name conflicts with minizip.
host string should be updated after SSL_set_tlsext_host_name().
Improvements
asio::associator is specialized for bind_wrapper and bind_front_wrapper.
Add non-allocating overload for error category message function.
Documentation
Specifies when calling http::message::prepare_payload() is optional.
Operations affected by basic_stream::expires_after().
teardown() and async_teardown() are customization points.
Moving or copying http::serializer after first usage is undefined behaviour.
websocket::permessage_deflate should be configured before performing the \ 
WebSocket handshake.
bytes_transferred in http reads operations reports the number of bytes consumed \ 
by the HTTP parser.
Acknowledgements
Emile Cormier, JohannesWilde, yhzx233
Bimap:
Fixed heterogeneous lookup for side collections
Bind:
C++03 is no longer supported; a C++11 compiler is required. (This includes GCC \ 
4.7 or later, and MSVC 12.0 (VS 2013) or later.)
Conversion:
Removed outdated mentions of boost::lexical_cast that is not part of the library \ 
any more. Thanks to Danil Sidoruk for the PR
Core:
Added a new boost/core/functor.hpp header with a functor class template for \ 
wrapping a raw function into a function object class.
Changed null_deleter, fclose_deleter and checked deleter definitions so that \ 
they don't bring namespace boost into argument-dependent lookup. Users may need \ 
to either explicitly qualify the namespace of the called function or add a \ 
using-declaration.
Filesystem:
path::generic_path and path::generic_string methods now remove duplicate \ 
directory separators in the returned paths.
v4: path::generic_path, path::generic_string, path::make_preferred and \ 
path::lexically_normal avoid converting between backslashes and forward slashes \ 
in path root names. For example, on Windows, \ 
path("\\\\\\\\?\\\\c:\\\\foo").generic_string() now returns \ 
"\\?\c:/foo" instead of "//?/c:/foo". Similarly, \ 
path("\\\\\\\\host/share/foo/..").lexically_normal() now returns \ 
"\\host\share".
v4: equivalent now indicates error if either one of the paths doesn't exist.
v4: absolute now returns a path with a trailing directory separator when the \ 
input path has an empty relative_path().
Added a unique_path overload taking a single error_code& ec argument. The \ 
overload generates a unique path using the default path model.
weakly_canonical now produces an absolute path if the input path is relative and \ 
contains no elements that exist in the filesystem.
Added a new copy_options::ignore_attribute_errors option for copy_file and copy \ 
operations. The new option allows to ignore possible errors while copying file \ 
attributes.
On Linux, copy_file backends based on sendfile and copy_file_range system calls \ 
will attempt to preallocate storage for the target file. This may reduce \ 
filesystem fragmentation and provide early error indication if there is not \ 
enough free space. Not all filesystems support this feature; file copying \ 
proceeds if storage preallocation is not supported.
On POSIX systems that support fdopendir, openat and related APIs defined in \ 
POSIX.1-2008, as well as on Windows, recursive_directory_iterator now uses file \ 
descriptors/handles instead of paths to query the file statuses and open nested \ 
directories during iteration. This makes directory iteration more resilient to \ 
concurrent modifications of the filesystem.
Removed APIs that were previously declared deprecated. In particular, path and \ 
recursive_directory_iterator member functions, is_regular, copy_directory, \ 
symbolic_link_exists, complete, copy_option, symlink_option, as well as \ 
boost/filesystem/convenience.hpp and boost/filesystem/path_traits.hpp headers \ 
were removed. Possible replacements for the removed components are mentioned in \ 
the documentation.
Support for path construction, assignment and appending from container types \ 
(e.g. std::vector<char>) is now disabled by default. Users can still \ 
enable this functionality by defining BOOST_FILESYSTEM_DEPRECATED. This \ 
functionality remains deprecated and will be completely removed in a future \ 
release.
Function:
C++03 is no longer supported; a C++11 compiler is required. (This includes GCC \ 
4.7 or later, and MSVC 12.0 (VS 2013) or later.)
Geometry:
Improvements
Use if constexpr macro instead of condition macro
Pass strategy to sort by side
Add cmake files for clang/mac/darwin/arm64
Solved issues
Fix invalid set operations for CCW polygons
Fix compilation error with CUDA NVCC compiler
Fix buffer of linestring returning incorrect inner polygon
Fix union operation perturbing a point and returning wrong result
Fix union producing self intersections
Fix buffer issue by setting turns in closed clusters as non traversable
Fix compilation of converter and is_base_of
Various fixes of errors and warnings
Iterator:
Support for C++03 is deprecated and will be removed in a future release.
JSON:
Boost.Endian is now used to deal with endianness.
Aliases to Boost.System and Boost.Container components are deprecated and will \ 
be completely removed in 1.87.0.
Conversion of described classes supports private members.
Rvalue reference overload for visit.
Add conversion support for path-like types.
Parsing into described classes correctly considers inherited members.
Conversion of self-referential sequences is disabled.
Fixed reference handling in visit.
LEAF:
New API for transporting of error objects and exceptions between threads: \ 
try_capture_all.
result<T> able to transport exceptions captured via try_capture_all.
result<T> transporting dynamically captured error objects with improved \ 
efficiency.
Old make_shared_context/capture APIs are deprecated, will be removed in the next \ 
release.
Removed support for transporting of dynamicaly captured error objects in exceptions.
LexicalCast:
Significant rewrite of the internal logic to separate optimized and C++ Standard \ 
Library IO-based streams:
C++ Standard Library based streams now constructed in less cases leading to \ 
better performance;
less template instantiations and simpler code;
always use std::char_traits (do not use custom traits from input/output types as \ 
it leads to linktime or runtime errors);
fixed missuse of forward declared boost::array
support for volatile input types was dropped, following the C++ Standard Library \ 
trend.
Optimized conversions from std::basic_string_view and boost::basic_string_view.
Dropped dependency on Boost.NumericConversion and Boost.MPL. Fixed some cases of \ 
converting floting point types to arithmetics.
The library now compiles and works fine with -fno-sanitize-recover=integer.
Locale:
Fix linker issues due to missing typeinfo for char8_t in C++20 mode
Fix IConv compile flags when using ICU that has a bundled IConv
collator now throws on construction, if at all, as documented
collator no longer derives from std::collator to avoid possible type confusing \ 
when it isn't available for the current backend
Throw an exception when a faulty IConv library is detected (e.g. on some MacOS \ 
versions) instead of looping indefinitely
Reduce resolution of date_time to seconds as milliseconds where not easily \ 
available causing confusion
Math:
Added a new collection of optimization algorithms:
Differential Evolution
JSO
Random Search
CMA-ES
Fix Divide by 0 warning in NCF survival function
Fix constexpr depth limits of ccmath::floor/ceil fail for large arguments
Improve accuracy of quartic_roots
Fix cstdfloat numeric limits detection macro for libstdc++14
Fix for MSVC UCRT defining _Complex_I in complex.h when using C++14
Improve cstdfloat iostream
Fix redefnition of Boost.Config macros when using standalone mode in a \ 
non-standalone environment
Significant improvements to code coverage with associated bug fixes
MSM:
Major Update. Backend update (back11). Requires C++ 11. The documentation now \ 
uses it as default.
Big new feature. New front-end (PlantUML). Requires C++ 20
Various Bugfixes (compiler errors and warnings, priority of deferred events)
Multi-index Containers:
Fixed documentation errors.
Multiprecision:
Fix deprecation warnings from C++23 <limits>
Fix cpp_bin_float for small bit counts
Fix -Wpessimizing-move
Add covecov runs
Reduce truncation in cpp_dec_float multiplication
Fix complex_adaptor to match precision requirements
Fix for breaking changes in tommath
Fix for types that can be converted to number participting in arithmetic \ 
operator overloads
MySQL:
Breaking change: Boost.MySQL now requires linking to the new Boost.Charconv \ 
compiled library. This addresses a locale-dependency problem, increases \ 
efficiency, and powers the new client-side SQL formatting feature.
Added experimental support for connection pools, which allows re-using sessions \ 
and provides built-in reconnection and error handling.
Added experimental support for type-erased connections (any_connection class). \ 
any_connection is not a template and features simpler connection establishment \ 
and reconnection semantics.
Added experimental support for client-side SQL formatting functions (format_sql \ 
and format_sql_to). These allow securely composing queries client-side, which \ 
enables patterns like batch inserts, dynamic filters or PATCH-like updates.
Fixed a performance issue affecting close_statement and async_close_statement \ 
that could cause significant delays in application code.
Added support for building with BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT.
The deprecated execution interface (connection::query, connection::start_query, \ 
connection::execute_statement, connection::start_statement_execution and their \ 
async counterparts) now triggers warnings, as it's scheduled for removal in \ 
Boost 1.86.
Fixed a bug that caused some error messages to be truncated.
Warning cleanup. Builds are now clean from warnings when building with -Wall and \ 
-Wextra.
All field_view constructors are now stable.
The library internals have been rewritten using a sans-io approach to reduce \ 
complexity.
Odeint:
Breaking change: The library now explicitly requires C++14 instead of implicitly \ 
by including Boost.Math
Fix compatibility with Thrust 1.10.0
Removed C++03 Boost components:
Array
Bind
Function
Static_assert
PFR:
boost::pfr::get_name now can work with local types on some compilers. Thanks to \ 
Bela Schaum for the PR
Removed unused implementation details. Thanks to Denis Mikhailov for the PR
Allow throwing exceptions from boost::pfr::structure_to_tuple. Thanks to Denis \ 
Mikhailov for the bug report.
Field reflection trick is now described in the docs.
Random:
Added splitmix64 PRNG
System:
C++03 is no longer supported; a C++11 compiler is required. (This includes GCC \ 
4.8 or later, and MSVC 14.0 (VS 2015) or later.)
The deprecated header boost/system/cygwin_error.hpp has been removed.
The original and obsolete (32 bit) MinGW is no longer supported. MinGW-w64 (both \ 
64 and 32 bit) is still supported.
operator& now works for result<void> (by way of taking a nullary function.)
Added operator|= for result.
Stacktrace:
Big new feature: stacktrace from arbitrary exception. On some POSIX platforms \ 
std::stacktrace::from_current_exception() now returns the stacktrace of the \ 
current exception object as if the stacktrace was captures at the point of \ 
throwing the exception. Many thanks to Andrei Nekrashevich for prototyping the \ 
idea in libsfe.
Fixed memory consumption on Windows with boost_stacktrace_windbg.
Fixed library build with non hidden visibility.
Added a separate section on async signal safety to the docs.
STLInterfaces:
Change the behavior of iterator_interface for input iterators in C++20 and \ 
later, to more closely follow the C++20 concepts.
Remove hidden friends from iterator_interface to fix errors about concepts being \ 
redefined with different constraints.
Add a new v3 inline namespace, containing a new iterator_interface based on \ 
deducing this instead of CRTP (C++23 and later).
Add an rvalue-qualified overload of closure::operator(), to prevent dangling \ 
temporaries.
Test:
Respect library-spcific _NO_LIB macros
Supress MSVC C4702 from __builtin_unreachable() on intentionally unreachable code
Fix boost::function streaming error
Unordered:
Optimized emplace() for a value_type or init_type (if applicable) argument to \ 
bypass creating an intermediate object. The argument is already the same type as \ 
the would-be intermediate object.
Optimized emplace() for k,v arguments on map containers to delay constructing \ 
the object until it is certain that an element should be inserted. This \ 
optimization happens when the map’s key_type is move constructible or when the \ 
k argument is a key_type.
Fixed support for allocators with explicit copy constructors
Fixed bug in the const version of unordered_multimap::find(k, hash, eq)
Variant:
Removed more of the pre-C++11 macro and workarounds.
Wave:
Fixed bugs:
Emitted pragmas lack terminating newline
YYMARKER not updated when fill called on BOOST_WAVE_BSIZE boundary
Updated Tools
Build:
Includes release of B2 version 5.1.0.
   2024-01-02 01:13:16 by Makoto Fujiwara | Files touched by this commit (1)
Log message:
(meta-pkgs/boost)  Drop patch, now corrected upstream