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

Update pyo3 non-major #289

Merged
merged 1 commit into from
Nov 20, 2023
Merged

Update pyo3 non-major #289

merged 1 commit into from
Nov 20, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 14, 2023

Mend Renovate logo banner

This PR contains the following updates:

Package Type Update Change
pyo3 dependencies minor 0.19.1 -> 0.20.0
pyo3-asyncio dependencies minor 0.19.0 -> 0.20.0
pyo3-build-config build-dependencies minor 0.19.1 -> 0.20.0
pyo3-log dependencies minor 0.8.3 -> 0.9.0

Release Notes

pyo3/pyo3 (pyo3)

v0.20.0

Compare Source

Packaging
  • Dual-license PyO3 under either the Apache 2.0 OR the MIT license. This makes the project GPLv2 compatible. #​3108
  • Update MSRV to Rust 1.56. #​3208
  • Bump indoc dependency to 2.0 and unindent dependency to 0.2. #​3237
  • Bump syn dependency to 2.0. #​3239
  • Drop support for debug builds of Python 3.7. #​3387
  • Bump chrono optional dependency to require 0.4.25 or newer. #​3427
  • Support Python 3.12. #​3488
Added
  • Support __lt__, __le__, __eq__, __ne__, __gt__ and __ge__ in #[pymethods]. #​3203
  • Add FFI definition Py_GETENV. #​3336
  • Add as_ptr and into_ptr inherent methods for Py, PyAny, PyRef, and PyRefMut. #​3359
  • Implement DoubleEndedIterator for PyTupleIterator and PyListIterator. #​3366
  • Add #[pyclass(rename_all = "...")] option: this allows renaming all getters and setters of a struct, or all variants of an enum. Available renaming rules are: "camelCase", "kebab-case", "lowercase", "PascalCase", "SCREAMING-KEBAB-CASE", "SCREAMING_SNAKE_CASE", "snake_case", "UPPERCASE". #​3384
  • Add FFI definitions PyObject_GC_IsTracked and PyObject_GC_IsFinalized on Python 3.9 and up (PyPy 3.10 and up). #​3403
  • Add types for None, Ellipsis, and NotImplemented. #​3408
  • Add FFI definitions for the Py_mod_multiple_interpreters constant and its possible values. #​3494
  • Add FFI definitions for PyInterpreterConfig struct, its constants and Py_NewInterpreterFromConfig. #​3502
Changed
  • Change PySet::discard to return PyResult<bool> (previously returned nothing). #​3281
  • Optimize implmentation of IntoPy for Rust tuples to Python tuples. #​3321
  • Change PyDict::get_item to no longer suppress arbitrary exceptions (the return type is now PyResult<Option<&PyAny>> instead of Option<&PyAny>), and deprecate PyDict::get_item_with_error. #​3330
  • Deprecate FFI definitions which are deprecated in Python 3.12. #​3336
  • AsPyPointer is now an unsafe trait. #​3358
  • Accept all os.PathLike values in implementation of FromPyObject for PathBuf. #​3374
  • Add __builtins__ to globals in py.run() and py.eval() if they're missing. #​3378
  • Optimize implementation of FromPyObject for BigInt and BigUint. #​3379
  • PyIterator::from_object and PyByteArray::from now take a single argument of type &PyAny (previously took two arguments Python and AsPyPointer). #​3389
  • Replace AsPyPointer with AsRef<PyAny> as a bound in the blanket implementation of From<&T> for PyObject. #​3391
  • Replace blanket impl IntoPy<PyObject> for &T where T: AsPyPointer with implementations of impl IntoPy<PyObject> for &PyAny, &T where T: AsRef<PyAny>, and &Py<T>. #​3393
  • Preserve std::io::Error kind in implementation of From<std::io::IntoInnerError> for PyErr #​3396
  • Try to select a relevant ErrorKind in implementation of From<PyErr> for OSError subclass. #​3397
  • Retrieve the original PyErr in implementation of From<std::io::Error> for PyErr if the std::io::Error has been built using a Python exception (previously would create a new exception wrapping the std::io::Error). #​3402
  • #[pymodule] will now return the same module object on repeated import by the same Python interpreter, on Python 3.9 and up. #​3446
  • Truncate leap-seconds and warn when converting chrono types to Python datetime types (datetime cannot represent leap-seconds). #​3458
  • Err returned from #[pyfunction] will now have a non-None __context__ if called from inside a catch block. #​3455
  • Deprecate undocumented #[__new__] form of #[new] attribute. #​3505
Removed
  • Remove all functionality deprecated in PyO3 0.18, including #[args] attribute for #[pymethods]. #​3232
  • Remove IntoPyPointer trait in favour of into_ptr inherent methods. #​3385
Fixed
  • Handle exceptions properly in PySet::discard. #​3281
  • The PyTupleIterator type returned by PyTuple::iter is now public and hence can be named by downstream crates. #​3366
  • Linking of PyOS_FSPath on PyPy. #​3374
  • Fix memory leak in PyTypeBuilder::build. #​3401
  • Disable removed FFI definitions _Py_GetAllocatedBlocks, _PyObject_GC_Malloc, and _PyObject_GC_Calloc on Python 3.11 and up. #​3403
  • Fix ResourceWarning and crashes related to GC when running with debug builds of CPython. #​3404
  • Some-wrapping of Option<T> default arguments will no longer re-wrap Some(T) or expressions evaluating to None. #​3461
  • Fix IterNextOutput::Return not returning a value on PyPy. #​3471
  • Emit compile errors instead of ignoring macro invocations inside #[pymethods] blocks. #​3491
  • Emit error on invalid arguments to #[new], #[classmethod], #[staticmethod], and #[classattr]. #​3484
  • Disable PyMarshal_WriteObjectToString from PyMarshal_ReadObjectFromString with the abi3 feature. #​3490
  • Fix FFI definitions for _PyFrameEvalFunction on Python 3.11 and up (it now receives a _PyInterpreterFrame opaque struct). #​3500

v0.19.2

Compare Source

Added
  • Add FFI definitions PyState_AddModule, PyState_RemoveModule and PyState_FindModule for PyPy 3.9 and up. #​3295
  • Add FFI definitions _PyObject_CallFunction_SizeT and _PyObject_CallMethod_SizeT. #​3297
  • Add a "performance" section to the guide collecting performance-related tricks and problems. #​3304
  • Add PyErr::Display for all Python versions, and FFI symbol PyErr_DisplayException for Python 3.12. #​3334
  • Add FFI definition PyType_GetDict() for Python 3.12. #​3339
  • Add PyAny::downcast_exact. #​3346
  • Add PySlice::full() to construct a full slice (::). #​3353
Changed
  • Update PyErr for 3.12 betas to avoid deprecated ffi methods. #​3306
  • Update FFI definitions of object.h for Python 3.12.0b4. #​3335
  • Update pyo3::ffi struct definitions to be compatible with 3.12.0b4. #​3342
  • Optimize conversion of float to f64 (and PyFloat::value) on non-abi3 builds. #​3345
Fixed
  • Fix timezone conversion bug for FixedOffset datetimes that were being incorrectly converted to and from UTC. #​3269
  • Fix SystemError raised in PyUnicodeDecodeError_Create on PyPy 3.10. #​3297
  • Correct FFI definition Py_EnterRecursiveCall to return c_int (was incorrectly returning ()). #​3300
  • Fix case where PyErr::matches and PyErr::is_instance returned results inconsistent with PyErr::get_type. #​3313
  • Fix loss of panic message in PanicException when unwinding after the exception was "normalized". #​3326
  • Fix PyErr::from_value and PyErr::into_value losing traceback on conversion. #​3328
  • Fix reference counting of immortal objects on Python 3.12.0b4. #​3335
vorner/pyo3-log (pyo3-log)

v0.9.0

Compare Source

  • Bump lowest allowed version of pyo3 to 0.15 ‒ this prevents linking multiple
    pyo3 versions together.

v0.8.4

Compare Source

  • Allow pyo3 0.20.

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@bitwarden-bot
Copy link

bitwarden-bot commented Oct 14, 2023

Logo
Checkmarx One – Scan Summary & Details8a879a93-08e4-4712-af8a-4efec71b2f0f

No New Or Fixed Issues Found

@renovate renovate bot force-pushed the renovate/pyo3-non-major branch 7 times, most recently from 0687db5 to 56a7769 Compare October 17, 2023 21:45
@renovate renovate bot changed the title Update pyo3 non-major to 0.20.0 Update pyo3 non-major Oct 17, 2023
@renovate renovate bot force-pushed the renovate/pyo3-non-major branch 4 times, most recently from 7ff3b43 to 209a005 Compare October 23, 2023 13:30
@renovate renovate bot force-pushed the renovate/pyo3-non-major branch 13 times, most recently from 0e94d8e to 613f640 Compare November 3, 2023 15:04
@renovate renovate bot force-pushed the renovate/pyo3-non-major branch 4 times, most recently from b6040f0 to 9c64971 Compare November 13, 2023 12:49
@renovate renovate bot force-pushed the renovate/pyo3-non-major branch 2 times, most recently from 611d1d9 to 391dedc Compare November 16, 2023 23:30
@Hinton Hinton requested a review from dani-garcia November 19, 2023 03:52
@renovate renovate bot force-pushed the renovate/pyo3-non-major branch 2 times, most recently from 3a024a6 to d1d21ae Compare November 20, 2023 09:59
@renovate renovate bot force-pushed the renovate/pyo3-non-major branch from d1d21ae to 14d6e44 Compare November 20, 2023 10:06
Copy link
Member

@dani-garcia dani-garcia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, didn't notice that pyo3-asyncio finally got updated

@dani-garcia dani-garcia merged commit 4c68256 into master Nov 20, 2023
46 checks passed
@dani-garcia dani-garcia deleted the renovate/pyo3-non-major branch November 20, 2023 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants