|  | Filesystem Release History | 
1.50.0
  - Remove Filesystem Version 2 from the distribution. Version 3 is now the 
  only distributed version. Those still using V2 are urged to migrate to V3 as 
  soon as possible.
- Add constexpr value_type preferred_separatorto class path.
- Fix #5118,
  replace_extensiondoesn't work as specified in documentation. The 
  documentation, implementation, and test cases have all had fixes applied. The 
  documentation had failed to mention that any existing extension is removed. 
  The behavior for simple cases has been reverted to the Version 2 behavior, but 
  with corrections so that complex replacements now work. Two test cases from 
  #5118 have been added.
- Fix #3737, 
  Boost.Filesystem does not compile on Windows Mobile. On Windows, <sys/stat.h> 
  is no longer included.
- Fix #4065, 
  Boost Filesystem lexicographic path comparison inconsistent. This required 
  multiple source code bug fixes and code cleanup, correcting problems not 
  related to lexicographical issues.
- Add class path member function comparefor consistency with 
  std::string.
- Tighten BOOST_FILESYSTEM_DYN_LINK and BOOST_FILESYSTEM_STATIC_LINK logic 
  in filesystem/config.hpp so that one or the other is always defined, and both 
  being defined is a #error.
- Fix #6690 and
  #6737, resolving 
  static linking related problems with VC++ 8 through 11. Note that this fix may 
  reintroduce codecvt thread safety problems
  #4889,
  #6320, for these 
  compilers if static linking is used.
- Add path::operator+= and concat functions to tack on things like suffixes 
  or numbers. Suggested by Ed Smith-Rowland and others.
- Fix #6809, 
  Implementation of filesystem::rename() method for MS Windows is wrong, by 
  adding MOVEFILE_COPY_ALLOWED to deal with renames across drives, volumes, file 
  systems. Fix has no effect on non-Windows systems.
- Fix #6819, A path operand with a source that was a one character array was 
  treated as empty, even if it wasn't empty. Such arrays can occur in unions or 
  in code using C variable length array idioms.
- Fix #6932, 
  create_directories throws exception even if error_code is specified.
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_optiontorecursive_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
28 May, 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