Stay up to date with Boost and the C++ ecosystem with the latest news, videos, resources, polls, and user-created content.
Signed-in users may submit items to include in the feed (posts are reviewed before publication).
The update reports enhancements to MrDocs, including overload set rendering, support for friend declarations, deduction guides, enumerators, and a new SymbolName type. It also notes clang patches improving conformance and dependent name lookup diagnostics.
In Q4 2023, direct JSON parsing was finalized and merged into Boost 1.84.0. Work then shifted to direct serialization using boost::json::serializer, with performance optimizations explored. CI and coverage tools identified dead code, and completion is targeted before the next Boost release.
Maintenance of Boost.Beast and Boost.PropertyTree was performed, including issue review, specialization of asio::associator for bind wrappers, updates to handler utilities, removal of obsolete code, and preparation of PropertyTree for the Boost 1.84 release.
An Boost.MySQL connection pool is added in Boost 1.85, and reuse and multithreaded support are provided. Any_connection is added, Boost.Redis is released, network code is switched to sans‑io state machines, and client query formatting is planned.
During Q4 2023, bulk visitation was added to boost::concurrent_flat_map/set, repo cleanup and Boost.Unordered 1.84 released, exploratory perfect‑hash containers and ParlayHash‑inspired techniques were investigated, and a new website section on tweet proposals was contributed.
The Boost website was prepared for launch during Q3 2023, with front‑end work using TailwindCSS to add content, standardize styling, make pages mobile‑ready, and redesign sections such as Learn and the homepage. Ongoing tasks and future planning were noted.
Progress was reported on BoostServerTech: a chat prototype with React and C++ using Boost.Beast/Redis, unit tests, AWS container deployment, MySQL support. Contributions to Boost.MySQL fuzz testing, 1.83 release and documentation updates were noted.
MrDocs progress is detailed, aiming to replace Doxygen/Docca in Boost.URL. New capabilities include dependency extraction, safe‑name creation, symbol filtering, basic symbol lookup, clang bug patches, and AST memory improvements.
Boost.JSON received conversion enhancements: error reporting propagation, optional/variant traits, direct parsing via parse_into (faster), variant handling with event replay and limited allocations, plus a fix for initializer_list copy ambiguity.
The charconv library has been completed and endorsed, pending formal review, with usage instructions provided. Development of the decimal library is ongoing, targeting full IEEE‑754 decimal support and standard library compatibility.
Documentation updates for Q3 2023 are listed, adding topics on version control, CI, Boost history, release notes and testing; converting legacy docs to markdown; renaming Boost.build references; fixing navigation, naming and formatting; and revising guides.
Work on boost.async has been conducted, renamed to cobalt, and conditionally approved for inclusion in Boost; improvements were made from feedback, and activities included colleague training, maintenance, and refactoring boost.requests.
Boost projects were explored, Beast maintenance was taken over, Requests tests were collaborated on, modularization and constexpr parsing tools were investigated, and an Asio tutorial was proposed.
Development of Unordered progressed, dropping C++03 support, removing Tuple and TypeTraits to reduce package size, fixing raw pointer usage, and adding full allocator support for fancy pointers in boost::unordered_flat_map.
The quarter’s efforts advanced MrDocs with CI, LLVM binaries, CMakePresets, a C++ Handlebars engine, DOM and JavaScript bindings, and testing. Work also migrated the Boost website to Antora, improved Boost.URL, and built GitHub Actions, publishing a paper.
During Q3 2023, Boost.Unordered was updated to version 1.83, new documentation was authored, several container features and optimizations were added (cvisit_while, debug reentrancy checks, move construction, fancy‑pointer and serialization support, concurrent_flat_set), a clang thread‑safety analysis attempt was abandoned, and promotional material was prepared for CppCon.
Self‑hosted GitHub Actions runners were deployed, an admin server was built, Boost.org sites were updated, mailman servers were configured, mrdox.com was deployed, an AWS account was created, and release‑tools and CI infrastructure were enhanced.
The conference experience is recapped, noting attendance at talks on cppfront, modules, and legacy code, delivering a lightning talk on expression‑template type names, and hallway networking that fostered community ties and inspired a local meetup.
Boost.Asio's executor property system is explained, covering dispatch, post and defer behavior, default system_executor use, property modifiers (blocking, relationship, outstanding_work) and the require/prefer/query mechanisms for configuring executors.