| <html> |
| |
| <head> |
| <meta http-equiv="Content-Language" content="en-us"> |
| <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> |
| <meta name="ProgId" content="FrontPage.Editor.Document"> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <title>Filesystem Release History</title> |
| <link href="styles.css" rel="stylesheet"> |
| </head> |
| |
| <body> |
| |
| <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111"> |
| <tr> |
| <td width="277"> |
| <a href="../../../index.htm"> |
| <img src="../../../boost.png" alt="boost.png (6897 bytes)" align="middle" width="300" height="86" border="0"></a></td> |
| <td align="middle"> |
| <font size="7">Filesystem Release History</font> |
| </td> |
| </tr> |
| </table> |
| |
| <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" |
| bordercolor="#111111" bgcolor="#D7EEFF" width="100%"> |
| <tr> |
| <td><a href="index.htm">Home</a> |
| <a href="tutorial.html">Tutorial</a> |
| <a href="reference.html">Reference</a> |
| <a href="faq.htm">FAQ</a> |
| <a href="release_history.html">Releases</a> |
| <a href="portability_guide.htm">Portability</a> |
| <a href="v3.html">V3 Intro</a> |
| <a href="v3_design.html">V3 Design</a> |
| <a href="deprecated.html">Deprecated</a> |
| <a href="issue_reporting.html">Bug Reports </a> |
| </td> |
| </table> |
| |
| <h2>1.58.0</h2> |
| <ul> |
| <li>Rewrite Windows implementation of temp_directory_path() to (1) avoid |
| GetTempPath() failure if path length > 130 (ticket #5300) and (2) provide a |
| more sensible sequence of directories than provided by GetTempPath(), per |
| boost list discussion "[filesystem] temp_directory_path() behavior on |
| Windows". The new sequence is:<ol> |
| <li><i><code>%TMP%</code></i></li> |
| <li><i><code>%TEMP%</code></i></li> |
| <li><code><i>%LOCALAPPDATA%</i>/Temp</code></li> |
| <li><code><i>%USERPROFILE%</i>/Temp</code></li> |
| <li><code><i>GetWindowsDirectoryW()</i>/Temp</code></li> |
| </ol> |
| </li> |
| </ul> |
| |
| <h2>1.57.0</h2> |
| <ul> |
| <li>Rework class <code>path</code> locale and codecvt implementation for increased reliability. |
| This change was SVN revision 83021, which should have gone into 1.56.0 but |
| unfortunately the merge didn't happen until too late.</li> |
| <li>Fix tickets <a href="https://svn.boost.org/trac/boost/ticket/8930">#8930</a>, <a href="https://svn.boost.org/trac/boost/ticket/9054">#9054</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/9214">#9219</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/10228">#10228</a>, and |
| <a href="https://svn.boost.org/trac/boost/ticket/10641">#10641</a>, all |
| related to locales and codecvt facets.</li> |
| <li>The net effect of the above changes and fixes should be to eliminate |
| spurious "locale::facet::_S_create_c_locale name not valid" errors on Linux |
| and other non-BSD POSIX-like systems. The error will continue to occur, as it |
| should, when a path encoding conversion char-to-wchar_t or wchar_t-to-char is |
| attempted in an environment without a valid C locale (for example, if the LANG |
| environment variable is invalid or not defined).</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/6124">#6124</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/6779">#6779</a>, and |
| <a href="https://svn.boost.org/trac/boost/ticket/10038">#10038</a> - an |
| undefined reference that occurred when the library was compiled for C++03 but |
| the using program was compiled for C++11, or vice versa. The private library |
| interface has been changed to use a plain-old C++03 enum. This is the fix |
| suggested by Andy in 6779.</li> |
| <li>The Windows implementation now treats NTFS directory junctions (also known |
| as junctions, also known as mount points) as symlinks. This has the effect of |
| treating directory junctions as directories, and thus supporting all |
| operations suitable for directories. This resolves |
| <a href="https://svn.boost.org/trac/boost/ticket/9016">#9016</a>. Directory |
| junctions are very similar to symlinks, but may have performance or other |
| advantages in some situations. They can be created from the command line with |
| "<code>mklink /j link target</code>". There is no plan for Boost.Filesystem to |
| be able to create them directly other than by calling <code>std::system()</code>.</li> |
| </ul> |
| |
| <h2>1.56.0</h2> |
| <ul> |
| <li>Reorganize <code>recursive_directory_iterator::increment</code>, adding an |
| invariant that progress is always made, even if an error is reported by |
| exception or error_code. Add a manually executed test, <code> |
| test/issues/recurse_dir_iter_5403.cpp</code>. Adjust regular regression tests |
| as needed. Thanks to Claudio Bley for the |
| <a href="https://github.com/boostorg/filesystem/pull/4">pull request</a> - the |
| change was incorporated into the reorganized code. Fixes |
| <a href="https://svn.boost.org/trac/boost/ticket/5403">#5403</a> and |
| <a href="https://svn.boost.org/trac/boost/ticket/6821">#6821</a>.</li> |
| <li>Fix <code>canonical()</code> to treat parent of root as root. (Christian |
| Hammerl) Fixes <a href="https://svn.boost.org/trac/boost/ticket/9683">#9683</a> |
| and <a href="https://svn.boost.org/trac/boost/ticket/10187">#10187</a>.</li> |
| <li>Added missing test for <code>__sun</code> macro which is defined on |
| Solaris 10. (Chris Stylianou)</li> |
| <li>Minor fixes and code cleanup.</li> |
| <li>Update IDE projects to Visual Studio 2013.</li> |
| <li>Remove unused <code>const char colon</code> to clear clang warning. (J?gen |
| Hunold)</li> |
| <li>Add BOOST_NOEXCEPT to <code>class filesystem_error</code>.</li> |
| <li>Change <code>perms::all_all</code> and <code>perms::perms_mask</code> to |
| absolute values to quiet intellisense warnings, and conform to C++11.</li> |
| </ul> |
| |
| <h2>1.54.0</h2> |
| <ul> |
| <li>Reimplement <code>path::codecvt()</code> and <code>path::imbue()</code> |
| with portable code that is intended to be much more robust and maintainable. A |
| section on <a href="reference.html#path-Usage">path usage concerns</a> has |
| been added to the reference documentation describing several concerns that |
| arise in the context of multithreading and <code>path::codecvt()</code>.</li> |
| </ul> |
| |
| <h2>1.52.0</h2> |
| <ul> |
| <li>Fix <a href="http://svn.boost.org/trac/boost/ticket/7239">#7239</a>, Stack |
| overflow when calling <code>create_directories(":D")</code>. The reported |
| problem was a symptom of an internal bug that caused <code>path::filename()</code> |
| and <code>path::parent_path()</code> to fail on Windows for <code>path(":")</code>, |
| and that in turn caused other functions that depend on <code>filename()</code> |
| or <code>parent_path()</code> to fail, such as <code>create_directories()</code>.</li> |
| </ul> |
| |
| <h2>1.51.0</h2> |
| <ul> |
| <li>Add begin() and end() non-member functions for directory_iterator and |
| recursive_directory_iterator so that C++11 range-based for statements work. |
| Suggested by feature requests |
| <a href="https://svn.boost.org/trac/boost/ticket/5896">#5896</a> and |
| <a href="https://svn.boost.org/trac/boost/ticket/6521">#6521</a>, using the |
| <a href="https://svn.boost.org/trac/boost/ticket/5896">#5896</a> approach.</li> |
| <li>Add range_begin() and range_end() non-member functions for directory_iterator and |
| recursive_directory_iterator so that |
| <a href="http://www.boost.org/libs/foreach/">BOOST_FOREACH</a> works.</li> |
| <li>Fix a Linux fchmodat problem affecting symlink permissions reported during |
| discussion of <a href="https://svn.boost.org/trac/boost/ticket/6659">#6659</a>.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/6659">#6659</a> and |
| <a href="https://svn.boost.org/trac/boost/ticket/7051">#7051</a>, fchmodat |
| supported only on Solaris 11. Fix for both Sun and GCC compilers. </li> |
| </ul> |
| |
| <h2>1.50.0</h2> |
| <ul> |
| <li>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.</li> |
| <li>Add <code>constexpr value_type preferred_separator</code> to class path.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5118">#5118</a>, |
| <code>replace_extension</code> doesn'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.</li> |
| <li>Fix <a href="http://svn.boost.org/trac/boost/ticket/3737">#3737</a>, |
| Boost.Filesystem does not compile on Windows Mobile. On Windows, <sys/stat.h> |
| is no longer included.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/4065">#4065</a>, |
| Boost Filesystem lexicographic path comparison inconsistent. This required |
| multiple source code bug fixes and code cleanup, correcting problems not |
| related to lexicographical issues.</li> |
| <li>Add class path member function <code>compare</code> for consistency with |
| std::string.</li> |
| <li>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.</li> |
| <li>Fix <a href="http://svn.boost.org/trac/boost/ticket/6690">#6690</a> and |
| <a href="http://svn.boost.org/trac/boost/ticket/6737">#6737</a>, resolving |
| static linking related problems with VC++ 8 through 11. Note that this fix may |
| reintroduce codecvt thread safety problems |
| <a href="http://svn.boost.org/trac/boost/ticket/4889">#4889</a>, |
| <a href="http://svn.boost.org/trac/boost/ticket/6320">#6320</a>, for these |
| compilers if static linking is used.</li> |
| <li>Add path::operator+= and concat functions to tack on things like suffixes |
| or numbers. Suggested by Ed Smith-Rowland and others.</li> |
| <li>Fix <a href="http://svn.boost.org/trac/boost/ticket/6809">#6809</a>, |
| 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.</li> |
| <li>Fix <a href="http://svn.boost.org/trac/boost/ticket/6819">#6819</a>, 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.</li> |
| <li>Fix <a href="http://svn.boost.org/trac/boost/ticket/6932">#6932</a>, |
| create_directories throws exception even if error_code is specified.</li> |
| </ul> |
| |
| <h2>1.49.0</h2> |
| <ul> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/3714">#3714</a>, |
| Added test cases and fixes for class path errors when assignment or append |
| used self or portion of self as source. </li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/4889">#4889</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/6320">#6320</a>, 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.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5652">#5652</a>, |
| recursive_directory_iterator fails on cyclic symbolic links. Thanks to Daniel |
| Aarno for the patch.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5653">#5653</a>, |
| recursive_directory_iterator(error_code) can still throw filesystem_error.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5900">#5900</a>, directory_iterator |
| access violation on Windows if error is thrown. Thanks to Andreas Eckleder for the patch.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5900#comment:2">#5900 |
| comment 2</a>, a bug in director_iterator construction with error_code argument that |
| caused increment to be called without the ec argument being passed.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5900">#5989</a> 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.</li> |
| <li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5592">#5592</a>, Change Windows codecvt processing from CP_THREAD_ACP to CP_ACP.</li> |
| <li>Operations function fixes for PGI compiler, thanks to Noel Belcourt.</li> |
| <li>Relax permissions test to reflect reality, particularly on the Sandia test |
| platforms.</li> |
| </ul> |
| |
| <h2>1.48.0</h2> |
| <ul> |
| <li>Added operational function <a href="reference.html#canonical">canonical()</a>, |
| suggested by David Svoboda, who also provided pseudo-code.</li> |
| <li>Added <a href="reference.html#hash_value">hash_value()</a> function for |
| paths. (Daniel James)</li> |
| <li>Fix path inserter problem (<a href="https://svn.boost.org/trac/boost/ticket/5764">#5764</a>) |
| reported for QNX6.3.2 host (gcc-3.3.5)</li> |
| <li>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 |
| <a href="https://svn.boost.org/trac/boost/ticket/4688">#4688</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/5100">#5100</a>, |
| <a href="https://svn.boost.org/trac/boost/ticket/5289">#5289</a>.</li> |
| </ul> |
| |
| <h2>1.47.0</h2> |
| <ul> |
| <li>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.</li> |
| </ul> |
| |
| <h2>1.46.1</h2> |
| |
| <ul> |
| <li>Fix fstream problem for STLPort masquerading as Dinkumware (<a href="https://svn.boost.org/trac/boost/ticket/5217">#5217</a>).</li> |
| </ul> |
| |
| <h2>1.46.0</h2> |
| <ul> |
| <li>Version 3 of the library is now the default.</li> |
| <li>IBM vacpp: Workaround for compiler bug affecting iterator_facade. (<a href="https://svn.boost.org/trac/boost/ticket/4912">#4912</a>)</li> |
| <li>Verify, clarify, document that <boost/config/user.hpp> can be used to |
| specify BOOST_FILESYSTEM_VERSION. (<a href="https://svn.boost.org/trac/boost/ticket/4891">#4891</a>)</li> |
| <li>Replaced C-style assert with BOOST_ASSERT.</li> |
| <li>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!</li> |
| <li>Cleared several GCC warnings.</li> |
| <li>Changed V2 code to use BOOST_THROW_EXCEPTION.</li> |
| <li>Windows: Fix status() to report non-symlink reparse point correctly.</li> |
| <li>Add <code>symlink_option</code> to <code>recursive_directory_iterator</code>, |
| allowing control over recursion into directory symlinks. Note that the default |
| is changed to not recurse into directory symlinks.</li> |
| <li><a href="reference.html">Reference</a> documentation cleanup, including |
| fixing missing and broken links, and adding missing functions.</li> |
| <li>Miscellaneous implementation code cleanup. </li> |
| </ul> |
| <hr> |
| <p>Revised |
| <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->03 February, 2015<!--webbot bot="Timestamp" endspan i-checksum="40532" --></p> |
| <p>© Copyright Beman Dawes, 2011</p> |
| <p> Use, modification, and distribution are subject to the Boost Software |
| License, Version 1.0. See <a href="http://www.boost.org/LICENSE_1_0.txt"> |
| www.boost.org/LICENSE_1_0.txt</a></p> |