- Expose the "original" (i.e. not the address inside the WireGuard tunnel) source address of WireGuard UDP packets in TcpStream via `TcpStream.get_extra_info("original_src")`. - Internal refactoring to simplify code for spawning TCP connection handler coroutines, which makes it possible to check whether they raised an exception (which were previously just silently ignored). - Update all Rust dependencies, including an update to PyO3 v0.17.3, which is the first release that marked support for Python 3.11 as official.
0.1.17
- Ensure that the virtual network device does not block unnecessarily and that it is always polled when necessary. Fixes a regression that was introduced in version 0.1.16.
0.1.16
- Optimize event processing in the internal network stack by always consuming as many events as possible before polling the virtual network device and processing open TCP sockets. - Ensure that only one TCP socket is created per connection, even if `SYN` packets are resent for some reason. - Channel sizes for processing events in the internal network stack are increased to avoid errors with full channels when some tasks don't keep up. - Logging calls are removed from the network task's hot loop unless the project is built in `debug` mode. - Failures to send to channels that were already closed when processing data that was received for sockets are now ignored to avoid crashes.
0.1.15
- Manually include source files for the test client binary in published `sdist`s to ensure the sources which are published on PyPI can actually be built.
0.1.14
- Increase buffer size for WireGuard packets to accommodate large outgoing packets. - Check length of outgoing packets and drop packets that are larger than the maximum possible WireGuard packet payload (maximum packet size - WireGuard header length) to avoid crashes with super-sized packets.
0.1.13
- Update dependencies to the latest versions (pyo3 v0.17, pyo3-asyncio v0.17, pyo3-log v0.7), now that pyo3-asyncio v0.17 was released with pyo3 v0.17 support. - Switch back from patched version of pyo3-asyncio to the official releases, since v0.17 incorporates our patch.