Skip to content

Commit 372b6d6

Browse files
committed
Revision history.
1 parent b5c048c commit 372b6d6

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

asio/src/doc/history.qbk

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,101 @@
77

88
[section:history Revision History]
99

10+
[heading Asio 1.10.1]
11+
12+
* Implemented a limited port to Windows Runtime.
13+
14+
This change adds limited support for using Asio with the Windows
15+
Runtime. It requires that the language extensions be enabled. Due to the
16+
restricted facilities exposed by the Windows Runtime API, the port comes
17+
with the following caveats:
18+
19+
* The core facilities such as the `io_service`, `strand`, buffers, composed
20+
operations, timers, etc., should all work as normal.
21+
22+
* For sockets, only client-side TCP is supported.
23+
24+
* Explicit binding of a client-side TCP socket is not supported.
25+
26+
* The `cancel()` function is not supported for sockets. Asynchronous
27+
operations may only be cancelled by closing the socket.
28+
29+
* Operations that use `null_buffers` are not supported.
30+
31+
* Only `tcp::no_delay` and `socket_base::keep_alive` options are supported.
32+
33+
* Resolvers do not support service names, only numbers. I.e. you must
34+
use "80" rather than "http".
35+
36+
* Most resolver query flags have no effect.
37+
38+
* Extended the ability to use Asio without Boost to include Microsoft Visual
39+
Studio 2012.
40+
41+
When using a C++11 compiler, most of Asio may now be used without a
42+
dependency on Boost header files or libraries. To use Asio in this way,
43+
define `ASIO_STANDALONE` on your compiler command line or as part of the
44+
project options.
45+
46+
The standalone configuration has been tested for the following platforms and
47+
compilers:
48+
49+
* Microsoft Visual Studio 2012
50+
51+
* Linux with g++ 4.7 or 4.8 (requires [^-std=c++11])
52+
53+
* Mac OS X with clang++ / Xcode 4.6 (requires [^-std=c++11 -stdlib=libc++])
54+
55+
* Fixed a regression (introduced in 1.10.0) where, on some platforms, errors
56+
from `async_connect` were not correctly propagated through to the completion
57+
handler.
58+
59+
* Fixed a Windows-specific regression (introduced in 1.10.0) that occurs when
60+
multiple threads are running an `io_service`. When the bug occurs, the result
61+
of an asynchronous operation (error and bytes tranferred) is incorrectly
62+
discarded and zero values used instead. For TCP sockets this results in
63+
spurious end-of-file notifications.
64+
65+
* Fixed a bug in handler tracking, where it was not correctly printing out some
66+
handler IDs.
67+
68+
* Fixed the comparison used to test for successful synchronous accept
69+
operations so that it works correctly with unsigned socket descriptors.
70+
71+
* Ensured the signal number is correctly passed to the completion handler when
72+
starting an `async_wait` on a signal that is already raised.
73+
74+
* Suppressed a g++ 4.8+ warning about unused typedefs.
75+
76+
* Enabled the move optimisation for handlers that use the default invocation
77+
hook.
78+
79+
* Clarified that programs must not issue overlapping `async_write_at`
80+
operations.
81+
82+
* Changed the Windows `HANDLE` backend to treat `ERROR_MORE_DATA` as a
83+
non-fatal error when returned by `GetOverlappedResult` for a synchronous
84+
read.
85+
86+
* Visual C++ language extensions use `generic` as a keyword. Added a
87+
workaround that renames the namespace to `cpp_generic` when those language
88+
extensions are in effect.
89+
90+
* Fixed some asynchronous operations that missed out on getting `async_result`
91+
support in 1.10.0. In particular, the buffered stream templates have been
92+
updated so that they adhere to current handler patterns.
93+
94+
* Enabled move support for Microsoft Visual Studio 2012.
95+
96+
* Added `use_future` support for Microsoft Visual Studio 2012.
97+
98+
* Removed a use of `std::min` in the Windows IOCP backend to avoid a
99+
dependency on the `<algorithm>` header.
100+
101+
* Eliminated some unnecessary handler copies.
102+
103+
* Fixed various minor and cosmetic issues in code and documentation.
104+
10105
[heading Asio 1.10.0]
11106

12107
* Added new traits classes, `handler_type` and `async_result`, that allow the
@@ -66,6 +161,20 @@
66161
directory for C++11-specific examples. A limited subset of the C++03
67162
examples have been converted to their C++11 equivalents.
68163

164+
* Add the ability to use Asio without Boost, for a limited set of platforms.
165+
166+
When using a C++11 compiler, most of Asio may now be used without a
167+
dependency on Boost header files or libraries. To use Asio in this way,
168+
define `ASIO_STANDALONE` on your compiler command line or as part of the
169+
project options.
170+
171+
The standalone configuration has currently been tested for the following
172+
platforms and compilers:
173+
174+
* Linux with g++ 4.7 (requires [^-std=c++11])
175+
176+
* Mac OS X with clang++ / Xcode 4.6 (requires [^-std=c++11 -stdlib=libc++])
177+
69178
* Various SSL enhancements. Thanks go to Nick Jones, on whose work these changes
70179
are based.
71180

0 commit comments

Comments
 (0)