| Filesystem Release History

Boost Home Library Home Reference Tutorial FAQ Portability V3 Intro V3 Design Deprecated

## 1.49.0

- Fix #3714, Added test cases and fixes for class path errors when assignment or append used self or portion of self as source.
- Fix #4889, #6320, Locale codecvt_facet not thread safe on Windows. Move Windows, Mac OS X, locale and codecvt facet back to namespace scope. POSIX except OS X uses local static initialization (IE lazy) to ensure exceptions are catchable if environmental variables are misconfigured and to avoid use of locale("") if not actually used.
- Fix #5652, recursive_directory_iterator fails on cyclic symbolic links. Thanks to Daniel Aarno for the patch.
- Fix #5653, recursive_directory_iterator(error_code) can still throw filesystem_error.
- Fix #5900, directory_iterator access violation on Windows if error is thrown. Thanks to Andreas Eckleder for the patch.
- Fix #5900 comment 2, a bug in director_iterator construction with error_code argument that caused increment to be called without the ec argument being passed.
- Fix #5989 by cleaning up test suite path_test.cpp code even though the ticket itself was not a defect, and clarifying docs; iteration over a path yields generic format.
- Fix #5592, Change Windows codecvt processing from CP_THREAD_ACP to CP_ACP.
- Operations function fixes for PGI compiler, thanks to Noel Belcourt.
- Relax permissions test to reflect reality, particularly on the Sandia test platforms.

## 1.48.0

- Added operational function canonical(), suggested by David Svoboda, who also provided pseudo-code.
- Added hash_value() function for paths. (Daniel James)
- Fix path inserter problem (#5764) reported for QNX6.3.2 host (gcc-3.3.5)
- Fix problem of locale("") exception being thrown before main() starts on poorly configured (e.g. LANG="bad name") POSIX systems. Resolves the most serious aspect of tickets #4688, #5100, #5289.

## 1.47.0

- Program file_status.cpp added (V3). See boost-root/libs/filesystem/v3/example. Useful both as an example and to explore how Boost.Filesystem treats various status errors. Run "bjam" (NOT "bjam install") in the example directory to install in example/bin.

## 1.46.1

- Fix fstream problem for STLPort masquerading as Dinkumware (#5217).

## 1.46.0

- Version 3 of the library is now the default.
- IBM vacpp: Workaround for compiler bug affecting iterator_facade. (#4912)
- Verify, clarify, document that <boost/config/user.hpp> can be used to specify BOOST_FILESYSTEM_VERSION. (#4891)
- Replaced C-style assert with BOOST_ASSERT.
- Undeprecated unique_path(). Instead, add a note mentioning the workaround for lack of thread safety and possible change to cwd. unique_path() is just too convenient to deprecate!
- Cleared several GCC warnings.
- Changed V2 code to use BOOST_THROW_EXCEPTION.
- Windows: Fix status() to report non-symlink reparse point correctly.
- Add `symlink_option` to `recursive_directory_iterator`, allowing control over recursion into directory symlinks. Note that the default is changed to not recurse into directory symlinks.
- Reference documentation cleanup, including fixing missing and broken links, and adding missing functions.
- Miscellaneous implementation code cleanup.

Revised 24 January, 2012

© Copyright Beman Dawes, 2011

Use, modification, and distribution are subject to the Boost Software License, Version 1.0. See www.boost.org/LICENSE_1_0.txt