Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 07:13
· 47 commits to master since this release
3b9da12

[0.2.0] - 2026-08-10

🚀 Features

  • (#3) Start a per-connection id/server_time ring for CHATHISTORY
  • (#3) Implement CHATHISTORY (draft/chathistory) over the ring
  • (connection) Consume meta.sender_kind in handle_grappa_server_window_row
  • (http) RFC 3986 bracketed IPv6 literal support in parse_grappa_url
  • (listener) Add IPv6 support to bind directive
  • (grappa-admin) Expose admin API as /grappa IRC commands (#56)
  • (registry) Add connection registry and /grappa clients/myclients/kill
  • (config) Accept plaintext grappa-url towards loopback only

🐛 Bug Fixes

  • Two draft/chathistory spec-compliance gaps found by issue #46 review
  • Resolve -Werror=format-truncation and -Wsign-compare in chathistory code
  • (test) Two chathistory compliance check bugs
  • (registry) Eliminate TOCTOU race in registry_kill + dangling entries
  • (registry) Remove post-shutdown send() in registry_kill
  • (connection) Reconcile GRAPPA dispatch with registry commands (#57)
  • (grappa) Correct vhost grant and revoke endpoints (#62)
  • (grappa) Read grants from flat root-level array in vhost revoke
  • (grappa) Verify and correct all admin subcommand wire shapes (#63)
  • (connection) Join WHO params with spaces to support extended-WHO syntax
  • (packaging) Restart service on upgrade, stop only on remove

💼 Other

  • Expand RFC 1459 compliance checks beyond the registration burst
  • Fix server NOTICE check — active trigger via OperServ UPDATE
  • Fix server-NOTICE check to use scheduled write cycle
  • Bring feature/chathistory-ring onto develop (64 commits)
  • Resolve conflicts with develop, fix bracketed-IPv6 loopback gap

🧪 Testing

  • Fix services crash caused by UPDATE:20 below the 300s minimum
  • Assert PRIVMSG DM target is re-keyed to peer nick (WIRE.md §5)
  • (e2e) Add IRCv3 draft/chathistory compliance check