What's new in 1.31.0

  • New libraries

    Added enable_if for selective overloads and a safe stack-based discriminated union container variant.

  • Performance improvements

    regex matcher rebuilt with faster algorithm, and iterator_adaptor receives streamlined design.

  • Security & reliability

    Extensive bug fixes across date‑time, filesystem, and test frameworks increase overall stability.

  • Developer experience

    New getting‑started guide, simplified build steps, and clearer error messages improve usability.

Release notes version 1.31.0

Version 1.31.0

January 26th, 2004 12:00 GMT

Documentation

New License

A unified Boost Software License has been developed and will gradually replace the individual licenses for most Boost libraries. The new license offers better legal protection for both users and developers, and should speed user's legal reviews of Boost libraries. Dave Abrahams led the Boost effort to develop better licensing. The legal team was led by Diane Cabell, Director, Clinical Programs, Berkman Center for Internet & Society, Harvard Law School. Devin Smith, attorney, Nixon Peabody LLP, wrote the Boost License. Eva Chan, Harvard Law School, contributed analysis of issues and drafts of various legal documents.

Note: Many of the Boost libraries are still using earlier licenses, though all conform to the Boost License Requirements. After this release we will begin an effort to move toward uniform use of the new license.

Build and Installation

  • New Getting Started procedures ease download and installation, from Rene Rivera and others.
  • Improved support for libraries requiring separate compilation, from John Maddock and others.

New Libraries

  • enable_if:
    • Selective inclusion of function template overloads, from Jaakko Jarvi, Jeremiah Willcock, and Andrew Lumsdaine. This is an important new technique which exploits the SFINAE (substitution-failure-is-not-an-error) principle.
  • Variant Library:
    • Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman.

Updated Libraries

  • Compose: This library has been deprecated and will be removed in a future release. Use Bind or Lambda instead.
  • Date Time Library: A whole host of bug fixes, new features, and documentation improvements. See the Date Time Change History for details.
  • Filesystem Library: Several added functions, including improved checking for directory and file name portability.
  • Iterator Library: Major version upgrade, with interface as proposed for the C++ library TR, including an improved iterator_adaptor design plus several new components, from David Abrahams, Jeremy Siek, and Thomas Witt.
  • MultiArray: The multi_array class template now provides an element-preserving resize operation as well as default construction (see the reference manual for more information).
  • Python Library:
    • Support for Python 2.3 and Intel C++ on Linux
    • Container Indexing Suite added.
    • injected constructors and wrapped function objects.
    • wrapping static data members.
    • std::wstring conversions.
    • Improved keyword arguments.
    • Better error messages, including name demangling for GCC.
    • Simpler build procedure.
    • ...and more....
  • Random Number Library: Interface changed to match the C++ TR proposal, from Jens Maurer.
  • Regex: Completely new matching algorithm is now much faster than before, plus a selection of new features and enhancements.
  • Boost.Spirit 1.8.0:
    • Multiple grammar start rules
    • Multiple Scanner rules (no more scanner business woes)
    • More dynamic parsers
    • Predefined actors
    • Numerous bug fixes and QOI stuff
    • and more...

    Starting from Spirit v1.8.0, ill conforming compilers will no longer be supported. If you are still using one of these older compilers, please use Spirit v1.6.x. See [@http://spirit.sf.net Spirit's Site] for more details.

  • Test Library:
    • Free function template based test case
    • Custom exception translators support in execution monitor and register_exception_translator added for unit test framework
    • Added support for multi-module unit tests in automatic registration facility
    • Floating point comparison algorithm reworked (Is not backward compatible!!!)
    • Added support for custom users predicate returning both boolean result code and possibly error message
    • Documentation structure rework and update

    For a complete list of changes see the Test Library release notes.

Miscellaneous

  • Expanded testing and fixes for non-conforming compilers.
  • Web site hosting now provided by SourceForge.

All Contributors


Join the Boost Developers Mailing List

Get the latest on releases, features, security patches, fixes and all major announcements.
Want to fix bugs, review code, maintain libraries, and propose new features?
Read our contributors guide and join the Boost community.

Boost is publicly released three times a year in April, August, and December. Each release has updates to existing libraries, and any new libraries that have passed the rigorous acceptance process.

Decorative illustration