Skip to content

Commit 4258084

Browse files
committed
Update changelog for unreleased asyncio and UDP features
1 parent 7f73468 commit 4258084

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
# Changelog
22

3+
## Unreleased
4+
5+
### Added
6+
7+
- **Erlang-native asyncio event loop** - Custom asyncio event loop backed by Erlang's scheduler
8+
- `ErlangEventLoop` class in `priv/erlang_loop.py`
9+
- Sub-millisecond latency via Erlang's `enif_select` (vs 10ms polling)
10+
- Zero CPU usage when idle - no busy-waiting or polling overhead
11+
- Full GIL release during waits for better concurrency
12+
- Native Erlang scheduler integration for I/O events
13+
- Event loop policy via `get_event_loop_policy()`
14+
15+
- **TCP support for asyncio event loop**
16+
- `create_connection()` - TCP client connections
17+
- `create_server()` - TCP server with accept loop
18+
- `_ErlangSocketTransport` - Non-blocking socket transport with write buffering
19+
- `_ErlangServer` - TCP server with `serve_forever()` support
20+
21+
- **UDP/datagram support for asyncio event loop**
22+
- `create_datagram_endpoint()` - Create UDP endpoints with full parameter support
23+
- `_ErlangDatagramTransport` - Datagram transport implementation
24+
- Parameters: `local_addr`, `remote_addr`, `reuse_address`, `reuse_port`, `allow_broadcast`
25+
- `DatagramProtocol` callbacks: `datagram_received()`, `error_received()`
26+
- Support for both connected and unconnected UDP
27+
- New NIF helpers: `create_test_udp_socket`, `sendto_test_udp`, `recvfrom_test_udp`, `set_udp_broadcast`
28+
- New test suite: `test/py_udp_e2e_SUITE.erl`
29+
30+
- **Asyncio event loop documentation**
31+
- New documentation: `docs/asyncio.md`
32+
- Updated `docs/getting-started.md` with link to asyncio documentation
33+
334
## 1.3.2 (2026-02-17)
435

536
### Fixed

0 commit comments

Comments
 (0)