Skip to content

Commit 3324e7e

Browse files
committed
Merge branch 'develop'
2 parents 5af2f9c + c9375a4 commit 3324e7e

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed

doc/modules/ROOT/pages/changelog.adoc

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

88
= Changelog
99

10+
== Boost 1.90
11+
12+
13+
* (Pull request https://github.com/boostorg/redis/pull/310[310])
14+
Improves the per-operation support in `async_exec()`. Requests can now
15+
be cancelled at any point, and cancellations don't interfere with other
16+
requests anyhow. In previous versions, a cancellation could cause
17+
`async_run()` to be cancelled, making cancellations unpredictable.
18+
* (Issue https://github.com/boostorg/redis/issues/226[226])
19+
Added support for the `asio::cancel_after` and `asio::cancel_at`
20+
completion tokens in `async_exec()` and `async_run()`.
21+
* (Issue https://github.com/boostorg/redis/issues/319[319])
22+
Added support for per-operation cancellation in `async_run()`.
23+
* (Pull request https://github.com/boostorg/redis/pull/329[329]
24+
and https://github.com/boostorg/redis/pull/334[334])
25+
The `cancel_on_connection_lost` and `cancel_if_not_connected`
26+
flags in `request::config` have been deprecated, and will be removed
27+
in subsequent releases. To limit the time span that `async_exec`
28+
might take, use `asio::cancel_after`, instead.
29+
`cancel_on_connection_lost` default has been changed to `false`.
30+
This shouldn't cause much impact, since `cancel_on_connection_lost`
31+
is not a reliable way to limit the time span that `async_exec` might take.
32+
* (Pull request https://github.com/boostorg/redis/pull/321[321])
33+
Calling `cancel` with `operation::resolve`, `operation::connect`,
34+
`operation::ssl_handshake`, `operation::reconnection` and
35+
`operation::health_check` is now deprecated.
36+
These enumerators will be removed in subsequent releases.
37+
Users should employ `cancel(operation::run)`, instead.
38+
* (Issue github.com/boostorg/redis/issues/302[302] and
39+
pull request https://github.com/boostorg/redis/pull/303[303])
40+
Added support for custom setup requests using `config::setup`
41+
and `config::use_setup`. When setting these fields, users can
42+
replace the library-generated `HELLO` request by any other arbitrary request.
43+
This request is executed every time a new physical connection with the server
44+
is established. This feature can be used to interact with systems that don't
45+
support `HELLO`, to handle authentication and to connect to replicas.
46+
* (Pull request https://github.com/boostorg/redis/pull/305[305])
47+
`request::config::hello_with_priority` and `request::has_hello_priority()` have
48+
been deprecated and will be removed in subsequent releases.
49+
This flag is not well specified and should only be used by the library.
50+
If you need to execute a request before any other, use `config::setup`, instead.
51+
* (Issue https://github.com/boostorg/redis/issues/296[296])
52+
Valkey long-term support: we guarantee Valkey compatibility
53+
starting with this release. Previous releases may also work,
54+
but have not been tested with this database system.
55+
* (Issue https://github.com/boostorg/redis/issues/341[341])
56+
Adds a `request::append()` function, to concatenate request objects.
57+
* (Issue https://github.com/boostorg/redis/issues/104[104])
58+
The health checker algorithm has been redesigned to avoid
59+
false positives under heavy loads. `PING` commands are now
60+
only issued when the connection is idle, instead of periodically.
61+
* (Pull request https://github.com/boostorg/redis/pull/283[283])
62+
Added `config::read_buffer_append_size`, which allows to control
63+
the expansion of the connection's read buffer.
64+
* (Pull request https://github.com/boostorg/redis/pull/311[311])
65+
Added `usage::bytes_rotated`, which measures data copying when
66+
reading and parsing data from the server.
67+
* (Issue https://github.com/boostorg/redis/issues/298[298])
68+
Added support for authenticating users with an empty password
69+
but a non-default username.
70+
* (Issue https://github.com/boostorg/redis/issues/318[318])
71+
Fixed a number of race conditions in the `cancel()` function
72+
of `connection` and `basic_connection` that could cause
73+
cancellations to be ignored.
74+
* (Issue https://github.com/boostorg/redis/issues/290[290])
75+
Fixed a problem that could cause an error during `HELLO`
76+
to make subsequent `HELLO` attempts during reconnection to fail.
77+
* (Issue https://github.com/boostorg/redis/issues/297[297])
78+
Errors during `HELLO` are now correctly logged.
79+
* (Issue https://github.com/boostorg/redis/issues/287[287])
80+
Fixed a bug causing an exception to be thrown when parsing
81+
a response that contains an intermediate error into a `generic_response`.
82+
83+
84+
== Boost 1.89
85+
86+
* (Pull request https://github.com/boostorg/redis/pull/256[256],
87+
https://github.com/boostorg/redis/pull/266[266] and
88+
https://github.com/boostorg/redis/pull/273[273])
89+
The following members in `connection` and `basic_connection` are now deprecated
90+
and will be removed in subsequent releases:
91+
* `next_layer()` and `next_layer_type`: there is no reason to access the underlying stream object directly.
92+
Connection member functions should be used, instead.
93+
* `get_ssl_context()`: SSL contexts should never be modified after an `asio::ssl::stream`
94+
object has been created from them. Properties should be set before passing the context
95+
to the constructor. There is no reason to access the SSL context after that.
96+
* `reset_stream()`: connection internals have been refactored to reset the SSL stream
97+
automatically when required. This function is now a no-op.
98+
* The `async_run()` overload taking no parameters: use the `async_run`
99+
overload taking a `config` object explicitly, instead.
100+
* (Issue https://github.com/boostorg/redis/issues/213[213])
101+
The logging interface has been re-written:
102+
* Logging can now be customized by passing a function object
103+
to the `logger` constructor. This allows integration with
104+
third-party logging libraries, like spdlog.
105+
This new logging interface is public and will be maintained long-term.
106+
* The old, unstable interface consisting of `logger::on_xxx` functions has been removed.
107+
* `connection` and `basic_connection` constructors now accept a `logger` object.
108+
This is now the preferred way to configure logging.
109+
The `async_run()` overload taking a `logger` object is now deprecated, and will
110+
be removed in subsequent releases.
111+
* `config::log_prefix` is now deprecated, and will
112+
be removed in subsequent releases. Users can achieve the same effect
113+
by passing a custom logging function to the `logger` constructor.
114+
* The default logging function, which prints to `stderr`,
115+
is now based on `printf` and is thus thread-safe.
116+
The old function used `std::cerr` and could result to interleaved
117+
output in multi-threaded programs.
118+
* The default log level is now `logger::level::info`,
119+
down from `logger::level::debug`. This results in less verbose output by default.
120+
* (Issue https://github.com/boostorg/redis/issues/272[272])
121+
Added support for connecting to Redis using UNIX domain sockets.
122+
This feature can be accessed using `config::unix_socket`.
123+
* (Issue https://github.com/boostorg/redis/issues/255[255])
124+
Fixed an issue that caused `async_run` to complete when a connection
125+
establishment error is encountered, even if `config::reconnect_wait_interval`
126+
specified reconnection.
127+
* (Issue https://github.com/boostorg/redis/issues/265[265])
128+
`connection::async_exec` now uses `ignore` as the default response,
129+
rather than having no default response. This matches
130+
`basic_connection::async_exec` behavior.
131+
* (Issue https://github.com/boostorg/redis/issues/260[260])
132+
Fixed a memory corruption affecting the logger's prefix
133+
configured in `config::log_prefix`.
134+
* (Pull request https://github.com/boostorg/redis/pull/254[254])
135+
Fixed some warnings regarding unused variables, name shadowing
136+
and narrowing conversions.
137+
* (Issue https://github.com/boostorg/redis/issues/252[252])
138+
Fixed a bug that causes reconnection to ignore the reconnection
139+
wait time configured in `config::reconnect_wait_interval`.
140+
* (Issue https://github.com/boostorg/redis/issues/238[238])
141+
Fixed a bug introduced in Boost 1.88 that caused `response<T>` to
142+
not compile for some integral types.
143+
* (Issue https://github.com/boostorg/redis/issues/247[247])
144+
The documentation has been modernized, and a more complete
145+
reference section has been added.
146+
* Part of the internals have been refactored to allow for better
147+
testing and reduce compile times.
148+
149+
10150
== Boost 1.88
11151

12152
* (Issue https://github.com/boostorg/redis/issues/233[233])

0 commit comments

Comments
 (0)