- |
-
- The Boost web site provides free peer-reviewed portable C++ source libraries.
- The emphasis is on libraries which work well with the C++ Standard Library.
- The libraries are intended to be widely useful, and are
- in regular use by thousands of programmers across a
- broad spectrum of applications.
- a further
- goal is to establish "existing practice" and provide reference implementations
- so that Boost libraries are suitable for eventual standardization.
- Ten
- Boost libraries will be included in the
- C++ Standards Committee's upcoming
- C++ Standard Library Technical Report as a
- step toward becoming part of a future C++ Standard.
- Although Boost was begun by members of the C++ Standards Committee Library
- Working Group, participation has expanded to include thousands of
- programmers from the C++ community at large.
-
- If you are interested in participating in Boost, please join
- our main developers mailing list. Discussions
- are highly technical, and list members are encouraged to participate in formal
- reviews of proposed libraries. There is also a
- users mailing list,
- and several
- project specific lists.
- Both the main Boost developers list and the users list are also accessible as
- newsgroups.
- Search Boost
-
-
-
-
-
-
-
- ??? - Version 1.33.0
-
- New Libraries
-
-
- - iostreams - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis.
- - functional/hash - Extendible TR1 hash function object, from Daniel James.
-
-
- Updated Libraries
-
-
- - Graph
- Library: Introduced several new algorithms
- and improved existing algorithms:
-
- - floyd_warshall_all_pairs_shortest_paths, from Lauren Foutz and Scott Hill.
- - astar_search, from Kristopher Beevers and Jufeng Peng.
- - fruchterman_reingold_force_directed_layout, from Doug Gregor and Indiana University.
- - biconnected_components and articulation_points, from Jeremy Siek, Janusz Piwowarski, and Doug Gregor.
- - sequential_vertex_coloring has been updated, tested, and documented.
- - gursoy_atun_layout,
- from Jeremiah Willcock and Doug Gregor of
- Indiana University.
- - king_ordering, from
- D. Kevin McGrath of Indiana University.
- - cuthill_mckee_ordering
- has been recast as an invocation of
- breadth_first_search and now supports graphs with
- multiple components.
- - dijkstra_shortest_paths now uses a relaxed heap [61] as its priority queue, improving its complexity to O(V log V) and improving real-world performance for larger graphs.
- read_graphviz now has a new, Spirit-based parser that works for all graph types and supports arbitrary properties on the graph, from Ron Garcia. The old, Bison-based GraphViz reader has been deprecated and will be removed in a future Boost release. write_graphviz also supports dynamic properties.
- - See the history for additional changes and bug fixes.
-
-
- - Multi-index
- Containers Library:
-
-
-
- - Property
- Map Library: Introduced the
dynamic_properties
- class, which provides dynamically-typed access
- to a set of property maps.
-
- - Signals Library: added slot blocking/unblocking, from Frantz Maerten. Huge improvements to signal invocation performance from Robert Zeh.
-
-
- November 19, 2004 - Version 1.32.0
-
- Important - New Toolset Names
-
- The names of some the Boost.Build
- toolsets
- have been changed to remove the ". " (dot) character and to fix some
- other naming inconsistencies. For example, vc7.1 toolset was renamed
- to become vc-7_1 . Please refer to the
- Supported Toolsets section
- of the installation guide for the complete list of the current toolset names.
- This change was made as a part of the effort to make the Boost distribution
- compatible with ISO 9660 level 2 requirements.
-
-
- New Libraries
-
-
- - Assignment Library:
- Filling containers with constant or generated data has never
- been easier, from Thorsten Ottosen.
- - Minmax Library:
- Standard library extensions for simultaneous min/max and min/max element
- computations, from Hervé Brönnimann.
- - Multi-index
- Containers Library: Containers with multiple
- STL-compatible access interfaces,
- from Joaquín M López Muñoz.
- - Numeric Conversion
- Library: Optimized policy-based numeric conversions, from Fernando
- Cacciola.
- - Program
- Options Library: Access to configuration
- data given on command line, in config files and other
- sources, from Vladimir Prus.
- - Range Library:
- a new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Thorsten Ottosen.
- - Serialization Library:
- Serialization/de-serialization of arbitrary C++ data structures to
- various formats including text, binary, and xml, from Robert Ramey.
-
- String Algorithms
- Library: Collection of string related algorithms
- for case conversion, trimming, find/replace operations and more,
- from Pavol Droba.
- - Tribool: 3-state boolean type library,
- from Doug Gregor.
-
-
- Updated Libraries
-
-
- - Compose: This deprecated library has been removed.
- - Graph:
-
-
- - MPL Library:
-
- - Updated to use the Boost Software License.
- - New documentation, including a complete reference manual.
- - Major interface changes and improvements, many of which are not backward
- compatible. Please refer to the
- 1.32 changelog for the detailed information about upgrading to the new version.
-
-
-
- - Python Library:
-
- - Updated to use the Boost Software License.
- - a new, better method of wrapping classes with virtual functions has been implemented.
- - Support for the new Python Bool type, thanks to Daniel Holth.
- - Support for upcoming GCC symbol export control features have been folded in, thanks to Niall Douglas.
- - Improved support for
std::auto_ptr -like types.
- - Components used by other libraries have been moved out of
python/detail and into boost/detail to improve dependency relationships.
- - Miscellaneous bug fixes and compiler workarounds.
-
-
- - Signals Library: Introduced deterministic slot ordering, permitting slots to be connected at the beginning or end of slot groups or the slot list itself. Combiners may safely have state and are accessible from the signal.
- - Utility: class template result_of added.
- - Test Library:
-
- - namespace names gets shorten; old one still
- supported till next release
- - added proper encoding of XML PCDATA
- - support for wide string comparison implemented
-
- For complete list of changes see Test Library release notes.
-
-
- Regression tests
-
- This release has been extensively tested on a variety of different compilers and platforms.
- It is known to contain no regressions against the previous reference release on the
- compilers and configurations tested. Please refer to the corresponding
- regression reports to see how well your
- compiler performs on the new Boost codebase.
-
-
- Acknowledgements
-
-
-
- Aleksey Gurtovoy managed
- this release. Managing a release at
- all is an enormous job, and Aleksey always goes beyond merely meeting
- requirements by insisting on the highest possible quality. The Boost membership
- owes him a debt of gratitude.
-
- This release wouldn't have been possible without the dedicated effort of
- many, many members of the Boost community who generously contributed their
- outstanding expertise, time and energy to making it happen. For patches, bug
- fixes, troubleshooting, expert advice, and prompt responses to the release
- manager's requests we thank:
-
- David Abrahams, Misha Bergal, Jonathan Brandmeyer, Fernando Cacciola,
- Marshall Clow, Christopher Currie, Pavol Droba, Caleb Epstein, Eric Friedman,
- Jeff Garland, Michael Glassford, Doug Gregor, Joel de Guzman, Hubert Holin,
- Jaakko Järvi, Hartmut Kaiser, Bronek Kozicki, Tarjei Knapstad, Toon Knapen,
- Aaron W. LaFramboise, Joaquín M López Muñoz, Christoph Ludwig, John Maddock,
- Paul Mensonides, Guillaume Melquiond, Thorsten Ottosen, Vladimir Prus,
- Robert Ramey, Rene Rivera, Gennadiy Rozental, Stefan Slapeta, Jonathan
- Turkanis, Pavel Vozenilek, Jonathan Wakely, Daryle Walker, Victor A. Wagner Jr.
- and Martin Wille.
-
- Also, our special thanks go to: John Maddock for the managing the effort
- of converting the majority of the Boost libraries to the Boost Software License,
- Eric Niebler and Joel de Guzman for taking on the important job of improving
- the Boost documentation's look and feel, and last, but not least, to our regression
- test runners, without whom we simply would never have released: Toon Knapen,
- Bronek Kozicki, Rene Rivera, Markus Schöpflin, Stefan Slapeta, Victor A.
- Wagner Jr. and Martin Wille.
-
-
- Thank you everybody!
-
-
- January 26, 2004 - Version 1.31.0
-
-
- 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.
-
- Please 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 Järvi, 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 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 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 complete list of changes see Test Library
- release notes
-
- Miscellaneous
-
- - Expanded testing and fixes for non-conforming compilers.
- - Web site hosting now provided by
- SourceForge.
-
-
- August 19, 2003 - Version 1.30.2 (bugfix release)
-
- -
- Boost Consulting is now hosting
- Boost CVS mirrors - see our download page.
-
-
- Backported changes to the config system,
- to better handle new compiler releases.
-
-
- Bugs in regression reporting in subproject tests were fixed.
-
-
- Tests are now run in the context of the user's PATH environment settings
-
-
- msvc-stlport and
- intel-win32-stlport
- toolsets now build static libraries with multithreading enabled, to be
- compatible with the STLPort builds.
-
-
- intel-win32 toolset now
- handles
wchar_t
- correctly when intel is installed over msvc6.
- -
- Backported fixes from the main trunk which prevent errors building the
- Boost.Test
- library in its default configuration.
-
-
- Backported portability improvements for
- checked_delete.
-
-
- Locale support for metrowerks (requiring a statically-linked runtime) is more
- uniformly handled.
-
-
- Backported conversion/lexical_cast's
-
wchar_t
- fixes from the main trunk.
- -
- intel-linux-tools: added
- rt to FINDLIBS in order to make the clock_gettime()
- function available (backport of a patch in CVS HEAD).
- -
- regression/compiler_status.cpp:
- backported fixes in error log links generation.
-
-
- August 12, 2003 - ALERT
-
- Significant problems were found in the 1.30.1 release, so it has been withdrawn
- from the website. These problems mostly take the form of missing files due to
- an error by the release manager in using CVS to tag the release. We expect to
- release Version 1.30.2 in a few days. Stay tuned.
- Until then, you may want to get the RC_1_30_0 branch (which, with
- only very slight modification, will become version 1.30.2) from our
- CVS repository or the CVS mirror
- at Boost Consulting
- .
- August 4, 2003 - Version 1.30.1 (bugfix release)
- Fixes were made to the following libraries:
-
- -
- The Boost.Lambda
- library is now usable with gcc-2.95.2
-
-
- Boost.Spirit:
-
- -
- Fixed. Using MSVC++6 (SP5), calling the assign action with a string value on
- parsers using the file_iterator will not work.
-
-
- Fixed: using assign semantic action in a grammar with a multi_pass iterator
- adaptor applied to an std::istream_iterator resulted in a failure to compile
- under msvc 7.0.
-
-
- Fixed: There is a bug in the
range_run<CharT>::set (range<CharT>
- const& r)
- function in "boost/spirit/utility/impl/chset/range_run.ipp".
- -
- Fixed: handling of trailing whitespace bug (ast_parse/pt_parse related)
-
-
- Fixed: comment_p and end of data bug
-
-
- Fixed: Most trailing space bug
-
-
- Fixed:
chset<>::operator~(range<>) bug, operator&(chset<>,
- range<>) bug, operator&(range<>, chset<>)
- bug
- -
- Fixed:
impl::detach_clear
- bug
- -
- Fixed: mismatch closure return type bug
-
-
- Fixed:
access_node_d[] and access_match_d[]
- iterator bugs
- -
- Fixed a bug regarding threadsafety of Phoenix/Spirit closures.
-
- -
- The Boost Template Metaprogramming Library (MPL)'s
- typeof implementation is now compatible with Metrowerks CodeWarrior Pro8.
-
-
- Boost.Function: workaround for the
- new Borland patch (version 0x564) and MSVC++ .NET 2003.
-
-
- Boost.Config,
- Boost.Format, and Boost.Regex have
- been adjusted to avoid warnings with GCC-3.3, and Boost.Format also now works
- with string types other than
std::string .
- -
- Smart Pointers
-
- -
-
checked_delete
- now works on more platforms
- -
- Compatibility with the SunPro compiler
-
-
- Added missing
#include s.
-
- -
- Boost.Python
-
- -
- warning suppression for finicky compilers
-
-
- fixed a crashing bug in the
raw_function
- facility when no keyword arguments were passed.
- -
- Improved conversion of NULL
shared_ptr s to Python.
-
-
-
- March 19, 2003 - Version 1.30.0
-
- -
- Filesystem Library
- added - Portable paths, iteration over directories, and other useful filesystem
- operations, from Beman Dawes.
-
-
- Optional Library
- added - a discriminated-union wrapper for optional values, from Fernando
- Cacciola.
-
-
- Interval Library
- added - Extends the usual arithmetic functions to mathematical intervals, from
- Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion.
-
-
- MPL
- added - Template metaprogramming framework of compile-time algorithms,
- sequences and metafunction classes, from Aleksey Gurtovoy.
-
-
- Spirit Library
- added - An LL (unlimited lookahead) parser framework that represents parsers
- directly as EBNF grammars in inlined C++ source code, complete with semantic
- actions, ASTs and much more, from Joel de Guzman and team.
-
-
- Smart Pointers Library - cast functions
- are now spelled static_pointer_cast
- / dynamic_pointer_cast
- ; enable_shared_from_this
- added; shared_ptr::shared_ptr(), shared_ptr::reset(), weak_ptr::weak_ptr(),
- weak_ptr::reset() no longer throw;
- get_deleter added; weak_ptr::get() removed; make_shared is now spelled
- weak_ptr::lock() ; intrusive_ptr
- documentation added; some experimental undocumented shared_ptr features
- have been removed; a page describing
- some smart pointer programming techniques
- has been added.
-
-
- boost/assert.hpp,
- boost/current_function.hpp, boost/throw_exception.hpp,
- boost/checked_delete.hpp
- have been documented.
-
-
- Date-Time Library - several fixes
- and small additions including an interface change to partial_date. See
- Date-Time Change History
- for more details.
-
-
- Function Library
- - added support for assignment to zero (to clear) and comparison against zero
- (to check if empty).
-
-
- Operators Library
- - now takes advantage of named return value optimization (NRVO) when available,
- from Daniel Frey.
-
-
- Regression Tests - Much expanded,
- plus a very nice summary
- page
- from Rene Rivera.
-
-
- Test Library - introduced following new
- facilities:
-
- -
- Automatic registration of unit tests
-
-
- XML log format
-
-
- XML report format
-
-
- BOOST_CHECK_NO_THROW test tool
-
-
- BOOST_BITWISE_CHECK test tool
-
- For complete list of changes see Test Library
- release notes
- -
- Many fixes and enhancements to other libraries.
-
- October 10, 2002 - Version 1.29.0
-
- -
- Date-Time Library
- added - Dates, times, leap seconds, infinity, and more, from Jeff Garland.
-
-
- Dynamic Bitset added - a
- runtime sized version of the std::bitset
- class from Jeremy Siek and Chuck Allison.
-
-
- Format Library
- added - Type-safe 'printf-like' format operations, from Samuel Krempp.
-
-
- Function Library: Major syntactic
- changes have been made. Some old syntax and little-used features have been
- deprecated (and will be removed shortly), and the syntax for the
boost::function
- class template has been greatly improved on conforming compilers. Please see
- the compatibility note
- for more information.
- -
- Multi-array Library
- added - Multidimensional containers and adaptors for arrays of contiguous data,
- from Ron Garcia.
-
-
- Preprocessor Library: Major
- upgrade, from Paul Mensonides.
-
-
- Python Library
- - Version 2 is released, from Dave Abrahams and others. This is a major rewrite
- which works on many more compilers and platforms, with a completely new
- interface and lots of new features. Boost.Python v2 requires Python 2.2 or
- later.
-
-
- Signals Library
- added - Managed signals & slots callback implementation, from Doug Gregor.
-
-
- Test Library: Major new version,
- including full unit test capabilities, from Gennadiy Rozental.
-
-
- uBLAS Library added - Basic
- linear algebra for dense, packed and sparse matrices, from Joerg Walter and
- Mathias Koch.
-
- |
-
-