Changelog

View Source

0.1.2

Fixed

  • whitecap:start_listeners/2 is now safe to call more than once per node. Listener processes are registered under names that include the configured port, so a second call with a different port no longer collides on whitecap_listener_<N> with the first call. Before this fix, the second start_listeners call always failed with {error, {already_started, _}} as soon as its countdown reached an N value already used by the first call (e.g. one listener on metrics port 9091 plus sixteen on the main port would crash on whitecap_listener_1).

0.1.1

Dep bumps + CI bootstrap. No source changes.

Changed

  • foil bumped from 0.1.3 to 0.1.4 (tighter error/0 type; internal DRY refactor; behaviour unchanged).
  • metal bumped from 0.1.1 to 0.1.2 (infrastructure refresh).
  • telemetry bumped from 1.2.1 to 1.4.2.
  • Test profile: buoy switched from git ref 0.2.4 to the hex release 0.2.6 -- buoy itself bumped through to 0.2.6 with the same dep-modernization pass; the hex release transitively pulls in shackle 0.7.1 (which replaced granderl with knot, fixing the OTP 27+ build break).
  • Test profile: timing git ref pinned from master to tag 0.1.3.
  • Test profile: fprofx moved from ransomr/fprofx to lpgauth/fprofx (otp_19 branch).

Added

  • GitHub Actions CI workflow. Matrix covers OTP 25, 26, 27, 28. (whitecap shipped 0.1.0 without any CI configured.)

Removed

  • edoc profile (was still configured to use edown; whitecap already uses rebar3_ex_doc for hex docs, so the edown path was unreachable).

0.1.0

Initial release.

Features

  • HTTP/1.1 GET, HEAD, POST, PUT.
  • Multi-acceptor model using SO_REUSEPORT on Linux and Darwin.
  • Configurable handler module via whitecap:start_listeners/1,2.
  • Keep-alive with a configurable per-connection request cap (max_keepalive).
  • Telemetry events under [whitecap, connections, ...].

Notes

  • [whitecap, connections, stats] reports duration in microseconds (not seconds).
  • See README "Non-goals" for deliberate departures from RFC 7230.