release: 0.18.0

This commit is contained in:
David Hewitt 2023-01-15 13:11:10 +00:00
parent ca1bbe3d39
commit 224a4160b4
52 changed files with 87 additions and 73 deletions

View File

@ -10,6 +10,64 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
<!-- towncrier release notes start -->
## [0.18.0] - 2023-01-17
### Packaging
- Relax `indexmap` optional depecency to allow `>= 1.6, < 2`. [#2849](https://github.com/PyO3/pyo3/pull/2849
- Relax `hashbrown` optional dependency to allow `>= 0.9, < 0.14`. [#2875](https://github.com/PyO3/pyo3/pull/2875)
- Update `memoffset` dependency to 0.8. [#2875](https://github.com/PyO3/pyo3/pull/2875)
### Added
- Add `GILOnceCell::get_or_try_init` for fallible `GILOnceCell` initialization. [#2398](https://github.com/PyO3/pyo3/pull/2398)
- Add experimental feature `experimental-inspect` with `type_input()` and `type_output()` helpers to get the Python type of any Python-compatible object. [#2490](https://github.com/PyO3/pyo3/pull/2490) [#2882](https://github.com/PyO3/pyo3/pull/2882)
- The `#[pyclass]` macro can now take `get_all` and `set_all` to create getters and setters for every field. [#2692](https://github.com/PyO3/pyo3/pull/2692)
- Add `#[pyo3(signature = (...))]` option for `#[pyfunction]` and `#[pymethods]`. [#2702](https://github.com/PyO3/pyo3/pull/2702)
- `pyo3-build-config`: rebuild when `PYO3_ENVIRONMENT_SIGNATURE` environment variable value changes. [#2727](https://github.com/PyO3/pyo3/pull/2727)
- Add conversions between non-zero int types in `std::num` and Python `int`. [#2730](https://github.com/PyO3/pyo3/pull/2730)
- Add `Py::downcast()` as a companion to `PyAny::downcast()`, as well as `downcast_unchecked()` for both types. [#2734](https://github.com/PyO3/pyo3/pull/2734)
- Add types for all built-in `Warning` classes as well as `PyErr::warn_explicit`. [#2742](https://github.com/PyO3/pyo3/pull/2742)
- Add `abi3-py311` feature. [#2776](https://github.com/PyO3/pyo3/pull/2776)
- Add FFI definition `_PyErr_ChainExceptions()` for CPython. [#2788](https://github.com/PyO3/pyo3/pull/2788)
- Add FFI definitions `PyVectorcall_NARGS` and `PY_VECTORCALL_ARGUMENTS_OFFSET` for PyPy 3.8 and up. [#2811](https://github.com/PyO3/pyo3/pull/2811)
- Add `PyList::get_item_unchecked` for PyPy. [#2827](https://github.com/PyO3/pyo3/pull/2827)
### Changed
- PyO3's macros now emit a much nicer error message if function return values don't implement the required trait(s). [#2664](https://github.com/PyO3/pyo3/pull/2664)
- Use a TypeError, rather than a ValueError, when refusing to treat a str as a Vec. [#2685](https://github.com/PyO3/pyo3/pull/2685)
- Change `PyCFunction::new_closure` to take `name` and `doc` arguments. [#2686](https://github.com/PyO3/pyo3/pull/2686)
- `PyType::is_subclass`, `PyErr::is_instance` and `PyAny::is_instance` now take `&PyAny` instead of `&PyType` arguments, so that they work with objects that pretend to be types using `__subclasscheck__` and `__instancecheck__`. [#2695](https://github.com/PyO3/pyo3/pull/2695)
- Deprecate `#[args]` attribute and passing "args" specification directly to `#[pyfunction]` in favor of the new `#[pyo3(signature = (...))]` option. [#2702](https://github.com/PyO3/pyo3/pull/2702)
- Deprecate required arguments after `Option<T>` arguments to `#[pyfunction]` and `#[pymethods]` without also using `#[pyo3(signature)]` to specify whether the arguments should be required or have defaults. [#2703](https://github.com/PyO3/pyo3/pull/2703)
- Change `#[pyfunction]` and `#[pymethods]` to use a common call "trampoline" to slightly reduce generated code size and compile times. [#2705](https://github.com/PyO3/pyo3/pull/2705)
- `PyAny::cast_as()` and `Py::cast_as()` are now deprecated in favor of `PyAny::downcast()` and the new `Py::downcast()`. [#2734](https://github.com/PyO3/pyo3/pull/2734)
- Relax lifetime bounds on `PyAny::downcast()`. [#2734](https://github.com/PyO3/pyo3/pull/2734)
- Automatically generate `__text_signature__` for all Python functions created using `#[pyfunction]` and `#[pymethods]`. [#2784](https://github.com/PyO3/pyo3/pull/2784)
- Accept any iterator in `PySet::new` and `PyFrozenSet::new`. [#2795](https://github.com/PyO3/pyo3/pull/2795)
- Mixing `#[cfg(...)]` and `#[pyo3(...)]` attributes on `#[pyclass]` struct fields will now work. [#2796](https://github.com/PyO3/pyo3/pull/2796)
- Re-enable `PyFunction` on when building for abi3 or PyPy. [#2838](https://github.com/PyO3/pyo3/pull/2838)
- Improve `derive(FromPyObject)` to use `intern!` when applicable for `#[pyo3(item)]`. [#2838](https://github.com/PyO3/pyo3/pull/2838)
### Removed
- Remove the deprecated `pyproto` feature, `#[pyproto]` macro, and all accompanying APIs. [#2587](https://github.com/PyO3/pyo3/pull/2587)
- Remove all functionality deprecated in PyO3 0.16. [#2843](https://github.com/PyO3/pyo3/pull/2843)
### Fixed
- Disable `PyModule::filename` on PyPy. [#2715](https://github.com/PyO3/pyo3/pull/2715)
- `PyCodeObject` is now once again defined with fields on Python 3.7. [#2726](https://github.com/PyO3/pyo3/pull/2726)
- Raise a `TypeError` if `#[new]` pymethods with no arguments receive arguments when called from Python. [#2749](https://github.com/PyO3/pyo3/pull/2749)
- Use the `NOARGS` argument calling convention for methods that have a single `py: Python` argument (as a performance optimization). [#2760](https://github.com/PyO3/pyo3/pull/2760)
- Fix truncation of `isize` values to `c_long` in `PySlice::new`. [#2769](https://github.com/PyO3/pyo3/pull/2769)
- Fix soundness issue with FFI definition `PyUnicodeDecodeError_Create` on PyPy leading to indeterminate behavior (typically a `TypeError`). [#2772](https://github.com/PyO3/pyo3/pull/2772)
- Allow functions taking `**kwargs` to accept keyword arguments which share a name with a positional-only argument (as permitted by PEP 570). [#2800](https://github.com/PyO3/pyo3/pull/2800)
- Fix unresolved symbol for `PyObject_Vectorcall` on PyPy 3.9 and up. [#2811](https://github.com/PyO3/pyo3/pull/2811)
- Fix memory leak in `PyCFunction::new_closure`. [#2842](https://github.com/PyO3/pyo3/pull/2842)
## [0.17.3] - 2022-11-01
### Packaging
@ -93,7 +151,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
- Rework `PyCapsule` type to resolve soundness issues: [#2485](https://github.com/PyO3/pyo3/pull/2485)
- `PyCapsule::new` and `PyCapsule::new_with_destructor` now take `name: Option<CString>` instead of `&CStr`.
- The destructor `F` in `PyCapsule::new_with_destructor` must now be `Send`.
- `PyCapsule::get_context` deprecated in favour of `PyCapsule::context` which doesn't take a `py: Python<'_>` argument.
- `PyCapsule::get_context` deprecated in favor of `PyCapsule::context` which doesn't take a `py: Python<'_>` argument.
- `PyCapsule::set_context` no longer takes a `py: Python<'_>` argument.
- `PyCapsule::name` now returns `PyResult<Option<&CStr>>` instead of `&CStr`.
- `FromPyObject::extract` for `Vec<T>` no longer accepts Python `str` inputs. [#2500](https://github.com/PyO3/pyo3/pull/2500)
@ -138,7 +196,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
## [0.16.6] - 2022-08-23
### Changed
### Changed
- Fix soundness issues with `PyCapsule` type with select workarounds. Users are encourage to upgrade to PyO3 0.17 at their earliest convenience which contains API breakages which fix the issues in a long-term fashion. [#2522](https://github.com/PyO3/pyo3/pull/2522)
- `PyCapsule::new` and `PyCapsule::new_with_destructor` now take ownership of a copy of the `name` to resolve a possible use-after-free.
@ -204,7 +262,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
- Allow `#[pyo3(crate = "...", text_signature = "...")]` options to be used directly in `#[pyclass(crate = "...", text_signature = "...")]`. [#2234](https://github.com/PyO3/pyo3/pull/2234)
- Make `PYO3_CROSS_LIB_DIR` environment variable optional when cross compiling. [#2241](https://github.com/PyO3/pyo3/pull/2241)
- Mark `METH_FASTCALL` calling convention as limited API on Python 3.10. [#2250](https://github.com/PyO3/pyo3/pull/2250)
- Deprecate `pyo3_build_config::cross_compiling` in favour of `pyo3_build_config::cross_compiling_from_to`. [#2253](https://github.com/PyO3/pyo3/pull/2253)
- Deprecate `pyo3_build_config::cross_compiling` in favor of `pyo3_build_config::cross_compiling_from_to`. [#2253](https://github.com/PyO3/pyo3/pull/2253)
### Fixed
@ -284,7 +342,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
- Add modulo argument to `__ipow__` magic method. [#2083](https://github.com/PyO3/pyo3/pull/2083)
- Fix FFI definition for `_PyCFunctionFast`. [#2126](https://github.com/PyO3/pyo3/pull/2126)
- `PyDateTimeAPI` and `PyDateTime_TimeZone_UTC` are are now unsafe functions instead of statics. [#2126](https://github.com/PyO3/pyo3/pull/2126)
- `PyDateTimeAPI` does not implicitly call `PyDateTime_IMPORT` anymore to reflect the original Python API more closely. Before the first call to `PyDateTime_IMPORT` a null pointer is returned. Therefore before calling any of the following FFI functions `PyDateTime_IMPORT` must be called to avoid undefined behaviour: [#2126](https://github.com/PyO3/pyo3/pull/2126)
- `PyDateTimeAPI` does not implicitly call `PyDateTime_IMPORT` anymore to reflect the original Python API more closely. Before the first call to `PyDateTime_IMPORT` a null pointer is returned. Therefore before calling any of the following FFI functions `PyDateTime_IMPORT` must be called to avoid undefined behavior: [#2126](https://github.com/PyO3/pyo3/pull/2126)
- `PyDateTime_TimeZone_UTC`
- `PyDate_Check`
- `PyDate_CheckExact`
@ -317,7 +375,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
- Fix the `wrap_pymodule!` macro using the wrong name for a `#[pymodule]` with a `#[pyo3(name = "..")]` attribute. [#2081](https://github.com/PyO3/pyo3/pull/2081)
- Fix magic methods in `#[pymethods]` accepting implementations with the wrong number of arguments. [#2083](https://github.com/PyO3/pyo3/pull/2083)
- Fix panic in `#[pyfunction]` generated code when a required argument following an `Option` was not provided. [#2093](https://github.com/PyO3/pyo3/pull/2093)
- Fixed undefined behaviour caused by incorrect `ExactSizeIterator` implementations. [#2124](https://github.com/PyO3/pyo3/pull/2124)
- Fixed undefined behavior caused by incorrect `ExactSizeIterator` implementations. [#2124](https://github.com/PyO3/pyo3/pull/2124)
- Fix missing FFI definition `PyCMethod_New` on Python 3.9 and up. [#2143](https://github.com/PyO3/pyo3/pull/2143)
- Add missing FFI definitions `_PyLong_NumBits` and `_PyLong_AsByteArray` on PyPy. [#2146](https://github.com/PyO3/pyo3/pull/2146)
- Fix memory leak in implementation of `AsPyPointer` for `Option<T>`. [#2160](https://github.com/PyO3/pyo3/pull/2160)
@ -639,7 +697,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
### Added
- Add support for building for CPython limited API. Opting-in to the limited API enables a single extension wheel built with PyO3 to be installable on multiple Python versions. This required a few minor changes to runtime behaviour of of PyO3 `#[pyclass]` types. See the migration guide for full details. [#1152](https://github.com/PyO3/pyo3/pull/1152)
- Add support for building for CPython limited API. Opting-in to the limited API enables a single extension wheel built with PyO3 to be installable on multiple Python versions. This required a few minor changes to runtime behavior of of PyO3 `#[pyclass]` types. See the migration guide for full details. [#1152](https://github.com/PyO3/pyo3/pull/1152)
- Add feature flags `abi3-py36`, `abi3-py37`, `abi3-py38` etc. to set the minimum Python version when using the limited API. [#1263](https://github.com/PyO3/pyo3/pull/1263)
- Add argument names to `TypeError` messages generated by pymethod wrappers. [#1212](https://github.com/PyO3/pyo3/pull/1212)
- Add FFI definitions for PEP 587 "Python Initialization Configuration". [#1247](https://github.com/PyO3/pyo3/pull/1247)
@ -941,7 +999,7 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
- Usage of raw identifiers with `#[pyo3(set)]`. [#745](https://github.com/PyO3/pyo3/pull/745)
- Usage of `PyObject` with `#[pyo3(get)]`. [#760](https://github.com/PyO3/pyo3/pull/760)
- `#[pymethods]` used in conjunction with `#[cfg]`. #[769](https://github.com/PyO3/pyo3/pull/769)
- `"*"` in a `#[pyfunction()]` argument list incorrectly accepting any number of positional arguments (use `args = "*"` when this behaviour is desired). #[792](https://github.com/PyO3/pyo3/pull/792)
- `"*"` in a `#[pyfunction()]` argument list incorrectly accepting any number of positional arguments (use `args = "*"` when this behavior is desired). #[792](https://github.com/PyO3/pyo3/pull/792)
- `PyModule::dict`. #[809](https://github.com/PyO3/pyo3/pull/809)
- Fix the case where `DESCRIPTION` is not null-terminated. #[822](https://github.com/PyO3/pyo3/pull/822)
@ -1311,7 +1369,8 @@ Yanked
- Initial release
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.17.3...HEAD
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.18.0...HEAD
[0.18.0]: https://github.com/pyo3/pyo3/compare/v0.17.3...v0.18.0
[0.17.3]: https://github.com/pyo3/pyo3/compare/v0.17.2...v0.17.3
[0.17.2]: https://github.com/pyo3/pyo3/compare/v0.17.1...v0.17.2
[0.17.1]: https://github.com/pyo3/pyo3/compare/v0.17.0...v0.17.1

View File

@ -1,6 +1,6 @@
[package]
name = "pyo3"
version = "0.17.3"
version = "0.18.0"
description = "Bindings to Python interpreter"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
readme = "README.md"
@ -20,10 +20,10 @@ parking_lot = ">= 0.11, < 0.13"
memoffset = "0.8"
# ffi bindings to the python interpreter, split into a separate crate so they can be used independently
pyo3-ffi = { path = "pyo3-ffi", version = "=0.17.3" }
pyo3-ffi = { path = "pyo3-ffi", version = "=0.18.0" }
# support crates for macros feature
pyo3-macros = { path = "pyo3-macros", version = "=0.17.3", optional = true }
pyo3-macros = { path = "pyo3-macros", version = "=0.18.0", optional = true }
indoc = { version = "1.0.3", optional = true }
unindent = { version = "0.1.4", optional = true }
@ -56,7 +56,7 @@ rayon = "1.0.2"
widestring = "0.5.1"
[build-dependencies]
pyo3-build-config = { path = "pyo3-build-config", version = "0.17.3", features = ["resolve-config"] }
pyo3-build-config = { path = "pyo3-build-config", version = "0.18.0", features = ["resolve-config"] }
[features]
default = ["macros"]

View File

@ -68,7 +68,7 @@ name = "string_sum"
crate-type = ["cdylib"]
[dependencies]
pyo3 = { version = "0.17.3", features = ["extension-module"] }
pyo3 = { version = "0.18.0", features = ["extension-module"] }
```
**`src/lib.rs`**
@ -137,7 +137,7 @@ Start a new project with `cargo new` and add `pyo3` to the `Cargo.toml` like th
```toml
[dependencies.pyo3]
version = "0.17.3"
version = "0.18.0"
features = ["auto-initialize"]
```

View File

@ -35,7 +35,7 @@ Write release notes which match the style of previous releases. You can get the
Save as a draft and wait for now.
## 3. Leave for a cooling off period
## 3. Leave for a cooling off period
Wait a couple of days in case anyone wants to hold up the release to add bugfixes etc.
@ -50,6 +50,6 @@ To put live:
If the release PR targeted a branch other than main, you will need to cherry-pick the version bumps, CHANGELOG modifications and removal of towncrier `newsfragments` and open another PR to land these on main.
## 6. Delete the release branch (patch releases only)
## 6. Delete the release branch (patch releases only)
For 0.X.Y patch releases, the release branch is no longer needed, so it should be deleted.

View File

@ -5,7 +5,7 @@ publish = false
edition = "2018"
[dev-dependencies]
pyo3 = { version = "0.17.3", path = "..", features = ["auto-initialize", "extension-module"] }
pyo3 = { version = "0.18.0", path = "..", features = ["auto-initialize", "extension-module"] }
[[example]]
name = "decorator"

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.17.3");
variable::set("PYO3_VERSION", "0.18.0");
file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/pyproject.toml", "pyproject.toml");
file::rename(".template/tox.ini", "tox.ini");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.17.3");
variable::set("PYO3_VERSION", "0.18.0");
file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/pyproject.toml", "pyproject.toml");
file::rename(".template/tox.ini", "tox.ini");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.17.3");
variable::set("PYO3_VERSION", "0.18.0");
file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/setup.cfg", "setup.cfg");
file::rename(".template/tox.ini", "tox.ini");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.17.3");
variable::set("PYO3_VERSION", "0.18.0");
file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/tox.ini", "tox.ini");
file::delete(".template");

View File

@ -1 +0,0 @@
Add `GILOnceCell::get_or_try_init` for fallible `GILOnceCell` initialization.

View File

@ -1 +0,0 @@
Added `type_input()` and `type_output()` to get the Python type of any Python-compatible object.

View File

@ -1 +0,0 @@
Remove the deprecated `pyproto` feature, `#[pyproto]` macro, and all accompanying APIs.

View File

@ -1 +0,0 @@
PyO3's macros now emit a much nicer error message if function return values don't implement the required trait(s).

View File

@ -1 +0,0 @@
Use a TypeError, rather than a ValueError, when refusing to treat a str as a Vec

View File

@ -1 +0,0 @@
Change PyCFunction::new_closure to take name and doc arguments.

View File

@ -1 +0,0 @@
The `#[pyclass]` macro can now take `get_all` and `set_all` to create getters and setters for every field.

View File

@ -1,3 +0,0 @@
`PyType::is_subclass`, `PyErr::is_instance` and `PyAny::is_instance` now take
`&PyAny` instead of `&PyType` arguments, so that they work with objects that
pretend to be types using `__subclasscheck__` and `__instancecheck__`.

View File

@ -1 +0,0 @@
Add `#[pyo3(signature = (...))]` option for `#[pyfunction]` and `#[pymethods]`.

View File

@ -1 +0,0 @@
Deprecate `#[args]` attribute and passing "args" specification directly to `#[pyfunction]` in favour of the new `#[pyo3(signature = (...))]` option.

View File

@ -1 +0,0 @@
Deprecate required arguments after `Option<T>` arguments to `#[pyfunction]` and `#[pymethods]` without also using `#[pyo3(signature)]` to specify whether the arguments should be required or have defaults.

View File

@ -1 +0,0 @@
Change `#[pyfunction]` and `#[pymethods]` to use a common call "trampoline" to slightly reduce generated code size and compile times.

View File

@ -1 +0,0 @@
Disable `PyModule::filename` on PyPy

View File

@ -1 +0,0 @@
`PyCodeObject` is now once again defined with fields on Python 3.7.

View File

@ -1 +0,0 @@
`pyo3-build-config`: rebuild when `PYO3_ENVIRONMENT_SIGNATURE` environment variable value changed

View File

@ -1 +0,0 @@
Add conversions between non-zero int types in `std::num` and Python int.

View File

@ -1,2 +0,0 @@
Added `Py::downcast()` as a companion to `PyAny::downcast()`, as well as
`downcast_unchecked()` for both types.

View File

@ -1,3 +0,0 @@
`PyAny::cast_as()` and `Py::cast_as()` are now deprecated in favor of
`PyAny::downcast()` and the new `Py::downcast()`. The `PyAny::downcast()`
lifetime bounds where slightly relaxed.

View File

@ -1 +0,0 @@
Added exports for all built-in `Warning` classes as well as `PyErr::warn_explicit`.

View File

@ -1,2 +0,0 @@
Fix a bug that allowed `#[new]` pymethods with no arguments to be called from
Python with any argument list.

View File

@ -1,2 +0,0 @@
Also apply the `NOARGS` argument convention to methods that have a single
`py: Python` argument.

View File

@ -1 +0,0 @@
Fix truncation of `isize` values to `c_long` in `PySlice::new`.

View File

@ -1 +0,0 @@
Fix soundness issue with FFI definition `PyUnicodeDecodeError_Create` on PyPy leading to indeterminate behaviour (typically a `TypeError`).

View File

@ -1 +0,0 @@
Add `abi3-py311` feature.

View File

@ -1 +0,0 @@
Automatically generate `__text_signature__` for all Python functions created using `#[pyfunction]` and `#[pymethods]`.

View File

@ -1 +0,0 @@
Define `_PyErr_ChainExceptions()` FFI for CPython.

View File

@ -1 +0,0 @@
Accept any iterator in `PySet::new` and `PyFrozenSet::new`.

View File

@ -1 +0,0 @@
Mixing cfgs and pyo3 attributes on struct fields will now work

View File

@ -1 +0,0 @@
Allow functions taking `**kwargs` to accept keyword arguments which share a name with a positional-only argument (as permitted by PEP 570).

View File

@ -1 +0,0 @@
Add FFI definitions `PyVectorcall_NARGS` and `PY_VECTORCALL_ARGUMENTS_OFFSET` for PyPy 3.8 and up.

View File

@ -1 +0,0 @@
Fix unresolved symbol for `PyObject_Vectorcall` on PyPy 3.9 and up.

View File

@ -1 +0,0 @@
Add `PyList::get_item_unchecked` for PyPy.

View File

@ -1 +0,0 @@
Re-enable `PyFunction` on when building for abi3 or PyPy.

View File

@ -1 +0,0 @@
Fix memory leak in `PyCFunction::new_closure`.

View File

@ -1 +0,0 @@
Remove all functionality deprecated in PyO3 0.16.

View File

@ -1 +0,0 @@
Relax dependency on Rust crate `indexmap` to cover `>= 1.6, < 2`

View File

@ -1 +0,0 @@
Update `memoffset` to 0.8 and relax `hashbrown` version constraint to allow 0.13.x

View File

@ -1 +0,0 @@
Improve `derive(FromPyObject)` to apply `intern!` when applicable to `#[pyo3(item)]`.

View File

@ -1,6 +1,6 @@
[package]
name = "pyo3-build-config"
version = "0.17.3"
version = "0.18.0"
description = "Build configuration for the PyO3 ecosystem"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"]

View File

@ -1,6 +1,6 @@
[package]
name = "pyo3-ffi"
version = "0.17.3"
version = "0.18.0"
description = "Python-API bindings for the PyO3 ecosystem"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"]
@ -38,4 +38,4 @@ generate-import-lib = ["pyo3-build-config/python3-dll-a"]
[build-dependencies]
pyo3-build-config = { path = "../pyo3-build-config", version = "0.17.3", features = ["resolve-config"] }
pyo3-build-config = { path = "../pyo3-build-config", version = "0.18.0", features = ["resolve-config"] }

View File

@ -1,6 +1,6 @@
[package]
name = "pyo3-macros-backend"
version = "0.17.3"
version = "0.18.0"
description = "Code generation for PyO3 package"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"]

View File

@ -1,6 +1,6 @@
[package]
name = "pyo3-macros"
version = "0.17.3"
version = "0.18.0"
description = "Proc macros for PyO3 package"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"]
@ -22,4 +22,4 @@ abi3 = ["pyo3-macros-backend/abi3"]
proc-macro2 = { version = "1", default-features = false }
quote = "1"
syn = { version = "1.0.56", features = ["full", "extra-traits"] }
pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.17.3" }
pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.18.0" }

View File

@ -20,7 +20,7 @@ exclude = '''
[tool.towncrier]
filename = "CHANGELOG.md"
version = "0.17.3"
version = "0.18.0"
start_string = "<!-- towncrier release notes start -->\n"
template = ".towncrier.template.md"
title_format = "## [{version}] - {project_date}"