More warnings were added to help users migrate and avoid bugs.
(Github issue :issue:5650)
A warning-like category for performance hints was added that bypasses -Werror.
(Github issue :issue:5673)
FastGIL now uses standard thread_local in C++.
(Github issue :issue:5640)
reference_wrapper was added to libcpp.functional.
Patch by Vyas Ramasubramani. (Github issue :issue:5671)
The cythonize command now supports the --cplus option known from the cython command.
(Github issue :issue:5736)
Bugs fixed
Performance regressions where the GIL was needlessly acquired were fixed.
(Github issues :issue:5670, :issue:5700)
A reference leak for exceptions in Python 3.12 was resolved.
Patch by Eric Johnson. (Github issue :issue:5724)
fastcall calls with keyword arguments generated incorrect C code.
(Github issue :issue:5665)
Assigning the type converted result of a conditional (if-else) expression
to int or bool variables could lead to incorrect C code.
(Github issue :issue:5731)
Early (unlikely) failures in Python function wrappers no longer set a
traceback in order to simplify the C code flow. Being mostly memory
allocation errors, they probably would never have created a traceback anyway.
(Github issue :issue:5681)
Relative cimports from packages with __init__.py files could fail.
(Github issue :issue:5715)
Several issues with the Limited API support were resolved.
(Github issues :issue:5641, :issue:5648, :issue:5689)
The code generated for special-casing both Cython functions and PyCFunctions was cleaned up
to avoid calling C-API functions that were not meant for the other type respectively.
... (truncated)
Commits
459f7c6 Officially support Python 3.12 (knowing that profiling is still broken there).
8dc5593 CI: Update workflow to use released Python 3.12.
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)
Bumps cython from 3.0.2 to 3.0.3.
Changelog
Sourced from cython's changelog.
... (truncated)
Commits
459f7c6
Officially support Python 3.12 (knowing that profiling is still broken there).8dc5593
CI: Update workflow to use released Python 3.12.263c719
Prepare the release of Cython 3.0.3.73f872b
Fix some typos found by codespell 2.2.5 (GH-5626)9d18c52
Fix issue with mixed-type "x if y else z" expressions (#5735)ed2933b
Clean up special handling of PyCFunction and CyFunction (GH-5739)18d3e8e
Suppress a spelling false positive found by codespell.f963e2e
Fix some spelling mistakes found by codespell.1f5d6a7
Allow--cplus
argument in cythonize command (GH-5736)61b5706
C++: Add "reference_wrapper" declarations to "libcpp.functional" (GH-5671)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