299 lines
16 KiB
HTML
299 lines
16 KiB
HTML
<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.59.0</h2>
|
|
<ul>
|
|
<li>Update the Tutorial:<ul>
|
|
<li>Use C++11 in the example programs to improve clarity.</li>
|
|
<li>Update the example source code show to match the actual example source
|
|
code in the cpp files.</li>
|
|
<li>Rerun all the examples and update the output shown in the tutorial
|
|
accordingly.</li>
|
|
<li>Fix spacing and other HTML presentation issues.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/11491">#11491</a>,
|
|
<code>temp_directory_path()</code> doesn't return valid temp path on Android.</li>
|
|
</ul>
|
|
|
|
<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 -->26 July, 2015<!--webbot bot="Timestamp" endspan i-checksum="21146" --></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> |