This release contains an FFI definition correction to resolve crashes for PyOxidizer on Python 3.10, and a new generate-import-lib feature to allow easier cross-compiling to Windows.
Thank you to the following users for the improvements:
This release fixes a regression introduced in 0.16.3 leading to build failures on Windows, enables crates depending on PyO3 to collect code coverage using LLVM instrumentation on stable Rust version 1.60 or later, and enables safe access to time zone information attached to Python's time and datetime objects. There are also some adjustments to PyO3's build-time interpreter detection to make it easier to cross-compile abi3 Python extensions.
Thank you to the following users for the improvements:
This release contains a number of non-breaking additions and fixes since PyO3 0.16.2.
They are mostly centered on improving support for various build configurations. There are also usability tweaks to the #[pyclass] macro and a new intern! macro to create statically-backed PyString objects as an optimization technique.
Thank you to the following users for the improvements:
This release contains support for the latest PyPy 7.3.8 release, a fix for a regression from PyO3 0.16.0 which would cause flaky build failures, and corrections to documentation.
Thank you for the following users for the improvements:
Deprecate experimental generate-abi3-import-lib feature in favor of the new generate-import-lib feature. #2364
Fixed
Added missing warn_default_encoding field to PyConfig on 3.10+. The previously missing field could result in incorrect behavior or crashes. #2370
Fixed order of pathconfig_warnings and program_name fields of PyConfig on 3.10+. Previously, the order of the fields was swapped and this could lead to incorrect behavior or crashes. #2370
[0.16.4] - 2022-04-14
Added
Add PyTzInfoAccess trait for safe access to time zone information. #2263
Add an experimental generate-abi3-import-lib feature to auto-generate python3.dll import libraries for Windows. #2282
Add FFI definitions for PyDateTime_BaseTime and PyDateTime_BaseDateTime. #2294
Changed
Improved performance of failing calls to FromPyObject::extract which is common when functions accept multiple distinct types. #2279
Default to "m" ABI tag when choosing libpython link name for CPython 3.7 on Unix. #2288
Allow to compile "abi3" extensions without a working build host Python interpreter. #2293
Fixed
Crates depending on PyO3 can collect code coverage via LLVM instrumentation using stable Rust. #2286
Fix segfault when calling FFI methods PyDateTime_DATE_GET_TZINFO or PyDateTime_TIME_GET_TZINFO on datetime or time without a tzinfo. #2289
Fix directory names starting with the letter n breaking serialization of the interpreter configuration on Windows since PyO3 0.16.3. #2299
[0.16.3] - 2022-04-05
Packaging
Extend parking_lot dependency supported versions to include 0.12. #2239
Added
Add methods to pyo3_build_config::InterpreterConfig to run Python scripts using the configured executable. #2092
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)
Bumps pyo3 from 0.15.1 to 0.16.5.
Release notes
Sourced from pyo3's releases.
... (truncated)
Changelog
Sourced from pyo3's changelog.
... (truncated)
Commits
456a96d
release: 0.16.5da74187
Updating debugging docs with more info on rust-gdb (#2361)c4414f3
Remove#[doc(hidden)]
from trait impl items (#2365)11b97d3
Fix CI for hashbrown 0.12.11149dcf
Allow false positiveclippy::unnecessary-wraps
lintf05cc91
Auto generate Windows import libraries when using a pyo3 config filef60d24b
Update changelog for #236402e4f19
Change default python lib name for Windows when cross compiling7104a0c
Add Windows non-abi3 cross compile test29b8731
Add support for generating non-abi3 python import libraries for WindowsDependabot 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)