v0.15.0
See 0.15.0 migration guide at https://www.maturin.rs/migration.html#from-014-to-015
We plan to bump version to 1.0.0 in about two weeks if there are no major breaking changes needed.
What's Changed
- Feature gate zig and xwin based cross compiling by @messense in #1324
- Feature gate
maturin new
andmaturin init
commands by @messense in #1330 - Build with
--no-default-features
by default when bootstrapping from sdist by @messense in #1333 - Support SOURCE_DATE_EPOCH environment variable in wheel building by @zmanji in #1334
- Remove deprecated config options by @messense in #1335
- cargo deny multiple crate versions by @messense in #1336
- Replace
rpassword
withdialoguer
by @messense in #1338 - Fix sdist when all Cargo workspace members are excluded by @messense in #1343
- Update normpath to 1.0.0 by @messense in #1348
- Update bundled Linux sysconfig by @messense in #1349
- Allow Rust crate to be placed outside of the directory containing
pyproject.toml
by @messense in #1347 - Update minijina to 0.27.0 by @messense in #1350
- Run
uniffi-bindgen
command instead of depending onuniffi_bindgen
crates by @messense in #1352 - Disallow uniffi bin bindings by @messense in #1353
- Clarify
--interpreter
value by @konstin in #1358 - Update
uniffi_bindgen
to 0.22.0 in test crates by @messense in #1360 - Add workspace lock file to sdist as a fallback by @messense in #1362
- Update cargo-xwin to 0.13.3 by @messense in #1363
- Update
toml_edit
to 0.16.0 by @messense in #1373 - Update cargo-zigbuild to 0.14.3 by @messense in #1375
- Fix Actions status badge by @atouchet in #1377
- Update
console
to 0.15.3 by @messense in #1379 - Add support for packaging multiple pure Python packages by @messense in #1378
- Detect src-layout for pure Rust projects with multiple Python packages by @messense in #1380
- Fallback to sysconfig interpreters for pyo3 bindings by @messense in #1381
- Bump psf/black from 22.10.0 to 22.12.0 by @dependabot in #1384
- Bump sigstore/gh-action-sigstore-python from 0.1.0 to 0.2.0 by @dependabot in #1385
- chore: cargo update
ureq
andconsole
by @messense in #1386 - Update pyodide to 0.22.0 by @messense in #1387
- Remove unnecessary ruff excludes by @messense in #1388
- Remove confusing libpython.so from cross compile error message by @messense in #1389
- Add MSRV configuration for clippy by @messense in #1391
- Update
toml_edit
to 0.17.1,minijinja
to 0.28.0 by @messense in #1392 - Update wasmtime dependency version to 4.0.0 by @messense in #1394
- Don't pass
MACOSX_DEPLOYMENT_TARGET
when query default value from rustc by @messense in #1395 - Update cargo-xwin to 0.13.5 by @messense in #1396
- Update trycmd to 0.14.10 by @messense in #1401
- Add link to bindings guide in
new
andinit
commands by @messense in #1403 - Update
schannel
to remove outdatedwindows-sys
0.36 dependency by @messense in #1404 - Respect
rustflags
settings in cargo configuration file by @messense in #1405 - Bump MSRV to 1.63.0 by @messense in #1407
- Run
cargo deny
check for Windows and macOS by @messense in #1408 - Add Cargo compile targets configuration for filtering multiple bin targets by @messense in #1339
- Use module name specified by
[package.metadata.maturin]
by @messense in #1409 - Update minijinja to 0.29.0 by @messense in #1414
- Use the extension_name in develop builds by @badboy in #1416
- Upgrade pyo3 to 0.18.0 by @messense in #1417
- Update minijinja to 0.30.0 by @messense in #1420
- Completing type hints for python files by @ischaojie in #1421
- Update wasmtime dependency version to 5.0.0 by @messense in #1423
- Dockerfile: Install openssh-client to be able to fetch git dependencies by @kosta in #1427
- Fix clippy warnings on Rust 1.67.0 by @messense in #1428
- CI: Try using sccache to replace rust-cache by @Xuanwo in #1425
- Better error message when
normalize
path failed by @messense in #1432 - Add a user-friendly panic hook by @messense in #1436
- readme: provide needed pauses by @tshepang in #1437
- Don't package dev-only path dependencies in sdist by @messense in #1435
- Use Rust beta channel to test Cargo sparse index protocol by @messense in #1440
- Keep
dev-dependencies
in sdist when there are no path dependencies by @messense in #1441 - Update
toml_edit
to 0.19 and switch back totoml
for parsing by @messense in #1439 - Bump ignore from 0.4.19 to 0.4.20 by @dependabot in #1445
- Bump cargo_metadata from 0.15.2 to 0.15.3 by @dependabot in #1444
- Bump docker/build-push-action from 3 to 4 by @dependabot in #1449
- Bump sigstore/gh-action-sigstore-python from 0.2.0 to 1.1.0 by @dependabot in #1452
- Bump mymindstorm/setup-emsdk from 11 to 12 by @dependabot in #1450
- Bump psf/black from 22.12.0 to 23.1.0 by @dependabot in #1451
- Update
cargo-options
to 0.6.0 by @messense in #1454 - Update
zip
to 0.6.4 by @messense in #1455 - Deprecate
--universal2
in favor ofuniversal2-apple-darwin
target by @messense in #1457 - Check path-like interpreter arguments when cross compiling by @messense in #1459
- Add
generate-ci
subcommand to generate CI configuration by @messense in #1456 - Fix new
cargo deny
errors by @messense in #1466 - Fix link to ballista by @kngwyu in #1469
- Add
bin
bindings support togenerate-ci
command by @messense in #1470 - Raise an error when
Cargo.toml
contains removed python package metadata by @messense in #1471 - Replace
CI.yml
template withgenerate-ci
by @messense in #1472 - Update cargo-zigbuild to 0.16.0 by @messense in #1474
- Detect .venv in current or parent folder in maturin develop by @konstin in #1462
- Use extension_name instead of module_name for CFFI extensions in develop mode by @luizirber in #1476
- Update thread_local to 1.1.7 and minijina to 0.30.3 by @messense in #1478
- Enable
extension-module
feature inpyproject.toml
in project templates by @messense in #1479 - Add support for uniffi 0.23 by @messense in #1481
- Release v1.0.0-beta.1 by @messense in #1482
- Add support for Emscripten in
generate-ci
command by @messense in #1484 - Add a maturin version comment to generated CI configuration by @messense in #1485
- Feature-gate command line completions by @messense in #1486
- Add support for linking with pyo3 in abi3 debug mode on Windows by @messense in #1487
- Add support for custom TLS certificate authority bundle by @messense in #1483
- Use default
ext_suffix
for Emscripten target if not provided inPYO3_CONFIG_FILE
by @messense in #1491 - Upgrade keyring to 2.0.0 by @messense in #1331
- chore: Update some dependencies by @messense in #1497
- Record
generate-ci
command arguments in generate configuration by @messense in #1498 - Update cargo-zigbuild to 0.16.1 by @messense in #1499
- Use
keyutils
instead ofsecret-service
for accessing Linux keyring by @messense in #1500 - Update cargo-zigbuild to 0.16.2 by @messense in #1501
- Fix installation message for uniffi-bindgen by @vivienm in #1502
- Build maturin with native-tls support on aarch64 Windows by @messense in #1503
- refactor: use stderr for human readable output by @messense in #1504
- Add sdist support to
generate-ci
by @messense in #1505 - Update wasmtime dependency version to 6.0.0 by @messense in #1506
- Bump sigstore/gh-action-sigstore-python from 1.1.0 to 1.2.1 by @dependabot in #1511
- Bump goblin from 0.6.0 to 0.6.1 by @dependabot in #1508
- Fine-grained GitHub Actions permission in
generate-ci
by @messense in #1513 - Update
crossbeam-*
by @messense in #1514 - Update msi to 0.5.1 by @messense in #1518
- use the official sccache-action repo by @sylvestre in #1519
- Switch back to stable toolchain in tests by @messense in #1522
- Update cargo-zigbuild to 0.16.3 by @messense in #1523
- Fix module name when it's specified in
package.metadata.maturin.name
by @messense in #1524 - Only check for minus in extension name by @messense in #1526
- Bump MSRV to 1.64.0 by @messense in #1528
- Update cargo-zigbuild to 0.16.4 by @messense in #1527
- Bump openssl from 0.10.45 to 0.10.48 by @dependabot in #1530
- Move maturin metadata from
Cargo.toml
topyproject.toml
by @messense in #1493 - Use sparse crates.io protocol on Cirrus CI by @messense in #1532
- Add wildcards support to publish/upload commands on Windows by @messense in #1534
- Add support for target specific build configuration by @messense in #1536
- Update wasmtime dependency version to 7.0.0 by @messense in #1538
- Update pyproject-toml to 0.4.0 by @messense in #1539
- Fix typo in project_layout.md docs by @aminalaee in #1542
- Update cargo-zigbuild to 0.16.5 by @messense in #1544
- Update pyodide to 0.23.0 by @messense in #1549
- Bump sigstore/gh-action-sigstore-python from 1.2.1 to 1.2.3 by @dependabot in #1555
- Bump mozilla-actions/sccache-action from 0.0.1 to 0.0.3 by @dependabot in #1556
- docs: do not tell users to put
classifiers
inCargo.toml
by @ravenexp in #1557 - Bump psf/black from 23.1.0 to 23.3.0 by @dependabot in #1554
- Use pep440_rs and pep508_rs by @konstin in #1558
- Fix wrong
EXT_SUFFIX
when cross compiling musllinux wheels for Python 3.11 by @messense in #1560 - chore: cargo update by @messense in #1562
- Fix FreeBSD CI by @messense in #1564
- Update cargo-zigbuild to 0.16.7 by @messense in #1567
- Fix module_writers::write_python_part include target check by @viccie30 in #1573
- Rewrite platform specific dependencies in Cargo.toml by @viccie30 in #1572
- Fix two sdist issues by @messense in #1577
- Document binary and library in a single package by entrypoint workaround by @konstin in #1565
- Add trusted publisher support by @messense in #1578
- Bump target-lexicon to 0.12.7 by @heiher in #1579
- Bump peter-evans/create-pull-request from 4 to 5 by @dependabot in #1582
- Update pyproject-toml to 0.6.0 by @messense in #1585
- Fix maturin failing to handle empty sysroot by @roblabla in #1589
- Introduce
git
source distribution generator by @messense in #1587 - Enabled color output for error message by @ischaojie in #1591
- Always set
PYO3_PYTHON
if interpreter is runnable regardless of abi3 by @messense in #1592 - Release v0.15.0 by @messense in #1594
New Contributors
- @zmanji made their first contribution in #1334
- @atouchet made their first contribution in #1377
- @badboy made their first contribution in #1416
- @ischaojie made their first contribution in #1421
- @kosta made their first contribution in #1427
- @Xuanwo made their first contribution in #1425
- @tshepang made their first contribution in #1437
- @luizirber made their first contribution in #1476
- @vivienm made their first contribution in #1502
- @sylvestre made their first contribution in #1519
- @aminalaee made their first contribution in #1542
- @viccie30 made their first contribution in #1573
- @heiher made their first contribution in #1579
- @roblabla made their first contribution in #1589
Full Changelog: v0.14.4...v0.15.0