No changes from 3.0rc3 aside from the version number.
3.0.0rc3 (2023-09-12)
Fix an intermittent error during process termination on some
platforms (GCC/Linux/libstdc++).
3.0.0rc2 (2023-09-09)
Fix some potential bugs (assertion failures and memory leaks) in
previously-untested error handling code. In some cases, this means
that the process will execute a controlled abort() after severe
trouble when previously the process might have continued for some
time with a corrupt state. It is unlikely those errors occurred in
practice.
Fix some assertion errors and potential bugs with re-entrant
switches.
Fix a potential crash when certain compilers compile greenlet with
high levels of optimization. The symptom would be that switching to
a greenlet for the first time immediately crashes.
Fix a potential crash when the callable object passed to the
greenlet constructor (or set as the greenlet.run attribute) has
a destructor attached to it that switches. Typically, triggering
this issue would require an unlikely subclass of
greenlet.greenlet.
Python 3.11+: Fix rare switching errors that could occur when a
garbage collection was triggered during the middle of a switch, and
Python-level code in __del__ or weakref callbacks switched to a
different greenlet and ultimately switched back to the original
greenlet. This often manifested as a SystemError: "switch
returned NULL without an exception set."
For context on the fixes, see gevent issue [#1985](https://github.com/python-greenlet/greenlet/issues/1985) <https://github.com/gevent/gevent/issues/1985>_.
3.0.0rc1 (2023-09-01)
Windows wheels are linked statically to the C runtime in an effort
to prevent import errors on systems without the correct C runtime
installed. It's not clear if this will make the situation better or
worse, so please share your experiences in issue 346 <https://github.com/python-greenlet/greenlet/issues/346>_.
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 greenlet from 2.0.2 to 3.0.0.
Changelog
Sourced from greenlet's changelog.
... (truncated)
Commits
ef510e4
Preparing release 3.0.08b24b4d
Updating change log.79f6351
Back to development: 3.0.0rc4715128a
Preparing release 3.0.0rc3f2ecf0c
D'oh, tstate is used under Py 3.11+. UNUSED breaks compilation on windows.7451810
Finish refactoring to separate files.748a9e0
Fix an intermittent error during process termination on GCC/Linux/libstdc++.cec93b1
Move BrokenGreenlet to its own file.0b108b3
Move UserGreenlet code to its own file.215d0c9
Moving Greenlet, module globals and thread state destruction to their own files.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