Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package aws-c-io for openSUSE:Factory 
checked in at 2025-05-07 19:21:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aws-c-io (Old)
 and      /work/SRC/openSUSE:Factory/.aws-c-io.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aws-c-io"

Wed May  7 19:21:08 2025 rev:22 rq:1275237 version:0.19.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/aws-c-io/aws-c-io.changes        2025-04-20 
19:49:58.271886453 +0200
+++ /work/SRC/openSUSE:Factory/.aws-c-io.new.30101/aws-c-io.changes     
2025-05-07 19:21:21.427434192 +0200
@@ -1,0 +2,10 @@
+Tue May  6 13:19:42 UTC 2025 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to version 0.19.0
+  * Make exports consistent by @DmitriyMusatkin in (#720)
+  * Improve docs for aws_future by @graebm in (#724)
+  * Task type_log logging by @sbSteveK in (#726)
+  * AWS_IO_TLS_CIPHER_PREF_PQ_TLSv1_0_2021_05 is not
+    supported now by @TingDaoK in (#727)
+
+-------------------------------------------------------------------

Old:
----
  v0.18.1.tar.gz

New:
----
  v0.19.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ aws-c-io.spec ++++++
--- /var/tmp/diff_new_pack.mzGVbM/_old  2025-05-07 19:21:22.703487417 +0200
+++ /var/tmp/diff_new_pack.mzGVbM/_new  2025-05-07 19:21:22.707487584 +0200
@@ -21,7 +21,7 @@
 %define library_version 1.0.0
 %define library_soversion 0unstable
 Name:           aws-c-io
-Version:        0.18.1
+Version:        0.19.0
 Release:        0
 Summary:        I/O and TLS package AWS SDK for C
 License:        Apache-2.0

++++++ v0.18.1.tar.gz -> v0.19.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/.github/workflows/proof-alarm.yml 
new/aws-c-io-0.19.0/.github/workflows/proof-alarm.yml
--- old/aws-c-io-0.18.1/.github/workflows/proof-alarm.yml       2025-04-09 
16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/.github/workflows/proof-alarm.yml       2025-04-30 
23:26:13.000000000 +0200
@@ -16,7 +16,7 @@
     - name: Check
       run: |
         TMPFILE=$(mktemp)
-        echo "e857a2e5f72ab77a94e56372d89abf99 
source/linux/epoll_event_loop.c" > $TMPFILE
+        echo "64a05aa7dfecba86bf4296a08b4cdf3a 
source/linux/epoll_event_loop.c" > $TMPFILE
         md5sum --check $TMPFILE
 
     # No further steps if successful
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/include/aws/io/exports.h 
new/aws-c-io-0.19.0/include/aws/io/exports.h
--- old/aws-c-io-0.18.1/include/aws/io/exports.h        2025-04-09 
16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/include/aws/io/exports.h        2025-04-30 
23:26:13.000000000 +0200
@@ -6,7 +6,7 @@
  * SPDX-License-Identifier: Apache-2.0.
  */
 
-#if defined(USE_WINDOWS_DLL_SEMANTICS) || defined(WIN32)
+#if defined(AWS_CRT_USE_WINDOWS_DLL_SEMANTICS) || defined(_WIN32)
 #    ifdef AWS_IO_USE_IMPORT_EXPORT
 #        ifdef AWS_IO_EXPORTS
 #            define AWS_IO_API __declspec(dllexport)
@@ -18,12 +18,12 @@
 #    endif /* USE_IMPORT_EXPORT */
 
 #else
-#    if ((__GNUC__ >= 4) || defined(__clang__)) && 
defined(AWS_IO_USE_IMPORT_EXPORT) && defined(AWS_IO_EXPORTS)
+#    if defined(AWS_IO_USE_IMPORT_EXPORT) && defined(AWS_IO_EXPORTS)
 #        define AWS_IO_API __attribute__((visibility("default")))
 #    else
 #        define AWS_IO_API
-#    endif /* __GNUC__ >= 4 || defined(__clang__) */
+#    endif
 
-#endif /* defined(USE_WINDOWS_DLL_SEMANTICS) || defined(WIN32) */
+#endif /* defined(AWS_CRT_USE_WINDOWS_DLL_SEMANTICS) || defined(_WIN32) */
 
 #endif /* AWS_IO_EXPORTS_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/include/aws/io/future.h 
new/aws-c-io-0.19.0/include/aws/io/future.h
--- old/aws-c-io-0.18.1/include/aws/io/future.h 2025-04-09 16:33:10.000000000 
+0200
+++ new/aws-c-io-0.19.0/include/aws/io/future.h 2025-04-30 23:26:13.000000000 
+0200
@@ -8,31 +8,34 @@
 
 /*
 
-// THIS IS AN EXPERIMENTAL AND UNSTABLE API
-//
-// An aws_future is used to deliver the result of an asynchronous function.
-//
-// When an async function is called, it creates a future and returns it to the 
caller.
-// When the async work is finished, it completes the future by setting an 
error or result value.
-// The caller waits until the future is done, checks for error, and then gets
-// the result if everything was OK. Typically, the caller waits by registering
-// a callback that the future invokes when it's done.
-//
-// If result type T has a "destructor" (clean_up(), destroy(), or release() 
function),
-// then the future has set_result_by_move() and get_result_by_move() functions
-// that explicitly transfer ownership to and from the future.
-// If the future dies, and still "owns" the resource, it calls the destructor.
-// If T has no destructor, then the future has set_result() and get_result()
-// functions that simply copy T by value.
-//
-// Macros are used to define a type-safe API for each result type T,
-// similar to C++ templates. This makes the API hard to browse, so functions
-// are documented in comments below. The result setter/getter functions
-// are mildly different based on T's destructor type, and are documented later.
-
-//
-// --- API (common to all aws_future<T>) ---
-//
+--------------------------------------------------------------------------------
+INTRO
+--------------------------------------------------------------------------------
+An aws_future is used to deliver the result of an asynchronous function.
+
+When an async function is called, it creates a future and returns it to the 
caller.
+When the async work is finished, it completes the future by setting an error 
or result value.
+The caller waits until the future is done, checks for error, and then gets
+the result if everything was OK. Typically, the caller waits by registering
+a callback that the future invokes when it's done. There are many different
+ways to register callbacks, depending on what thread you want it to fire on.
+
+If result type T has a "destructor" (clean_up(), destroy(), or release() 
function),
+then the future has set_result_by_move() and get_result_by_move() functions
+that explicitly transfer ownership to and from the future.
+If the future dies, and still "owns" the resource, it calls the destructor.
+If T has no destructor, then the future has set_result() and get_result()
+functions that simply copy T by value.
+
+Macros are used to define a type-safe API for each result type T,
+similar to C++ templates. This makes the API hard to browse, so functions
+are documented in comments below.
+
+--------------------------------------------------------------------------------
+API (common to all aws_future<T>)
+    The set/get result functions are mildly different based on T's
+    destructor type, and are documented later.
+--------------------------------------------------------------------------------
 
 // Create a new future, with refcount of 1.
 struct aws_future_T *aws_future_T_new(struct aws_allocator *alloc);
@@ -81,8 +84,7 @@
 // Or if you are holding a non-recursive mutex, and the callback also
 // needs the mutex, and an immediate callback would deadlock.
 //
-// WARNING: If a callback is registered, you MUST NOT call this again until
-// the callback has been invoked.
+// WARNING: You MUST NOT register more than one callback.
 bool aws_future_T_register_callback_if_not_done(
     struct aws_future_T *future,
     aws_future_callback_fn *on_done,
@@ -118,67 +120,202 @@
 
 // Wait (up to timeout_ns) for future to complete.
 // Returns true if future completes in this time.
-// This blocks the current thread, and is probably only useful for tests and 
sample programs.
+// This blocks the current thread. It is dangerous to use anywhere except
+// the main thread of simple programs or tests.
 bool aws_future_T_wait(struct aws_future_T *future, uint64_t timeout_ns);
 
+--------------------------------------------------------------------------------
+AWS_FUTURE_T_BY_VALUE set/get API
+    Where T is stored by value, with no destructor.
+    Use with simple types like bool, size_t, enums, etc.
+--------------------------------------------------------------------------------
+
+// Set the result.
+//
+// If the future is already done this call is ignored.
+void aws_future_T_set_result(const struct aws_future_T *future, T result);
+
+// Get the result of a completed future.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+T aws_future_T_get_result(const struct aws_future_T *future);
+
+--------------------------------------------------------------------------------
+AWS_FUTURE_T_BY_VALUE_WITH_CLEAN_UP set/get API
+    Where T is stored by value, with destructor like: void aws_T_clean_up(T*)
+    Use with types like aws_byte_buf.
+--------------------------------------------------------------------------------
+
+// Set the result, transferring ownership.
+//
+// The memory at `value_address` is memcpy'd into the future,
+// and then zeroed out to help prevent accidental reuse.
+// It is safe to call this multiple times. If the future is already done,
+// the new result is destroyed instead of saved.
+void aws_future_T_set_result_by_move(struct aws_future_T *future, T 
*value_address);
+
+// Get the result, transferring ownership.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+// WARNING: You MUST NOT call this multiple times.
+T aws_future_T_get_result_by_move(struct aws_future_T *future);
+
+// Get the result, without transferring ownership.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+// WARNING: You MUST NOT call this multiple times.
+T* aws_future_T_peek_result(const struct aws_future_T *future);
+
+--------------------------------------------------------------------------------
+AWS_FUTURE_T_POINTER_WITH_DESTROY set/get API
+    Where T is stored by pointer, with destructor like: void aws_T_destroy(T*)
+    Use with types like aws_string.
+--------------------------------------------------------------------------------
+
+// Set the result, transferring ownership.
+//
+// The value at `pointer_address` is copied into the future,
+// and then set NULL to prevent accidental reuse.
+// If the future is already done, this new result is destroyed instead of 
saved.
+void aws_future_T_set_result_by_move(struct aws_future_T *future, T 
**pointer_address);
+
+// Get the result, transferring ownership.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+// WARNING: You MUST NOT call this multiple times.
+T* aws_future_T_get_result_by_move(struct aws_future_T *future);
+
+// Get the result, without transferring ownership.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+// WARNING: You MUST NOT call this multiple times.
+T* aws_future_T_peek_result(const struct aws_future_T *future);
+
+--------------------------------------------------------------------------------
+AWS_FUTURE_T_POINTER_WITH_RELEASE set/get API
+    Where T is stored by pointer, with destructor like: T* aws_T_release(T*)
+    Use with types like aws_http_message
+--------------------------------------------------------------------------------
+
+// Set the result, transferring ownership.
+//
+// The value at `pointer_address` is copied into the future,
+// and then set NULL to prevent accidental reuse.
+// If the future is already done, this new result is destroyed instead of 
saved.
+void aws_future_T_set_result_by_move(struct aws_future_T *future, T 
**pointer_address);
+
+// Get the result, transferring ownership.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+// WARNING: You MUST NOT call this multiple times.
+T* aws_future_T_get_result_by_move(struct aws_future_T *future);
+
+// Get the result, without transferring ownership.
+//
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+// WARNING: You MUST NOT call this multiple times.
+T* aws_future_T_peek_result(const struct aws_future_T *future);
+
+--------------------------------------------------------------------------------
+AWS_FUTURE_T_POINTER set/get API
+    Where T is stored by pointer, with no destructor.
+    No known use cases, but it's here for completeness.
+--------------------------------------------------------------------------------
+
+// Set the result.
+//
+// If the future is already done this call is ignored.
+void aws_future_T_set_result(const struct aws_future_T *future, T *result);
+
+// Get the result of a completed future.
 //
-// --- Defining new aws_future types ---
-// TODO UPDATE THESE DOCS
-// To define new types of aws_future<T>, add the appropriate macro to the 
appropriate header.
-// The macros are:
-//
-// AWS_DECLARE_FUTURE_T_BY_VALUE(FUTURE, T)
-// For T stored by value, with no destructor.
-// Use with types like bool, size_t, etc
-//
-// AWS_DECLARE_FUTURE_T_BY_VALUE_WITH_CLEAN_UP(FUTURE, T, CLEAN_UP_FN)
-// For T stored by value, with destructor like: void aws_T_clean_up(T*)
-// Use with types like `struct aws_byte_buf`
-//
-// AWS_DECLARE_FUTURE_T_POINTER_WITH_DESTROY(FUTURE, T, DESTROY_FN)
-// For T stored by pointer, with destructor like: void aws_T_destroy(T*)
-// Use with types like `struct aws_string *`
-//
-// AWS_DECLARE_FUTURE_T_POINTER_WITH_RELEASE(FUTURE, T, RELEASE_FN)
-// For T stored by pointer, with destructor like: T* aws_T_release(T*)
-// Use with types like `struct aws_http_message *`
-// Note: if T's release() function doesn't return a pointer, use _WITH_DESTROY 
instead of _WITH_RELEASE.
-//
-// This file declares several common types: aws_future<size_t>, 
aws_future<void>, etc.
-// But new future types should be declared in the header where that type's API 
is declared.
-// For example: 
AWS_DECLARE_FUTURE_T_POINTER_WITH_RELEASE(aws_future_http_message, struct 
aws_http_message)
-// would go in: aws-c-http/include/aws/http/request_response.h
-//
-// The APIs generated by these macros are identical except for the "setter" 
and "getter" functions.
-
-//
-// --- Design (if you're curious) ---
-//
-// This class was developed to give the user more control over how the 
completion
-// callback is invoked. In the past, we passed completion callbacks to the 
async
-// function. But this could lead to issues when an async function "sometimes"
-// completed synchronously and "sometimes" completed async. The async function
-// would need to stress about how to schedule the callback so it was always 
async,
-// or more typically just invoke it whenever and leave the caller to figure it 
out.
-//
-// This class is also an experiment with "templates/generics in C".
-// In order to make the class type-safe, we use macros to define a unique
-// API for each result type T we need to store in a future.
-// If we refer to aws_future<struct aws_byte_buf>, we mean a struct named
-// aws_future_byte_buf, which stores an aws_byte_buf by value.
-// This could lead to code bloat, but the type-safety seems worth it.
-//
-// future is defined in aws-c-io, instead of aws-c-common, so it can
-// easily integrate with aws_event_loop and aws_channel.
-//
-// It's legal to call set_error() or set_result() multiple times.
-// If the future is already done, it ignores the call.
-// If result T has a destructor, the new result is immediately freed instead 
of saved.
-// This design lets us deal with ambiguity where it's not 100% certain whether 
a handoff occurred.
-// For example: if we call from C->Java and an exception is thrown,
-// it's not clear whether Java got the handoff. In this case, we can safely
-// call set_error(), completing the future if necessary,
-// or being ignored if the future was already done.
+// WARNING: You MUST NOT call this until the future is done.
+// WARNING: You MUST NOT call this unless get_error() returned 0.
+T* aws_future_T_get_result(const struct aws_future_T *future);
+
+--------------------------------------------------------------------------------
+DEFINING NEW aws_future<T>
+--------------------------------------------------------------------------------
+
+Macros are used to define a type-safe API for each result type T, similar to 
C++ templates.
+
+Use the _DECLARATION() macro in the same header where T's API is declared.
+Use the _IMPLEMENTATION() macro in the corresponding .c file.
+The macros can only be used once for each type T,
+so it makes sense to put it where T is declared.
+If T lives in a single .c file and has no header, you can simply use the
+_IMPLEMENTATION() macro without a _DECLARATION().
+
+You must pick the right macros for your particular T, based on whether T is 
stored
+by value or by pointer, and which type of "destructor" function it has:
+
+- AWS_FUTURE_T_BY_VALUE: A future that holds a simple T by value, that needs 
no destructor.
+    Use with types like bool, size_t, enums, etc.
+    Example:
+         AWS_FUTURE_T_BY_VALUE_DECLARATION(aws_future_size, size_t, AWS_IO_API)
+         AWS_FUTURE_T_BY_VALUE_IMPLEMENTATION(aws_future_size, size_t)
+
+- AWS_FUTURE_T_BY_VALUE_WITH_CLEAN_UP: A future that holds T by value, with 
destructor like: void aws_T_clean_up(T*)
+    Use with types like aws_byte_buf.
+    Example:
+        AWS_FUTURE_T_BY_VALUE_WITH_CLEAN_UP_DECLARATION(aws_future_byte_buf, 
aws_byte_buf, AWS_IO_API)
+        
AWS_FUTURE_T_BY_VALUE_WITH_CLEAN_UP_IMPLEMENTATION(aws_future_byte_buf, 
aws_byte_buf,
+                                                           
aws_byte_buf_clean_up);
+- AWS_FUTURE_T_POINTER_WITH_DESTROY: A future that holds T*, with destructor 
like: void aws_T_destroy(T*)
+    Use with types like aws_string.
+    Example:
+        AWS_FUTURE_T_POINTER_WITH_DESTROY_DECLARATION(aws_future_string, 
aws_string, AWS_IO_API)
+        AWS_FUTURE_T_POINTER_WITH_DESTROY_DECLARATION(aws_future_string, 
aws_string, AWS_IO_API)
+
+- AWS_FUTURE_T_POINTER_WITH_RELEASE: A future that holds T*, with destructor 
like: T* aws_T_release(T*)
+    Use with types like aws_http_message
+    Example:
+        AWS_FUTURE_T_POINTER_WITH_RELEASE_DECLARATION(aws_future_http_message, 
struct aws_http_message,
+                                                      AWS_HTTP_API)
+        
AWS_FUTURE_T_POINTER_WITH_RELEASE_IMPLEMENTATION(aws_future_http_message, 
struct aws_http_message,
+                                                        
aws_http_message_release)
+
+- AWS_FUTURE_T_POINTER: A future that holds T*, with no destructor.
+     No known use cases, but it's here for completeness.
+     Example:
+         AWS_FUTURE_T_POINTER_DECLARATION(aws_future_file. FILE, AWS_IO_API)
+         AWS_FUTURE_T_POINTER_IMPLEMENTATION(aws_future_file. FILE)
+
+--------------------------------------------------------------------------------
+DESIGN (if you're curious)
+--------------------------------------------------------------------------------
+This class was developed to give the user more control over how the completion
+callback is invoked. In the past, we passed completion callbacks to the async
+function. But this could lead to issues when an async function "sometimes"
+completed synchronously and "sometimes" completed async. The async function
+would need to stress about how to schedule the callback so it was always async,
+or more typically just invoke it whenever and leave the caller to figure it 
out.
+
+This class is also an experiment with "templates/generics in C".
+In order to make the class type-safe, we use macros to define a unique
+API for each result type T we need to store in a future.
+If we refer to aws_future<struct aws_byte_buf>, we mean a struct named
+aws_future_byte_buf, which stores an aws_byte_buf by value.
+This could lead to code bloat, but the type-safety seems worth it.
+
+future is defined in aws-c-io, instead of aws-c-common, so it can
+easily integrate with aws_event_loop and aws_channel.
+
+It's legal to call set_error() or set_result() multiple times.
+If the future is already done, it ignores the call.
+If result T has a destructor, the new result is immediately freed instead of 
saved.
+This design lets us deal with ambiguity where it's not 100% certain whether a 
handoff occurred.
+For example: if we call from C->Java and an exception is thrown,
+it's not clear whether Java got the handoff. In this case, we can safely
+call set_error(), completing the future if necessary,
+or being ignored if the future was already done.
 
 */
 
@@ -349,21 +486,8 @@
  * Declare a future that holds a simple T by value, that needs no destructor.
  * Use with types like bool, size_t, etc.
  *
- * See top of future.h for most API docs.
- * The result setters and getters are:
-
-// Set the result.
-//
-// If the future is already done this call is ignored.
-void aws_future_T_set_result(const struct aws_future_T *future, T result);
-
-// Get the result of a completed future.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-T aws_future_T_get_result(const struct aws_future_T *future);
-
-*/
+ * See top of future.h for docs.
+ */
 #define AWS_FUTURE_T_BY_VALUE_DECLARATION(FUTURE, T, API)                      
                                        \
     AWS_FUTURE_T_DECLARATION_BEGIN(FUTURE, API)                                
                                        \
     API struct FUTURE *FUTURE##_new(struct aws_allocator *alloc);              
                                        \
@@ -390,31 +514,7 @@
  * Declares a future that holds T by value, with destructor like: void 
aws_T_clean_up(T*)
  * Use with types like aws_byte_buf.
  *
- * See top of future.h for most API docs.
- * The result setters and getters are:
-
-// Set the result, transferring ownership.
-//
-// The memory at `value_address` is memcpy'd into the future,
-// and then zeroed out to help prevent accidental reuse.
-// It is safe to call this multiple times. If the future is already done,
-// the new result is destroyed instead of saved.
-void aws_future_T_set_result_by_move(struct aws_future_T *future, T 
*value_address);
-
-// Get the result, transferring ownership.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-// WARNING: You MUST NOT call this multiple times.
-T aws_future_T_get_result_by_move(struct aws_future_T *future);
-
-// Get the result, without transferring ownership.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-// WARNING: You MUST NOT call this multiple times.
-T* aws_future_T_peek_result(const struct aws_future_T *future);
-
+ * See top of future.h for docs.
  */
 #define AWS_FUTURE_T_BY_VALUE_WITH_CLEAN_UP_DECLARATION(FUTURE, T, API)        
                                        \
     AWS_FUTURE_T_DECLARATION_BEGIN(FUTURE, API)                                
                                        \
@@ -451,6 +551,8 @@
 
 /**
  * Declares a future that holds T*, with no destructor.
+ *
+ * See top of future.h for docs.
  */
 #define AWS_FUTURE_T_POINTER_DECLARATION(FUTURE, T, API)                       
                                        \
     AWS_FUTURE_T_DECLARATION_BEGIN(FUTURE, API)                                
                                        \
@@ -480,30 +582,7 @@
  * Declares a future that holds T*, with destructor like: void 
aws_T_destroy(T*)
  * Use with types like aws_string.
  *
- * See top of future.h for most API docs.
- * The result setters and getters are:
-
-// Set the result, transferring ownership.
-//
-// The value at `pointer_address` is copied into the future,
-// and then set NULL to prevent accidental reuse.
-// If the future is already done, this new result is destroyed instead of 
saved.
-void aws_future_T_set_result_by_move(struct aws_future_T *future, T 
**pointer_address);
-
-// Get the result, transferring ownership.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-// WARNING: You MUST NOT call this multiple times.
-T* aws_future_T_get_result_by_move(struct aws_future_T *future);
-
-// Get the result, without transferring ownership.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-// WARNING: You MUST NOT call this multiple times.
-T* aws_future_T_peek_result(const struct aws_future_T *future);
-
+ * See top of future.h for docs.
  */
 #define AWS_FUTURE_T_POINTER_WITH_DESTROY_DECLARATION(FUTURE, T, API)          
                                        \
     AWS_FUTURE_T_DECLARATION_BEGIN(FUTURE, API)                                
                                        \
@@ -542,30 +621,7 @@
  * Declares a future that holds T*, with destructor like: T* aws_T_release(T*)
  * Use with types like aws_http_message
  *
- * See top of future.h for most API docs.
- * The result setters and getters are:
-
-// Set the result, transferring ownership.
-//
-// The value at `pointer_address` is copied into the future,
-// and then set NULL to prevent accidental reuse.
-// If the future is already done, this new result is destroyed instead of 
saved.
-void aws_future_T_set_result_by_move(struct aws_future_T *future, T 
**pointer_address);
-
-// Get the result, transferring ownership.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-// WARNING: You MUST NOT call this multiple times.
-T* aws_future_T_get_result_by_move(struct aws_future_T *future);
-
-// Get the result, without transferring ownership.
-//
-// WARNING: You MUST NOT call this until the future is done.
-// WARNING: You MUST NOT call this unless get_error() returned 0.
-// WARNING: You MUST NOT call this multiple times.
-T* aws_future_T_peek_result(const struct aws_future_T *future);
-
+ * See top of future.h for docs.
  */
 #define AWS_FUTURE_T_POINTER_WITH_RELEASE_DECLARATION(FUTURE, T, API)          
                                        \
     AWS_FUTURE_T_DECLARATION_BEGIN(FUTURE, API)                                
                                        \
@@ -602,16 +658,19 @@
 
 /**
  * aws_future<size_t>
+ * See top of future.h for docs.
  */
 AWS_FUTURE_T_BY_VALUE_DECLARATION(aws_future_size, size_t, AWS_IO_API)
 
 /**
  * aws_future<bool>
+ * See top of future.h for docs.
  */
 AWS_FUTURE_T_BY_VALUE_DECLARATION(aws_future_bool, bool, AWS_IO_API)
 
 /**
  * aws_future<void>
+ * See top of future.h for docs.
  */
 AWS_FUTURE_T_DECLARATION_BEGIN(aws_future_void, AWS_IO_API)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/source/bsd/kqueue_event_loop.c 
new/aws-c-io-0.19.0/source/bsd/kqueue_event_loop.c
--- old/aws-c-io-0.18.1/source/bsd/kqueue_event_loop.c  2025-04-09 
16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/source/bsd/kqueue_event_loop.c  2025-04-30 
23:26:13.000000000 +0200
@@ -532,7 +532,8 @@
 
 static void s_cancel_task(struct aws_event_loop *event_loop, struct aws_task 
*task) {
     struct kqueue_loop *kqueue_loop = event_loop->impl_data;
-    AWS_LOGF_TRACE(AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling task %p", (void 
*)event_loop, (void *)task);
+    AWS_LOGF_TRACE(
+        AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling %s task %p", (void 
*)event_loop, task->type_tag, (void *)task);
     aws_task_scheduler_cancel_task(&kqueue_loop->thread_data.scheduler, task);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.18.1/source/darwin/dispatch_queue_event_loop.c 
new/aws-c-io-0.19.0/source/darwin/dispatch_queue_event_loop.c
--- old/aws-c-io-0.18.1/source/darwin/dispatch_queue_event_loop.c       
2025-04-09 16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/source/darwin/dispatch_queue_event_loop.c       
2025-04-30 23:26:13.000000000 +0200
@@ -664,8 +664,9 @@
 
     AWS_LOGF_TRACE(
         AWS_LS_IO_EVENT_LOOP,
-        "id=%p: Scheduling task %p cross-thread for timestamp %llu",
+        "id=%p: Scheduling %s task %p cross-thread for timestamp %llu",
         (void *)event_loop,
+        task->type_tag,
         (void *)task,
         (unsigned long long)run_at_nanos);
 
@@ -694,7 +695,8 @@
 }
 
 static void s_cancel_task(struct aws_event_loop *event_loop, struct aws_task 
*task) {
-    AWS_LOGF_TRACE(AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling task %p", (void 
*)event_loop, (void *)task);
+    AWS_LOGF_TRACE(
+        AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling %s task %p", (void 
*)event_loop, task->type_tag, (void *)task);
     struct aws_dispatch_loop *dispatch_loop = event_loop->impl_data;
 
     /* First we move all cross thread tasks into the scheduler in case the 
task to be cancelled hasn't moved yet. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/source/linux/epoll_event_loop.c 
new/aws-c-io-0.19.0/source/linux/epoll_event_loop.c
--- old/aws-c-io-0.18.1/source/linux/epoll_event_loop.c 2025-04-09 
16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/source/linux/epoll_event_loop.c 2025-04-30 
23:26:13.000000000 +0200
@@ -357,8 +357,9 @@
     if (s_is_on_callers_thread(event_loop)) {
         AWS_LOGF_TRACE(
             AWS_LS_IO_EVENT_LOOP,
-            "id=%p: scheduling task %p in-thread for timestamp %llu",
+            "id=%p: scheduling %s task %p in-thread for timestamp %llu",
             (void *)event_loop,
+            task->type_tag,
             (void *)task,
             (unsigned long long)run_at_nanos);
         if (run_at_nanos == 0) {
@@ -372,8 +373,9 @@
 
     AWS_LOGF_TRACE(
         AWS_LS_IO_EVENT_LOOP,
-        "id=%p: Scheduling task %p cross-thread for timestamp %llu",
+        "id=%p: Scheduling %s task %p cross-thread for timestamp %llu",
         (void *)event_loop,
+        task->type_tag,
         (void *)task,
         (unsigned long long)run_at_nanos);
     task->timestamp = run_at_nanos;
@@ -407,7 +409,8 @@
 }
 
 static void s_cancel_task(struct aws_event_loop *event_loop, struct aws_task 
*task) {
-    AWS_LOGF_TRACE(AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling task %p", (void 
*)event_loop, (void *)task);
+    AWS_LOGF_TRACE(
+        AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling %s task %p", (void 
*)event_loop, task->type_tag, (void *)task);
     struct epoll_loop *epoll_loop = event_loop->impl_data;
     aws_task_scheduler_cancel_task(&epoll_loop->scheduler, task);
 }
@@ -563,8 +566,9 @@
         struct aws_task *task = AWS_CONTAINER_OF(node, struct aws_task, node);
         AWS_LOGF_TRACE(
             AWS_LS_IO_EVENT_LOOP,
-            "id=%p: task %p pulled to event-loop, scheduling now.",
+            "id=%p: task %s %p pulled to event-loop, scheduling now.",
             (void *)event_loop,
+            task->type_tag,
             (void *)task);
         /* Timestamp 0 is used to denote "now" tasks */
         if (task->timestamp == 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/source/s2n/s2n_tls_channel_handler.c 
new/aws-c-io-0.19.0/source/s2n/s2n_tls_channel_handler.c
--- old/aws-c-io-0.18.1/source/s2n/s2n_tls_channel_handler.c    2025-04-09 
16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/source/s2n/s2n_tls_channel_handler.c    2025-04-30 
23:26:13.000000000 +0200
@@ -268,8 +268,6 @@
             return true;
             /* PQ Crypto no-ops on android for now */
 #ifndef ANDROID
-        case AWS_IO_TLS_CIPHER_PREF_PQ_TLSv1_0_2021_05:
-            return true;
         case AWS_IO_TLS_CIPHER_PREF_PQ_TLSV1_2_2024_10:
             return true;
         case AWS_IO_TLS_CIPHER_PREF_PQ_DEFAULT:
@@ -1541,9 +1539,6 @@
             /* The specific PQ policy used here may change over time. */
             security_policy = "AWS-CRT-SDK-TLSv1.2-2023-PQ";
             break;
-        case AWS_IO_TLS_CIPHER_PREF_PQ_TLSv1_0_2021_05:
-            security_policy = "PQ-TLS-1-0-2021-05-26";
-            break;
         case AWS_IO_TLS_CIPHER_PREF_PQ_TLSV1_2_2024_10:
             security_policy = "AWS-CRT-SDK-TLSv1.2-2023-PQ";
             break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-c-io-0.18.1/source/windows/iocp/iocp_event_loop.c 
new/aws-c-io-0.19.0/source/windows/iocp/iocp_event_loop.c
--- old/aws-c-io-0.18.1/source/windows/iocp/iocp_event_loop.c   2025-04-09 
16:33:10.000000000 +0200
+++ new/aws-c-io-0.19.0/source/windows/iocp/iocp_event_loop.c   2025-04-30 
23:26:13.000000000 +0200
@@ -467,8 +467,9 @@
     if (s_is_event_thread(event_loop)) {
         AWS_LOGF_TRACE(
             AWS_LS_IO_EVENT_LOOP,
-            "id=%p: scheduling task %p in-thread for timestamp %llu",
+            "id=%p: scheduling %s task %p in-thread for timestamp %llu",
             (void *)event_loop,
+            task->type_tag,
             (void *)task,
             (unsigned long long)run_at_nanos);
         if (run_at_nanos == 0) {
@@ -481,8 +482,9 @@
 
     AWS_LOGF_TRACE(
         AWS_LS_IO_EVENT_LOOP,
-        "id=%p: Scheduling task %p cross-thread for timestamp %llu",
+        "id=%p: Scheduling %s task %p cross-thread for timestamp %llu",
         (void *)event_loop,
+        task->type_tag,
         (void *)task,
         (unsigned long long)run_at_nanos);
     /* Otherwise, add it to synced_data.tasks_to_schedule and signal the 
event-thread to process it */
@@ -519,7 +521,8 @@
 }
 
 static void s_cancel_task(struct aws_event_loop *event_loop, struct aws_task 
*task) {
-    AWS_LOGF_TRACE(AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling task %p", (void 
*)event_loop, (void *)task);
+    AWS_LOGF_TRACE(
+        AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling %s task %p", (void 
*)event_loop, task->type_tag, (void *)task);
     struct iocp_loop *iocp_loop = event_loop->impl_data;
     aws_task_scheduler_cancel_task(&iocp_loop->thread_data.scheduler, task);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/tests/vcc/cancel_task.c 
new/aws-c-io-0.19.0/tests/vcc/cancel_task.c
--- old/aws-c-io-0.18.1/tests/vcc/cancel_task.c 2025-04-09 16:33:10.000000000 
+0200
+++ new/aws-c-io-0.19.0/tests/vcc/cancel_task.c 2025-04-30 23:26:13.000000000 
+0200
@@ -17,7 +17,7 @@
 #include "preamble.h"
 
 static void s_cancel_task(struct aws_event_loop *event_loop, struct aws_task 
*task) {
-    AWS_LOGF_TRACE(AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling task %p", (void 
*)event_loop, (void *)task);
+    AWS_LOGF_TRACE(AWS_LS_IO_EVENT_LOOP, "id=%p: cancelling %s task %p", (void 
*)event_loop, task->type_tag, (void *)task);
     struct epoll_loop *epoll_loop = event_loop->impl_data;
     aws_task_scheduler_cancel_task(&epoll_loop->scheduler, task);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-c-io-0.18.1/tests/vcc/schedule.c 
new/aws-c-io-0.19.0/tests/vcc/schedule.c
--- old/aws-c-io-0.18.1/tests/vcc/schedule.c    2025-04-09 16:33:10.000000000 
+0200
+++ new/aws-c-io-0.19.0/tests/vcc/schedule.c    2025-04-30 23:26:13.000000000 
+0200
@@ -49,8 +49,9 @@
     if (s_is_on_callers_thread(event_loop _(ghost c_event_loop))) {
         AWS_LOGF_TRACE(
             AWS_LS_IO_EVENT_LOOP,
-            "id=%p: scheduling task %p in-thread for timestamp %llu",
+            "id=%p: scheduling %s task %p in-thread for timestamp %llu",
             (void *)event_loop,
+            task->type_tag,
             (void *)task,
             (unsigned long long)run_at_nanos);
         if (run_at_nanos == 0) {
@@ -64,8 +65,9 @@
 
     AWS_LOGF_TRACE(
         AWS_LS_IO_EVENT_LOOP,
-        "id=%p: Scheduling task %p cross-thread for timestamp %llu",
+        "id=%p: Scheduling %s task %p cross-thread for timestamp %llu",
         (void *)event_loop,
+        task->type_tag,
         (void *)task,
         (unsigned long long)run_at_nanos);
     _(unwrap task)

Reply via email to