mirror of
https://github.com/boostorg/redis.git
synced 2026-01-19 04:42:09 +00:00
Adds release notes for Boost 1.89 and Boost 1.90 (#347)
This commit is contained in:
committed by
GitHub
parent
c88f9f4666
commit
c9375a44eb
@@ -7,6 +7,146 @@
|
||||
|
||||
= Changelog
|
||||
|
||||
== Boost 1.90
|
||||
|
||||
|
||||
* (Pull request https://github.com/boostorg/redis/pull/310[310])
|
||||
Improves the per-operation support in `async_exec()`. Requests can now
|
||||
be cancelled at any point, and cancellations don't interfere with other
|
||||
requests anyhow. In previous versions, a cancellation could cause
|
||||
`async_run()` to be cancelled, making cancellations unpredictable.
|
||||
* (Issue https://github.com/boostorg/redis/issues/226[226])
|
||||
Added support for the `asio::cancel_after` and `asio::cancel_at`
|
||||
completion tokens in `async_exec()` and `async_run()`.
|
||||
* (Issue https://github.com/boostorg/redis/issues/319[319])
|
||||
Added support for per-operation cancellation in `async_run()`.
|
||||
* (Pull request https://github.com/boostorg/redis/pull/329[329]
|
||||
and https://github.com/boostorg/redis/pull/334[334])
|
||||
The `cancel_on_connection_lost` and `cancel_if_not_connected`
|
||||
flags in `request::config` have been deprecated, and will be removed
|
||||
in subsequent releases. To limit the time span that `async_exec`
|
||||
might take, use `asio::cancel_after`, instead.
|
||||
`cancel_on_connection_lost` default has been changed to `false`.
|
||||
This shouldn't cause much impact, since `cancel_on_connection_lost`
|
||||
is not a reliable way to limit the time span that `async_exec` might take.
|
||||
* (Pull request https://github.com/boostorg/redis/pull/321[321])
|
||||
Calling `cancel` with `operation::resolve`, `operation::connect`,
|
||||
`operation::ssl_handshake`, `operation::reconnection` and
|
||||
`operation::health_check` is now deprecated.
|
||||
These enumerators will be removed in subsequent releases.
|
||||
Users should employ `cancel(operation::run)`, instead.
|
||||
* (Issue github.com/boostorg/redis/issues/302[302] and
|
||||
pull request https://github.com/boostorg/redis/pull/303[303])
|
||||
Added support for custom setup requests using `config::setup`
|
||||
and `config::use_setup`. When setting these fields, users can
|
||||
replace the library-generated `HELLO` request by any other arbitrary request.
|
||||
This request is executed every time a new physical connection with the server
|
||||
is established. This feature can be used to interact with systems that don't
|
||||
support `HELLO`, to handle authentication and to connect to replicas.
|
||||
* (Pull request https://github.com/boostorg/redis/pull/305[305])
|
||||
`request::config::hello_with_priority` and `request::has_hello_priority()` have
|
||||
been deprecated and will be removed in subsequent releases.
|
||||
This flag is not well specified and should only be used by the library.
|
||||
If you need to execute a request before any other, use `config::setup`, instead.
|
||||
* (Issue https://github.com/boostorg/redis/issues/296[296])
|
||||
Valkey long-term support: we guarantee Valkey compatibility
|
||||
starting with this release. Previous releases may also work,
|
||||
but have not been tested with this database system.
|
||||
* (Issue https://github.com/boostorg/redis/issues/341[341])
|
||||
Adds a `request::append()` function, to concatenate request objects.
|
||||
* (Issue https://github.com/boostorg/redis/issues/104[104])
|
||||
The health checker algorithm has been redesigned to avoid
|
||||
false positives under heavy loads. `PING` commands are now
|
||||
only issued when the connection is idle, instead of periodically.
|
||||
* (Pull request https://github.com/boostorg/redis/pull/283[283])
|
||||
Added `config::read_buffer_append_size`, which allows to control
|
||||
the expansion of the connection's read buffer.
|
||||
* (Pull request https://github.com/boostorg/redis/pull/311[311])
|
||||
Added `usage::bytes_rotated`, which measures data copying when
|
||||
reading and parsing data from the server.
|
||||
* (Issue https://github.com/boostorg/redis/issues/298[298])
|
||||
Added support for authenticating users with an empty password
|
||||
but a non-default username.
|
||||
* (Issue https://github.com/boostorg/redis/issues/318[318])
|
||||
Fixed a number of race conditions in the `cancel()` function
|
||||
of `connection` and `basic_connection` that could cause
|
||||
cancellations to be ignored.
|
||||
* (Issue https://github.com/boostorg/redis/issues/290[290])
|
||||
Fixed a problem that could cause an error during `HELLO`
|
||||
to make subsequent `HELLO` attempts during reconnection to fail.
|
||||
* (Issue https://github.com/boostorg/redis/issues/297[297])
|
||||
Errors during `HELLO` are now correctly logged.
|
||||
* (Issue https://github.com/boostorg/redis/issues/287[287])
|
||||
Fixed a bug causing an exception to be thrown when parsing
|
||||
a response that contains an intermediate error into a `generic_response`.
|
||||
|
||||
|
||||
== Boost 1.89
|
||||
|
||||
* (Pull request https://github.com/boostorg/redis/pull/256[256],
|
||||
https://github.com/boostorg/redis/pull/266[266] and
|
||||
https://github.com/boostorg/redis/pull/273[273])
|
||||
The following members in `connection` and `basic_connection` are now deprecated
|
||||
and will be removed in subsequent releases:
|
||||
* `next_layer()` and `next_layer_type`: there is no reason to access the underlying stream object directly.
|
||||
Connection member functions should be used, instead.
|
||||
* `get_ssl_context()`: SSL contexts should never be modified after an `asio::ssl::stream`
|
||||
object has been created from them. Properties should be set before passing the context
|
||||
to the constructor. There is no reason to access the SSL context after that.
|
||||
* `reset_stream()`: connection internals have been refactored to reset the SSL stream
|
||||
automatically when required. This function is now a no-op.
|
||||
* The `async_run()` overload taking no parameters: use the `async_run`
|
||||
overload taking a `config` object explicitly, instead.
|
||||
* (Issue https://github.com/boostorg/redis/issues/213[213])
|
||||
The logging interface has been re-written:
|
||||
* Logging can now be customized by passing a function object
|
||||
to the `logger` constructor. This allows integration with
|
||||
third-party logging libraries, like spdlog.
|
||||
This new logging interface is public and will be maintained long-term.
|
||||
* The old, unstable interface consisting of `logger::on_xxx` functions has been removed.
|
||||
* `connection` and `basic_connection` constructors now accept a `logger` object.
|
||||
This is now the preferred way to configure logging.
|
||||
The `async_run()` overload taking a `logger` object is now deprecated, and will
|
||||
be removed in subsequent releases.
|
||||
* `config::log_prefix` is now deprecated, and will
|
||||
be removed in subsequent releases. Users can achieve the same effect
|
||||
by passing a custom logging function to the `logger` constructor.
|
||||
* The default logging function, which prints to `stderr`,
|
||||
is now based on `printf` and is thus thread-safe.
|
||||
The old function used `std::cerr` and could result to interleaved
|
||||
output in multi-threaded programs.
|
||||
* The default log level is now `logger::level::info`,
|
||||
down from `logger::level::debug`. This results in less verbose output by default.
|
||||
* (Issue https://github.com/boostorg/redis/issues/272[272])
|
||||
Added support for connecting to Redis using UNIX domain sockets.
|
||||
This feature can be accessed using `config::unix_socket`.
|
||||
* (Issue https://github.com/boostorg/redis/issues/255[255])
|
||||
Fixed an issue that caused `async_run` to complete when a connection
|
||||
establishment error is encountered, even if `config::reconnect_wait_interval`
|
||||
specified reconnection.
|
||||
* (Issue https://github.com/boostorg/redis/issues/265[265])
|
||||
`connection::async_exec` now uses `ignore` as the default response,
|
||||
rather than having no default response. This matches
|
||||
`basic_connection::async_exec` behavior.
|
||||
* (Issue https://github.com/boostorg/redis/issues/260[260])
|
||||
Fixed a memory corruption affecting the logger's prefix
|
||||
configured in `config::log_prefix`.
|
||||
* (Pull request https://github.com/boostorg/redis/pull/254[254])
|
||||
Fixed some warnings regarding unused variables, name shadowing
|
||||
and narrowing conversions.
|
||||
* (Issue https://github.com/boostorg/redis/issues/252[252])
|
||||
Fixed a bug that causes reconnection to ignore the reconnection
|
||||
wait time configured in `config::reconnect_wait_interval`.
|
||||
* (Issue https://github.com/boostorg/redis/issues/238[238])
|
||||
Fixed a bug introduced in Boost 1.88 that caused `response<T>` to
|
||||
not compile for some integral types.
|
||||
* (Issue https://github.com/boostorg/redis/issues/247[247])
|
||||
The documentation has been modernized, and a more complete
|
||||
reference section has been added.
|
||||
* Part of the internals have been refactored to allow for better
|
||||
testing and reduce compile times.
|
||||
|
||||
|
||||
== Boost 1.88
|
||||
|
||||
* (Issue https://github.com/boostorg/redis/issues/233[233])
|
||||
|
||||
Reference in New Issue
Block a user