pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/py-asgiref



Module Name:    pkgsrc
Committed By:   adam
Date:           Tue Aug 11 05:37:52 UTC 2026

Modified Files:
        pkgsrc/www/py-asgiref: Makefile distinfo

Log Message:
py-asgiref: updated to 3.12.1

3.12.1 (2026-07-14)

* Restored the previous SyncToAsync.__call__ internal code shape, which was
  relied on by some APM services.

  Note, this change was available whilst maintaining the underlying fix.
  It does not constitute an API stability promise. Ideally APMs are
  *not* monkey patching internal APIs, and future changes will be made here if
  needed.

3.12.0 (2026-07-14)

* ``AsyncToSync`` no longer captures the running event loop on
  instantiation.

  This resolves a series of deadlocks that users experienced after asgiref 3.9.0,
  particularly with pytest-asyncio. pytest-asyncio stops the event loop between
  tests, and long-running unawaited futures could find themselves trying to
  schedule work onto a stopped loop, and so would never complete. Ideally, code
  should be structured to await long-running futures before returning, but this
  change should help users experiencing issues here.

  The loop is now resolved when the callable is invoked rather than when it is
  created. If ``async_to_sync`` is called from within ``sync_to_async``, the
  parent event loop is still used, as before.

  The possibility of deadlock therefore remains in some nested patterns. For
  example, an async function may call a long-running ``sync_to_async`` function
  that itself uses ``async_to_sync``; if the outer function returns before the
  sync future completes, the parent event loop may already be stopped, and the
  nested calls cannot be driven to completion.

  This is not a bug in asgiref — the same patterns deadlock in plain asyncio. As
  above, restructure your code to await the ``sync_to_async`` future before
  exiting the driving coroutine.

* Fixed an event loop deadlock when exiting ``ThreadSensitiveContext``
  while its executor thread was still blocked waiting on the event loop.

* Dropped support for EOL Python 3.9.

* Fixed ``StatelessServer.run()`` failing on Python 3.14, where
  ``asyncio.get_event_loop()`` no longer creates an event loop if none
  exists. It now uses ``asyncio.run()``.

* Fixed ``Local`` leaking data between unrelated sync threads when
  ``sys.flags.thread_inherit_context`` is enabled (Python 3.14+), so a newly
  started thread inherits a copy of the spawning thread's context. This flag is
  on by default on free-threaded builds and opt-in on the regular GIL build.
  ``Local`` storage is now tagged with its owning thread and re-homed only when
  asgiref intentionally moves work across threads (in ``async_to_sync`` /
  ``sync_to_async``), restoring the documented thread-local behaviour in sync
  threads.

* asgiref is now tested against the free-threaded builds of Python 3.13 and
  3.14 in CI.

* The ``tests`` extra no longer installs ``mypy``; a new ``mypy`` extra is
  available for type-checking the codebase.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 pkgsrc/www/py-asgiref/Makefile
cvs rdiff -u -r1.38 -r1.39 pkgsrc/www/py-asgiref/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/py-asgiref/Makefile
diff -u pkgsrc/www/py-asgiref/Makefile:1.41 pkgsrc/www/py-asgiref/Makefile:1.42
--- pkgsrc/www/py-asgiref/Makefile:1.41 Wed Feb  4 12:53:08 2026
+++ pkgsrc/www/py-asgiref/Makefile      Tue Aug 11 05:37:52 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.41 2026/02/04 12:53:08 adam Exp $
+# $NetBSD: Makefile,v 1.42 2026/08/11 05:37:52 adam Exp $
 
-DISTNAME=      asgiref-3.11.1
+DISTNAME=      asgiref-3.12.1
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    www python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=a/asgiref/}

Index: pkgsrc/www/py-asgiref/distinfo
diff -u pkgsrc/www/py-asgiref/distinfo:1.38 pkgsrc/www/py-asgiref/distinfo:1.39
--- pkgsrc/www/py-asgiref/distinfo:1.38 Wed Feb  4 12:53:08 2026
+++ pkgsrc/www/py-asgiref/distinfo      Tue Aug 11 05:37:52 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.38 2026/02/04 12:53:08 adam Exp $
+$NetBSD: distinfo,v 1.39 2026/08/11 05:37:52 adam Exp $
 
-BLAKE2s (asgiref-3.11.1.tar.gz) = 302a0bf9e9c91db07796c1505b44af025bf198e13520dfc7090b11f2d3b12939
-SHA512 (asgiref-3.11.1.tar.gz) = f41977ac7a07af7b7c2630b50df30ea4dbbe6b2e6157e9064e3440e342297b5e0c3776648f29e9f8eb95de04d2486872eb2f3e6734b9695073c76f8abaf4053a
-Size (asgiref-3.11.1.tar.gz) = 38550 bytes
+BLAKE2s (asgiref-3.12.1.tar.gz) = 02963a2908f39d0cb8d67d016580c00e9249331aefb749ab2701cff3ac557aef
+SHA512 (asgiref-3.12.1.tar.gz) = 21cea091580c0595bffae0fd92a81c18404318d8b7a6597032f23a42e1fda7b94c64c1dfa6ad0034839479a1246f55d5aa02aadcdd2d00df9d415027d2a120ff
+Size (asgiref-3.12.1.tar.gz) = 42378 bytes



Home | Main Index | Thread Index | Old Index