This release is a small quality-of-life update for the PyO3 0.14 release series. Optional support for the indexmap crate has been added. In addition, there have been a number of documentation improvements, and bugfixes for regressions and incorrect FFI definitions.
Users who removed macOS cargo configuration from their setup after updating to PyO3 0.14 will unfortunately have to once again add configuration to their compilation after updating to this release. This is because PyO3 was using functionality which Cargo had erroneously allowed.
For full details of all changes, see the CHANGELOG.
Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following users' commits are included in this release:
Add indexmap feature to add ToPyObject, IntoPy and FromPyObject implementations for indexmap::IndexMap. #1728
Add pyo3_build_config::add_extension_module_link_args() to use in build scripts to set linker arguments (for macOS). #1755
Add Python::with_gil_unchecked() unsafe variation of Python::with_gil() to allow obtaining a Python in scenarios where Python::with_gil() would fail.
Changed
PyErr::new no longer acquires the Python GIL internally. #1724
Reverted PyO3 0.14.0's use of cargo:rustc-cdylib-link-arg in its build script, as Cargo unintentionally allowed crates to pass linker args to downstream crates in this way. Projects supporting macOS may need to restore .cargo/config.toml files. #1755
Fixed
Fix regression in 0.14.0 rejecting usage of #[doc(hidden)] on structs and functions annotated with PyO3 macros. #1722
Fix regression in 0.14.0 leading to incorrect code coverage being computed for #[pyfunction]s. #1726
Fix incorrect FFI definition of Py_Buffer on PyPy. #1737
Fix incorrect calculation of dictoffset on 32-bit Windows. #1475
Fix regression in 0.13.2 leading to linking to incorrect Python library on Windows "gnu" targets. #1759
Fix compiler warning: deny trailing semicolons in expression macro. #1762
Fix incorrect FFI definition of Py_DecodeLocale. The 2nd argument is now *mut Py_ssize_t instead of Py_ssize_t. #1766
[0.14.1] - 2021-07-04
Added
Implement IntoPy<PyObject> for &PathBuf and &OsString. #1712
Fixed
Fix crashes on PyPy due to incorrect definitions of PyList_SET_ITEM. #1713
[0.14.0] - 2021-07-03
Packaging
Update num-bigint optional dependency to 0.4. #1481
Update num-complex optional dependency to 0.4. #1482
Extend hashbrown optional dependency supported versions to include 0.11. #1496
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 rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on pyo3 to permit the latest version.
Release notes
Sourced from pyo3's releases.
Changelog
Sourced from pyo3's changelog.
... (truncated)
Commits
1873264
release: 0.14.2575c448
Merge pull request #1769 from indygreg/force-acquire-gil3a6740a
gil: add unsafe variation for obtaining GIL without checks9161533
Merge pull request #1764 from awestlake87/masteredec1f1
Merge pull request #1763 from deantvv/ffi-cleanup473cd5c
Merge pull request #1765 from indygreg/frozen-publicac92b79
Merge pull request #1768 from indygreg/decodelocale-signaturebf23f8b
Shortened the async/await guide3de5591
Merge pull request #1767 from indygreg/packagecontext495ac98
ffi: fix Py_DecodeLocale() signatureDependabot 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 rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)