Exception position reporting could run into race conditions on threaded code. It now uses function-local variables again.
Error handling early in the module init code could lead to a crash.
Error handling in cython.array creation was improved to avoid calling C-API functions with an error held.
A memory corruption was fixed when garbage collection was triggered during calls to PyType_Ready() of extension type subclasses. (Github issue #3603)
Memory view slicing generated unused error handling code which could negatively impact the C compiler optimisations for parallel OpenMP code etc. Also, it is now helped by static branch hints. (Github issue #2987)
Cython's built-in OpenMP functions were not translated inside of call arguments. Original patch by Celelibi and David Woods. (Github issue #3594)
Complex buffer item types of structs of arrays could fail to validate. Patch by Leo and smutch. (Github issue #1407)
Decorators were not allowed on nested async def functions. (Github issue #1462)
C-tuples could use invalid C struct casting. Patch by MegaIng. (Github issue #3038)
Optimised %d string formatting into f-strings failed on float values. (Github issue #3092)
When importing the old Cython build_ext integration with distutils, the additional command line arguments leaked into the regular command. Patch by Kamekameha. (Github issue #2209)
When using the CYTHON_NO_PYINIT_EXPORT option in C++, the module init function was not declared as extern "C". (Github issue #3414)
Three missing timedelta access macros were added in cpython.datetime.
The signature of the NumPy C-API function PyArray_SearchSorted() was fixed. Patch by Brock Mendel. (Github issue #3606)
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 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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
⚠️ Dependabot is rebasing this PR ⚠️
If you make any changes to it yourself then they will take precedence over the rebase.
Bumps cython from 0.29.17 to 0.29.18.
Changelog
Sourced from cython's changelog.
Commits
a57de92
Prepare release of 0.29.18.c0031d9
Add ticket reference explaining why a work-around is needed.4bf6a29
Update changelog.f7ca5ef
Disable GC during hacked calls to PyType_Ready() that simulate a heap type fo...b177f22
Uncomment timedelta macros in datetime.pxd, because why not have them?98baa2f
Update changelog.a50be2a
Also mark the case of an uninitialised memory view slice as "unlikely()" when...fc09a6d
Mark the last deletion of a memory view slice as "unlikely()" to ask the C co...8bcd238
Sprinkle "unlikely()" branch hints in all places where the memory view C code...cc40053
Mark the first creation of a memory view slice as "unlikely()" to ask the C c...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 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)