The type annotations for SyncToAsync and AsyncToSync have been changed to
more accurately reflect the kind of callables they return.
3.7.1 (2023-05-24)
On Python 3.10 and below, the version of the "typing_extensions" package
is now constrained to be at least version 4 (as we depend on functionality
in that version and above)
3.7.0 (2023-05-23)
Contextvars are now required for the implementation of Local as Python 3.6
is now no longer a supported version.
sync_to_async and async_to_sync now pass-through
Debug and Lifespan State extensions have resulted in a typing change for some
request and response types. This change should be backwards-compatible.
asgiref frames will now be hidden in Django tracebacks by default.
Raw performance and garbage collection improvements in Local, SyncToAsync,
and AsyncToSync.
3.6.0 (2022-12-20)
Two new functions are added to the asgiref.sync module: iscoroutinefunction()
and markcoroutinefunction().
Python 3.12 deprecates asyncio.iscoroutinefunction() as an alias for
inspect.iscoroutinefunction(), whilst also removing the _is_coroutine marker.
The latter is replaced with the inspect.markcoroutinefunction decorator.
The new asgiref.sync functions are compatibility shims for these
functions that can be used until Python 3.12 is the minimum supported
version.
Note that these functions are considered beta, and as such, whilst
not likely, are subject to change in a point release, until the final release
of Python 3.12. They are included in asgiref now so that they can be
adopted by Django 4.2, in preparation for support of Python 3.12.
The loop argument to asgiref.timeout.timeout is deprecated. As per other
asyncio based APIs, the running event loop is used by default. Note that
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)
Bumps asgiref from 3.5.2 to 3.7.2.
Changelog
Sourced from asgiref's changelog.
... (truncated)
Commits
a90aeb9
Releasing 3.7.209a234e
Type sync_to_async/async_to_async as returning callables085ba6a
Releasing 3.7.1db2e53a
Pin typing_extensions high enough for our use of it89cfe10
Releasing 3.7.072f45c5
Improve sync.py typing and utilities performance (#390)fd7a63c
Mention BlackSheep as one of the implementation (#391)7c8d31c
Add information about when to start sending response (#389)c3d70c3
Remove "wait for body" response constrainte22d765
Better garbage-collection on exceptions in sync_to_async (#386)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)