Build: Bump zstandard from 0.24.0 to 0.25.0
Merged
Number: #2473
Type: Pull Request
State: Merged
Type: Pull Request
State: Merged
Author:
dependabot[bot]
Association: Contributor
Comments: 0
Association: Contributor
Comments: 0
Created:
September 15, 2025 at 10:12 PM UTC
(9 months ago)
(9 months ago)
Updated:
September 16, 2025 at 03:28 PM UTC
(9 months ago)
(9 months ago)
Merged:
September 16, 2025 at 03:28 PM UTC
(9 months ago)
by kevinjqliu
(9 months ago)
by kevinjqliu
Time to Close:
about 17 hours
Labels:
dependencies python
dependencies python
Description:
⚠️ Dependabot is rebasing this PR ⚠️
Rebasing might not happen immediately, so don't worry if this takes some time.
Note: if you make any changes to this PR yourself, they will take precedence over the rebase.
Bumps zstandard from 0.24.0 to 0.25.0.
Release notes
Sourced from zstandard's releases.
0.25.0
- PyO3 Rust created upgraded from 0.24 to 0.25. (#273)
- We now use
Py_REFCNT(obj)instead of accessing(*obj)->ob_refcntdirectly. This fixes a nogil / multi-threaded compile error. (#201, #275)- A zstandard commit to fix qsort detection on BSD operating systems has been backported. (#272)
- The
PYTHON_ZSTANDARD_IMPORT_POLICYenvironment variable now has leading and trailing whitespace stripped. Values likecffiandcffiare now equivalent tocffi.- The CI jobs for building wheels have been overhauled to always use
cibuildwheelanduv(where possible). This change should be backwards compatible. But wheel building for this project has historically been fragile and there may be unwanted changes. We're optimistic that standardizing on uv (except for musllinux ppc64le and s390x where uv isn't available) will lead to more stability over time.- CI now runs tests against the wheels we distribute. Previously, we ran tests against a separate build that was theoretically identical. But the builds may have been subtly different, leading to preventable bugs in our wheels. (Enabling this test coverage did not uncover any failures.)
- The
pyproject.tomlbuild backend has been switched fromsetuptools.build_meta:__legacy__tosetuptools.build_meta.- The setuptools build dependency has been upgraded from <69.0.0 to >=77.0.0. Modern versions of setuptools broke
--config-settings=--build-option=...as part of implementing PEP 660. A workaround is to use--config-settings=--global-option=...instead.--global-optionapparently is deprecated and the setuptools folks have yet to figure out how to thread config settings intosetup.pyinvocations. (--build-optionis sent to thebuild_wheelcommand but not thebuild_editablecommand.)- Python 3.14 wheels are now built with
manylinux_2_28(versusmanylinux2014) for older Python versions. This may raise the minimum glibc version, effectively dropping support for Debian 8 and 9, Ubuntu 13.10 through 18.04, Fedora 19 to 28, and RHEL/Centos 7. However, in practice most platforms don't container newer glibc symbols and are still ABI compatible withmanylinux2014and glibc 2.17.- We now require cffi >= 2.0.0b on Python 3.14. <3.14 still requires 1.17. (#274)
- The cffi backend is now automatically disabled for free-threaded builds on Python <3.14, as cffi didn't implement free-threaded support until the 2.0 release. (#274)
- Added CI coverage for free-threaded CPython 3.13 and 3.14. We do not yet formally support free-threaded builds. (#276)
- The C and Rust backends now declare the GIL as unused.
- The
pythoncapi_compat.hfile has been upgraded to the latest version. (#278)setup.pynow depends onpackagingand usespackaging.version.Versionfor version comparisons. This removes some deprecation warnings from usage of legacy distutilsVersionclasses.- Relax run-time libzstd version checking in C extension from exactly 1.5.7 to >=1.5.6. (#254, #267)
- C extension types now (correctly) declare their fully qualified type names
... (truncated)
Changelog
Sourced from zstandard's changelog.
0.25.0 (released 2025-09-14)
- PyO3 Rust created upgraded from 0.24 to 0.25. (#273)
- We now use
Py_REFCNT(obj)instead of accessing(*obj)->ob_refcntdirectly. This fixes a nogil / multi-threaded compile error. (#201, #275)- A zstandard commit to fix qsort detection on BSD operating systems has been backported. (#272)
- The
PYTHON_ZSTANDARD_IMPORT_POLICYenvironment variable now has leading and trailing whitespace stripped. Values likecffiandcffiare now equivalent tocffi.- The CI jobs for building wheels have been overhauled to always use
cibuildwheelanduv(where possible). This change should be backwards compatible. But wheel building for this project has historically been fragile and there may be unwanted changes. We're optimistic that standardizing on uv (except for musllinux ppc64le and s390x where uv isn't available) will lead to more stability over time.- CI now runs tests against the wheels we distribute. Previously, we ran tests against a separate build that was theoretically identical. But the builds may have been subtly different, leading to preventable bugs in our wheels. (Enabling this test coverage did not uncover any failures.)
- The
pyproject.tomlbuild backend has been switched fromsetuptools.build_meta:__legacy__tosetuptools.build_meta.- The setuptools build dependency has been upgraded from <69.0.0 to >=77.0.0. Modern versions of setuptools broke
--config-settings=--build-option=...as part of implementing PEP 660. A workaround is to use--config-settings=--global-option=...`` instead.--global-optionapparently is deprecated and the setuptools folks have yet to figure out how to thread config settings intosetup.pyinvocations. (`--build-optionis sent to thebuild_wheelcommand but not thebuild_editablecommand.)- Python 3.14 wheels are now built with
manylinux_2_28(versusmanylinux2014) for older Python versions. This may raise the minimum glibc version, effectively dropping support for Debian 8 and 9, Ubuntu 13.10 through 18.04, Fedora 19 to 28, and RHEL/Centos 7. However, in practice most platforms don't container newer glibc symbols and are still ABI compatible withmanylinux2014and glibc 2.17.- We now require cffi >= 2.0.0b on Python 3.14. <3.14 still requires 1.17. (#274)
- The cffi backend is now automatically disabled for free-threaded builds on Python <3.14, as cffi didn't implement free-threaded support until the 2.0 release. (#274)
- Added CI coverage for free-threaded CPython 3.13 and 3.14. We do not yet formally support free-threaded builds. (#276)
- The C and Rust backends now declare the GIL as unused.
- The
pythoncapi_compat.hfile has been upgraded to the latest version. (#278)setup.pynow depends onpackagingand usespackaging.version.Versionfor version comparisons. This removes some deprecation warnings from usage of legacy distutilsVersionclasses.- Relax run-time libzstd version checking in C extension from exactly 1.5.7
... (truncated)
Commits
7a77a75global: release 0.25.07935539rust:cargo upgradebc3074crust: update dependencies51a277ac-ext: correctly define fully qualified type names tozstandard.*9ccbc39docs: fix ReST innews.rst58c68a1zstd: synchronize qsort code with upstream395f693docs: document existence ofcompression.zstdin stdlib6967817docs: update comparisons to other implementationse4e829adocs: document new libzstd version constraint behaviors604a65aRelax libzstd version checking- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Pull Request Statistics
Commits:
1
1
Files Changed:
1
1
Additions:
+101
+101
Deletions:
-101
-101
Package Dependencies
Technical Details
| ID: | 7897100 |
| UUID: | 2830788618 |
| Node ID: | PR_kwDOKF4tPs6oumgK |
| Host: | GitHub |
| Repository: | apache/iceberg-python |
| Merge State: | Unknown |