Hi all, Activity on the develop branches of the Boost libraries between 26 October and 1 November. This report has been generated automatically with AI. THE NUMBERS - 227 commits on develop (15 CI-related) - 108 pull requests opened against develop, 92 merged - 55 issues opened, 80 closed - 55 libraries with activity, 35 contributors Most active libraries: - Graph: 63 commits PRs: 22 opened, 31 merged; issues: 5 opened, 33 closed - Math: 8 commits PRs: 10 opened, 8 merged; issues: 17 opened, 18 closed - Container: 60 commits PRs: 0 opened, 0 merged; issues: 0 opened, 0 closed - MySQL: 13 commits PRs: 15 opened, 13 merged; issues: 5 opened, 2 closed - Decimal: 10 commits PRs: 2 opened, 3 merged; issues: 7 opened, 8 closed - Redis: 8 commits PRs: 6 opened, 8 merged; issues: 0 opened, 1 closed - Interval: 7 commits PRs: 5 opened, 4 merged; issues: 2 opened, 1 closed - Wave: 10 commits PRs: 2 opened, 2 merged; issues: 2 opened, 2 closed Most active contributors: - Ion Gaztañaga (65 commits, 4 libraries) - Arnaud Becheler (38 commits, 1 library) - Rubén Pérez (20 commits, 3 libraries) - Andrea Cassioli (14 commits, 1 library) - Christopher Kohlhoff (10 commits, 1 library) - Nick Thompson (9 commits, 2 libraries) - Shen-Ta Hsieh (8 commits, 1 library) - Sayan Samanta (7 commits, 1 library) HIGHLIGHTS Graph Arnaud Becheler (38 commits) fixed many old bugs, among them a heap overflow when copying an undirected graph into a CSR graph (#670), a read of a destroyed edge bundle in CSR add_edges (#672), strong_components breaking after including reverse_graph.hpp (#116) and tiernan_all_cycles rejecting adjacency_list (#182). connected_components now uses a colour map about 16 times smaller. labeled_graph and named_graph are deprecated, to be removed in Boost 1.95 (#664), and building the library now requires C++14. Varun Sharma added serialization for adjacency_matrix and the CSR graph (#650), and Kerem Okyay fixed the colour map of boykov_kolmogorov_max_flow (#655). Most of the 33 closed issues are feature requests gathered into tracking issue #679. New PRs: #697, parallel edges in biconnected_components. New issues: #678, bellman_ford_shortest_paths missing negative cycles on overflow. Container and Move Ion Gaztañaga made 60 commits in Container, nearly all bug fixes. memmove was being used for types with user-defined move operations, small_vector lost its internal buffer when an assignment changed the allocator, synchronized_pool_resource observers didn't lock the mutex, and monotonic_buffer_resource::release didn't restore the initial buffer size. Flat containers never found unused storage for sorting and merging, so they always used the slower bufferless path, and their erase_if was not linear. basic_string got fixes to operator>>, getline and deduction guides. In Move, iter_value is now SFINAE-friendly. Math Nick Thompson packaged the Python bindings as a wheel (Python's ready-to-install package format, installed with pip) and used them to cross-check Boost.Math against SciPy and mpmath. That found the defects he fixed in #1604 and #1607, among them wrong z-test p-values, a heap overflow in naive_monte_carlo, and hangs and wrong results in several special functions. He also added nested Leja quadrature with a dimension-adaptive sparse grid, hermite_zeros, laguerre_zeros and jacobi_zeros, and the DYCORS optimiser. New PRs: #1611, a WebAssembly build; #1614, end points of open Catmull-Rom curves. New issues: #1612, hypergeometric_0F1 losing about 20 ulps. Asio Christopher Kohlhoff added batched datagram I/O: send_multiple, receive_multiple and their _to/_from and asynchronous forms, using sendmmsg and recvmmsg where available, or a single datagram per call elsewhere. Immediate completion now respects the handler's associated executor and works with a TS executor as the I/O executor. Other fixes cover the error category of IOCP operations and the assembly fiber code (MSVC trampoline, CET guard). MySQL and Redis Rubén Pérez fixed two race conditions in MySQL's connection_pool: one with immediate completions and one where a cancelled async_get_connection could lose the notification that a connection had become free (#536). He also moved Redis to the stable asio::channel. In Redis, @aouxwoux fixed undefined behaviour in the move operations of flat_tree and its size tracking (#441, fixes #440), and Marcelo Zimbres fixed the protobuf examples. Decimal Shen-Ta Hsieh fixed the text output in #1536: to_chars rounded some values the wrong way and didn't match printf %g, snprintf could write past its buffer, operator<< ignored stream flags, and std::format didn't compile in C++20. std::hash now gives equal infinities the same hash (#1529). Matt Borland fixed a fmt FMT_COMPILE build failure with wide characters (#1538). Wave Martin Medler made __cplusplus correct for every language standard (#264) and added C++14 and C++26 modes. Jeff Trull made macros that expand to defined and __has_include work and fixed Windows link errors in the samples and tool. Alexander Grund removed a wrong dependency on Xpressive from build.jam (#277). New PRs: #280, C++23 #elifdef and #elifndef. New issues: #281, how the language level is checked in the code. ICL Six new issues report wrong results for descending intervals and overflow: cardinality, length and distance give wrong values or undefined behaviour (#63, #64, #65, #66), cardinality's return type is too small (#61), and touches is poorly specified (#62). New PRs: #60 from Treston Cuzzort, for #41 and #63. Geometry No commits, four new PRs: #1499 (Pulkit Chauhan), undefined behaviour in sin_cos_degrees below -45 degrees; #1500 (@gastald88), a buffer that disappears (#1428); #1502 (@Osyotr), a macro making rtree packing deterministic across compilers; #1505 (Marcel Jacobse), simplify_ring when buffering a ring. New issues: #1503, CMake test configuration missing the Interprocess dependency. Regex Two new PRs: #287 from Treston Cuzzort, for #241, so that sets such as [\W\D] match the union of the negated classes; and #289 from @ConnorQi01, for the new issue #288, keeping the POSIX C headers usable from C. Also last week * Beast: Mohammad Nejati made the parser reject malformed Transfer-Encoding values (fixes #3123), handled repeated Transfer-Encoding fields, and refreshed the example root certificates, leaving out the emSign roots after the eMudhra compromise. New issues: #3124, repeated Connection fields. * JSON: Dmitry Arkhipov fixed to_number rejecting exactly -2^63 for int64_t (#1216) and made reliance on the no_destroy attribute optional (#1213). New PRs: #1215, documentation updates. * Interval: Sayan Samanta stopped compilers from merging the rounded operations across rounding-mode changes (#65) and fixed interval<long double> with constants on PowerPC GCC (#69). New PRs: #71, fmod of long double intervals (#67). * Histogram: Henry Schreiner added a pick command to reduce, selecting arbitrary bins of an unordered axis (#429). Nathan Chandrasekar fixed unsigned integer axes putting values below the range into overflow (#447). * ProgramOptions: Vladimir Prus fixed error::what() looping forever when an invalid option contains %canonical_option% (#164). * Assert, OpenMethod, URL, StaticString and Unordered: Chris Glover's change that lets projects using add_subdirectory skip re-checking globbed headers on every build was merged in Assert and opened in the others. * New issues and PRs: Treston Cuzzort opened fixes in 15 more libraries, mostly for old issues, among them DateTime #254 (duration scalars narrowed to int), Format #112 and Chrono #84. Random PR #171 (Sebastiano Vigna) adds the MWCX generators. OpenMethod and TypeIndex have new issues about older CMake versions. CI MAINTENANCE * Graph: Arnaud Becheler added a sanitizer workflow with a read-only token (#551, #680) and moved off the macOS 14 images retired on 2 November. * MySQL: Rubén Pérez moved the Windows builds to new container images, added an MSVC 14.5 build and nightly runs, and opened #537 for gcc-16 and clang 21 and 22. * Interval: Sayan Samanta fixed the QEMU multiarch jobs on Ubuntu 26.04 and the icpx release links. * Wave: Jeff Trull moved to the Boost.CI reusable workflow and enabled MSVC jobs, replacing AppVeyor. * Geometry: Tinko Bartels opened #1504 to fix silently failing Clang jobs and other test problems. Have a good week!