Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-orjson for openSUSE:Factory checked in at 2026-05-13 17:18:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-orjson (Old) and /work/SRC/openSUSE:Factory/.python-orjson.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-orjson" Wed May 13 17:18:31 2026 rev:17 rq:1352654 version:3.11.9 Changes: -------- --- /work/SRC/openSUSE:Factory/python-orjson/python-orjson.changes 2026-04-19 14:20:59.377180759 +0200 +++ /work/SRC/openSUSE:Factory/.python-orjson.new.1966/python-orjson.changes 2026-05-13 17:18:40.101625306 +0200 @@ -1,0 +2,10 @@ +Fri May 8 14:43:37 UTC 2026 - Nico Krapp <[email protected]> + +- Update to 3.11.9 + * Build now depends on Rust 1.95 or later instead of 1.89. + * Fix building on Rust 1.95. +- switch to tar_scm source service since link to upstream tarball was missing +- drop devendoring script in favor of excludes in tar_scm service +- update test dependencies + +------------------------------------------------------------------- Old: ---- PACKAGING_README.md devendor-sdist.sh orjson-3.11.8-devendored.tar.xz New: ---- orjson-3.11.9.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-orjson.spec ++++++ --- /var/tmp/diff_new_pack.hYOIyn/_old 2026-05-13 17:18:40.981662073 +0200 +++ /var/tmp/diff_new_pack.hYOIyn/_new 2026-05-13 17:18:40.981662073 +0200 @@ -18,31 +18,36 @@ %{?sle15_python_module_pythons} Name: python-orjson -Version: 3.11.8 +Version: 3.11.9 Release: 0 Summary: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy License: (Apache-2.0 OR MIT) AND MPL-2.0 URL: https://github.com/ijl/orjson -# Update: Change version and run `osc rm orjson-*.tar.gz && osc service runall download_files && sh ./devendor-sdist.sh && osc service runall cargo_vendor` -Source0: orjson-%{version}-devendored.tar.xz +Source0: orjson-%{version}.tar.xz Source1: vendor.tar.xz -Source3: devendor-sdist.sh -Source4: PACKAGING_README.md BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module maturin >= 1.9.2} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} +# Requires rust 1.95 since v3.11.9 BuildRequires: cargo-packaging BuildRequires: fdupes BuildRequires: python-rpm-macros +# TODO: de-vendor yyjson in include/yyjson +# BuildRequires: yyjson-devel + # SECTION test requirements +BuildRequires: %{python_module Faker} BuildRequires: %{python_module numpy} -BuildRequires: %{python_module psutil} BuildRequires: %{python_module pytest} BuildRequires: %{python_module python-dateutil} BuildRequires: %{python_module pytz} -BuildRequires: %{python_module xxhash} +%ifarch x86_64 +BuildRequires: %{python_module pendulum} +BuildRequires: %{python_module psutil} +%endif + BuildRequires: timezone # /SECTION %python_subpackages ++++++ _service ++++++ --- /var/tmp/diff_new_pack.hYOIyn/_old 2026-05-13 17:18:41.021663744 +0200 +++ /var/tmp/diff_new_pack.hYOIyn/_new 2026-05-13 17:18:41.029664079 +0200 @@ -1,8 +1,19 @@ <services> + <service name="tar_scm" mode="manual"> + <param name="url">https://github.com/ijl/orjson</param> + <param name="revision">3.11.9</param> + <param name="versionformat">@PARENT_TAG@</param> + <param name="scm">git</param> + <param name="exclude">(Cargo.lock|.cargo/*|bench/*)</param> + </service> + <service name="recompress" mode="manual"> + <param name="compression">xz</param> + <param name="file">*.tar</param> + </service> <service name="cargo_vendor" mode="manual"> - <param name="srctar">orjson-*-devendored.tar.xz</param> + <param name="srctar">orjson-*.tar.xz</param> <param name="compression">xz</param> - <param name="update">true</param> + <param name="update">false</param> </service> <service name="cargo_audit" mode="manual"></service> </services> ++++++ orjson-3.11.8-devendored.tar.xz -> orjson-3.11.9.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/.github/actions/manylinux/action.yaml new/orjson-3.11.9/.github/actions/manylinux/action.yaml --- old/orjson-3.11.8/.github/actions/manylinux/action.yaml 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/.github/actions/manylinux/action.yaml 2026-05-06 16:12:18.000000000 +0200 @@ -1,5 +1,5 @@ # SPDX-License-Identifier: MPL-2.0 -# Copyright ijl (2024-2025) +# Copyright ijl (2024-2026) name: manylinux @@ -12,6 +12,8 @@ required: true compatibility: required: true + packages: + required: true runs: using: "composite" @@ -32,9 +34,8 @@ fi export TARGET="${{ inputs.arch }}-unknown-linux-gnu" - export PATH="$PWD/.venv:$HOME/.cargo/bin:$PATH" - ./script/install-fedora + ./script/install-fedora "${{ inputs.packages }}" source "${VENV}/bin/activate" @@ -48,10 +49,4 @@ uv pip install ${CARGO_TARGET_DIR}/wheels/orjson*.whl - export PYTHONMALLOC="debug" - pytest -v test - ./integration/run thread - ./integration/run http - ./integration/run init - cp ${CARGO_TARGET_DIR}/wheels/orjson*.whl dist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/.github/workflows/artifact.yaml new/orjson-3.11.9/.github/workflows/artifact.yaml --- old/orjson-3.11.8/.github/workflows/artifact.yaml 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/.github/workflows/artifact.yaml 2026-05-06 16:12:18.000000000 +0200 @@ -7,8 +7,8 @@ FORCE_COLOR: "1" ORJSON_BUILD_FREETHREADED: "1" PIP_DISABLE_PIP_VERSION_CHECK: "1" - RUST_TOOLCHAIN: "nightly-2026-03-28" - RUST_TOOLCHAIN_STABLE: "1.89" + RUST_TOOLCHAIN: "nightly-2026-05-01" + RUST_TOOLCHAIN_STABLE: "1.95" UNSAFE_PYO3_BUILD_FREE_THREADED: "1" UNSAFE_PYO3_SKIP_VERSION_CHECK: "1" UV_LINK_MODE: "copy" @@ -35,7 +35,7 @@ - name: Cargo.toml and pyproject.toml version must match run: ./script/check-version - - run: python3 -m pip install --user --upgrade pip "maturin>=1.12,<2" wheel + - run: python3 -m pip install --user --upgrade pip "maturin>=1.13.1,<2" wheel - name: Vendor dependencies run: | @@ -91,14 +91,15 @@ { interpreter: 'python3.10', compatibility: "manylinux_2_17", publish: true }, ] arch: [ - { runner: "ubuntu-24.04", arch: "x86_64", features: "avx512", }, - { runner: "ubuntu-24.04-arm", arch: "aarch64", features: "generic_simd" }, + { runner: "ubuntu-24.04", arch: "x86_64", features: "avx512,optimize,no_panic", }, + { runner: "ubuntu-24.04-arm", arch: "aarch64", features: "generic_simd,optimize,no_panic" }, ] env: CARGO_TARGET_DIR: "/tmp/orjson" CC: "clang" CFLAGS: "-O2 -fstrict-aliasing -fno-plt -emit-llvm" LDFLAGS: "-fuse-ld=lld -Wl,-plugin-opt=also-emit-llvm -Wl,--as-needed -Wl,-zrelro,-znow" + PATH: "/__w/orjson/orjson/.venv/bin:/github/home/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" RUSTFLAGS: "-Z unstable-options -C panic=immediate-abort -C linker=clang -C link-arg=-fuse-ld=lld -C linker-plugin-lto -C link-arg=-Wl,-zrelro,-znow -Z mir-opt-level=4 -Z threads=4 -D warnings" VENV: ".venv" steps: @@ -117,6 +118,23 @@ interpreter: "${{ matrix.python.interpreter }}" features: "${{ matrix.arch.features }}" compatibility: "${{ matrix.python.compatibility }}" + packages: "" + + - run: pytest -v test + env: + PYTHONMALLOC: "debug" + + - run: ./integration/run thread + env: + PYTHONMALLOC: "debug" + + - run: ./integration/run http + env: + PYTHONMALLOC: "debug" + + - run: ./integration/run init + env: + PYTHONMALLOC: "debug" - name: Store wheels if: matrix.python.publish == true @@ -146,16 +164,16 @@ matrix: python: [ { interpreter: 'python3.14', abi: 'cp314-cp314', manylinux: 'manylinux_2_17', maturin-version: 'v1.11.5', publish: true }, - { interpreter: 'python3.13', abi: 'cp313-cp313', manylinux: 'manylinux_2_17', maturin-version: 'v1.12.6', publish: true }, - { interpreter: 'python3.12', abi: 'cp312-cp312', manylinux: 'manylinux_2_17', maturin-version: 'v1.12.6', publish: true }, - { interpreter: 'python3.11', abi: 'cp311-cp311', manylinux: 'manylinux_2_17', maturin-version: 'v1.12.6', publish: true }, - { interpreter: 'python3.10', abi: 'cp310-cp310', manylinux: 'manylinux_2_17', maturin-version: 'v1.12.6', publish: true }, + { interpreter: 'python3.13', abi: 'cp313-cp313', manylinux: 'manylinux_2_17', maturin-version: 'v1.13.1', publish: true }, + { interpreter: 'python3.12', abi: 'cp312-cp312', manylinux: 'manylinux_2_17', maturin-version: 'v1.13.1', publish: true }, + { interpreter: 'python3.11', abi: 'cp311-cp311', manylinux: 'manylinux_2_17', maturin-version: 'v1.13.1', publish: true }, + { interpreter: 'python3.10', abi: 'cp310-cp310', manylinux: 'manylinux_2_17', maturin-version: 'v1.13.1', publish: true }, ] target: [ { arch: 'i686', cflags: '-Os -fstrict-aliasing', - features: 'no_panic', + features: 'no_panic,optimize', image: 'quay.io/pypa/manylinux_2_28_i686:latest', runner: "ubuntu-24.04", rustflags: '-Z unstable-options -C panic=immediate-abort -Z mir-opt-level=4 -D warnings', @@ -164,7 +182,7 @@ { arch: 'armv7', cflags: '-Os -fstrict-aliasing', - features: 'no_panic', + features: 'no_panic,optimize', image: 'ghcr.io/rust-cross/manylinux_2_28-cross:armv7', runner: "ubuntu-24.04-arm", rustflags: '-Z unstable-options -C panic=immediate-abort -Z mir-opt-level=4 -D warnings -C opt-level=s', @@ -173,7 +191,7 @@ { arch: 'ppc64le', cflags: '-Os -fstrict-aliasing', - features: 'generic_simd,no_panic', + features: 'generic_simd,no_panic,optimize', image: 'ghcr.io/rust-cross/manylinux_2_28-cross:ppc64le', runner: "ubuntu-24.04", rustflags: '-Z unstable-options -C panic=immediate-abort -Z mir-opt-level=4 -D warnings', @@ -182,7 +200,7 @@ { arch: 's390x', cflags: '-Os -fstrict-aliasing -march=z10', - features: 'no_panic', + features: 'no_panic,optimize', image: 'ghcr.io/rust-cross/manylinux_2_28-cross:s390x', runner: "ubuntu-24.04", rustflags: '-Z unstable-options -C panic=immediate-abort -Z mir-opt-level=4 -D warnings -C target-cpu=z10', @@ -271,11 +289,11 @@ - target: x86_64-unknown-linux-musl arch: x86_64 platform: linux/amd64 - features: avx512,unwind + features: avx512,no_panic,optimize,unwind - target: i686-unknown-linux-musl arch: i686 platform: linux/386 - features: unwind + features: no_panic,optimize,unwind steps: - uses: actions/checkout@v6 @@ -347,11 +365,11 @@ - target: aarch64-unknown-linux-musl arch: aarch64 platform: linux/arm64 - features: generic_simd,no_panic,unwind + features: generic_simd,no_panic,optimize,unwind - target: armv7-unknown-linux-musleabihf arch: armv7l platform: linux/arm/v7 - features: no_panic + features: no_panic,optimize steps: - uses: actions/checkout@v6 @@ -447,7 +465,7 @@ curl -LsSf https://astral.sh/uv/install.sh | sh uv venv --python python${{ matrix.python.version }} - uv pip install --upgrade "maturin>=1.12,<2" -r test/requirements.txt -r integration/requirements.txt + uv pip install --upgrade "maturin>=1.13.1,<2" -r test/requirements.txt -r integration/requirements.txt mkdir .cargo cp ci/config.toml .cargo/config.toml @@ -461,7 +479,7 @@ maturin build \ --release \ --strip \ - --features=generic_simd,no_panic \ + --features=generic_simd,no_panic,optimize \ --interpreter python${{ matrix.python.version }} \ --target=aarch64-apple-darwin uv pip install target/wheels/orjson*.whl @@ -533,7 +551,7 @@ curl -LsSf https://astral.sh/uv/install.sh | sh uv venv --python python${{ matrix.python.version }} - uv pip install --upgrade "maturin>=1.12,<2" -r test/requirements.txt -r integration/requirements.txt + uv pip install --upgrade "maturin>=1.13.1,<2" -r test/requirements.txt -r integration/requirements.txt mkdir .cargo cp ci/config.toml .cargo/config.toml @@ -547,7 +565,7 @@ maturin build \ --release \ --strip \ - --features=generic_simd,no_panic \ + --features=generic_simd,no_panic,optimize \ --interpreter python${{ matrix.python.version }} \ --target=universal2-apple-darwin uv pip install target/wheels/orjson*.whl @@ -586,8 +604,8 @@ { version: '3.10', publish: true }, ] platform: [ - { arch: "x64", target: "x86_64-pc-windows-msvc", features: "avx512,no_panic" }, - { arch: "x86", target: "i686-pc-windows-msvc", features: "no_panic" }, + { arch: "x64", target: "x86_64-pc-windows-msvc", features: "avx512,no_panic,optimize" }, + { arch: "x86", target: "i686-pc-windows-msvc", features: "no_panic,optimize" }, ] env: CFLAGS: "-O2" @@ -617,7 +635,7 @@ run: | cargo fetch --target "${{ matrix.platform.target }}" & - python.exe -m pip install --upgrade pip "maturin>=1.12,<2" wheel + python.exe -m pip install --upgrade pip "maturin>=1.13.1,<2" wheel python.exe -m pip install -r test\requirements.txt mkdir .cargo @@ -688,7 +706,7 @@ cargo fetch --target "$" & python.exe -m sysconfig - python.exe -m pip install --upgrade pip "maturin>=1.12,<2" wheel + python.exe -m pip install --upgrade pip "maturin>=1.13.1,<2" wheel python.exe -m pip install -r test\requirements.txt mkdir .cargo @@ -696,7 +714,7 @@ - name: maturin run: | - maturin.exe build --release --strip --features=generic_simd,no_panic --target="$env:TARGET" + maturin.exe build --release --strip --features=generic_simd,no_panic,optimize --target="$env:TARGET" python.exe -m pip install orjson --no-index --find-links target\wheels - run: python.exe -m pytest -s -rxX -v test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/.github/workflows/unusual.yaml new/orjson-3.11.9/.github/workflows/unusual.yaml --- old/orjson-3.11.8/.github/workflows/unusual.yaml 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/.github/workflows/unusual.yaml 2026-05-06 16:12:18.000000000 +0200 @@ -14,9 +14,9 @@ fail-fast: false matrix: cfg: [ - { rust: "1.89", python: "3.15", version_check: "1" }, - { rust: "1.89", python: "3.14", version_check: "0" }, - { rust: "1.89", python: "3.10", version_check: "0" }, + { rust: "1.95", python: "3.15", version_check: "1" }, + { rust: "1.95", python: "3.14", version_check: "0" }, + { rust: "1.95", python: "3.10", version_check: "0" }, ] steps: - run: curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain ${{ matrix.cfg.rust }} --profile minimal -y @@ -26,7 +26,7 @@ python-version: '${{ matrix.cfg.python }}' allow-prereleases: true - - run: python -m pip install --user --upgrade pip "maturin>=1.12,<2" wheel + - run: python -m pip install --user --upgrade pip "maturin>=1.13.1,<2" wheel - uses: actions/checkout@v6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/CHANGELOG.md new/orjson-3.11.9/CHANGELOG.md --- old/orjson-3.11.8/CHANGELOG.md 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/CHANGELOG.md 2026-05-06 16:12:18.000000000 +0200 @@ -1,6 +1,17 @@ # Changelog +## 3.11.9 - 2026-05-06 + +### Changed + +- Build now depends on Rust 1.95 or later instead of 1.89. + +### Fixed + +- Fix building on Rust 1.95. + + ## 3.11.8 - 2026-03-31 ### Changed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/Cargo.toml new/orjson-3.11.9/Cargo.toml --- old/orjson-3.11.8/Cargo.toml 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/Cargo.toml 2026-05-06 16:12:18.000000000 +0200 @@ -1,12 +1,12 @@ [package] name = "orjson" -version = "3.11.8" +version = "3.11.9" authors = ["ijl <[email protected]>"] description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" repository = "https://github.com/ijl/orjson" edition = "2024" resolver = "3" -rust-version = "1.89" +rust-version = "1.95" license = "MPL-2.0 AND (Apache-2.0 OR MIT)" keywords = ["fast", "json", "dataclass", "dataclasses", "datetime", "rfc", "8259", "3339"] include = [ @@ -33,9 +33,7 @@ # Avoid bundling libgcc on musl. unwind = ["unwinding"] -# Features detected by build.rs. Do not specify. avx512 = [] -cold_path = [] generic_simd = [] inline_int = [] inline_str = [] @@ -61,7 +59,6 @@ [build-dependencies] cc = { version = "1" } pyo3-build-config = { version = "0.28" } -version_check = { version = "0.9" } [profile.dev] codegen-units = 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/README.md new/orjson-3.11.9/README.md --- old/orjson-3.11.8/README.md 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/README.md 2026-05-06 16:12:18.000000000 +0200 @@ -1069,7 +1069,7 @@ ## Packaging -To package orjson requires at least [Rust](https://www.rust-lang.org/) 1.89, +To package orjson requires at least [Rust](https://www.rust-lang.org/) 1.95, a C compiler, and the [maturin](https://github.com/PyO3/maturin) build tool. The recommended build command is: @@ -1077,7 +1077,7 @@ maturin build --release --strip ``` -The project's own CI tests against `nightly-2026-03-28` and stable 1.89. It +The project's own CI tests against `nightly-2026-05-01` and stable 1.95. It is prudent to pin the nightly version because that channel can introduce breaking changes. There is a significant performance benefit to using nightly. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/bench/benchmark_dumps.py new/orjson-3.11.9/bench/benchmark_dumps.py --- old/orjson-3.11.8/bench/benchmark_dumps.py 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/bench/benchmark_dumps.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -# SPDX-License-Identifier: (Apache-2.0 OR MIT) -# Copyright ijl (2020-2026), Aarni Koskela (2021) - -from json import loads as json_loads - -import pytest - -from .data import FIXTURE_AS_OBJECTS, FIXTURE_NAMES, LIBRARIES - - [email protected]("library", LIBRARIES) [email protected]("fixture", FIXTURE_NAMES) -def test_dumps(benchmark, fixture, library): - dumper, _ = LIBRARIES[library] - benchmark.group = f"{fixture} serialization" - benchmark.extra_info["lib"] = library - data = FIXTURE_AS_OBJECTS[fixture] - benchmark.extra_info["correct"] = json_loads(dumper(data)) == data # type: ignore - benchmark(dumper, data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/bench/benchmark_loads.py new/orjson-3.11.9/bench/benchmark_loads.py --- old/orjson-3.11.8/bench/benchmark_loads.py 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/bench/benchmark_loads.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -# SPDX-License-Identifier: (Apache-2.0 OR MIT) -# Copyright ijl (2020-2026), Aarni Koskela (2021) - -from json import loads as json_loads - -import pytest - -from .data import FIXTURE_AS_BYTES, FIXTURE_NAMES, LIBRARIES - - [email protected]("fixture", FIXTURE_NAMES) [email protected]("library", LIBRARIES) -def test_loads(benchmark, fixture, library): - dumper, loader = LIBRARIES[library] - benchmark.group = f"{fixture} deserialization" - benchmark.extra_info["lib"] = library - data = FIXTURE_AS_BYTES[fixture] - correct = json_loads(dumper(loader(data))) == json_loads(data) # type: ignore - benchmark.extra_info["correct"] = correct - benchmark(loader, data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/bench/data.py new/orjson-3.11.9/bench/data.py --- old/orjson-3.11.8/bench/data.py 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/bench/data.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: (Apache-2.0 OR MIT) -# Copyright ijl (2019-2026), Aarni Koskela (2021) - -import gc -from json import dumps as _json_dumps -from json import loads as json_loads - -from orjson import dumps as orjson_dumps -from orjson import loads as orjson_loads - -from .util import read_fixture - - -def json_dumps(obj): - return _json_dumps(obj).encode("utf-8") - - -LIBRARIES = { - "orjson": (orjson_dumps, orjson_loads), - "json": (json_dumps, json_loads), -} - - -FIXTURE_NAMES = ( - "canada.json", - "citm_catalog.json", - "github.json", - "twitter.json", -) - -FIXTURE_AS_BYTES = {name: read_fixture(f"{name}.xz") for name in FIXTURE_NAMES} - -FIXTURE_AS_OBJECTS = { - name: orjson_loads(FIXTURE_AS_BYTES[name]) for name in FIXTURE_NAMES -} - - -if hasattr(gc, "freeze"): - gc.freeze() -if hasattr(gc, "collect"): - gc.collect() -if hasattr(gc, "disable"): - gc.disable() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/bench/requirements.txt new/orjson-3.11.9/bench/requirements.txt --- old/orjson-3.11.8/bench/requirements.txt 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/bench/requirements.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -memory-profiler; python_version<"3.15" and implementation_name=="cpython" -pandas; python_version<"3.15" and implementation_name=="cpython" -pytest-benchmark -pytest-random-order -seaborn; python_version<"3.15" and implementation_name=="cpython" -tabulate diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/bench/run_func new/orjson-3.11.9/bench/run_func --- old/orjson-3.11.8/bench/run_func 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/bench/run_func 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -#!/usr/bin/env python3 -# SPDX-License-Identifier: (Apache-2.0 OR MIT) -# Copyright ijl (2018-2025), Aarni Koskela (2021) - -import sys -import lzma -import os -import gc - -if hasattr(os, "sched_setaffinity"): - os.sched_setaffinity(os.getpid(), {0, 1}) - -from orjson import dumps, loads - -filename = sys.argv[1] -n = int(sys.argv[3]) if len(sys.argv) >= 4 else 1000 - -with lzma.open(filename, "r") as fileh: - file_bytes = fileh.read() - -if hasattr(gc, "freeze"): - gc.freeze() -if hasattr(gc, "collect"): - gc.collect() -if hasattr(gc, "disable"): - gc.disable() - -if sys.argv[2] == "dumps": - file_obj = loads(file_bytes) - for _ in range(n): - _ = dumps(file_obj) -elif sys.argv[2] == "loads": - for _ in range(n): - _ = loads(file_bytes) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/bench/util.py new/orjson-3.11.9/bench/util.py --- old/orjson-3.11.8/bench/util.py 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/bench/util.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -# SPDX-License-Identifier: (Apache-2.0 OR MIT) -# Copyright ijl (2018-2022), Aarni Koskela (2021) - -import lzma -import os -from pathlib import Path - -dirname = os.path.join(os.path.dirname(__file__), "../data") - -if hasattr(os, "sched_setaffinity"): - os.sched_setaffinity(os.getpid(), {0, 1}) - - -def read_fixture(filename: str) -> bytes: - path = Path(dirname, filename) - if path.suffix == ".xz": - contents = lzma.decompress(path.read_bytes()) - else: - contents = path.read_bytes() - return contents diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/build.rs new/orjson-3.11.9/build.rs --- old/orjson-3.11.8/build.rs 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/build.rs 2026-05-06 16:12:18.000000000 +0200 @@ -24,8 +24,7 @@ println!("cargo:rustc-cfg=feature=\"inline_str\""); } } - pyo3_build_config::PythonImplementation::GraalPy => not_supported("GraalPy"), - pyo3_build_config::PythonImplementation::PyPy => not_supported("PyPy"), + _ => not_supported(&python_config.implementation.to_string()), } for cfg in python_config.build_script_outputs() { @@ -39,7 +38,6 @@ println!("cargo:rerun-if-env-changed=LDFLAGS"); println!("cargo:rerun-if-env-changed=ORJSON_BUILD_FREETHREADED"); println!("cargo:rerun-if-env-changed=RUSTFLAGS"); - println!("cargo:rustc-check-cfg=cfg(cold_path)"); println!("cargo:rustc-check-cfg=cfg(CPython)"); println!("cargo:rustc-check-cfg=cfg(GraalPy)"); println!("cargo:rustc-check-cfg=cfg(optimize)"); @@ -58,21 +56,6 @@ println!("cargo:rustc-cfg=feature=\"avx512\""); } - #[cfg(target_arch = "aarch64")] - if version_check::supports_feature("portable_simd").unwrap_or(false) { - println!("cargo:rustc-cfg=feature=\"generic_simd\""); - } - - if version_check::is_min_version("1.95.0") - .unwrap_or(version_check::supports_feature("cold_path").unwrap_or(false)) - { - println!("cargo:rustc-cfg=feature=\"cold_path\""); - } - - if version_check::supports_feature("optimize_attribute").unwrap_or(false) { - println!("cargo:rustc-cfg=feature=\"optimize\""); - } - cc::Build::new() .file("include/yyjson/yyjson.c") .include("include/yyjson") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/pyproject.toml new/orjson-3.11.9/pyproject.toml --- old/orjson-3.11.8/pyproject.toml 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/pyproject.toml 2026-05-06 16:12:18.000000000 +0200 @@ -1,6 +1,6 @@ [project] name = "orjson" -version = "3.11.8" +version = "3.11.9" repository = "https://github.com/ijl/orjson" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" requires-python = ">=3.10" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/script/develop new/orjson-3.11.9/script/develop --- old/orjson-3.11.8/script/develop 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/script/develop 2026-05-06 16:12:18.000000000 +0200 @@ -22,6 +22,6 @@ rm -f ${CARGO_TARGET_DIR}/wheels/*.whl -maturin build --target="${TARGET}" --features=no_panic --compatibility="${ORJSON_COMPATIBILITY}" "$@" +maturin build --target="${TARGET}" --features=no_panic,optimize --compatibility="${ORJSON_COMPATIBILITY}" --release uv pip install --link-mode=copy ${CARGO_TARGET_DIR}/wheels/*.whl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/script/install-fedora new/orjson-3.11.9/script/install-fedora --- old/orjson-3.11.8/script/install-fedora 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/script/install-fedora 2026-05-06 16:12:18.000000000 +0200 @@ -5,9 +5,18 @@ export VENV="${VENV:-.venv}" export CARGO_TARGET_DIR="${CARGO_TARGET_DIR:-target}" -rm /etc/yum.repos.d/fedora-cisco-openh264.repo || true +rm -f /etc/yum.repos.d/fedora-cisco-openh264.repo || true +echo 'max_parallel_downloads=10' >> /etc/dnf/dnf.conf +echo 'timeout=1' >> /etc/dnf/dnf.conf -dnf install --setopt=install_weak_deps=false -y rustup clang lld "${PYTHON_PACKAGE}" python3-uv +packages="rustup clang lld "${PYTHON_PACKAGE}" python3-uv" + +if [[ $# -gt 1 ]]; then + packages="${packages} $@" +fi + + +dnf install --setopt=install_weak_deps=false -y $packages rustup-init --default-toolchain "${RUST_TOOLCHAIN}-${TARGET}" --profile minimal --component rust-src -y source "${HOME}/.cargo/env" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/src/lib.rs new/orjson-3.11.9/src/lib.rs --- old/orjson-3.11.8/src/lib.rs 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/src/lib.rs 2026-05-06 16:12:18.000000000 +0200 @@ -1,11 +1,10 @@ // SPDX-License-Identifier: MPL-2.0 // Copyright ijl (2018-2026) -#![cfg_attr(feature = "cold_path", feature(cold_path))] #![cfg_attr(feature = "generic_simd", feature(portable_simd))] #![cfg_attr(feature = "optimize", feature(optimize_attribute))] #![allow(unused_features)] // portable_simd on universal2 cross-compile -#![allow(stable_features)] // MSRV 1.95, cold_path +#![allow(stable_features)] #![allow(static_mut_refs)] #![allow(unused_unsafe)] #![warn(clippy::complexity)] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/orjson-3.11.8/src/util.rs new/orjson-3.11.9/src/util.rs --- old/orjson-3.11.8/src/util.rs 2026-03-31 17:25:41.000000000 +0200 +++ new/orjson-3.11.9/src/util.rs 2026-05-06 16:12:18.000000000 +0200 @@ -53,7 +53,6 @@ macro_rules! cold_path { () => { - #[cfg(feature = "cold_path")] core::hint::cold_path(); }; } ++++++ vendor.tar.xz ++++++ ++++ 528465 lines of diff (skipped)
