Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==3.5.2
->==3.8.1
Release Notes
django/asgiref (asgiref)
v3.8.1
Compare Source
sync_to_async.
v3.8.0
Compare Source
Adds support for Python 3.12.
Drops support for (end-of-life) Python 3.7.
Fixes task cancellation propagation to subtasks when using synchronous Django
middleware.
Allows nesting
sync_to_async
viaasyncio.wait_for
.Corrects WSGI adapter handling of root path.
Handles case where
"client"
isNone
in WsgiToAsgi adapter.v3.7.2
more accurately reflect the kind of callables they return.
v3.7.1
is now constrained to be at least version 4 (as we depend on functionality
in that version and above)
v3.7.0
Compare Source
Contextvars are now required for the implementation of
sync
as Python 3.6is 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.
v3.6.0
Compare Source
Two new functions are added to the
asgiref.sync
module:iscoroutinefunction()
and
markcoroutinefunction()
.Python 3.12 deprecates
asyncio.iscoroutinefunction()
as an alias forinspect.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 thesefunctions 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 beadopted by Django 4.2, in preparation for support of Python 3.12.
The
loop
argument toasgiref.timeout.timeout
is deprecated. As per otherasyncio
based APIs, the running event loop is used by default. Note thatasyncio
provides timeout utilities from Python 3.11, and these should bepreferred where available.
Support for the
ASGI_THREADS
environment variable, used bySyncToAsync
, is removed. In general, a running event-loop is notavailable to
asgiref
at import time, and so the default thread poolexecutor cannot be configured. Protocol servers, or applications, should set
the default executor as required when configuring the event loop at
application startup.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.