Skip to content

v3.9.0

Choose a tag to compare

@dylanneve1 dylanneve1 released this 25 Jul 15:44
b2075f8

3.9.0 (2026-07-25)

Features

  • companion: natural-sounding voice mode and a living orb (#635) (21d674a)
  • companion: settings chapters, command palette, actionable context (#653) (b21a631)
  • terminal: add prompt history and richer status (#601) (b3cb5cc)

Bug Fixes

  • bridge: refuse browser-driven and DNS-rebound requests (#648) (552c13b)
  • discord: keep API error codes readable after withRetry wraps them (#654) (2ff7237)
  • discord: stop one bad button or a long reply losing the whole message (#651) (ade9b5a)
  • mesh: address device commands, attribute results, bind transfer tokens, bound the registry (#655) (609d9b6)
  • telegram: enforce the 64-BYTE callback_data cap on inline buttons (#644) (3881b67)
  • telegram: never emit crossed HTML tags from markdown conversion (#643) (970079c)
  • tests: reap leaked mkdtemp scratch dirs after each run (#652) (82782ca)

Code Refactoring

  • backends: trim dead kilo/opencode barrel surface (#647) (7d71c80)
  • delete superseded/dead modules, make knip output actionable (#646) (d4568bc)
  • layering: fix two depcruise violations, correct three rule contracts (#650) (1db5948)
  • trim unused re-exports from core and cli barrels (#649) (8f99264)