Boost
News
arrow_drop_down

Latest Stories

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).

Rubén Pérez
Jan 29th, 2025
Rubén Pérez
Alan de Freitas
Jan 10th, 2025
Alan de Freitas
Sam Darwin
Jan 10th, 2025
Sam Darwin
Matt Borland
Jan 10th, 2025
Matt Borland
Rubén Pérez
Jan 9th, 2025
Rubén Pérez
Joaquín M López Muñoz
Jan 8th, 2025
Joaquín M López Muñoz
The Boost C++ Libraries has thrived with the support of volunteer work and support for more than 25 years. That support includes the variety of assets Boost relies on to deliver high quality libraries. Things like website, email lists, testing machines, and library contributions. Recently disagreements about how those assets get managed arose between the C++ Alliance and the Boost Foundation. To resolve the situation the Boost community, and in agreement with the C++ Alliance and the Boost Foundation, held a Formal Review in early September 2024 (lists.boost.org/Arch....t/2024/09/257584.php)

The Boost community uses Formal Reviews as a method to reach informed decisions. Although mainly used for evaluating proposed libraries, it provides the community with an opportunity to collect rationale (positive or negative) to move forward on directions to take (https://www.boost.org/community/reviews.html)

The result of this particular Formal Review (lists.boost.org/Arch....t/2024/09/257941.php) was to affirmatively take two steps:

1. Choosing the C++ Alliance as the designated Fiscal Sponsor of Boost assets.
2. Formation of a “Fiscal Sponsorship Committee” (FSC) to direct the use of those assets on behalf of the Boost community.

The reviews posted during this review were well thought out and invaluable in reaching consensus in this direction. The initial members of the FSC, as indicated in the proposal reviewed, are now:

* Ion Gaztañaga
* Joaquín M López Muñoz
* René Ferdinand Rivera Morell

The FSC is moving forward with implementing the community direction. And we will post additional updates in the future.

Thank you,
Boost C++ Libraries Fiscal Sponsorship Committee
Fiscal Sponsorship Committee
Nov 11th, 2024
Fiscal Sponsorship Committee
Mohammad Nejati
Oct 29th, 2024
Mohammad Nejati
Sam Darwin
Oct 28th, 2024
Sam Darwin
Rubén Pérez
Oct 22nd, 2024
Rubén Pérez
Krystian Stasiowski
Sep 23rd, 2024
Krystian Stasiowski
Peter Turcan
Jul 17th, 2024
Peter Turcan
Christian Mazakas
Jul 15th, 2024
Christian Mazakas
Krystian Stasiowski
Jul 15th, 2024
Krystian Stasiowski
Alan de Freitas
Jul 14th, 2024
Alan de Freitas
Kenneth Reitz
Jul 14th, 2024
Kenneth Reitz
Rubén Pérez
Jul 14th, 2024
Rubén Pérez
Mohammad Nejati
Jul 12th, 2024
Mohammad Nejati
Sam Darwin
Jul 12th, 2024
Sam Darwin
Dmitry Arkhipov
Jul 12th, 2024
Dmitry Arkhipov
Joaquín M López Muñoz
Jul 9th, 2024
Joaquín M López Muñoz
Matt Borland
Jul 8th, 2024
Matt Borland
Joaquín M López Muñoz
Jun 5th, 2024
Joaquín M López Muñoz
Joaquín M López Muñoz
May 23rd, 2024
Joaquín M López Muñoz
Alan de Freitas
May 8th, 2024
Alan de Freitas
Krystian Stasiowski
May 1st, 2024
Krystian Stasiowski
Christian Mazakas
Apr 30th, 2024
Christian Mazakas
Rubén Pérez
Apr 30th, 2024
Rubén Pérez
Mohammad Nejati
Apr 30th, 2024
Mohammad Nejati
Sam Darwin
Apr 29th, 2024
Sam Darwin
Joaquín M López Muñoz
Apr 29th, 2024
Joaquín M López Muñoz
Matt Borland
Apr 29th, 2024
Matt Borland
Dmitry Arkhipov
Apr 29th, 2024
Dmitry Arkhipov
Rubén Pérez
Apr 18th, 2024
Rubén Pérez
Rubén Pérez
Apr 8th, 2024
Rubén Pérez
Boost 1.85.0 closed for all changes
When Wednesday, Apr 3, 2024
Louis Tatta
Mar 17th, 2024
Louis Tatta
Calendar here:
https://www.boost.org/development/


Next deadline:
The master branch will close for the beta next Wednesday.

— The release managers
Louis Tatta
Feb 28th, 2024
Louis Tatta
The review of Zach Laine’s proposed Boost.Parser library begins today and will end on February 28th.

From the introduction page of the documentation:

Boost.Parser is a parser combinator library. That is, it consists of a set of low-level primitive parsers, and operations that can be used to combine those parsers into more complicated parsers.

There are primitive parsers that parse epsilon (the empty string), chars, ints, floats, etc.

There are operations which combine parsers to create new parsers. For instance, the Kleene star operation takes an existing parser p and creates a new parser that matches zero or more occurrences of whatever p matches. Both callable objects and operator overloads are used for the combining operations. For instance, operator*() is used for Kleene star, and you can also write repeat(n)[p] to create a parser for exactly n repetitions of p.

Boost.Parser also tries to accommodate the multiple ways that people often want to get a parse result out of their parsing code. Some parsing may best be done by returning an object that represents the result of the parse. Other parsing may best be done by filling in a preexisting data structure. Yet other parsing may best be done by parsing small sections of a large document, and reporting the results of subparsers as they are finished, via callbacks. Boost.Parser accommodates all these ways of working, and even makes it possible to do callback-based or non-callback-based parsing without rewriting any code (except by changing the top-level call from parse() to callback_parse()).

All of Boost.Parser's public interfaces are sentinel- and range-friendly, just like the interfaces in std::ranges.

Boost.Parser is Unicode-aware through and through. When you parse ranges of char, Boost.Parser does not assume any particular encoding — not Unicode or any other encoding. Parsing of inputs other than plain chars assumes that the input is Unicode. In the Unicode-aware code paths, all parsing is done by matching code points. This means that you can feed UTF-8 strings into Boost.Parser, both as input and within your parser, and the right sort of matching occurs. For instance, if your parser is trying to match repetitions of the char '\xcc' (which is a lead byte from a UTF-8 sequence, and so is malformed UTF-8 if not followed by an appropriate UTF-8 code unit), it will not match the start of "\xcc\x80" (UTF-8 for the code point U+0300). Boost.Parser knows that the matching must be whole-code-point, and so it interprets the char '\xcc' as the code point U+00CC.

Error reporting is important to get right, and it is important to make errors easy to understand, especially for end-users. Boost.Parser produces runtime parse error messages that are very similar to the diagnostics that you get when compiling with GCC and Clang (it even supports warnings that don't fail the parse). The exact token associated with a diagnostic can be reported to the user, with the containing line quoted, and with a marker pointing right at the token. Boost.Parser takes care of this for you; your parser does not need to include any special code to make this happen. Of course, you can also replace the error handler entirely, if it doesn't fit your needs.

Debugging complex parsers can be a real nightmare. Boost.Parser makes it trivial to get a trace of your entire parse, with easy-to-read (and very verbose) indications of where each part of the trace is within the parse, the state of values produced by the parse, etc. Again, you don't need to write any code to make this happen — you just pass a parameter to parse().

Github:
https://github.com/tzlaine/parser

Docs
https://tzlaine.github.io/parser
Louis Tatta
Feb 19th, 2024
Louis Tatta
René Ferdinand Rivera Morell
Feb 9th, 2024
René Ferdinand Rivera Morell
This high-performance library offers efficient string and numeric conversions, without exceptions. Thanks to Review Manager Christopher Kormanyos.

Github:
https://github.com/boostorg/charconv
Docs:
www.boost.org/doc/li..../charconv.html#boost
Louis Tatta
Feb 7th, 2024
Louis Tatta
Take full advantage of RAII for easy and safe resource management, transactional code and more.

Github:
https://github.com/Lastique/scope
Docs:
lastique.github.io/s..../doc/html/index.html
Louis Tatta
Jan 25th, 2024
Louis Tatta
February 19, 2024 - February 28, 2024
Big thanks to Marshall Clow for volunteering to be the review manager.

www.boost.org/commun....review_schedule.html
Louis Tatta
Jan 18th, 2024
Louis Tatta
Please consider posting a review on the Boost Mailing List.

www.boost.org/commun....review_schedule.html
Louis Tatta
Jan 18th, 2024
Louis Tatta
Krystian Stasiowski
Jan 12th, 2024
Krystian Stasiowski
Dmitry Arkhipov
Jan 12th, 2024
Dmitry Arkhipov
Mohammad Nejati
Jan 12th, 2024
Mohammad Nejati
Christian Mazakas
Jan 11th, 2024
Christian Mazakas
Sam Darwin
Jan 11th, 2024
Sam Darwin
Rubén Pérez
Jan 11th, 2024
Rubén Pérez
Joaquín M López Muñoz
Jan 11th, 2024
Joaquín M López Muñoz
Matt Borland
Jan 11th, 2024
Matt Borland
René Ferdinand Rivera Morell
Dec 24th, 2023
René Ferdinand Rivera Morell
Two new libraries, field name reflection in PFR and many more updates.

Download:
boost.org/users/hist..../version_1_84_0.html
Boost.Cobalt, algorithms and types for C++20 coroutines:
https://boost.org/libs/cobalt
Boost.Redis:
https://boost.org/libs/redis
Louis Tatta
Dec 15th, 2023
Louis Tatta
Thanks to everyone who participated in the release!

— Marshall
Louis Tatta
Dec 14th, 2023
Louis Tatta
The first release candidates for the 1.84.0 release are now available at:
<boostorg.jfrog.io/ar....lease/1.84.0/source/>

The SHA256 check-sums are as follows:

cc4b893acf645c9....3e7949c24109454 (boost_1_84_0_rc1.tar.bz2)
cc77eb8ed25da4d....947b6b268cc76a4 (boost_1_84_0_rc1.zip)
81a4d1007573196....8eba66e40014f25 (boost_1_84_0_rc1.7z)
a5800f405508f5d....a1c7c3383045724 (boost_1_84_0_rc1.tar.gz)


As always, the release managers would appreciate it if you download the candidate of your choice and give building it a try. Please report both success and failure, and anything else that is noteworthy.

-- The Release managers
René Ferdinand Rivera Morell
Dec 7th, 2023
René Ferdinand Rivera Morell
Don’t forget your release notes, too!


— Marshall
Louis Tatta
Dec 6th, 2023
Louis Tatta
The master branch is now open for bug fixes and documentation changes.
Other changes by release manager permission, as described in
github.com/boostorg/....3A-Beta-Merge-Policy

The next deadline: On December 6th, master closes for all changes.

As always, the calendar is at https://www.boost.org/development/
Louis Tatta
Nov 16th, 2023
Louis Tatta
Available at: <boostorg.jfrog.io/ar....1.84.0.beta1/source/>

The SHA256 checksums are as follows:

f8a9f2158096153....f1e37ae2c590410 boost_1_84_0_b1_rc1.tar.bz2
224d595cc666c19....16c481d52626f27 boost_1_84_0_b1_rc1.zip
3e4765c41974c76....c9458e5004c59dc boost_1_84_0_b1_rc1.7z
de9b35e232e4b17....6ce6d109c088e99 boost_1_84_0_b1_rc1.tar.gz

As always, the release managers would appreciate it if you download the
candidate of your choice and give building it a try. Please report both
success and failure, and anything else that is noteworthy.

-- The Release Managers
Louis Tatta
Nov 9th, 2023
Louis Tatta
Louis Tatta
Nov 8th, 2023
Louis Tatta
The master branch closed for major code changes.
Still open for serious problem fixes and docs changes without release manager review.

The master branch will close for the 1.84.0 beta release next Wednesday.
Louis Tatta
Nov 2nd, 2023
Louis Tatta
Louis Tatta
Nov 2nd, 2023
Louis Tatta
Spencer Strickland
Nov 1st, 2023
Release closed for major code changes.
Still open for serious problem fixes and docs changes without release manager review.
Louis Tatta
Oct 31st, 2023
Louis Tatta
Louis Tatta
Oct 31st, 2023
Louis Tatta
Louis Tatta
Oct 31st, 2023
Louis Tatta
Dmitry Arkhipov
Oct 30th, 2023
Dmitry Arkhipov
Louis Tatta
Oct 29th, 2023
Louis Tatta
Matt Borland
Oct 29th, 2023
Matt Borland
Louis Tatta
Oct 28th, 2023
Louis Tatta
Louis Tatta
Oct 27th, 2023
Louis Tatta
Louis Tatta
Oct 27th, 2023
Louis Tatta
Louis Tatta
Oct 27th, 2023
Louis Tatta
Louis Tatta
Oct 27th, 2023
Louis Tatta
Joaquín M López Muñoz
Oct 27th, 2023
Joaquín M López Muñoz
Louis Tatta
Oct 25th, 2023
Louis Tatta
Louis Tatta
Oct 19th, 2023
Louis Tatta
Louis Tatta
Oct 12th, 2023
Louis Tatta
Rubén Pérez
Oct 10th, 2023
Rubén Pérez