Skip to content

v3.0.0

Choose a tag to compare

@chrischall chrischall released this 14 Sep 12:38
1d5582c

3.0.0 (2026-09-14)

⚠ BREAKING CHANGES

  • server: a waiting verb's own timeoutMs governs its own deadline (#371)
  • protocol: per-session ephemerals on both sides, AAD over the frame's identity, and v3 refused at the hello (#368)

Features

  • protocol: per-session ephemerals on both sides, AAD over the frame's identity, and v3 refused at the hello (#368) (f1bb5f3)
  • server: a waiting verb's own timeoutMs governs its own deadline (#371) (1500d2d)

Bug Fixes

  • cli: a cookie value off the command line, hostname-matched profiles, and profile writes that survive an interrupt (#360) (c49b81a)
  • cli: check the profile before draining stdin, and match a profile's domains the way the server does (#366) (da063e7)
  • server,extension: refuse a public-suffix domain and a local Origin, and surface only the self-derived pair code (#364) (1c457c7)
  • server: authenticate before advancing the replay counter, and implement the handshake timeout the docs already claim (#356) (a4c940b)
  • server: export the verb-deadline constants, and correct what #371 left saying (#373) (5dd6e1c)
  • server: refuse a public-suffix domain at the constructor, where it fails loudly (#367) (e8ebf09)

Documentation

  • plans: the protocol v4 wire break — forward secrecy, AAD over the frame's identity, and the cohort choreography (#361) (21197c3)
  • protocol: the session key is salted by the transcript, not by one side's nonce (#370) (98e05df)