1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
4 <TITLE>Release Notes
</TITLE>
5 <LINK REL=
"stylesheet" HREF=
"../../../boost.css">
6 <LINK REL=
"stylesheet" HREF=
"theme/iostreams.css">
12 <H1 CLASS=
"title">Release Notes
</H1>
21 Use
<code>BOOST_ASSERT
</code> instead of
<code>assert
</code>.
24 Fixed flush regression, see
<a href=
"https://svn.boost.org/trac/boost/ticket/4590">#
4590</a>
30 <p>Lots of fixes in this version, almost all are by Steven Watanabe.
</p>
32 <p>File descriptor fixes:
</p>
36 <strong>Breaking change:
</strong>
37 new constructors and
<code>open
</code> methods from file descriptors/handles for
38 <code>file_descriptor
</code>,
<code>file_descriptor_source
</code>
39 and
<code>file_descriptor_sink
</code>. See
40 <a title=
"File descriptor devices referece" href=
"classes/file_descriptor.html">the documentation
</a>
41 for details. The old methods are still available if you define
42 <code>BOOST_IOSTREAMS_USE_DEPRECATED
</code>
43 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3517">#
3517</a>).
46 Add
<code>BOOST_IOSTREAMS_DECL
</code> to
47 <code>file_descriptor_source
</code> and
48 <code>file_descriptor_sink
</code> fixing their use in dynamic libraries
49 (
<a href=
"https://svn.boost.org/trac/boost/ticket/4335">#
4335</a>).
52 Rejigger
<code>file_descriptors
</code> handling of
53 <code>std::ios_base::openmode
</code> to match
<code>std::fstream
</code>.
54 In particular, truncate existing files, if
55 <code>std::ios_base::trunc
</code> is passed
56 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3323">#
3323</a>).
59 Open files in append mode on Windows instead of seeking to the end at every
60 write when
<code>std::ios_base::app
</code> is passed
61 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3323">#
3323</a>).
65 <p>Compression/decompression fixes:
</p>
69 Don't end the stream produced by a reading through a symmetric_filter
71 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2318">#
2318</a>).
74 Allow building zlib
1.2.4+, using a glob to include only source files that
76 (
<a href=
"https://svn.boost.org/trac/boost/ticket/4091">#
4091</a>).
79 Fix compressing an empty string.
82 Allow bzip2 filters to be closed even if no input has been read
83 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3348">#
3348</a>).
86 Throw an exception on an unexpected end of file in
87 <code>bzip2_decompressor
</code> instead of going into an infinite loop
88 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2783">#
2783</a>).
91 Reset the crc for zlib when we reuse a filter.
94 Make
<code>gzip_decompressor
</code> a
<code>DualUseFilter
</code>
95 (
<a href=
"https://svn.boost.org/trac/boost/ticket/1579">#
1579</a>).
98 Allow
<code>bzip2_decompressor
</code> to process multiple concatenated
100 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3853">#
3853</a>).
108 Make
<code>aggregate_filter
</code> work with wide characters
109 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3851">#
3851</a>).
112 Make
<code>symmetric_filter
</code> compile with
<code>wchar_t
</code>
113 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3279">#
3279</a>).
116 Fix
<code>boost/iostreams/detail/resolve.hpp
</code> compilation on xlc.
119 Fix definition of
<code>multichar_dual_use_filter_tag
</code>
120 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3689">#
3689</a>).
123 Make
<code>concept_adapter
</code> work with custom
<code>char_traits
</code>
124 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2356">#
2356</a>).
127 On windows, open mapped files with just read/write permissions, rather than
128 full control - which might not be available
129 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2996">#
2996</a>).
132 Make sure that
<code>direct_streambuf
</code> and
133 <code>indirect_streambuf
</code> are reset correctly on open
134 (
<a href=
"https://svn.boost.org/trac/boost/ticket/4102">#
4102</a>).
137 Make
<code>basic_file
</code> and
<code>basic_file_sync
</code>
138 <code>Flushable
</code>
139 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2998">#
2998</a>).
142 Several documentation improvements, including
143 documenting private mapping with
<code>mapped_file
</code>
144 (
<a href=
"https://svn.boost.org/trac/boost/ticket/1612">#
1612</a>).
147 Make the tests more reliable by using Boost.Filesystem's
148 <code>unique_path
</code> instead of
<code>tmpnam
</code>
149 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2325">#
2325</a>).
161 Fix
<code>write_device_impl
<ostream_tag
></code>
162 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3839">#
3839</a>).
165 Fix error checks after calling SetFilePointer
166 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3953">#
3953</a>).
169 Gzip filter shouldn't require its source to be peekable
170 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3723">#
3723</a>).
173 In
<code>position_to_offset
</code>, only cast to
174 <code>stream_offset
</code> after calculating
<code>_Myoff
</code>
175 (
<a href=
"https://svn.boost.org/trac/boost/ticket/3969">#
3969</a>).
178 <code>ptrdiff_t
</code> is in
<code>std
</code>
179 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2505">#
2505</a>).
186 Fixed many outstanding issues. Thanks to Richard Smith for working on a lot
192 Allocate exceptions on the stack, not the heap (
<a href=
"https://svn.boost.org/trac/boost/ticket/3612">#
3612</a>).
195 Fix unthrown exceptions. (
<a href=
"https://svn.boost.org/trac/boost/ticket/3311">#
3311</a>).
198 Use
<code>boost::throw_exception
</code> to throw exceptions
199 (
<a href=
"https://svn.boost.org/trac/boost/ticket/2094">#
2094</a>).
202 Add missing include guard (
<a href=
"https://svn.boost.org/trac/boost/ticket/3010">#
3010</a>).
205 Use the correct type for buffer_size and pback_size parameters (
<a href=
"https://svn.boost.org/trac/boost/ticket/2894">#
2894</a>).
208 Support
<code>boost::ref(std::istream)
</code> in code_converter (
<a href=
"https://svn.boost.org/trac/boost/ticket/3011">#
3011</a>).
211 Fix CRC on x64 during gzip decompression (
<a href=
"https://svn.boost.org/trac/boost/ticket/3352">#
3352</a>).
214 Fix mapped file errors in windows (
<a href=
"https://svn.boost.org/trac/boost/ticket/3505">#
3505</a>).
217 Improved support for Visual C++
2010.
220 Fix usage requirements in boost build.
223 Fix some boundary checks in
<code>restrict
</code> and
<code>slice
</code>.
226 Some minor documentation fixes.
229 Avoid Apple macro substitutions for
<code>check
</code>.
236 Some old unreleased developments. There are still several open issues that
237 should be fixed in the next version.
241 Add a grep filter (
<a href=
"https://svn.boost.org/trac/boost/ticket/1627">#
1627</a>).
244 Support archives with multiple members (
<a href=
"https://svn.boost.org/trac/boost/ticket/1896">#
1896</a>).
247 Make
<code><span class=
"identifier">tee
</span></code> work with input
248 streams (
<a href=
"https://svn.boost.org/trac/boost/ticket/791">#
791</a>).
251 Improved filesystem interoperability.
254 Several warnings fixed or suppressed (including
255 <a href=
"https://svn.boost.org/trac/boost/ticket/1618">#
1618</a>,
256 <a href=
"https://svn.boost.org/trac/boost/ticket/1875">#
1875</a>,
257 <a href=
"https://svn.boost.org/trac/boost/ticket/2779">#
2779</a>).
260 Various other fixes (including
261 <a href=
"https://svn.boost.org/trac/boost/ticket/1580">#
1580</a>,
262 <a href=
"https://svn.boost.org/trac/boost/ticket/1671">#
1671</a>).
268 <P>1. The semantics of
<A HREF=
"functions/close.html"><CODE>close
</CODE></A> has been modified:
</P>
271 <LI>Calling
<CODE>close
</CODE> with a
<CODE>std::ios_base::openmode
</CODE> other than
<CODE>in
</CODE> or
<CODE>out
</CODE> is deprecated.
</LI>
272 <LI>A new overload of
<CODE>close
</CODE> taking a single Device argument has been provided as a convenience.
</LI>
273 <LI><A HREF=
"concepts/dual_use_filter.html">DualUseFilters
</A> receive only one closure notification.
</LI>
274 <LI><A HREF=
"guide/generic_streams.html">Generic streams and stream buffers
</A> and
<A HREF=
"guide/filtering_streams.html">filtering streams and stream buffers
</A> are now
<A HREF=
"concepts/closable.html">Closable
</A>. For filtering streams and stream buffers,
<CODE>close
</CODE> calls
<A HREF=
"classes/filtering_stream.html#pop"><CODE>pop
</CODE></A>.
277 <P><EM>These changes will break some existing code
</EM>. They were necessary to resolve inconsistencies in the prior specification that resulted in a number of reported bugs.
</P>
279 <P>2. The function template
<a href=
"functions/slice.html"><code>slice
</code></a> has been introduced as an alias of
<a href=
"functions/restrict.html"><code>restrict
</code></a>, for platforms that treat
<code>restrict
</code> as a keyword.
</P>
281 <P>3. Numerous bugs have been fixed, many relating to
<a href=
"functions/close.html"><code>close
</code></a>,
<a href=
"functions/copy.html"><code>copy
</code></a>, and
<a href=
"classes/file_descriptor.html">file descriptors
</a>.
</P>
283 <!-- Begin Footer -->
287 <P CLASS=
"copyright">© Copyright
2008 <a href=
"http://www.coderage.com/" target=
"_top">CodeRage, LLC
</a><br/>© Copyright
2004-
2007 <a href=
"http://www.coderage.com/turkanis/" target=
"_top">Jonathan Turkanis
</a></P>
288 <P CLASS=
"copyright">
289 Distributed under the Boost Software License, Version
1.0. (See accompanying file LICENSE_1_0.txt or copy at
<A HREF=
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt
</A>)