Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release: 0.14.0 #1698

merged 1 commit into from
Jul 3, 2021

release: 0.14.0 #1698

merged 1 commit into from
Jul 3, 2021


Copy link

As per #1570, I think we are now ready to put the 0.14 release live.

This PR makes some tidy ups to the CHANGELOG and bumps the version numbers around the codebase.

Unless I hear a reason to do otherwise, I plan to put this release live a week from now on Saturday 3rd July. (I'll rebase on any fixes which might come before then.)

I'll comment a proposed set of release notes in this thread in the next day or two.

Copy link
Member Author

davidhewitt commented Jul 3, 2021

Proposed release notes below. If anyone wants changes or suggestions to these, please comment freely. I'll put the release live in about 12 hours time.

This release contains a significant number of improvements and optimizations since the 0.13 releases. Conversion support for more Rust standard library types has been added: [T; N], Path, PathBuf, OsStr, and OsString. In addition, the #[pyo3(...)] attribute options already used in #[pyclass] and #[derive(FromPyObject)] have been expanded to all macros to cover more options such as #[pyo3(name = "...")].

This release also includes some notable performance optimizations to PyO3's Python function generation, and users should observe reductions in overhead when calling PyO3-wrapped functions from Python. The documentation has also benefited from extensive work from several contributors.

Finally, there are a number of breaking changes to this release:

  • To reduce the default dependency set, a new feature multiple-pymethods has been added. If this feature is not enabled, each #[pyclass] may only have a single #[pymethods] block. If this feature is enabled then the previous behavior (and dependency on inventory) is restored.
  • The pyo3::ffi module has received many updates to keep in sync with CPython's definitions.
  • A number of APIs and particular usages of PyO3 macros have been marked deprecated where better alternatives now exist.
  • A number of previously-deprecated APIs have been removed.

For full details of all changes, see the CHANGELOG. For help with upgrading, see the migration guide.

Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following users' commits are included in this release:


Copy link
Member Author

(rebased, and this is the version I intend to put live unless any critical bugfixes appear before this evening)

Copy link
Member Author

The release is now live! Thanks again to all who contributed.

@davidhewitt davidhewitt merged commit 4b88dd1 into main Jul 3, 2021
@davidhewitt davidhewitt deleted the release-0.14 branch November 20, 2021 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

1 participant