maturin 1.13.0 is a feature-rich release focused on better wheel generation, improved packaging workflows, and smoother cross-platform builds. This release adds new capabilities for stub generation and PGO builds, significantly improves wheel repair support on macOS and Windows, and includes a broad set of fixes for ABI tagging, source distributions, and platform-specific build behavior.
Highlights
Added support for Profile-Guided Optimization (PGO).
Added PyO3 stub generation support, including a new generate-stubs command and --generate-stubs build option.
Re-implemented macOS wheel repair (delocate) and Windows wheel repair (delvewheel) in maturin, currently warn only when external shared libraries dependencies are required.
Added support for large zip files.
Added support for [tool.maturin.generate-ci.github] configuration.
Improved PEP 517 compatibility by respecting metadata_directory in build_wheel.
This release also includes substantial internal refactoring across build orchestration, interpreter resolution, and command structure, plus dependency and CI updates that improve maintainability and reliability.
No major intentional breaking changes are expected, but users with custom CI or packaging setups may want to validate their workflows after upgrading.
What's Changed
refactor: unified interpreter resolution pipeline by @messense in #3032
Sync legacy_py.rs with upstream PyPI warehouse legacy.py by @messense in #3053
refactor: decompose large modules into focused submodules by @messense in #3052
Keep cargo build artifact at original path after staging by @messense in #3054
Fix --strip conflicting with --include-debuginfo in develop by @messense in #3057
Fix abi3 wheel producing version-specific tags for CPython below minimum by @messense in #3061
chore(deps): update actions/attest-build-provenance action to v4 by @renovate[bot] in #3047
Use mmap for faster warn_missing_py_init by @orlp in #2950, to be safe we now move the cargo built artifact to target/maturin so this may cause breakage if you rely on it in standard cargo target/ location
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
Release Notes
PyO3/maturin (maturin)v1.13.1
Compare Source
What's Changed
See also v1.13.0 release highlight: https://github.com/PyO3/maturin/releases/tag/v1.13.0
Full Changelog: PyO3/maturin@v1.13.0...v1.13.1
v1.13.0
Compare Source
maturin 1.13.0 is a feature-rich release focused on better wheel generation, improved packaging workflows, and smoother cross-platform builds. This release adds new capabilities for stub generation and PGO builds, significantly improves wheel repair support on macOS and Windows, and includes a broad set of fixes for ABI tagging, source distributions, and platform-specific build behavior.
Highlights
This release also includes substantial internal refactoring across build orchestration, interpreter resolution, and command structure, plus dependency and CI updates that improve maintainability and reliability.
No major intentional breaking changes are expected, but users with custom CI or packaging setups may want to validate their workflows after upgrading.
What's Changed
New Contributors
Full Changelog: PyO3/maturin@v1.12.5...v1.13.0
v1.12.6
Compare Source
What's Changed
Full Changelog: PyO3/maturin@v1.12.5...v1.12.6
v1.12.5
Compare Source
What's Changed
New Contributors
Full Changelog: PyO3/maturin@v1.12.4...v1.12.5
v1.12.4
Compare Source
What's Changed
New Contributors
Full Changelog: PyO3/maturin@v1.12.3...v1.12.4
v1.12.3
Compare Source
What's Changed
New Contributors
Full Changelog: PyO3/maturin@v1.12.2...v1.12.3
v1.12.2
Compare Source
What's Changed
Full Changelog: PyO3/maturin@v1.12.1...v1.12.2
v1.12.1
Compare Source
What's Changed
Full Changelog: PyO3/maturin@v1.12.0...v1.12.1
v1.12.0
Compare Source
What's Changed
New Contributors
Full Changelog: PyO3/maturin@v1.11.5...v1.12.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.