Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package aws-crt-cpp for openSUSE:Factory 
checked in at 2025-07-22 12:54:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aws-crt-cpp (Old)
 and      /work/SRC/openSUSE:Factory/.aws-crt-cpp.new.8875 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aws-crt-cpp"

Tue Jul 22 12:54:26 2025 rev:33 rq:1294969 version:0.33.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/aws-crt-cpp/aws-crt-cpp.changes  2025-07-15 
16:44:47.630021613 +0200
+++ /work/SRC/openSUSE:Factory/.aws-crt-cpp.new.8875/aws-crt-cpp.changes        
2025-07-22 12:54:45.230189636 +0200
@@ -1,0 +2,6 @@
+Mon Jul 21 13:20:51 UTC 2025 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to version 0.33.1
+  * Scoped resource casting as suggested by Igor by @bretambrose in (#753)
+
+-------------------------------------------------------------------

Old:
----
  v0.33.0.tar.gz

New:
----
  v0.33.1.tar.gz

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

Other differences:
------------------
++++++ aws-crt-cpp.spec ++++++
--- /var/tmp/diff_new_pack.aznqMX/_old  2025-07-22 12:54:46.070224616 +0200
+++ /var/tmp/diff_new_pack.aznqMX/_new  2025-07-22 12:54:46.070224616 +0200
@@ -20,7 +20,7 @@
 %define library_soversion 1
 
 Name:           aws-crt-cpp
-Version:        0.33.0
+Version:        0.33.1
 Release:        0
 Summary:        AWS C++ wrapper for AWS SDK C libraries
 License:        Apache-2.0

++++++ v0.33.0.tar.gz -> v0.33.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-crt-cpp-0.33.0/.github/workflows/ci.yml 
new/aws-crt-cpp-0.33.1/.github/workflows/ci.yml
--- old/aws-crt-cpp-0.33.0/.github/workflows/ci.yml     2025-07-10 
20:34:45.000000000 +0200
+++ new/aws-crt-cpp-0.33.1/.github/workflows/ci.yml     2025-07-17 
21:22:56.000000000 +0200
@@ -15,6 +15,7 @@
   RUN: ${{ github.run_id }}-${{ github.run_number }}
   CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }}
   AWS_DEFAULT_REGION: us-east-1
+  WINDOWS_CI_DIR: "C:/a/work"
 
 permissions:
   id-token: write # This is required for requesting the JWT
@@ -233,8 +234,8 @@
         aws-region: ${{ env.AWS_DEFAULT_REGION }}
     - name: Build ${{ env.PACKAGE_NAME }} + consumers
       run: |
-        md D:\a\work
-        cd D:\a\work
+        md ${{ env.WINDOWS_CI_DIR }}
+        cd ${{ env.WINDOWS_CI_DIR }}
         python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
         python builder.pyz build -p ${{ env.PACKAGE_NAME }}
 
@@ -250,8 +251,8 @@
         aws-region: ${{ env.AWS_DEFAULT_REGION }}
     - name: Build ${{ env.PACKAGE_NAME }} + consumers
       run: |
-        md D:\a\work
-        cd D:\a\work
+        md ${{ env.WINDOWS_CI_DIR }}
+        cd ${{ env.WINDOWS_CI_DIR }}
         python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
         python builder.pyz build -p ${{ env.PACKAGE_NAME }} --compiler msvc-17 
--target windows-${{ matrix.arch }}
 
@@ -264,8 +265,8 @@
         aws-region: ${{ env.AWS_DEFAULT_REGION }}
     - name: Build ${{ env.PACKAGE_NAME }} + consumers
       run: |
-        md D:\a\work
-        cd D:\a\work
+        md ${{ env.WINDOWS_CI_DIR }}
+        cd ${{ env.WINDOWS_CI_DIR }}
         python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
         python builder.pyz build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DBUILD_SHARED_LIBS=ON
 
@@ -284,8 +285,8 @@
         aws-region: ${{ env.AWS_DEFAULT_REGION }}
     - name: Build ${{ env.PACKAGE_NAME }} + consumers
       run: |
-        md D:\a\work
-        cd D:\a\work
+        md ${{ env.WINDOWS_CI_DIR }}
+        cd ${{ env.WINDOWS_CI_DIR }}
         python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
         python builder.pyz build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DBUILD_SHARED_LIBS=ON
 
@@ -298,8 +299,8 @@
         aws-region: ${{ env.AWS_DEFAULT_REGION }}
     - name: Build ${{ env.PACKAGE_NAME }} + consumers
       run: |
-        md D:\a\work
-        cd D:\a\work
+        md ${{ env.WINDOWS_CI_DIR }}
+        cd ${{ env.WINDOWS_CI_DIR }}
         python -c "from urllib.request import urlretrieve; urlretrieve('${{ 
env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION 
}}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
         python builder.pyz build -p ${{ env.PACKAGE_NAME }} 
--cmake-extra=-DUSE_CPU_EXTENSIONS=OFF
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-crt-cpp-0.33.0/VERSION 
new/aws-crt-cpp-0.33.1/VERSION
--- old/aws-crt-cpp-0.33.0/VERSION      2025-07-10 20:34:45.000000000 +0200
+++ new/aws-crt-cpp-0.33.1/VERSION      2025-07-17 21:22:56.000000000 +0200
@@ -1 +1 @@
-0.32.10
+0.33.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-crt-cpp-0.33.0/include/aws/crt/Types.h 
new/aws-crt-cpp-0.33.1/include/aws/crt/Types.h
--- old/aws-crt-cpp-0.33.0/include/aws/crt/Types.h      2025-07-10 
20:34:45.000000000 +0200
+++ new/aws-crt-cpp-0.33.1/include/aws/crt/Types.h      2025-07-17 
21:22:56.000000000 +0200
@@ -162,5 +162,47 @@
 
         template <typename T> using ScopedResource = std::unique_ptr<T, 
std::function<void(T *)>>;
 
+        template <
+            typename Derived,
+            typename Base,
+            typename std::enable_if<std::is_base_of<Base, Derived>::value, 
bool>::type = true>
+        ScopedResource<Base> SafeSuperCast(ScopedResource<Derived> derived)
+        {
+            const auto &deleter = derived.get_deleter();
+            return ScopedResource<Base>(
+                derived.release(), [deleter](Base *base) { 
deleter(static_cast<Derived *>(base)); });
+        }
+
+        template <
+            typename Derived,
+            typename Base,
+            typename std::enable_if<!std::is_base_of<Base, Derived>::value, 
bool>::type = true>
+        ScopedResource<Base> SafeSuperCast(ScopedResource<Derived> derived)
+        {
+            (void)derived;
+            static_assert(std::is_base_of<Base, Derived>::value, "Base must be 
a base class of Derived");
+            return nullptr;
+        }
+
+        template <
+            typename Base,
+            typename Derived,
+            typename std::enable_if<std::is_base_of<Base, Derived>::value, 
bool>::type = true>
+        ScopedResource<Derived> SafeSubCast(ScopedResource<Base> base)
+        {
+            return ScopedResource<Derived>(static_cast<Derived 
*>(base.release()), base.get_deleter());
+        }
+
+        template <
+            typename Base,
+            typename Derived,
+            typename std::enable_if<!std::is_base_of<Base, Derived>::value, 
bool>::type = true>
+        ScopedResource<Derived> SafeSubCast(ScopedResource<Base> base)
+        {
+            (void)base;
+            static_assert(std::is_base_of<Base, Derived>::value, "Base must be 
a base class of Derived");
+            return nullptr;
+        }
+
     } // namespace Crt
 } // namespace Aws
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-crt-cpp-0.33.0/source/iot/MqttRequestResponseClient.cpp 
new/aws-crt-cpp-0.33.1/source/iot/MqttRequestResponseClient.cpp
--- old/aws-crt-cpp-0.33.0/source/iot/MqttRequestResponseClient.cpp     
2025-07-10 20:34:45.000000000 +0200
+++ new/aws-crt-cpp-0.33.1/source/iot/MqttRequestResponseClient.cpp     
2025-07-17 21:22:56.000000000 +0200
@@ -389,8 +389,9 @@
 
             void MqttRequestResponseClientImpl::Close() noexcept
             {
-                aws_mqtt_request_response_client_release(m_client);
+                auto *client = m_client;
                 m_client = nullptr;
+                aws_mqtt_request_response_client_release(client);
             }
 
             int MqttRequestResponseClientImpl::SubmitRequest(

Reply via email to