# Release Notes

#### 1.43

More fixes.

- Fix `write_device_impl<ostream_tag>` (#3839).
- Fix error checks after calling SetFilePointer (#3953).
- Gzip filter shouldn't require its source to be peekable (#3723).
- In `position_to_offset`, only cast to `stream_offset` after calculating `_Myoff` (#3969).
- `ptrdiff_t` is in `std` (#2505).

#### 1.42

Fixed many outstanding issues. Thanks to Richard Smith for mworking on a lot of these changes.

- Allocate exceptions on the stack, not the heap (#3612).
- Fix unthrown exceptions. (#3311).
- Use `boost::throw_exception` to throw exceptions (#2094).
- Add missing include guard (#3010).
- Use the correct type for buffer_size and pback_size parameters (#2894).
- Support `boost::ref(std::istream)` in code_converter (#3011).
- Fix CRC on x64 during gzip decompression (#3352).
- Fix mapped file errors in windows (#3505).
- Improved support for Visual C++ 2010.
- Fix usage requirements in boost build.
- Fix some boundary checks in `restrict` and `slice`.
- Some minor documentation fixes.
- Avoid Apple macro substitutions for `check`.

#### 1.41

Some old unreleased developments. There are still several open issues that should be fixed in the next version.

- Add a grep filter (#1627).
- Support archives with multiple members (#1896).
- Make `tee` work with input streams (#791).
- Improved filesystem interoperability.
- Several warnings fixed or suppressed (including #1618, #1875, #2779).
- Various other fixes (including #1580, #1671).

### 1.35

1. The semantics of `close` has been modified:

- Calling `close` with a `std::ios_base::openmode` other than `in` or `out` is deprecated.
- A new overload of `close` taking a single Device argument has been provided as a convenience.
- DualUseFilters receive only one closure notification.
- Generic streams and stream buffers and filtering streams and stream buffers are now Closable. For filtering streams and stream buffers, `close` calls `pop`.

These changes will break some existing code. They were necessary to resolve inconsistencies in the prior specification that resulted in a number of reported bugs.

2. The function template `slice` has been introduced as an alias of `restrict`, for platforms that treat `restrict` as a keyword.

3. Numerous bugs have been fixed, many relating to `close`, `copy`, and file descriptors.

Revised 02 Feb 2008

© Copyright 2008 CodeRage, LLC
© Copyright 2004-2007 Jonathan Turkanis

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)