Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package asio for openSUSE:Factory checked in at 2022-11-16 15:43:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/asio (Old) and /work/SRC/openSUSE:Factory/.asio.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "asio" Wed Nov 16 15:43:15 2022 rev:29 rq:1035883 version:1.24.0 Changes: -------- --- /work/SRC/openSUSE:Factory/asio/asio.changes 2021-06-01 10:36:06.540674864 +0200 +++ /work/SRC/openSUSE:Factory/.asio.new.1597/asio.changes 2022-11-16 15:43:24.947843145 +0100 @@ -1,0 +2,233 @@ +Thu Nov 10 13:29:26 UTC 2022 - ecsos <ec...@opensuse.org> + +- Update to 1.24.0 + - Improved the performance of awaitable<>-based coroutines when they directly co_await an asynchronous operation, + by eliminating the copy of the operation object in await_transform. + - Improved the performance of spawn()-based stackful coroutines by storing a reference to the yield context in the completion handler, + rather than storing a copy of the executor. + - Fixed a C++03 build error by disabling index_sequence emulation when variadic templates are unavailable. + - Fixed detection of std::aligned_alloc for older Apple platforms. + - Removed faulty assertions from experimental::coro implementation. + - Added defence against Qt-defined macros when building with Intel C++. + - Ensured that a spawn()-based stackful coroutine is cleaned up immediately after it completes. + - Changed the implementation of the select_reactor, on Windows, to ensure that any exception resulting from failure + to recreate its interrupter's sockets will be allowed to propagate out through io_context::run(). + - Changed the MSVC version used for the system_error workaround, as more recent runtime redistributables appear to have fixed the issue. + - Changed the async_compose example to use a return type compatible with the new async_result form. +- Update to 1.23.0 + - Added a deduced trailing return type, using decltype, to all asynchronous operations' initiating functions when using C++11. + This change enables the new form of async_result, where the return type can vary per operation, for C++11. + - Moved append, prepend, as_tuple, and deferred to the asio namespace, and made them compatible with C++11. + These are no longer experimental facilities, although the names have temporarily been retained under the asio::experimental namespace for backwards compatibility. + - Added buffer() overloads for contiguous containers, such as std::span. + - Added the ability for awaitable<>-based coroutines to directly co_await operations that are packaged as function objects. + - Changed spawn() to be a completion token-based asynchronous operation. + - Added the is_async_operation trait and async_operation concept. + - Added the completion_signature_of trait. The completion_signature_of trait (and corresponding type alias completion_signature_of_t) + may be used to determine the completion signature of an asynchronous operation. + - Added converting move construction/assignment to posix descriptors, serial ports, pipes, + Windows object_handle, Windows stream handles, and Windows random-access handles. + - Added release() member functions to pipes, Windows stream handles, and Windows random-access handles. + - Enabled support for Endpoint implementations that return void pointers from their data() member functions, + as per the documented Endpoint type requirements. + - Removed all() and race() from experimental::promise, as experimental::parallel_group covers this functionality. + - Added source locations to exceptions and error codes produced by the synchronous and asynchronous operations. + - Fixed compatibility with OpenSSL 3.0.4 and later. + - Fixed compatibility with with -masm=intel. + - Explicitly stated that socket shutdown() calls are thread-safe with respect to certain other synchronous operations on the same socket. + - Optimised the move construction of I/O objects where only the executor type differs. + - Fixed the detection of std::invoke_result for clang/libc++. + - Fixed an issue where experimental::parallel_group initiation incorrectly moved arguments instead of forwarding them. + - Fixed a sequencing issue in the implementation of post(), dispatch(), and defer(), where the the associated allocator + may be obtained from an already moved-from completion handler. + - Fixed the awaitable<> implementation to propagate exceptions from awaited initiation functions through the current completion handler. + - Fixed detection of std::aligned_alloc with gcc. + - Changed to avoid using the soon-to-be-deprecated std::aligned_storage on newer compilers. + - Fixed various compiler warnings. + - Updated all composed operations examples, and the C++11 timeouts example, to use the new async_result form. + - Added composed operation and coroutine examples for C++20. + - Added pkg-config support. +- Update to 1.22.2 + - On Windows, changed the file support to open files using the same sharing mode as fopen(). + - On Linux, fixed the UNIX domain sockets implementation to correctly handle EAGAIN as an indication of an in-progress connect operation. + - Fixed experimental::basic_channel::reset() and experimental::basic_concurrent_channel::reset() + so that they work correctly for an unclosed channel. + - Fixed potential undefined behaviour in the experimental::promise operations race() and all(). + - Changed the co_spawn implementation to explicitly dispatch cancellation signals through the specified executor, + if the the completion handler has an associated executor of its own. + - Added more detailed reference documentation to make_strand(), make_work_guard(), ip::address_v4, ip::address_v6, + experimental::basic_channel, and experimental::basic_concurrent_channel. + - Re-arranged and extended the Overview documentation to cover files, pipes, async_compose, experimental::deferred, + experimental::parallel_group, experimental::promise, channels, and completion token adapters. + - Reverted the io_context reference documentation to use executor_work_guard when preventing the io_context from running out of work. + - Removed references to deadline_timer from the Overview documentation. + - Added reference documentation cross-references to asynchronous model elements. +- Update to 1.22.1 + - Added bind_allocator, to simplify associating a custom allocator with a completion token or handler. + - Added the file_base::sync_all_on_write flag, which maps to O_SYNC on POSIX and FILE_FLAG_WRITE_THROUGH on Windows. + - Added missing implementation of basic_file::release(). + - Added per-operation cancellation support to signal sets. + - Exposed recycling_allocator as part of the public interface. + + Added the nodiscard attribute to the following functions: + - bind_allocator() + - bind_cancellation_slot() + - bind_executor() + - buffer() + - dynamic_buffer() + - experimental::append() + - experimental::as_single() + - experimental::as_tuple() + - experimental::make_parallel_group() + - experimental::prepend() + - get_associated_allocator() + - get_associated_cancellation_slot() + - get_associated_executor() + - make_work_guard() + - Added compatibility with OpenSSL 3.0, particularly when deprecated functionality is disabled. + - Added support for adopting an existing SSL* into an ssl::stream<>. + - Enabled executor_work_guard<> even when ASIO_NO_TS_EXECUTORS is defined. + - Enabled movable socket iostreams when using clang. + - Fixed bind_cancellation_slot compatibility with legacy completion tokens. + - Fixed bind_executor compatibility with legacy completion tokens. + - Fixed associator specialisations for experimental::append and experimental::prepend, + to correctly propagate the associated allocator, executor, and cancellation slot. + - Fixed 'zero as null pointer constant' warning in C++20 coroutines implementation of awaitable. + - Ensured concurrency hint preprocessor macros are made available when asio/io_context.hpp is included. + - Fixed issue where the primary associated_allocator template was not correctly detecting the nested T::allocator_type. + - Fixed io_uring implementation of async_receive_from operation for sockets. + - Fixed io_uring implementation of write_some_at operation for files. + - Changed io_uring implementation to correctly check that it is not the default before registering with reactor. + - Fixed a circular inclusion issue when using io_uring in some build configurations. + - Fixed experimental::coro's per-operation cancellation to clear the slot at completion of each operation. + - Fixed memory management in experimental::promise's type-erased completion handlers. + - Fixed move operator= implementation for ssl::stream. + - Fixed any_io_executor implementation to work when both ASIO_USE_TS_EXECUTOR_AS_DEFAULT and ASIO_SEPARATE_COMPILATION are defined. + - Fixed implementation of basic_socket::at_mark() when using the sockatmark() system call. + - Changed the recycling allocator to use the default alignment as the minimum alignment for allocations. + - Added additional standard header file includes, as required by newer compilers. + - Added a workaround for apparent coroutine codegen bug with Apple's clang. + - Fixed various warnings in the examples and unit tests. + - Added a C++11 example showing file descriptor passing over local sockets. Thanks to Heiko Hund for providing this example. + - Added C++14 examples of wrapping callback-based APIs in asynchronous operations. + - Added an overview of Asio's asynchronous model to the documentation. + - Reworked reference documentation in terms of completion tokens. + - Updated documentation of asynchronous operation requirements to use new completion token form. + - Updated documentation for dispatch(), post(), and defer() to cover both the old and new executor forms. + - Documented per-operation cancellation for serial ports. + - Clarified the non-concurrency guarantees made for allocators. +- Update to 1.22.0 + - Improved error messages emitted by ssl facilities. + - Fixed bind_executor compatibility with completion tokens. + - Fixed build errors when ASIO_USE_TS_EXECUTOR_AS_DEFAULT is defined. + - Fixed corruption, cleanup issues in channel implementation. + - Added missing move assignment operator to awaitable<>. + - Fixed an access violation when using coroutines with MSVC, due to incorrect alignment of allocated memory. + - Fixed a cleanup issue in experimental::parallel_group that occured when the execution context was shut down with parallel operations still pending. + - Fixed header inclusion order problem when io_uring is enabled. + - Eliminated shared_ptr use from experimental::coro co_spawn() implementation. + - Prevented async_resume from being called on experimental::coro temporaries. + - Made awaitable_operators.hpp header self-contained. + - Added clarifications to the documentation on concurrency hints. + - Added documentation on error handling techniques for C++20 coroutines. + - Added channel-based proxy example. + - Regenerated ssl certificates used in examples. +- Update to 1.21.0 + - Added an io_uring backend. This backend may be used for all I/O objects, including sockets, timers, and posix descriptors. + - Added support for files. This introduces new classes for stream-oriented and random-access files. + - Added support for portable pipes. This change add supports for pipes on POSIX and Windows (when I/O completion ports are available). + - Added support for registered buffers. The mutable_registered_buffer and const_registered_buffer classes + are buffer sequence types that represent registered buffers. + - Added experimental support for channels. This adds templates experimental::basic_channel and experimental::basic_concurrent_channel, + with aliases experimental::channel and experimental::concurrent_channel. Channels may be used to send completions as messages. + + Implemented improvements to experimental::coro. + - Added overload so member functions can provide an explicit executor. + - Added co_spawn for coro tasks. + - Added reference and overview documentation. + - Adopted awaitable cancellation model. + - Refactored implementation. + - Disabled aligned_alloc on clang when using an MSVC runtime. + - Changed to use a faster implementation for ip::network_v4::canonical(). + - Added template specialisations for common uses to improve compile time. + - Reduced the size of io_context executors to a single pointer. + - Increased the small object buffer size for execution::any_executor and any_io_executor. + - Fixed multi-signature handling when variadic templates are disabled. + - Fixed compatibility with new versions of gcc and clang. + - Fixed compilation on Solaris. + - Fix defence against Qt-defined macros when building with MSVC. + - Fixed various warnings. +- Update to 1.20.0 + - Fixed experimental::coro compatibility with gcc. + - Fixed experimental::promise compatibility with gcc. + - Added documentation for per-operation cancellation. + - Added documentation for parallel_group. + - Added overview documentation for experimental::coro. + - Added some missing C++14 examples. + - Updated C++20 coroutines overview documentation. +- Update to 1.19.2 + - Cleaned up memory recycling to ensure the cache size is used consistently. + - Changed parallel_group to use the recycling allocator for shared state. + - Changed awaitable memory recycling to use the configurable cache size. + - Ensured parallel_group respects operations' associated executors. + - Added defence against macros defined by Qt. + - Added missing boost_ prefix to namespaces during boostification. + - Added missing lvalue-qualified overloads for deferred operator(). + - Added a tag to disambiguate deferred constructors. + - Added missing push/pop_options includes. + - Fixed argument evaluation order issue with a potentially moved-from variable in awaitable implementation. + - Enabled "expression SFINAE" for recent MSVC using /std:c++latest. + - Fixed compilation errors when dev_poll_reactor backend is used. + - Fixed handler type requirements checking to reflect rvalue completion handler invocation. + - Fixed posix::basic_stream_descriptor move operations to work with non-defaulted executors. + - Added missing move of executor in strand implementation. +- Update to 1.19.1 + - Fixed handling of move-only results with awaitable operators && and ||. + - Fixed strand<> to avoid using a potentially moved-from executor. + - Fixed order of _aligned_malloc arguments for MSVC. + - Ensured handler alignment requirements are respected by cancellation_signal. + - Ensured gcc tests are not used for clang when detecting compiler features. + - Disabled coroutines support for the clang shipped with MSVC. + - Fixed compatibility with recent LibreSSL when OPENSSL_NO_SSL_INTERN is defined. + - Documented supported cancellation types for individual asynchronous operations. + - Ensured un-cancelled ops are correctly placed back in the queue. +- Update to 1.19.0 + + Added support for cancellation of individual asynchronous operations. + The ability to cancel individual operations, or composed operations, is currently supported by: + - timers + - sockets on POSIX and Windows + - POSIX descriptors ++++ 36 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/asio/asio.changes ++++ and /work/SRC/openSUSE:Factory/.asio.new.1597/asio.changes Old: ---- asio-1.18.2.tar.bz2 New: ---- asio-1.24.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ asio.spec ++++++ --- /var/tmp/diff_new_pack.Gkh1fp/_old 2022-11-16 15:43:25.499845146 +0100 +++ /var/tmp/diff_new_pack.Gkh1fp/_new 2022-11-16 15:43:25.503845160 +0100 @@ -1,7 +1,7 @@ # # spec file for package asio # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: asio -Version: 1.18.2 +Version: 1.24.0 Release: 0 Summary: A cross-platform C++ library for network and low-level I/O programming License: BSD-3-Clause @@ -71,5 +71,6 @@ %dir %{_includedir}/asio %{_includedir}/asio/* %{_includedir}/asio.hpp +%{_libdir}/pkgconfig/*.pc %changelog ++++++ asio-1.18.2.tar.bz2 -> asio-1.24.0.tar.bz2 ++++++ ++++ 358766 lines of diff (skipped)