NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #888 most downloaded on PyPI
Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
Last release 1 months ago
24 Aug 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
7 years old
184 releases · first in 2019
One column per quarter.
Add more Python 3.12 sysconfigs in #1629
Remove deprecated --universal2 cli option in #1620, use --target universal2-apple-darwin instead.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add PEP 517 config_settings support in #1619, deprecate MATURIN_PEP517_ARGS in favor of the new build-args config setting.
When determining the python module name, use pyproject.toml project.name over Cargo.toml package.name in #1608
Fix finding interpreters from bundled sysconfigs in #1598
Breaking Change: Build with --no-default-features by default when bootstrapping from sdist in #1333
--no-default-features by default when bootstrapping from sdist in #1333sdist-include option in pyproject.toml in #1335python-source option in Cargo.toml in #1335patchelf version warning into a hard error in #1335uniffi_bindgen CLI is required for building uniffi bindings wheels in #1352rustflags settings in cargo configuration file in #1405pyproject.toml in #1536Cargo.toml by viccie30 in #1572git source distribution generator in #1587Fix wrong EXT_SUFFIX when cross compiling musllinux wheels for Python 3.11 in #1560
EXT_SUFFIX when cross compiling musllinux wheels for Python 3.11 in #1560Deprecate package.metadata.maturin.name in favor of tool.maturin.module-name in pyproject.toml in #1531
package.metadata.maturin.name in favor of tool.maturin.module-name in pyproject.toml in #1531Add sdist and sccache support to generate-ci command
generate-ci commandDeprecate package.metadata.maturin.data in favor of tool.maturin.data in pyproject.toml in #1492
generate-ci command in #1484ext_suffix for Emscripten target if not provided in PYO3_CONFIG_FILE in #1491package.metadata.maturin.data in favor of tool.maturin.data in pyproject.toml in #1492Deprecate --universal2 in favor of universal2-apple-darwin target in #1457
maturin develop now looks for a virtualenv .venv in the current or any parent directory if no virtual environment is active.generate-ci command to generate CI configuration in #1456--universal2 in favor of universal2-apple-darwin target in #1457Cargo.toml contains removed python package metadata in #1471extension_name instead of module_name for CFFI extensions in develop mode in #1476Keep dev-dependencies in sdist when there are no path dependencies in #1441
dev-dependencies in sdist when there are no path dependencies in #1441Don't package dev-only path dependencies in sdist in #1435
Use module name specified by [package.metadata.maturin] in #1409
[package.metadata.maturin] in #1409Don't pass MACOSX_DEPLOYMENT_TARGET when query default value from rustc in #1395
MACOSX_DEPLOYMENT_TARGET when query default value from rustc in #1395Add support for packaging multiple pure Python packages in #1378
Nothing published for this version
Nothing published for this version
Add workspace lock file to sdist as a fallback in #1362
Nothing published for this version
Allow Rust crate to be placed outside of the directory containing pyproject.toml in #1347
Support SOURCE_DATE_EPOCH when building wheels in #1334
Expanded architecture support for FreeBSD, NetBSD and OpenBSD in #1318
Fix build error when required features of bin target isn't enabled in #1299
Deprecate python-source option in Cargo.toml in favor of the one in pyproject.toml in #1291
Downgrade cargo_metadata to 0.15.0 to fix maturin build on old Rust versions like 1.48.0 in #1279
cargo_metadata to 0.15.0 to fix maturin build on old Rust versions like 1.48.0 in #1279Breaking Change: Remove support for specifying python package metadata in Cargo.toml in #1200. Python package metadata should be specified in the proj…
Cargo.toml in #1200.
Python package metadata should be specified in the project section of pyproject.toml instead as PEP 621 specifies.--target wasm32-wasi.src project layout in #1185--src option to generate src layout for mixed Python/Rust projects in #1189license-file field of Cargo.toml in #1195workspace.members in Cargo.toml from sdist if there isn't any path dependency in #1227libpython check on Python 3.7 and older versions in #1229sys.implementation.name != platform.python_implementation() in #1232.
Fixes the compatibility tags for Pyston.MACOSX_DEPLOYMENT_TARGET isn't specified in #1251[tool.maturin.include] and [tool.maturin.exclude] and deprecate [tool.maturin.sdist-include] #1255uniffi bindings in #1275Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix macOS LC_ID_DYLIB for abi3 wheels in #1208
Fix maturin develop in Windows conda virtual environment in #1146
Fix resolving crate name bug in #1142
Fix Cargo.toml in new project template in #1109
Cargo.toml in new project template in #1109maturin develop on Windows when using Python installed from msys2 in #1112Cargo.toml of local dependencies in sdist in #1114goblin instead of shelling out to patchelf to get rpath in #1139Nothing published for this version
Nothing published for this version
Change readme and license paths in pyproject.toml to be relative to pyproject.toml in #1100. It's technically a breaking change, but previously it doe…
--crate-type cdylib on Rust 1.64.0 in #1060zig ar support in #1073maturin sdist command in #1097pyproject.toml isn't in the same dir of Cargo.toml in #1099pyproject.toml to be relative to pyproject.toml in #1100.
It's technically a breaking change, but previously it doesn't work properly.sdist-include paths to be relative to pyproject.toml in #1103Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Find python module next to pyproject.toml if pyproject.toml exists in #1044. It's technically a breaking change, but previously it doesn't work proper…
Cargo.toml and pyproject.toml path handling in #1043pyproject.toml if pyproject.toml exists in #1044.
It's technically a breaking change, but previously it doesn't work properly
if the directory containing pyproject.toml isn't recognized as project root.python-source option to [tool.maturin] section of pyproject.toml in #1046Cargo.toml in #1048.
Please migrate to PEP 621 instead.python-source to be relative to the file specifies it in #1049data to be relative to the file specifies it in #1051maturin develop in #1052pyproject.toml in parent directories of Cargo.toml in #1054Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →