KittyCAD / modeling-app

The KittyCAD modeling app.
https://kittycad.io/modeling-app/download
MIT License
429 stars 37 forks source link

Bump pyo3 from 0.22.6 to 0.23.2 in /src/wasm-lib #4576

Open dependabot[bot] opened 3 days ago

dependabot[bot] commented 3 days ago

Bumps pyo3 from 0.22.6 to 0.23.2.

Release notes

Sourced from pyo3's releases.

PyO3 0.23.2

This release fixes a build failure when attempting to compile for free-threaded Python when the abi3 or abi3-pyxx features are enabled. With this fix, the compile will now ignore (with a warning) the abi3 and abi3-pyxx flags (as is the case when compiling for PyPy, as neither support abi3).

This release also iterates upon the new IntoPyObject trait by adding an IntoPyObjectExt helper trait with some common convenience functions.

Finally, a compile failure related to ambiguous_associated_items lint errors inside generated #[pyclass] and #[derive(IntoPyObject)] output has been fixed.

Thank you to the following contributors for the improvements:

@​davidhewitt @​LilyFoote @​ngoldbaum

PyO3 0.23.1

This is a re-release of PyO3 0.23.0 with corrections to fix docs.rs builds.

Thanks @​yotamofek for the reports & fixes!

PyO3 0.23.0

This release is a significant iteration to both PyO3's internals and API with two major enhancements:

  • Support for Python 3.13t, also known as "free-threaded Python".
  • A new trait IntoPyObject, which unifies the existing to-Python conversion traits IntoPy and ToPyObject while also allowing new optimizations and proper error handling. The new trait also has a #[derive(IntoPyObject)] macro.

While both of these new features have undergone extensive design, it will be no surprise to find teething issues. All feedback is encouraged so that we can follow up with iterative improvements for these new features in future releases.

On top of the major additions, the removal of the "GIL Refs" API deprecated in PyO3 0.21 is now complete. A number of PyO3 APIs have had new simpler names introduced now that the PyO3 API is no longer in a migration phase (for example PyTuple::new_bound is now simplified to PyTuple::new).

Beyond that, PyO3 0.23 contains nearly 5 months of incremental improvements, bug fixes and smaller features that have been implemented while the major work of this release was ongoing.

Please consult the migration guide for help upgrading.

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

@​abrisco @​adamcavendish @​ahlinc @​akuhnregnier @​alex @​attack68 @​birkenfeld @​Brogolem35 @​bschoenmaeckers @​ChayimFriedman2 @​Cheukting @​csernazs @​davidhewitt @​deedy5 @​dependabot[bot] @​digitalsentinel @​exg

... (truncated)

Changelog

Sourced from pyo3's changelog.

[0.23.2] - 2024-11-25

Added

  • Add IntoPyObjectExt trait. #4708

Fixed

  • Fix compile failures when building for free-threaded Python when the abi3 or abi3-pyxx features are enabled. #4719
  • Fix ambiguous_associated_items lint error in #[pyclass] and #[derive(IntoPyObject)] macros. #4725

[0.23.1] - 2024-11-16

Re-release of 0.23.0 with fixes to docs.rs build.

[0.23.0] - 2024-11-15

Packaging

  • Drop support for PyPy 3.7 and 3.8. #4582
  • Extend range of supported versions of hashbrown optional dependency to include version 0.15. #4604
  • Bump minimum version of eyre optional dependency to 0.6.8. #4617
  • Bump minimum version of hashbrown optional dependency to 0.14.5. #4617
  • Bump minimum version of indexmap optional dependency to 2.5.0. #4617
  • Bump minimum version of num-complex optional dependency to 0.4.6. #4617
  • Bump minimum version of chrono-tz optional dependency to 0.10. #4617
  • Support free-threaded Python 3.13t. #4588

Added

  • Add IntoPyObject (fallible) conversion trait to convert from Rust to Python values. #4060
  • Add #[pyclass(str="<format string>")] option to generate __str__ based on a Display implementation or format string. #4233
  • Implement PartialEq for Bound<'py, PyInt> with u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128 and isize. #4317
  • Implement PartialEq<f64> and PartialEq<f32> for Bound<'py, PyFloat>. #4348
  • Add as_super and into_super methods for Bound<T: PyClass>. #4351
  • Add FFI definitions PyCFunctionFast and PyCFunctionFastWithKeywords #4415
  • Add FFI definitions for PyMutex on Python 3.13 and newer. #4421
  • Add PyDict::locked_for_each to iterate efficiently on freethreaded Python. #4439
  • Add FFI definitions PyObject_GetOptionalAttr, PyObject_GetOptionalAttrString, PyObject_HasAttrWithError, PyObject_HasAttrStringWithError, Py_CONSTANT_* constants, Py_GetConstant, Py_GetConstantBorrowed, and PyType_GetModuleByDef on Python 3.13 and newer. #4447
  • Add FFI definitions for the Python critical section API available on Python 3.13 and newer. #4477
  • Add derive macro for IntoPyObject. #4495
  • Add Borrowed::as_ptr. #4520
  • Add FFI definition for PyImport_AddModuleRef. #4529
  • Add PyAnyMethods::try_iter. #4553
  • Add pyo3::sync::with_critical_section, a wrapper around the Python Critical Section API added in Python 3.13. #4587
  • Add #[pymodule(gil_used = false)] option to declare that a module supports the free-threaded build. #4588
  • Add PyModule::gil_used method to declare that a module supports the free-threaded build. #4588
  • Add FFI definition PyDateTime_CAPSULE_NAME. #4634
  • Add PyMappingProxy type to represent the mappingproxy Python class. #4644

... (truncated)

Commits


Dependabot compatibility score

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 show ignore conditions` will show all of the ignore conditions of the specified dependency - `@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)
vercel[bot] commented 3 days ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
modeling-app ✅ Ready (Inspect) Visit Preview Nov 25, 2024 11:42pm
qa-wolf[bot] commented 3 days ago

QA Wolf here! As you write new code it's important that your test coverage is keeping up. Click here to request test coverage for this PR!

codecov[bot] commented 3 days ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.05%. Comparing base (99dd8b8) to head (e690a8c). Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #4576 +/- ## ========================================== + Coverage 86.04% 86.05% +0.01% ========================================== Files 80 80 Lines 29588 29644 +56 ========================================== + Hits 25459 25511 +52 - Misses 4129 4133 +4 ``` | [Flag](https://app.codecov.io/gh/KittyCAD/modeling-app/pull/4576/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=KittyCAD) | Coverage Δ | | |---|---|---| | [wasm-lib](https://app.codecov.io/gh/KittyCAD/modeling-app/pull/4576/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=KittyCAD) | `86.05% <ø> (+0.01%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=KittyCAD#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.