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(