Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pylsqpack for
openSUSE:Factory checked in at 2026-01-28 15:05:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pylsqpack (Old)
and /work/SRC/openSUSE:Factory/.python-pylsqpack.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pylsqpack"
Wed Jan 28 15:05:36 2026 rev:7 rq:1329413 version:0.3.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pylsqpack/python-pylsqpack.changes
2025-04-30 19:02:35.885863106 +0200
+++
/work/SRC/openSUSE:Factory/.python-pylsqpack.new.1928/python-pylsqpack.changes
2026-01-28 15:05:54.042888707 +0100
@@ -1,0 +2,9 @@
+Tue Jan 27 07:06:33 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.3.23:
+ * update ls-qpack to latest version
+ * Support 3.14, drop python 3.9
+ * binding: store reference to xhdr buffer
+ * binding: add sanity asserts
+
+-------------------------------------------------------------------
Old:
----
pylsqpack-0.3.20.tar.gz
New:
----
pylsqpack-0.3.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pylsqpack.spec ++++++
--- /var/tmp/diff_new_pack.Vrz3F9/_old 2026-01-28 15:05:55.934967552 +0100
+++ /var/tmp/diff_new_pack.Vrz3F9/_new 2026-01-28 15:05:55.934967552 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pylsqpack
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-pylsqpack
-Version: 0.3.20
+Version: 0.3.23
Release: 0
Summary: Python ls-qpack QPACK library
License: BSD-3-Clause
++++++ pylsqpack-0.3.20.tar.gz -> pylsqpack-0.3.23.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/PKG-INFO
new/pylsqpack-0.3.23/PKG-INFO
--- old/pylsqpack-0.3.20/PKG-INFO 2025-04-06 17:36:53.419468900 +0200
+++ new/pylsqpack-0.3.23/PKG-INFO 2025-10-10 19:06:52.422104800 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: pylsqpack
-Version: 0.3.20
+Version: 0.3.23
Summary: Python wrapper for the ls-qpack QPACK library
Author-email: Jeremy Lainé <[email protected]>
License-Expression: BSD-3-Clause
@@ -12,13 +12,13 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP
-Requires-Python: >=3.9
+Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Dynamic: license-file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/pyproject.toml
new/pylsqpack-0.3.23/pyproject.toml
--- old/pylsqpack-0.3.20/pyproject.toml 2025-04-06 17:36:46.000000000 +0200
+++ new/pylsqpack-0.3.23/pyproject.toml 2025-10-10 19:06:42.000000000 +0200
@@ -6,7 +6,7 @@
name = "pylsqpack"
description = "Python wrapper for the ls-qpack QPACK library"
readme = "README.rst"
-requires-python = ">=3.9"
+requires-python = ">=3.10"
license = "BSD-3-Clause"
authors = [
{ name = "Jeremy Lainé", email = "[email protected]" },
@@ -18,11 +18,11 @@
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
"Topic :: Internet :: WWW/HTTP",
]
dynamic = ["version"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/setup.py
new/pylsqpack-0.3.23/setup.py
--- old/pylsqpack-0.3.20/setup.py 2025-04-06 17:36:46.000000000 +0200
+++ new/pylsqpack-0.3.23/setup.py 2025-10-10 19:06:42.000000000 +0200
@@ -20,7 +20,7 @@
python, abi, plat = super().get_tag()
if python.startswith("cp"):
- return "cp39", "abi3", plat
+ return "cp310", "abi3", plat
return python, abi, plat
@@ -29,7 +29,7 @@
ext_modules=[
setuptools.Extension(
"pylsqpack._binding",
- define_macros=[("Py_LIMITED_API", "0x03080000")],
+ define_macros=[("Py_LIMITED_API", "0x030A0000")],
extra_compile_args=extra_compile_args,
include_dirs=include_dirs,
py_limited_api=True,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/src/pylsqpack/__init__.py
new/pylsqpack-0.3.23/src/pylsqpack/__init__.py
--- old/pylsqpack-0.3.20/src/pylsqpack/__init__.py 2025-04-06
17:36:46.000000000 +0200
+++ new/pylsqpack-0.3.23/src/pylsqpack/__init__.py 2025-10-10
19:06:42.000000000 +0200
@@ -9,4 +9,4 @@
StreamBlocked,
)
-__version__ = "0.3.20"
+__version__ = "0.3.23"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/src/pylsqpack/binding.c
new/pylsqpack-0.3.23/src/pylsqpack/binding.c
--- old/pylsqpack-0.3.20/src/pylsqpack/binding.c 2025-04-06
17:36:46.000000000 +0200
+++ new/pylsqpack-0.3.23/src/pylsqpack/binding.c 2025-10-10
19:06:42.000000000 +0200
@@ -1,5 +1,7 @@
#define PY_SSIZE_T_CLEAN
+#include <assert.h>
+
#include <Python.h>
#include "lsqpack.h"
#include "lsxpack_header.h"
@@ -27,6 +29,8 @@
size_t data_len;
const unsigned char *data_ptr;
struct lsxpack_header xhdr;
+ // This buffer is owned by the header_block and is reused internally by
xhdr.
+ char *header_buffer;
uint64_t stream_id;
PyObject *headers;
};
@@ -49,7 +53,7 @@
free(hblock->data);
hblock->data = 0;
hblock->data_ptr = 0;
- free(hblock->xhdr.buf);
+ free(hblock->header_buffer);
Py_DECREF(hblock->headers);
free(hblock);
}
@@ -64,17 +68,18 @@
*/
static struct lsxpack_header *header_block_prepare_decode(void *opaque, struct
lsxpack_header *xhdr, size_t space) {
struct header_block *hblock = opaque;
- char *buf;
+ char *buf = realloc(hblock->header_buffer, space);
+ if (!buf) return NULL;
+ hblock->header_buffer = buf;
if (xhdr) {
- buf = realloc(xhdr->buf, space);
- if (!buf) return NULL;
+ assert(&hblock->xhdr == xhdr);
+ assert(space > xhdr->val_len);
+
xhdr->buf = buf;
xhdr->val_len = space;
} else {
xhdr = &hblock->xhdr;
- buf = malloc(space);
- if (!buf) return NULL;
lsxpack_header_prepare_decode(xhdr, buf, 0, space);
}
return xhdr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/src/pylsqpack.egg-info/PKG-INFO
new/pylsqpack-0.3.23/src/pylsqpack.egg-info/PKG-INFO
--- old/pylsqpack-0.3.20/src/pylsqpack.egg-info/PKG-INFO 2025-04-06
17:36:53.000000000 +0200
+++ new/pylsqpack-0.3.23/src/pylsqpack.egg-info/PKG-INFO 2025-10-10
19:06:52.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: pylsqpack
-Version: 0.3.20
+Version: 0.3.23
Summary: Python wrapper for the ls-qpack QPACK library
Author-email: Jeremy Lainé <[email protected]>
License-Expression: BSD-3-Clause
@@ -12,13 +12,13 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP
-Requires-Python: >=3.9
+Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Dynamic: license-file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/vendor/ls-qpack/.appveyor.yml
new/pylsqpack-0.3.23/vendor/ls-qpack/.appveyor.yml
--- old/pylsqpack-0.3.20/vendor/ls-qpack/.appveyor.yml 2025-04-06
17:36:47.000000000 +0200
+++ new/pylsqpack-0.3.23/vendor/ls-qpack/.appveyor.yml 2025-10-10
19:06:43.000000000 +0200
@@ -6,6 +6,9 @@
- c:\tools\vcpkg\installed
environment:
+ VCPKG_DEFAULT_TRIPLET: x64-windows
+ CMAKE_ZIP_URL:
'https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-windows-x86_64.zip'
+ CMAKE_INST_DIR: '%PROGRAMFILES(x86)%\CMake'
matrix:
- job_name: "Internal xxhash"
LSQPACK_XXH: ON
@@ -18,14 +21,15 @@
XXH_CMAKE: DISABLE
before_build:
+ - ps: 'iwr "${Env:CMAKE_ZIP_URL}" -outfile cmake.zip; if ($?) {
expand-archive cmake.zip cmake }'
+ - ps: '$dir = "${Env:CMAKE_INST_DIR}"; rm -r -fo "$dir"; mv cmake\* "$dir"'
- git -C c:\tools\vcpkg\ fetch
- - git -C c:\tools\vcpkg\ checkout 2024.08.23
+ - git -C c:\tools\vcpkg\ checkout 2025.04.09
- c:\tools\vcpkg\bootstrap-vcpkg.bat
- - vcpkg x-set-installed getopt:x64-windows xxhash:x64-windows
pkgconf:x64-windows
+ - vcpkg x-set-installed getopt xxhash pkgconf
- cmake .
-DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake
-DVCPKG_INSTALLED_DIR=c:/tools/vcpkg/installed
- -DVCPKG_TARGET_TRIPLET=x64-windows
-DPKG_CONFIG_EXECUTABLE=c:/tools/vcpkg/installed/x64-windows/tools/pkgconf/pkgconf.exe
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_GENERATOR_PLATFORM=x64
@@ -42,5 +46,6 @@
- set PATH=%PATH%;c:\projects\ls-qpack\bin\Debug
test_script:
- - dir
- - msbuild RUN_TESTS.vcxproj
+ - setlocal EnableDelayedExpansion & ctest -j -C Debug --output-junit
TestResults.xml & set LEVEL=!ERRORLEVEL! & dir
+ - curl -v -F "[email protected]"
"https://ci.appveyor.com/api/testresults/junit/%APPVEYOR_JOB_ID%"
+ - setlocal EnableDelayedExpansion & exit /b !LEVEL!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/vendor/ls-qpack/CMakeLists.txt
new/pylsqpack-0.3.23/vendor/ls-qpack/CMakeLists.txt
--- old/pylsqpack-0.3.20/vendor/ls-qpack/CMakeLists.txt 2025-04-06
17:36:47.000000000 +0200
+++ new/pylsqpack-0.3.23/vendor/ls-qpack/CMakeLists.txt 2025-10-10
19:06:43.000000000 +0200
@@ -13,7 +13,7 @@
LANGUAGES C
HOMEPAGE_URL "https://github.com/litespeedtech/ls-qpack"
DESCRIPTION "QPACK compression library for use with HTTP/3"
- VERSION 2.6.1)
+ VERSION 2.6.2)
option(LSQPACK_TESTS "Build tests")
option(LSQPACK_BIN "Build binaries" ON)
@@ -123,7 +123,8 @@
add_subdirectory(test)
endif()
-if(LSQPACK_BIN)
+# The executables are used within the test suite as well.
+if(LSQPACK_BIN OR LSQPACK_TESTS)
add_subdirectory(bin)
endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/vendor/ls-qpack/lsqpack.c
new/pylsqpack-0.3.23/vendor/ls-qpack/lsqpack.c
--- old/pylsqpack-0.3.20/vendor/ls-qpack/lsqpack.c 2025-04-06
17:36:47.000000000 +0200
+++ new/pylsqpack-0.3.23/vendor/ls-qpack/lsqpack.c 2025-10-10
19:06:43.000000000 +0200
@@ -39,6 +39,27 @@
#include <sys/types.h>
#include <inttypes.h>
+
+#if defined(__linux__)
+#include <endian.h>
+
+#elif defined(__APPLE__)
+
+#include <machine/endian.h>
+#define __BIG_ENDIAN BIG_ENDIAN
+#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#define __BYTE_ORDER BYTE_ORDER
+
+#elif (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__))
+
+#include <sys/endian.h>
+#define __BIG_ENDIAN BIG_ENDIAN
+#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#define __BYTE_ORDER BYTE_ORDER
+
+#elif WIN32
+#endif
+
#include "lsqpack.h"
#include "lsxpack_header.h"
@@ -53,15 +74,16 @@
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#ifdef _MSC_VER
-# define FALL_THROUGH
-#endif
-
#ifndef FALL_THROUGH
-# if defined __has_attribute && __has_attribute (fallthrough)
-# define FALL_THROUGH __attribute__ ((fallthrough))
+# if 201710L < __STDC_VERSION__
+# define FALL_THROUGH [[fallthrough]]
+# elif ((__GNUC__ >= 7 && !defined __clang__) \
+ || (defined __apple_build_version__ \
+ ? __apple_build_version__ >= 12000000 \
+ : __clang_major__ >= 10))
+# define FALL_THROUGH __attribute__((fallthrough))
# else
-# define FALL_THROUGH
+# define FALL_THROUGH ((void)0)
# endif
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/vendor/ls-qpack/lsqpack.h
new/pylsqpack-0.3.23/vendor/ls-qpack/lsqpack.h
--- old/pylsqpack-0.3.20/vendor/ls-qpack/lsqpack.h 2025-04-06
17:36:47.000000000 +0200
+++ new/pylsqpack-0.3.23/vendor/ls-qpack/lsqpack.h 2025-10-10
19:06:43.000000000 +0200
@@ -44,7 +44,7 @@
#define LSQPACK_MAJOR_VERSION 2
#define LSQPACK_MINOR_VERSION 6
-#define LSQPACK_PATCH_VERSION 1
+#define LSQPACK_PATCH_VERSION 2
/** Let's start with four billion for now */
typedef unsigned lsqpack_abs_id_t;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pylsqpack-0.3.20/vendor/ls-qpack/test/CMakeLists.txt
new/pylsqpack-0.3.23/vendor/ls-qpack/test/CMakeLists.txt
--- old/pylsqpack-0.3.20/vendor/ls-qpack/test/CMakeLists.txt 2025-04-06
17:36:47.000000000 +0200
+++ new/pylsqpack-0.3.23/vendor/ls-qpack/test/CMakeLists.txt 2025-10-10
19:06:43.000000000 +0200
@@ -1,3 +1,5 @@
+add_compile_definitions("TEST_DATA=\"${CMAKE_CURRENT_SOURCE_DIR}/testdata\"")
+
function(lsqpack_add_test TARGET)
add_executable(test_${TARGET} "")
target_sources(test_${TARGET} PRIVATE test_${TARGET}.c)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pylsqpack-0.3.20/vendor/ls-qpack/test/test_dyn_table_cap_mismatch.c
new/pylsqpack-0.3.23/vendor/ls-qpack/test/test_dyn_table_cap_mismatch.c
--- old/pylsqpack-0.3.20/vendor/ls-qpack/test/test_dyn_table_cap_mismatch.c
2025-04-06 17:36:47.000000000 +0200
+++ new/pylsqpack-0.3.23/vendor/ls-qpack/test/test_dyn_table_cap_mismatch.c
2025-10-10 19:06:43.000000000 +0200
@@ -36,8 +36,8 @@
size_t size = 0;
if (!encoder_stream)
{
- encoder_stream = fopen("../../test/testdata/encoder_stream", "r");
- response = fopen("../../test/testdata/response", "r");
+ encoder_stream = fopen(TEST_DATA "/encoder_stream", "r");
+ response = fopen(TEST_DATA "/response", "r");
}
while ((size = fread(buffer, 1, sizeof(buffer), encoder_stream)) > 0) {
lsqpack_dec_enc_in(&qpackDecoder, buffer, size);