Skip to content

0.2.0

Choose a tag to compare

@ponylang-main ponylang-main released this 12 Apr 00:32
· 93 commits to main since this release

Fix potential connection hang when timer event subscription fails

On some platforms, if the operating system cannot allocate resources for a connection timer (e.g., ENOMEM on kqueue or epoll), connections could hang silently instead of reporting an error. Timer subscription failures are now detected and reported as connection failures.

Add ConnectionFailedTimerError to ConnectionFailureReason

ConnectionFailureReason now includes ConnectionFailedTimerError, which is reported when the connect timer's ASIO event subscription fails. If you match exhaustively on ConnectionFailureReason, you'll need to add a handler for the new variant:

match reason
| ConnectionFailedDNS => ...
| ConnectionFailedTCP => ...
| ConnectionFailedSSL => ...
| ConnectionFailedTimeout => ...
| ConnectionFailedTimerError => ...
end

Require ponyc 0.63.1 or later

courier now requires ponyc 0.63.1 or later. Older ponyc versions are no longer supported.

[0.2.0] - 2026-04-12

Fixed

  • Fix potential connection hang when timer event subscription fails (PR #48)

Changed

  • Add ConnectionFailedTimerError to ConnectionFailureReason (PR #48)
  • Require ponyc 0.63.1 or later (PR #48)