This is the second release candidate for version 0.3.0 of Tardy. This will be the last release before Zig 0.14. v0.3.0 will be delayed until Zig 0.14 comes.
Changes with v0.3.0-rc2:
Socket now provides an init_with_address fn, allowing creating with just a std.net.Address and a Kind.
io_uring backend now properly handles INTR signals by just re-queuing job,
Reader and Writer interfaces provided for the Socket and File type, allowing for better integration with other libraries that aren't natively built for Tardy.
EXPERIMENTAL: improved performance on SPSC channel.
EXPERIMENTAL: SPSC minimum channel size is now 2.
Below are the changes that v0.3.0-rc1 introduced:
Callbacks removed in favor of Coroutines (called Frames internally), allowing for much nicer composition across the board.
New Filesystem API (including the new File and Dir struct that have pretty good inter-op with the standard library equivalents)
New Socket API (including the new Socket struct). This officially supports TCP, UDP and Unix. It also properly supports getting address information about sockets now.
Switch from the busy_loop to poll on POSIX-compliant systems, providing better cross-platform support.
Support for unlimited max tasks for workloads with an unknown number of maximum tasks. This is supported through changes to the underlying Pool implementation.
Switched AsyncIO struct to utilize a VTable approach, better standardizing the implementation.
Async I/O implementations now provide the runtime with a list of Async capabilities. If an action is queued that is not supported by the Async I/O backend, it is handled through a non-blocking yielding loop.
Stream abstraction for I/O.
EXPERIMENTAL: Added triggers, allowing for tasks to suspend until they are woken up by a different task in the future.
EXPERIMENTAL: Added a SPSC Channel, allowing for crosstask and crossthread communication.
What's Changed
Add Reader/Writer Interfaces to File and Socket by @mookums in https://github.com/mookums/tardy/pull/11
Full Changelog: https://github.com/mookums/tardy/compare/v0.3.0-rc1...v0.3.0-rc2