Skip to content

v8.0.0

Choose a tag to compare

@bschick bschick released this 13 Sep 06:23
· 134 commits to main since this release
Immutable release. Only release title and notes can be modified.
v8.0.0
ce223ec

8.0.0 (2026-09-12)

Changes

  • sign-in dialog now reports when the previous sign out failed [thanks to Blake Prins (@prins1bap-ui)]
  • changed initial focus on the credentials panel to prevent accidental passkey creation
  • improved test coverage for master key provider, proofs, and nonce uniqueness

Security

  • protocol version 8 released
    • key commitment added to associated data and verified before decryption to achieve full key commitment across all cipher modes [thanks to Rajat Shukla (@rajat4722)]
    • length prefixes added to key derivation inputs to enforce unambiguous encoding
    • improved domain isolation by adding context-specific inputs to block key derivation
    • password hints padded to a 16-byte modulus before encryption to obscure hint length
    • added domain separation between "replace" and "recover" recovery proof signatures
  • added adversarial key commitment test using a GF(2^128) solver [thanks to Claude Code (@claude)]
  • added detection and error reporting of stripped encryption loops
  • added detection and error reporting of data appended after an empty final block [thanks to Ben (@benthepythondev00)]
  • disabled browser text assistance features on sensitive input fields [thanks to Prashikshit Saini (@PrashikshitSaini) and Damir (@Evelynkaz)]
  • enforced output file permissions during cli --force overwrite [thanks to @EpochLiu]
  • cli --force overwrite no longer follows symlinks [thanks to Claude Code (@claude)]
  • various small cli improvements including better cleanup after an error or interruption
  • updated packages