]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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<ostream_tag></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">© 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>) | |
290 | </P> | |
291 | ||
292 | <!-- End Footer --> | |
293 | ||
294 | </BODY> |