]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/iostreams/doc/release_notes.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / iostreams / doc / release_notes.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>Release Notes</TITLE>
5 <LINK REL="stylesheet" HREF="../../../boost.css">
6 <LINK REL="stylesheet" HREF="theme/iostreams.css">
7 </HEAD>
8 <BODY>
9
10 <!-- Begin Banner -->
11
12 <H1 CLASS="title">Release Notes</H1>
13 <HR CLASS="banner">
14
15 <!-- End Banner -->
16
17 <h4>1.46</h4>
18
19 <ul>
20 <li>
21 Use <code>BOOST_ASSERT</code> instead of <code>assert</code>.
22 </li>
23 <li>
24 Fixed flush regression, see <a href="https://svn.boost.org/trac/boost/ticket/4590">#4590</a>
25 </li>
26 </ul>
27
28 <h4>1.44</h4>
29
30 <p>Lots of fixes in this version, almost all are by Steven Watanabe.</p>
31
32 <p>File descriptor fixes:</p>
33
34 <ul>
35 <li>
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>).
44 </li>
45 <li>
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>).
50 </li>
51 <li>
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>).
57 </li>
58 <li>
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>).
62 </li>
63 </ul>
64
65 <p>Compression/decompression fixes:</p>
66
67 <ul>
68 <li>
69 Don't end the stream produced by a reading through a symmetric_filter
70 prematurely
71 (<a href="https://svn.boost.org/trac/boost/ticket/2318">#2318</a>).
72 </li>
73 <li>
74 Allow building zlib 1.2.4+, using a glob to include only source files that
75 actually exist
76 (<a href="https://svn.boost.org/trac/boost/ticket/4091">#4091</a>).
77 </li>
78 <li>
79 Fix compressing an empty string.
80 </li>
81 <li>
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>).
84 </li>
85 <li>
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>).
89 </li>
90 <li>
91 Reset the crc for zlib when we reuse a filter.
92 </li>
93 <li>
94 Make <code>gzip_decompressor</code> a <code>DualUseFilter</code>
95 (<a href="https://svn.boost.org/trac/boost/ticket/1579">#1579</a>).
96 </li>
97 <li>
98 Allow <code>bzip2_decompressor</code> to process multiple concatenated
99 streams
100 (<a href="https://svn.boost.org/trac/boost/ticket/3853">#3853</a>).
101 </li>
102 </ul>
103
104 <p>Other fixes:</p>
105
106 <ul>
107 <li>
108 Make <code>aggregate_filter</code> work with wide characters
109 (<a href="https://svn.boost.org/trac/boost/ticket/3851">#3851</a>).
110 </li>
111 <li>
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>).
114 </li>
115 <li>
116 Fix <code>boost/iostreams/detail/resolve.hpp</code> compilation on xlc.
117 </li>
118 <li>
119 Fix definition of <code>multichar_dual_use_filter_tag</code>
120 (<a href="https://svn.boost.org/trac/boost/ticket/3689">#3689</a>).
121 </li>
122 <li>
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>).
125 </li>
126 <li>
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>).
130 </li>
131 <li>
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>).
135 </li>
136 <li>
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>).
140 </li>
141 <li>
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>).
145 </li>
146 <li>
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>).
150 </li>
151 </ul>
152
153 <h4>1.43</h4>
154
155 <p>
156 More fixes.
157 </p>
158
159 <ul>
160 <li>
161 Fix <code>write_device_impl&lt;ostream_tag&gt;</code>
162 (<a href="https://svn.boost.org/trac/boost/ticket/3839">#3839</a>).
163 </li>
164 <li>
165 Fix error checks after calling SetFilePointer
166 (<a href="https://svn.boost.org/trac/boost/ticket/3953">#3953</a>).
167 </li>
168 <li>
169 Gzip filter shouldn't require its source to be peekable
170 (<a href="https://svn.boost.org/trac/boost/ticket/3723">#3723</a>).
171 </li>
172 <li>
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>).
176 </li>
177 <li>
178 <code>ptrdiff_t</code> is in <code>std</code>
179 (<a href="https://svn.boost.org/trac/boost/ticket/2505">#2505</a>).
180 </li>
181 </ul>
182
183 <h4>1.42</h4>
184
185 <p>
186 Fixed many outstanding issues. Thanks to Richard Smith for working on a lot
187 of these changes.
188 </p>
189
190 <ul>
191 <li>
192 Allocate exceptions on the stack, not the heap (<a href="https://svn.boost.org/trac/boost/ticket/3612">#3612</a>).
193 </li>
194 <li>
195 Fix unthrown exceptions. (<a href="https://svn.boost.org/trac/boost/ticket/3311">#3311</a>).
196 </li>
197 <li>
198 Use <code>boost::throw_exception</code> to throw exceptions
199 (<a href="https://svn.boost.org/trac/boost/ticket/2094">#2094</a>).
200 </li>
201 <li>
202 Add missing include guard (<a href="https://svn.boost.org/trac/boost/ticket/3010">#3010</a>).
203 </li>
204 <li>
205 Use the correct type for buffer_size and pback_size parameters (<a href="https://svn.boost.org/trac/boost/ticket/2894">#2894</a>).
206 </li>
207 <li>
208 Support <code>boost::ref(std::istream)</code> in code_converter (<a href="https://svn.boost.org/trac/boost/ticket/3011">#3011</a>).
209 </li>
210 <li>
211 Fix CRC on x64 during gzip decompression (<a href="https://svn.boost.org/trac/boost/ticket/3352">#3352</a>).
212 </li>
213 <li>
214 Fix mapped file errors in windows (<a href="https://svn.boost.org/trac/boost/ticket/3505">#3505</a>).
215 </li>
216 <li>
217 Improved support for Visual C++ 2010.
218 </li>
219 <li>
220 Fix usage requirements in boost build.
221 </li>
222 <li>
223 Fix some boundary checks in <code>restrict</code> and <code>slice</code>.
224 </li>
225 <li>
226 Some minor documentation fixes.
227 </li>
228 <li>
229 Avoid Apple macro substitutions for <code>check</code>.
230 </li>
231 </ul>
232
233 <h4>1.41</h4>
234
235 <p>
236 Some old unreleased developments. There are still several open issues that
237 should be fixed in the next version.
238 </p>
239 <ul>
240 <li>
241 Add a grep filter (<a href="https://svn.boost.org/trac/boost/ticket/1627">#1627</a>).
242 </li>
243 <li>
244 Support archives with multiple members (<a href="https://svn.boost.org/trac/boost/ticket/1896">#1896</a>).
245 </li>
246 <li>
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>).
249 </li>
250 <li>
251 Improved filesystem interoperability.
252 </li>
253 <li>
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>).
258 </li>
259 <li>
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>).
263 </li>
264 </ul>
265
266 <h3>1.35</h3>
267
268 <P>1. The semantics of <A HREF="functions/close.html"><CODE>close</CODE></A> has been modified:</P>
269
270 <UL>
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>.
275 </UL>
276
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>
278
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>
280
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>
282
283 <!-- Begin Footer -->
284
285 <HR>
286
287 <P CLASS="copyright">&copy; Copyright 2008 <a href="http://www.coderage.com/" target="_top">CodeRage, LLC</a><br/>&copy; 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>)
290 </P>
291
292 <!-- End Footer -->
293
294 </BODY>