mirror of
https://github.com/boostorg/website.git
synced 2026-01-19 04:42:17 +00:00
Rebuild in progress release notes
This commit is contained in:
@@ -43106,6 +43106,192 @@
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <span class="library"><a href="/libs/mysql/">MySQL</a>:</span>
|
||||
" <ul>
|
||||
" <li>
|
||||
" <div>
|
||||
" <strong>Breaking changes to experimental APIs</strong>:
|
||||
" <ul>
|
||||
" <li>
|
||||
" <div>
|
||||
" The thread-safety feature in <code><span class="identifier">connection_pool</span></code>
|
||||
" has been redesigned to overcome some design flaws found by
|
||||
" user experience. The boolean option <code><span class="identifier">thread_safe</span></code>
|
||||
" has been added to <code><span class="identifier">pool_params</span></code>
|
||||
" (set to <code><span class="keyword">false</span></code>
|
||||
" by default). When set, some pool functions change behavior
|
||||
" so they can be safely used concurrently. This works by internally
|
||||
" creating a strand, dispatching to it when required, and re-wiring
|
||||
" cancellation signals. When <code><span class="identifier">pool_params</span><span class="special">::</span><span class="identifier">thread_safe</span></code>
|
||||
" is <code><span class="keyword">false</span></code>, the
|
||||
" usual Asio executor semantics apply, with no overhead.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">pool_executor_params</span></code>
|
||||
" has been removed, replaced by <code><span class="identifier">pool_params</span><span class="special">::</span><span class="identifier">connection_executor</span></code>
|
||||
" and <code><span class="identifier">pool_params</span><span class="special">::</span><span class="identifier">thread_safe</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" The built-in timeout functionality in <code><span class="identifier">connection_pool</span><span class="special">::</span><span class="identifier">async_get_connection</span></code>
|
||||
" has been completely removed. This function now supports per-operation
|
||||
" cancellation, so the same functionality can be achieved by
|
||||
" using <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">cancel_after</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Destroying a <code><span class="identifier">connection_pool</span></code>
|
||||
" now cancels outstanding async operations, as other Asio I/O
|
||||
" objects do. This prevents resource leaks: an outstanding <code><span class="identifier">async_run</span></code> operation extends
|
||||
" the pool's lifetime until the operation completes, which could
|
||||
" cause the pool object to never get destroyed.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" When an <code><span class="identifier">async_get_connection</span></code>
|
||||
" operation is cancelled before a connection is available, the
|
||||
" operation now consistently fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">pool_not_running</span></code>,
|
||||
" <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">no_connection_available</span></code>
|
||||
" or <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">pool_cancelled</span></code>,
|
||||
" depending on the pool state (previously, it would fail with
|
||||
" either <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">timeout</span></code>
|
||||
" or the last error code encountered by the internal <code><span class="identifier">async_connect</span></code> operations
|
||||
" performed by the pool). This information is now included in
|
||||
" the output diagnostics object.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">timeout</span></code>
|
||||
" and <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">cancelled</span></code>
|
||||
" have been removed.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Calling <code><span class="identifier">async_get_connection</span></code>
|
||||
" on a pool that is not running no longer fails immediately,
|
||||
" but waits for <code><span class="identifier">async_run</span></code>
|
||||
" to be called.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">sequence</span></code> now
|
||||
" returns an owning type. This makes it safe use with <code><span class="identifier">with_params</span></code> in deferred async
|
||||
" operations. <code><span class="identifier">format_sequence_view</span></code>
|
||||
" has been renamed to <code><span class="identifier">format_sequence</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">sequence</span></code> has
|
||||
" been moved to a separate header, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mysql</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" </ul>
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">any_connection</span></code>, client-side
|
||||
" SQL formatting (including <code><span class="identifier">format_sql</span></code>
|
||||
" and <code><span class="identifier">with_params</span></code>)
|
||||
" and <code><span class="identifier">connection_pool</span></code>
|
||||
" have been promoted to stable APIs.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">any_connection</span></code> is
|
||||
" now recommended for new code, instead of <code><span class="identifier">connection</span></code>
|
||||
" and its aliases <code><span class="identifier">tcp_connection</span></code>,
|
||||
" <code><span class="identifier">tcp_ssl_connection</span></code>
|
||||
" and <code><span class="identifier">unix_connection</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Added <code><span class="identifier">with_params</span></code>,
|
||||
" a new <code><span class="identifier">ExecutionRequest</span></code>
|
||||
" encapsulating a query template string and parameters to expand the
|
||||
" query. When executed, it expands the query using client-side SQL
|
||||
" formatting and sends it to the server for execution. This is the
|
||||
" new recommended way to run simple queries with parameters.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Added <code><span class="identifier">with_diagnostics</span></code>,
|
||||
" an adapter completion token that transforms exceptions thrown by
|
||||
" async functions to include <code><span class="identifier">diagnostics</span></code>
|
||||
" objects, matching how sync throwing functions work.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">with_diagnostics</span><span class="special">(</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deferred</span><span class="special">)</span></code> is now the default completion token
|
||||
" for all operations in <code><span class="identifier">any_connection</span></code>
|
||||
" and <code><span class="identifier">connection_pool</span></code>.
|
||||
" This causes expressions like <code><span class="identifier">co_await</span>
|
||||
" <span class="identifier">conn</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">params</span><span class="special">)</span></code>
|
||||
" to behave identically to <code><span class="identifier">conn</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">params</span><span class="special">)</span></code>. Note that <code><span class="identifier">connection</span></code>
|
||||
" and its type aliases haven't been updated to match this behavior.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Async functions in <code><span class="identifier">connection_pool</span></code>
|
||||
" now support per-operation cancellation.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" All async operations now support <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">cancel_after</span></code>,
|
||||
" <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">cancel_at</span></code> and similar completion
|
||||
" tokens that require a bound executor to initiations passed to <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_initiate</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <code><span class="identifier">connection</span></code> and <code><span class="identifier">any_connection</span></code> now dispatch immediate
|
||||
" completions through the token's immediate executor.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Fixed an issue that caused a crash when trying to use an <code><span class="identifier">any_connection</span></code> that hasn't been
|
||||
" previously connected.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Removed an incorrect <code><span class="keyword">noexcept</span></code>
|
||||
" specifier from a potentially throwing constructor in <code><span class="identifier">field</span></code>.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Fixed an issue that could cause the write buffer size to exceed the
|
||||
" configured buffer size limit.
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" Heavily updated the documentation and examples to be more relevant
|
||||
" and reflect the new recommended best practices.
|
||||
" </div>
|
||||
" </li>
|
||||
" </ul>
|
||||
" </div>
|
||||
" </li>
|
||||
" <li>
|
||||
" <div>
|
||||
" <span class="library"><a href="/libs/smart_ptr/">SmartPtr</a>:</span>
|
||||
" <ul>
|
||||
" <li>
|
||||
@@ -43426,7 +43612,7 @@
|
||||
" </div>
|
||||
"
|
||||
-hash
|
||||
"a3390260615eb75a33190e3c78bdd6cb09f82ccf4b870f6f602c3b657eb25500
|
||||
"427652c689e93aabd62ab25256d6d56fdc771f84f0d2f7cb1513e848755ace92
|
||||
-id
|
||||
"version_1_87_x
|
||||
-notice_url
|
||||
|
||||
@@ -385,6 +385,192 @@
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<span class="library"><a href="/doc/libs/master/libs/mysql/">MySQL</a>:</span>
|
||||
<ul>
|
||||
<li>
|
||||
<div>
|
||||
<strong>Breaking changes to experimental APIs</strong>:
|
||||
<ul>
|
||||
<li>
|
||||
<div>
|
||||
The thread-safety feature in <code><span class="identifier">connection_pool</span></code>
|
||||
has been redesigned to overcome some design flaws found by
|
||||
user experience. The boolean option <code><span class="identifier">thread_safe</span></code>
|
||||
has been added to <code><span class="identifier">pool_params</span></code>
|
||||
(set to <code><span class="keyword">false</span></code>
|
||||
by default). When set, some pool functions change behavior
|
||||
so they can be safely used concurrently. This works by internally
|
||||
creating a strand, dispatching to it when required, and re-wiring
|
||||
cancellation signals. When <code><span class="identifier">pool_params</span><span class="special">::</span><span class="identifier">thread_safe</span></code>
|
||||
is <code><span class="keyword">false</span></code>, the
|
||||
usual Asio executor semantics apply, with no overhead.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">pool_executor_params</span></code>
|
||||
has been removed, replaced by <code><span class="identifier">pool_params</span><span class="special">::</span><span class="identifier">connection_executor</span></code>
|
||||
and <code><span class="identifier">pool_params</span><span class="special">::</span><span class="identifier">thread_safe</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
The built-in timeout functionality in <code><span class="identifier">connection_pool</span><span class="special">::</span><span class="identifier">async_get_connection</span></code>
|
||||
has been completely removed. This function now supports per-operation
|
||||
cancellation, so the same functionality can be achieved by
|
||||
using <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">cancel_after</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Destroying a <code><span class="identifier">connection_pool</span></code>
|
||||
now cancels outstanding async operations, as other Asio I/O
|
||||
objects do. This prevents resource leaks: an outstanding <code><span class="identifier">async_run</span></code> operation extends
|
||||
the pool's lifetime until the operation completes, which could
|
||||
cause the pool object to never get destroyed.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
When an <code><span class="identifier">async_get_connection</span></code>
|
||||
operation is cancelled before a connection is available, the
|
||||
operation now consistently fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">pool_not_running</span></code>,
|
||||
<code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">no_connection_available</span></code>
|
||||
or <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">pool_cancelled</span></code>,
|
||||
depending on the pool state (previously, it would fail with
|
||||
either <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">timeout</span></code>
|
||||
or the last error code encountered by the internal <code><span class="identifier">async_connect</span></code> operations
|
||||
performed by the pool). This information is now included in
|
||||
the output diagnostics object.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">timeout</span></code>
|
||||
and <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">cancelled</span></code>
|
||||
have been removed.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Calling <code><span class="identifier">async_get_connection</span></code>
|
||||
on a pool that is not running no longer fails immediately,
|
||||
but waits for <code><span class="identifier">async_run</span></code>
|
||||
to be called.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">sequence</span></code> now
|
||||
returns an owning type. This makes it safe use with <code><span class="identifier">with_params</span></code> in deferred async
|
||||
operations. <code><span class="identifier">format_sequence_view</span></code>
|
||||
has been renamed to <code><span class="identifier">format_sequence</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">sequence</span></code> has
|
||||
been moved to a separate header, <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mysql</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">any_connection</span></code>, client-side
|
||||
SQL formatting (including <code><span class="identifier">format_sql</span></code>
|
||||
and <code><span class="identifier">with_params</span></code>)
|
||||
and <code><span class="identifier">connection_pool</span></code>
|
||||
have been promoted to stable APIs.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">any_connection</span></code> is
|
||||
now recommended for new code, instead of <code><span class="identifier">connection</span></code>
|
||||
and its aliases <code><span class="identifier">tcp_connection</span></code>,
|
||||
<code><span class="identifier">tcp_ssl_connection</span></code>
|
||||
and <code><span class="identifier">unix_connection</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Added <code><span class="identifier">with_params</span></code>,
|
||||
a new <code><span class="identifier">ExecutionRequest</span></code>
|
||||
encapsulating a query template string and parameters to expand the
|
||||
query. When executed, it expands the query using client-side SQL
|
||||
formatting and sends it to the server for execution. This is the
|
||||
new recommended way to run simple queries with parameters.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Added <code><span class="identifier">with_diagnostics</span></code>,
|
||||
an adapter completion token that transforms exceptions thrown by
|
||||
async functions to include <code><span class="identifier">diagnostics</span></code>
|
||||
objects, matching how sync throwing functions work.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">with_diagnostics</span><span class="special">(</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deferred</span><span class="special">)</span></code> is now the default completion token
|
||||
for all operations in <code><span class="identifier">any_connection</span></code>
|
||||
and <code><span class="identifier">connection_pool</span></code>.
|
||||
This causes expressions like <code><span class="identifier">co_await</span>
|
||||
<span class="identifier">conn</span><span class="special">.</span><span class="identifier">async_connect</span><span class="special">(</span><span class="identifier">params</span><span class="special">)</span></code>
|
||||
to behave identically to <code><span class="identifier">conn</span><span class="special">.</span><span class="identifier">connect</span><span class="special">(</span><span class="identifier">params</span><span class="special">)</span></code>. Note that <code><span class="identifier">connection</span></code>
|
||||
and its type aliases haven't been updated to match this behavior.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Async functions in <code><span class="identifier">connection_pool</span></code>
|
||||
now support per-operation cancellation.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
All async operations now support <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">cancel_after</span></code>,
|
||||
<code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">cancel_at</span></code> and similar completion
|
||||
tokens that require a bound executor to initiations passed to <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">async_initiate</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<code><span class="identifier">connection</span></code> and <code><span class="identifier">any_connection</span></code> now dispatch immediate
|
||||
completions through the token's immediate executor.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Fixed an issue that caused a crash when trying to use an <code><span class="identifier">any_connection</span></code> that hasn't been
|
||||
previously connected.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Removed an incorrect <code><span class="keyword">noexcept</span></code>
|
||||
specifier from a potentially throwing constructor in <code><span class="identifier">field</span></code>.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Fixed an issue that could cause the write buffer size to exceed the
|
||||
configured buffer size limit.
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
Heavily updated the documentation and examples to be more relevant
|
||||
and reflect the new recommended best practices.
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
<span class="library"><a href="/doc/libs/master/libs/smart_ptr/">SmartPtr</a>:</span>
|
||||
|
||||
Reference in New Issue
Block a user