Skip to content

0.4.0

Latest

Choose a tag to compare

@xuckless xuckless released this 25 Oct 04:49

The gRPC/HTTP/3 release: raw TCP and UDP servers, background jobs, webhooks, realtime topics, object storage, mail and AWS Lambda, all on the same server core, the same build flags and the same C ABI.

zig fetch --save git+https://github.com/xuckless/anole#v0.4.0

Added

  • Raw TCP and UDP servers: app.tcp and app.udp run on Anole's runtime and listeners. TCP comes with framing (lines, length prefixes, varints) and TLS.
  • Jobs and cron: background jobs with retries, stored in memory, PostgreSQL or Redis, with cron schedules and a JSON admin API.
  • Webhooks: outgoing, signed the Standard Webhooks way, with retries; incoming, with signature checks.
  • Realtime:
    • SSE topics: one publish reaches every subscriber over HTTP/1.1, HTTP/2 and HTTP/3, with replay on reconnect;
    • watch over PostgreSQL, Redis and MongoDB change streams.
  • gRPC over HTTP/3 and Unix sockets, for the server and the client.
  • S3-compatible object storage: uploads, downloads and serving.
  • SMTP mail: plain, STARTTLS and implicit TLS.
  • AWS Lambda: set deployment = .lambda and the same app runs behind the Lambda Runtime API.
  • C ABI 0.10: every area above is reachable from the bindings. A binding built against 0.9 needs a rebuild.
  • A new startup banner.

Fixed

  • Live console on macOS: no key reached it before this release.
  • Live console: a use after free could crash the server at shutdown.

The full list, including the breaking changes, is in CHANGELOG.md.

The anole command line for five platforms is attached below, with SHA256SUMS.