We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0c5b5af commit 1d7c962Copy full SHA for 1d7c962
1 file changed
CHANGELOG.md
@@ -61,6 +61,15 @@
61
- **Minimal term allocation** - Direct Erlang term building without intermediate structures
62
- Timestamps captured at NIF level using `enif_monotonic_time()`
63
64
+### Fixed
65
+
66
+- **Python 3.12+ event loop thread isolation** - Fixed asyncio timeouts on Python 3.12+
67
+ - `ErlangEventLoop` now only used for main thread; worker threads get `SelectorEventLoop`
68
+ - Async worker threads bypass the policy to create `SelectorEventLoop` directly
69
+ - Per-call `ErlNifEnv` for thread-safe timer scheduling in free-threaded mode
70
+ - Fail-fast error handling in `erlang_loop.py` instead of silent hangs
71
+ - Added `gil_acquire()`/`gil_release()` helpers to avoid GIL double-acquisition
72
73
## 1.5.0 (2026-02-18)
74
75
### Added
0 commit comments