467 lines
26 KiB
HTML
467 lines
26 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.66.0</h2>
|
||
<ul>
|
||
<li>Clean up some tutorial example code and fix the wording for it in the
|
||
tutorial. Thanks to Anmol-Singh-Jaggi for pull request #11.</li>
|
||
</ul>
|
||
|
||
<h2>1.64.0</h2>
|
||
<ul>
|
||
<li><code>is_empty()</code>overload with <code>error_code</code> parameter
|
||
should not throw on error. Thanks to ldqrk for pull request #42</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/10731">#10731</a> and
|
||
<a href="https://svn.boost.org/trac/boost/ticket/9480">#9480</a>, <i>Evaluate
|
||
path.extension only once</i>. Thanks to Daniel Krügler for pull request #41.</li>
|
||
<li>Fix error propagation in <code>space(p, ec)</code>. Thanks to cmuellner
|
||
for pull request #39.</li>
|
||
<li>Add test/config_info.cpp to increase macro state reporting in hopes of
|
||
easing debugging on remote machines.</li>
|
||
<li>Fix <code>operations_test</code> failure on MinGW: MinGW defines
|
||
__MINGW32__ rather than _MSC_VER, so also test for __MINGW32__ to see if
|
||
setenv/unsetenv workaround needed.</li>
|
||
</ul>
|
||
|
||
<h2>1.63.0</h2>
|
||
<ul>
|
||
<li dir="ltr">
|
||
<p dir="ltr"><b>Deprecated <code>generic()</code> function name</b>: The undocumented experimental class
|
||
<code>path</code> member function <code>generic()</code> has been renamed <code>
|
||
generic_path()</code>. Fixes
|
||
<a href="https://svn.boost.org/trac/boost/ticket/11855">#11855</a>, <i>generic
|
||
gives problems in C++/CLI.</i> Unless the macro BOOST_FILESYSTEM_NO_DEPRECATED
|
||
is defined, the original <code>generic()</code> will continue to be supplied
|
||
as a workaround for existing user code. But <code>generic()</code>is
|
||
deprecated. User code should migrate to the new name.</li>
|
||
<li><b>New:</b> Class <code>path</code> adds constexpr constants <code>
|
||
separator</code> and <code>dot</code> of the type appropriate for the
|
||
platform, and adds query functions <a href="reference.html#filename_is_dot">
|
||
<code>filename_is_do</code>t</a> and <code>
|
||
<a href="reference.html#filename_is_dot_dot">filename_is_dot_dot</a></code>.
|
||
These add convenience and the implementations may be more efficient that user
|
||
coded equivalent functions.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/12578">#12578</a>, <i>
|
||
Make directory iterators able to detect when a copy has advanced to the end</i>.
|
||
This bug in <code>directory_iterator</code> and <code>
|
||
recursive_directory_iterator</code> equality testing has existed more than a
|
||
dozen years. Nowadays test driven development would likely have detected the
|
||
problem in early development. Sigh.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/12495">#12495</a>, <i>
|
||
<code>create_directories()</code> crashes when passed empty string as path</i>,
|
||
from Samantha Ritter. Also affected <code>create_directory()</code>. Charles
|
||
Olivi submitted a pull request with some particularly helpful test cases.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/7307">#7307</a>, <i>
|
||
remove_all(dirname,ec) throws on write protected directories.</i> This is a
|
||
tough one to test. There are three internal function calls where errors might
|
||
arise, and it would take too much time to write tests for each of those cases.
|
||
Someday we will have Titus Winter's mock installable file system, but for now
|
||
are relying on code inspection rather than testing.</li>
|
||
<li>Fix a cygwin warning and a cygwin error. Thanks to thtrummer for pull
|
||
request #30.</li>
|
||
<li>Fixed two broken links in reference docs. Thanks to tbeu for pull
|
||
request #34.</li>
|
||
<li>Fix reference doc signatures for <code>path</code> stem(), extension()
|
||
member functions. Thanks to faithandbrave for pull request #31</li>
|
||
<li>Fix broken link to <a href="https://svn.boost.org/trac/boost/ticket/7506">#7506</a> in 1.60.0 Release History (Daniel Krügler).</li>
|
||
<li>Refactor <code>push_directory()</code>internal logic so it is easier to
|
||
reason about.</li>
|
||
</ul>
|
||
|
||
<h2>1.60.0</h2>
|
||
<ul>
|
||
<li dir="ltr">
|
||
<p dir="ltr"><b>New:</b> Added functions <code>
|
||
<a href="reference.html#lex-normal">lexically_normal</a></code>, <code>
|
||
<a href="reference.html#lex-relative">lexically_relative</a></code>, <code>
|
||
<a href="reference.html#op-relative">relative</a></code>, and <code>
|
||
<a href="reference.html#weakly_canonical">weakly_canonical</a></code>. Many thanks to Jamie Allsop for his help and
|
||
perseverance. Resolves tickets
|
||
<a href="https://svn.boost.org/trac/boost/ticket/1976">#1976</a>,
|
||
<a href="https://svn.boost.org/trac/boost/ticket/5897">#5897</a>,
|
||
<a href="https://svn.boost.org/trac/boost/ticket/6249">#6249</a></li>
|
||
<li><b>New:</b> Class <code>path</code> now has
|
||
<a href="reference.html#path-iterators"> <code>reverse_iterator</code>,
|
||
<code>const_reverse_iterator</code>, <code>rbegin()</code>, and <code>rend()</code></a>. </li>
|
||
<li><b>New:</b> C++11 <code>noexcept</code> supplied as specified in the
|
||
Filesystem TS if supported by the compiler.</li>
|
||
<li><b>New:</b> C++11 move constructors and move assignments supplied as
|
||
specified in the Filesystem TS if supported by the compiler. Resolves
|
||
<a href="https://svn.boost.org/trac/boost/ticket/10291">#10291</a>.</li>
|
||
<li><b>New:</b> Existing functions whose names changed in the Filesystem TS
|
||
are now supported under both the old and new names.</li>
|
||
<li><b>New: </b>Added <code><a href="reference.html#path-size">size</a>()</code>
|
||
function to class <code>path</code>. Resolves
|
||
<a href="https://svn.boost.org/trac/boost/ticket/6874">#6874</a>, <i>Path
|
||
should have a size() member function</i>.</li>
|
||
<li>Clear several spurious GCC warnings.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/11733">#11733</a>, <i>
|
||
Missing unistd.h include in boost/libs/filesystem/src/unique_path.cpp</i> by
|
||
apply a patch from Idar Tollefsen.</li>
|
||
<li>Fix a race condition in <code>unique_path</code> by applying
|
||
<a href="https://github.com/boostorg/filesystem/pull/15">pull request #15</a>
|
||
from Sebastian Redl. Also fixes
|
||
<a href="https://svn.boost.org/trac/boost/ticket/7506">#7506</a>, <i><code>unique_path</code> Fails on Windows for Temporary User
|
||
Profiles</i>.</li>
|
||
<li>Fix bug in <i><code>file_status</code></i> and <i><code>
|
||
recursive_directory_iterator</code></i>: C++ turns an explicit constructor
|
||
with all arguments except first defaulted into non-explicit single argument
|
||
constructor.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/10591">#10591</a>, <i>
|
||
boost::filesystem does not build on iOS 8</i>, by applying a patch submitted
|
||
by Daniel Seither.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/9454">#9454</a>, <i>
|
||
Boost Filesystem [library build] not compiling when
|
||
BOOST_FILESYSTEM_NO_DEPRECATED is defined</i>, by applying a patch submitted
|
||
by Makesim.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/11447">#11447</a>, <i>
|
||
__OpenBSD__ macro name misspelled</i>, by applying a patch submitted by Jasper
|
||
Lievisse Adriaanse.</li>
|
||
<li>
|
||
<p>Fix <a href="https://svn.boost.org/trac/boost/ticket/11288">#11288</a>, <i>
|
||
<font face="Arial">A patch to avoid redundant string allocations</font></i>,
|
||
by applying a patch submitted by Yevhen Ivannikov.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/11175">#11175</a>,
|
||
out-of-date documentation causing users to incorrectly expect that the library
|
||
could be used with exceptions disabled.</li>
|
||
<li>Resolve <a href="https://svn.boost.org/trac/boost/ticket/11175">#11166</a>
|
||
by mitigating (i.e. reducing the likelihood of) a possible external file
|
||
system race in <code>remove()</code>.</li>
|
||
<li>
|
||
<p>Fix <a href="https://svn.boost.org/trac/boost/ticket/7258">#7258</a>,
|
||
<i><code>create_directories</code> returns false if the path ends with a slash</i>.
|
||
Also fix related issues if path contains <i>dot</i> or <i>dot-dot</i>
|
||
elements, and added test cases to the test suite.</li>
|
||
<li>
|
||
<p>Reference docs editorial cleanups: Use same style sheet as the
|
||
rest of the documentation. Tweak tab font size. Fix excessively long lines in
|
||
tables, synopsis.</li>
|
||
<li>Resolve <a href="https://svn.boost.org/trac/boost/ticket/10766">
|
||
#10766</a>, <i>parent_path() with redundant separator returns wrong value</i>,
|
||
by adding examples and notes to the reference documentation to show why the
|
||
returned value is in fact correct, and to provide rationale for that behavior.
|
||
See <a href="reference.html#path-iterators">[path.itr]</a>, and
|
||
<a href="reference.html#path-decomposition">[path.decompose]</a> <code>
|
||
parent_path()</code> and <code>filename()</code> sections of the reference
|
||
docs.</li>
|
||
<li>Minor other fixes, including pull requests from Jonathan Wakely and Marcel
|
||
Raad.</li>
|
||
<li>Closed several tickets as duplicates or otherwise resolved by the
|
||
above changes:<ul>
|
||
<li><a href="https://svn.boost.org/trac/boost/ticket/7607">#7607</a>, <i>path
|
||
should not infer an invisible "." at the end of a path that ends with a slash;
|
||
</i><a href="https://svn.boost.org/trac/boost/ticket/7258">#7258</a>,
|
||
<a href="https://svn.boost.org/trac/boost/ticket/10766">#10766</a></li>
|
||
<li><a href="https://svn.boost.org/trac/boost/ticket/11061">#11061</a>,
|
||
<a href="https://svn.boost.org/trac/boost/ticket/11062">#11062</a>, <i>
|
||
impossible to traverse the path of the reverse iterator</i>, is effectively
|
||
resolved by the addition of the class <code>path</code> reverse iteration
|
||
feature. The reference documentation has also been updated with
|
||
<a href="reference.html#path-iterators">a note</a> warning about the
|
||
limitations of class <code>path</code> iterators.</li>
|
||
</ul>
|
||
|
||
</li>
|
||
</ul>
|
||
|
||
<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>, <i>
|
||
<code>temp_directory_path()</code> doesn't return valid temp path on Android</i>.</li>
|
||
</ul>
|
||
|
||
<h2>1.58.0</h2>
|
||
<ul>
|
||
<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>. Cannot
|
||
pass a BOOST_SCOPED_ENUM to a compiled function because it will result in an
|
||
undefined reference if the library is compiled with -std=c++0x but the use is
|
||
compiled in C++03 mode, or visa versa.</li>
|
||
<li>Rewrite Windows implementation of <code>temp_directory_path()</code> to (1) avoid
|
||
<code>GetTempPath()</code> failure if path length > 130 (ticket #5300) and (2) provide a
|
||
more sensible sequence of directories than provided by <code>GetTempPath()</code>, 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>, <i>Stack
|
||
overflow when calling <code>create_directories(":D")</code></i>. 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>, <i>fchmodat
|
||
supported only on Solaris 11</i>. 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>, <i>
|
||
<code>replace_extension</code> doesn't work as specified in documentation</i>. 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>,
|
||
<i>Boost.Filesystem does not compile on Windows Mobile</i>. On Windows, <sys/stat.h>
|
||
is no longer included.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/4065">#4065</a>,
|
||
<i>Boost Filesystem lexicographic path comparison inconsistent</i>. 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>,
|
||
<i>Implementation of filesystem::rename() method for MS Windows is wrong</i>, 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>,
|
||
<i>create_directories throws exception even if error_code is specified</i>.</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>, <i>Locale codecvt_facet not thread safe on Windows</i>. 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>,
|
||
<i>recursive_directory_iterator fails on cyclic symbolic links</i>. Thanks to Daniel Aarno for the patch.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5653">#5653</a>,
|
||
<i>recursive_directory_iterator(error_code) can still throw filesystem_error</i>.</li>
|
||
<li>Fix <a href="https://svn.boost.org/trac/boost/ticket/5900">#5900</a>, <i>directory_iterator
|
||
access violation on Windows if error is thrown</i>. 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>, <i>Change Windows codecvt processing from CP_THREAD_ACP to CP_ACP</i>.</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 -->07 August, 2017<!--webbot bot="Timestamp" endspan i-checksum="34770" --></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> |