Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pybase64 for openSUSE:Factory 
checked in at 2026-11-11 16:30:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pybase64 (Old)
 and      /work/SRC/openSUSE:Factory/.python-pybase64.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pybase64"

Wed Nov 11 16:30:31 2026 rev:4 rq:1396898 version:1.5.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pybase64/python-pybase64.changes  
2026-10-05 16:19:04.523398572 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pybase64.new.3759290/python-pybase64.changes 
    2026-11-11 16:31:51.148290745 +0100
@@ -1,0 +2,10 @@
+Wed Nov 11 12:57:52 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 1.5.2:
+  * Fix deprecated altchars handling when decoding with
+    padded=False: with validate and no padding, the C extension
+    used the strict alphabet translation and raised binascii.Error
+    instead of the expected DeprecationWarning
+  * Refresh bundled libbase64 to 5d5074c
+
+-------------------------------------------------------------------

Old:
----
  pybase64-1.5.1.tar.gz

New:
----
  pybase64-1.5.2.tar.gz

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

Other differences:
------------------
++++++ python-pybase64.spec ++++++
--- /var/tmp/diff_new_pack.1e6igo/_old  2026-11-11 16:31:52.136332199 +0100
+++ /var/tmp/diff_new_pack.1e6igo/_new  2026-11-11 16:31:52.137332241 +0100
@@ -23,7 +23,7 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-pybase64
-Version:        1.5.1
+Version:        1.5.2
 Release:        0
 Summary:        Fast Base64 encoding/decoding
 License:        BSD-2-Clause
@@ -88,7 +88,7 @@
 %pre
 %python_libalternatives_reset_alternative pybase64
 
-%files %{python_files}
+%files %python_files
 %license LICENSE
 %doc README.rst
 %python_alternative %{_bindir}/pybase64

++++++ pybase64-1.5.1.tar.gz -> pybase64-1.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/PKG-INFO new/pybase64-1.5.2/PKG-INFO
--- old/pybase64-1.5.1/PKG-INFO 2026-10-04 14:21:39.935015000 +0200
+++ new/pybase64-1.5.2/PKG-INFO 2026-11-11 10:04:58.700275700 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pybase64
-Version: 1.5.1
+Version: 1.5.2
 Summary: Fast Base64 encoding/decoding
 Author: Matthieu Darbois
 License-Expression: BSD-2-Clause
@@ -184,6 +184,13 @@
 
 Changelog
 =========
+1.5.2
+-----
+- Fix deprecated altchars handling when decoding with ``padded=False``
+- Publish PyPy 3.12 wheels
+- PyPy 3.11 wheels moved from ``pp311-pypy311_pp73`` to ``pp311-pypy311_pp80``
+- Publish GraalPy 3.13 wheels
+
 1.5.1
 -----
 - Fix a Py_buffer Use-After-Release in error paths
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/README.rst 
new/pybase64-1.5.2/README.rst
--- old/pybase64-1.5.1/README.rst       2026-10-04 14:21:37.055001300 +0200
+++ new/pybase64-1.5.2/README.rst       2026-11-11 10:04:55.894822800 +0100
@@ -154,6 +154,13 @@
 
 Changelog
 =========
+1.5.2
+-----
+- Fix deprecated altchars handling when decoding with ``padded=False``
+- Publish PyPy 3.12 wheels
+- PyPy 3.11 wheels moved from ``pp311-pypy311_pp73`` to ``pp311-pypy311_pp80``
+- Publish GraalPy 3.13 wheels
+
 1.5.1
 -----
 - Fix a Py_buffer Use-After-Release in error paths
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/base64/.github/workflows/test.yml 
new/pybase64-1.5.2/base64/.github/workflows/test.yml
--- old/pybase64-1.5.1/base64/.github/workflows/test.yml        2026-10-04 
14:21:37.583136600 +0200
+++ new/pybase64-1.5.2/base64/.github/workflows/test.yml        2026-11-11 
10:04:56.522416600 +0100
@@ -102,6 +102,34 @@
         env:
           BASE64_TEST_SKIP_AVX512: "1"
 
+  cmake-install-test:
+    name: cmake-install-shared-${{ matrix.shared }}-openmp-${{ matrix.openmp }}
+    needs: makefile-analysis
+    runs-on: ubuntu-24.04
+    strategy:
+      fail-fast: false
+      matrix:
+        shared: ["OFF", "ON"]
+        openmp: ["OFF", "ON"]
+    steps:
+      - name: Checkout
+        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # 
v7.0.0
+        with:
+          persist-credentials: false
+      - name: Build and install
+        run: |
+          cmake -B out -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=${{ 
matrix.shared }} -DBASE64_WITH_OpenMP=${{ matrix.openmp }}
+          if [ "${{ matrix.openmp }}" = ON ]; then
+            grep -q '^BASE64_WITH_OpenMP:BOOL=ON$' out/CMakeCache.txt
+          fi
+          cmake --build out --parallel 2
+          cmake --install out --prefix "${{ github.workspace }}/install"
+      - name: Test installed package
+        run: |
+          cmake -S test/cmake -B out-consumer -DCMAKE_PREFIX_PATH="${{ 
github.workspace }}/install" -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=${{ 
(matrix.shared == 'ON' || matrix.openmp == 'OFF') && 'ON' || 'OFF' }}
+          cmake --build out-consumer --parallel 2
+          ctest --test-dir out-consumer --output-on-failure --no-tests=error
+
   alpine-makefile-test:
     name: makefile-alpine-amd64-gcc
     needs: makefile-analysis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/base64/cmake/base64-config.cmake.in 
new/pybase64-1.5.2/base64/cmake/base64-config.cmake.in
--- old/pybase64-1.5.1/base64/cmake/base64-config.cmake.in      2026-10-04 
14:21:37.583805800 +0200
+++ new/pybase64-1.5.2/base64/cmake/base64-config.cmake.in      2026-11-11 
10:04:56.523306100 +0100
@@ -1,5 +1,10 @@
 @PACKAGE_INIT@
 
+if("@BASE64_WITH_OpenMP@" AND NOT "@BUILD_SHARED_LIBS@")
+    include(CMakeFindDependencyMacro)
+    find_dependency(OpenMP COMPONENTS C)
+endif()
+
 include("${CMAKE_CURRENT_LIST_DIR}/base64-targets.cmake")
 
 check_required_components(base64)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/base64/lib/lib.c 
new/pybase64-1.5.2/base64/lib/lib.c
--- old/pybase64-1.5.1/base64/lib/lib.c 2026-10-04 14:21:37.585295700 +0200
+++ new/pybase64-1.5.2/base64/lib/lib.c 2026-11-11 10:04:56.525831200 +0100
@@ -18,7 +18,7 @@
 base64_stream_encode_init (struct base64_state *state, int flags)
 {
        // If any of the codec flags are set, redo choice:
-       if (codec.enc == NULL || flags & 0xFF) {
+       if (codec.enc == NULL || flags & 0xFFFF) {
                codec_choose(&codec, flags);
        }
        state->eof = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/base64/test/cmake/CMakeLists.txt 
new/pybase64-1.5.2/base64/test/cmake/CMakeLists.txt
--- old/pybase64-1.5.1/base64/test/cmake/CMakeLists.txt 1970-01-01 
01:00:00.000000000 +0100
+++ new/pybase64-1.5.2/base64/test/cmake/CMakeLists.txt 2026-11-11 
10:04:56.527018500 +0100
@@ -0,0 +1,10 @@
+cmake_minimum_required(VERSION 3.10.2)
+project(base64_package_test C)
+
+find_package(base64 CONFIG REQUIRED)
+
+add_executable(test_package main.c)
+target_link_libraries(test_package PRIVATE aklomp::base64)
+
+enable_testing()
+add_test(NAME test_package COMMAND test_package)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/base64/test/cmake/main.c 
new/pybase64-1.5.2/base64/test/cmake/main.c
--- old/pybase64-1.5.1/base64/test/cmake/main.c 1970-01-01 01:00:00.000000000 
+0100
+++ new/pybase64-1.5.2/base64/test/cmake/main.c 2026-11-11 10:04:56.527209500 
+0100
@@ -0,0 +1,22 @@
+#include <string.h>
+#include <libbase64.h>
+
+int
+main (void)
+{
+       const char input[] = "hello world";
+       const char expected[] = "aGVsbG8gd29ybGQ=";
+       char encoded[sizeof(expected)], decoded[sizeof(input)];
+       size_t encoded_size, decoded_size;
+
+       base64_encode(input, sizeof(input) - 1, encoded, &encoded_size, 0);
+       if (encoded_size != sizeof(expected) - 1 ||
+           memcmp(encoded, expected, encoded_size) != 0) {
+               return 1;
+       }
+       if (base64_decode(encoded, encoded_size, decoded, &decoded_size, 0) != 
1) {
+               return 1;
+       }
+       return decoded_size != sizeof(input) - 1 ||
+              memcmp(decoded, input, decoded_size) != 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/pyproject.toml 
new/pybase64-1.5.2/pyproject.toml
--- old/pybase64-1.5.1/pyproject.toml   2026-10-04 14:21:37.055513400 +0200
+++ new/pybase64-1.5.2/pyproject.toml   2026-11-11 10:04:55.895822800 +0100
@@ -55,8 +55,7 @@
 
 [dependency-groups]
 test = [
-    "packaging==24.2; sys_platform == 'emscripten'",
-    "packaging>=26.0; sys_platform != 'emscripten'",
+    "packaging>=26.0",
     "pytest>=8",
     "pytest-run-parallel>=0.8.2 ; python_version >= '3.13'",
     "typing_extensions>=4.6",
@@ -226,3 +225,4 @@
 benchmark = { requires-python = ">=3.12" }
 coverage = { requires-python = ">=3.10" }
 docs = { requires-python = ">=3.12" }
+nox = { requires-python = ">=3.11" }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/src/pybase64/_pybase64.c 
new/pybase64-1.5.2/src/pybase64/_pybase64.c
--- old/pybase64-1.5.1/src/pybase64/_pybase64.c 2026-10-04 14:21:37.056132800 
+0200
+++ new/pybase64-1.5.2/src/pybase64/_pybase64.c 2026-11-11 10:04:55.896823000 
+0100
@@ -922,6 +922,7 @@
 
     int use_alphabet = 0;
     int use_alphabet_for_ignore_chars;
+    int user_ignorechars;
     int has_bad_char = 0;
     char alphabet[2];
     int validation;
@@ -971,6 +972,8 @@
         return NULL;
     }
 
+    user_ignorechars = (ignorechars_object != NULL);
+
     /* default to fast path when validation is true */
     fast_path = validation;
 
@@ -992,7 +995,7 @@
         if (ignorechars_object == NULL) {
             return NULL;
         }
-        if (validation) {
+        if (validation && user_ignorechars) {
             translate_fn = &translate;
         }
         if ((ignorechars_buffer.len == 0) && padded) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/src/pybase64/_version.py 
new/pybase64-1.5.2/src/pybase64/_version.py
--- old/pybase64-1.5.1/src/pybase64/_version.py 2026-10-04 14:21:37.056132800 
+0200
+++ new/pybase64-1.5.2/src/pybase64/_version.py 2026-11-11 10:04:55.896823000 
+0100
@@ -1,3 +1,3 @@
 from __future__ import annotations
 
-_version = "1.5.1"
+_version = "1.5.2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/src/pybase64.egg-info/PKG-INFO 
new/pybase64-1.5.2/src/pybase64.egg-info/PKG-INFO
--- old/pybase64-1.5.1/src/pybase64.egg-info/PKG-INFO   2026-10-04 
14:21:39.916967600 +0200
+++ new/pybase64-1.5.2/src/pybase64.egg-info/PKG-INFO   2026-11-11 
10:04:58.660615000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: pybase64
-Version: 1.5.1
+Version: 1.5.2
 Summary: Fast Base64 encoding/decoding
 Author: Matthieu Darbois
 License-Expression: BSD-2-Clause
@@ -184,6 +184,13 @@
 
 Changelog
 =========
+1.5.2
+-----
+- Fix deprecated altchars handling when decoding with ``padded=False``
+- Publish PyPy 3.12 wheels
+- PyPy 3.11 wheels moved from ``pp311-pypy311_pp73`` to ``pp311-pypy311_pp80``
+- Publish GraalPy 3.13 wheels
+
 1.5.1
 -----
 - Fix a Py_buffer Use-After-Release in error paths
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/src/pybase64.egg-info/SOURCES.txt 
new/pybase64-1.5.2/src/pybase64.egg-info/SOURCES.txt
--- old/pybase64-1.5.1/src/pybase64.egg-info/SOURCES.txt        2026-10-04 
14:21:39.922883500 +0200
+++ new/pybase64-1.5.2/src/pybase64.egg-info/SOURCES.txt        2026-11-11 
10:04:58.671138800 +0100
@@ -83,6 +83,8 @@
 base64/test/ci/checksums.txt
 base64/test/ci/test.sh
 base64/test/ci/😵‍💫.bin
+base64/test/cmake/CMakeLists.txt
+base64/test/cmake/main.c
 src/pybase64/__init__.py
 src/pybase64/__main__.py
 src/pybase64/_fallback.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pybase64-1.5.1/tests/test_pybase64.py 
new/pybase64-1.5.2/tests/test_pybase64.py
--- old/pybase64-1.5.1/tests/test_pybase64.py   2026-10-04 14:21:37.056759600 
+0200
+++ new/pybase64-1.5.2/tests/test_pybase64.py   2026-11-11 10:04:55.897822900 
+0100
@@ -539,6 +539,27 @@
 
 
 @utils.param_simd
+@param_validate
+@param_decode_functions
+def test_warning_data_dec_unpadded(
+    dfn: Decode,
+    validate: bool,
+    simd: int,
+) -> None:
+    utils.unused_args(simd)  # simd is a parameter in order to control the 
order of tests
+    exception, match = {
+        True: (DeprecationWarning, r"invalid character.*will be an error in 
future"),
+        False: (FutureWarning, r"invalid character.*will be discarded in 
future"),
+    }[validate]
+    src_slice = 16 * 1024
+    vector_ = "+/" + "A" * (src_slice - 2) + "AAAA"
+    for vector in [vector_, vector_[:4], vector_[:3]]:
+        expected = base64.b64decode(vector + "=" * (-len(vector) % 4))
+        with pytest.warns(exception, match=match):
+            assert dfn(vector, b"-_", validate=validate, padded=False) == 
expected
+
+
[email protected]_simd
 @param_decode_functions
 def test_altchars_translation(
     dfn: Decode,

Reply via email to