Files
buzz/CHANGELOG.md
T

133 KiB
Raw Blame History

Changelog

v0.4.0

  • feat(desktop): default observer archive on for dev-nest builds (#1726) (d9e4edbbf)
  • feat(desktop): thread baked build env into global agent config UI (#1722) (2f2ad409a)
  • feat: relay invite links (mint + claim + landing page + deep link) (#1668) (2e529aab7)
  • fix(desktop): pass GlobalAgentConfig to spawn_config_hash in tests (#1721) (b97777350)
  • feat(desktop): global agent config defaults with readiness/spawn parity (#1448) (77c08365e)
  • fix(desktop): remove "Remove all stopped" bulk action from agents menu (#1720) (651efe8d9)
  • fix(desktop): retire single-member built-in Fizz team (#1718) (f12bd3689)
  • fix(desktop): hide relay mesh option when mesh-llm feature is absent (#1719) (f0b8f806f)
  • fix(desktop): propagate agent definition edits to instances and remove dead config knobs (#1715) (1f48860b7)
  • perf(desktop): thread panel rebuilt on every render — fix memo + add typing-latency benchmark (#1652) (9b2f0c8cb)
  • fix(drafts): stop clearing drafts on workspace switch and hide sent section (#1708) (e2d104f66)
  • fix(inbox): reply at same thread level as inbox item (#1714) (177fc30be)
  • fix(desktop): make @mention clicks reliably open the profile panel (#1705) (5f0d8309d)
  • fix(desktop): walk ancestor chain in orphan sweep exemption (#1711) (7fb215c4f)
  • fix(desktop): stop showing /dev/null in diff labels, keep type badge visible (#1704) (868c9ad05)
  • perf(desktop): stop re-rendering the app shell on every keystroke; fix two latent cache races it unmasked (#1692) (129c91a2b)
  • fix(observer): widen live subscription lookback to capture session/prompt (#1710) (715df2537)
  • test(desktop): stabilize custom emoji e2e (#1685) (20c40d176)
  • fix(observer): use lifecycle item title as verb instead of hardcoded "Status" (#1709) (95bc640a5)
  • chore(desktop): remove dead archive-migration and keyring load_readonly helpers (#1701) (389a956e0)
  • fix(desktop): stop losing imported identity on every launch (#1568) (e15f06857)
  • fix(desktop): use augmented PATH for readiness probes (#1613) (94ec2c2bc)
  • fix(desktop): isolate dev keyring from production and make BUZZ_SHARE_IDENTITY keyring-aware (#1680) (e5d215e3c)
  • fix(desktop): migrate Databricks V1→V2 records at boot and fix readiness gate (#1686) (1f2afce29)
  • B5 residue: inbound-event security hardening + persona→agent copy sweep (#1688) (f0e65589a)
  • fix(desktop): paginate complete channel directory (#1690) (b41cf3ffc)
  • fix: flush debounce on Tab/Enter to prevent stale autocomplete (#1661) (841282141)
  • fix(desktop): preserve agent timer state across workspace switches (#1679) (46613dcce)
  • fix(desktop): honor macOS title-bar double-click preference (#1674) (6b2147a5d)
  • feat(desktop): projects overview v2 — aggregate rail, PR review flow, commit detail, and straighter layout (#1677) (58fe9388c)
  • B5: one create path — behavioral quad activation, backfill, menu collapse, legacy dialog deletion (#1667) (3a7e40027)
  • Polish Buzz sidebar theme (#1671) (cdba2a08e)
  • fix(agents): harden structured error-code classification edge cases (#1663) (fc8a17445)
  • feat: add deeplink nostr identity binding flow (#1648) (cecd03142)
  • perf(desktop): cache parsed markdown across channel-switch remounts (#1635) (2b3246934)
  • fix(agents): surface provider errors structurally instead of raw dumps (#1653) (9b244ff22)
  • feat(relay,desktop): canonicalize agent definitions on kind:30175 (Phase 2) (#1655) (b2c63291f)
  • fix(desktop): scope observer feed by channel and add session-boundary dividers (#1634) (fd5d04de0)
  • feat(config-nudge): distinguish install/auth state in cli_login nudge cards (#1633) (4f1a487ab)
  • fix(desktop): async-ify the auto-restart setter after the perf-sweep merge collision (#1651) (dc7ececdc)
  • feat(desktop): auto-restart agents on config change (Chunk F) (#1649) (a415f0f31)
  • perf(desktop): GUI performance sweep — async offload, poll reduction, render stabilization (#1641) (2cc0eb539)
  • fix: user search returns zero results for partially typed names (#1603) (11608ef67)
  • copy(desktop): finish the persona→agent rename in rendered UI (B4.1) (#1647) (577fc8df5)
  • Community moderation UI: integration branch (data layer + member surface base) (#1617) (c9c868b25)
  • Community moderation Phase 1: reports, bans/timeouts, audit, tombstones, relay-DM notices (#1616) (863aeb79f)
  • copy(desktop): the word "persona" leaves the UI (Phase 1B.4) (#1646) (41b187f93)
  • feat(desktop): flapping bee on the setup loading screen (#1631) (c145037aa)
  • fix(desktop): make ⌘K open the composer link editor for selections (#1644) (3e982fd37)
  • fix(linux): make AppImage work on Mesa 25+ / GLib 2.88 distros (#1567) (563dab92e)
  • fix(desktop): add unread dot to workspace rail for channel unreads (#1637) (f968601ef)
  • refactor(desktop): converge the three definition→instance mappings (Phase 1B.3.5) (#1645) (9683ef807)
  • Hide non-invocable member agents from @-mention autocomplete (#1611) (f929aa09e)
  • fix(desktop): clamp HDR avatar images to SDR range (#1642) (fa816d5bf)
  • refactor(desktop): definition-edit routes through AgentDialog — single dialog entry point (Phase 1B.3c) (#1643) (aa17294ad)
  • fix(desktop): refresh persona env vars on respawn — record.env_vars is overrides-only (#1640) (79a057534)
  • refactor(desktop): re-host instance edit as AgentInstanceEditDialog behind AgentDialog (Phase 1B.3b) (#1639) (8af18ee32)
  • feat(desktop): show full URL tooltip on masked link hover (#1625) (01c6b8566)
  • fix(desktop): paint Buzz gradient on the workspace rail (#1636) (2f1cd6771)
  • refactor(desktop): single-home the definition form as AgentDefinitionDialog (Phase 1B.3a) (#1627) (48bd8abfe)
  • feat(desktop): unified AgentDialog create entry point with create intents (Phase 1B.2) (#1626) (6f38db680)
  • Update DMG background and label size (#1629) (5b1a53ceb)
  • test(desktop): deflake mid-scroll older-history spinner smoke test (#1632) (7ff58d9af)
  • feat(desktop): add Buzz light + dark themes with branded sidebar gradient (#1630) (290be2a03)
  • fix(desktop): render thread facepile oldest-replier-first (#1595) (f9701a386)
  • fix(desktop): keep sidebar section actions visible while ⋮ menu is open (#1584) (943d7a663)
  • refactor(desktop): extract shared runtime/provider/model selection + env-var helpers (Phase 1B.1) (#1624) (4b5cac074)
  • feat(desktop): fold personas.json into the unified agent store (Phase 1A.2) (#1623) (381c7714f)
  • fix(desktop): hash spawn config as the env receives it, not raw record fields (#1621) (f0eb4eccd)
  • test(desktop): add edit-agent dialog e2e coverage (Phase 1B.3b-pre) (#1628) (a609e796b)
  • feat(desktop): unified AgentRecord groundwork — record-first resolution + runtime materialization (Phase 1A.1) (#1618) (5dce80aff)
  • fix(desktop): backfill edits for thread replies so edited replies survive refetch (#1610) (d1f3194e7)
  • chore(desktop): clear desktop-tauri clippy backlog (#1612) (36fd41c5c)
  • fix(desktop): restrict shared-agent sync to dev data dirs (#1597) (e5f831d2c)
  • feat(desktop): restart-required badge from spawn-time config hash (#1602) (cc42a4979)
  • feat(desktop): boot-time reconcile of managed agents to relay events (#1601) (c5a541ee2)
  • feat(desktop): canonical component — hover to view/copy full keys, owner "you" labels (#1589) (777babf39)
  • fix(desktop): hydrate reactions for Inbox context messages (#1596) (cdf982bdb)

v0.3.46

  • fix(desktop): preserve agent model/provider when persona snapshot fields are blank (#1583) (a3ee2c569)
  • feat(acp,desktop): identify and reap stale agent harness processes (#1582) (3c6c0d447)
  • feat(desktop): active-draft badge, send-from-drafts confirm dialog, thread-deleted state (#1581) (b394e95ef)
  • fix(desktop): treat baked build env vars as satisfying required agent config (#1580) (b90e80443)
  • feat(desktop): add "Copy image" to image right-click context menu (#1579) (683f7fec1)
  • fix(nest): use buzz-dev symlink name for dev builds (#1587) (dcbb3ff78)
  • fix(composer): address image-editor follow-up nits on #1491 (#1565) (49391d807)
  • fix(desktop): render black static boot screen (#1570) (10444d248)
  • feat(agents): group activity tool bursts (#1571) (426f04484)
  • feat(desktop): aggregated overview rail, commit detail page, and full breadcrumbs (#1573) (c97263901)
  • fix(desktop): fetch profiles for reaction actors and thread-reply authors (#1550) (62def1459)
  • refactor(desktop): unify EditAgentDialog styling with PersonaDialog (#1540) (c258ffc4a)
  • feat(desktop): add 10-minute message grouping window (#1578) (564ead385)
  • feat(desktop): unify sidebar section actions into a per-section ⋮ menu (#1577) (d94561795)
  • feat(desktop): emoji avatar picker for agents + reliable picker scroll (#1576) (ed84a8735)
  • fix(desktop): sync derived active-turn liveness in channel activity path (#1492) (1f5ba5bb2)
  • fix(personas): remove goose runtime pin from Fizz built-in (#1566) (e3008b360)
  • feat(acp,buzz-agent): thread model name through NIP-AM kind 44200 emit path (#1564) (08e707eb5)
  • sync channel sort preferences across clients (#1556) (04a9d1029)
  • fix desktop canvas header blur in split channel management (#1558) (2ef26ec21)
  • feat(composer): compose spoiler, annotation, and tooltip controls (#1491) (1aa87bb26)
  • feat(channel list): add persistent channel sort toggle (#1505) (36ac5243f)

v0.3.45

  • chore(deps): bump crossbeam-epoch to 0.9.20 for RUSTSEC-2026-0204 (#1563) (75b52ad7e)
  • fix(archive): atomic remove-kind path + split test modules (#1562) (484bede75)
  • feat(archive): add agent turn-metric (kind 44200) local archive (#1555) (429f54b4f)
  • feat(desktop,buzz-acp): add harness-agnostic config bridge and setup-listener mode (#1411) (d8355d318)
  • fix(desktop): stop edit-channel dialog hanging on "Saving..." (#1557) (76806cb1f)
  • feat(archive): add local-save archive with observer-feed default-on option (#1442) (711078807)
  • feat(desktop): add Slack-like Drafts inbox with persistence and image fix (#1539) (4c598dcef)
  • fix(setup): fix syntax error in seed-local-community.sh (#1547) (3729a6515)
  • feat(desktop): add right-click context menu to workspace rail (#1552) (0e87998f8)
  • fix(desktop): restore saved window geometry on launch (#1554) (e790c9828)
  • feat(desktop): add typeahead search to persona model dropdown (#1542) (3b43743e1)
  • fix(desktop): publish new agent profiles to active relay (#1546) (346efe08b)
  • chore(desktop): use dot access for host header assignment (#1548) (ccfdf45bc)
  • fix(onboarding): guard against webkit2gtk WAL race with explicit profile-event signal (#1508) (c2ee4d162)

v0.3.44

  • fix(desktop): keep thread-summary badges mounted through scrollback prepends (#1533) (6abf614fd)
  • refactor(shell): drop bundled PortableGit, add BUZZ_SHELL override + dialect hint (#1536) (cfa208983)
  • feat(nips,relay,acp): NIP-AM durable encrypted agent turn metrics (kind 44200) (#1441) (71265ca36)

v0.3.43

  • fix(desktop): sync agent relay profile when persona avatar changes (#1512) (ce901f7c1)
  • feat(desktop): redesign appearance settings with mode-first theme picker (#1528) (9e773f103)
  • fix(deps): restore windows-* crates downgraded by chrono bump (fixes Windows Rust on main) (#1532) (d40837085)
  • chore(renovate): stop rebase churn between weekly sweeps (#1530) (a8238cd67)
  • fix(deps): unversion isomorphic-git pnpm patch key (#1529) (2a24765fd)
  • chore(deps): update dependency @tanstack/react-virtual to v3.14.5 (#1523) (b66a53f5b)
  • chore(deps): update redis to v1.2.2 (#1049) (f1b29140c)
  • feat(desktop): restore section icon/emoji picker (#1516) (232b6066c)
  • chore(deps): update radix-ui-primitives monorepo (#1524) (dc383c199)
  • fix(desktop): stop Leave-channel dialog from freezing the app (#1482) (668d30b0c)
  • perf: lazy-load avatars and message images (#1517) (d09d7dea5)
  • Live thread-summary push: badge counts update on reply ingest (#1521) (74a30c3de)
  • chore(deps): update all non-major dependencies (#1163) (a255a7735)
  • chore(deps): update rust crate anyhow to v1.0.103 (#1525) (26d609cbe)
  • chore(deps): update cashapp/activate-hermit digest to cea9af7 (#1522) (19d98319a)
  • chore(deps): update rust crate chrono to v0.4.45 (#1050) (3caa66d4f)
  • chore(deps): update actions/cache digest to caa2961 (#1341) (8dea817fa)
  • chore(deps): pin dependencies (#1162) (4b01040af)
  • feat(desktop): replace placeholder icon with actual app icon on welcome screen (#1527) (5b88e5956)
  • feat(desktop): enable native spellcheck in message composer (#1515) (a1b5983e5)
  • fix: let agent owners delete their agent's messages (relay kind:5 + desktop/mobile UX) (#1519) (642800548)
  • chore(desktop): bring ChannelScreen back under the size gate (#1520) (8174f2b0a)
  • fix(zoom) desktop chrome clearance under text zoom (#1490) (ee4c9ef13)
  • fix(activity panel): handle back navigation (#1487) (caf644eda)
  • Port channel windows to mobile (#1518) (6716cd31a)
  • perf: GIN index for e-tag containment + delta profile fetch (scroll-back ~2.1s/page) (#1514) (33886e3de)
  • GUI read-model overhaul: server-assembled channel windows (Correct™ pagination + relay-signed bounds) (#1500) (62bb9fe8c)
  • feat(desktop): show activity timestamps on demand (#1506) (c7a8b0bab)
  • feat(reconnect): replace top banner with animated sidebar overlay (#1510) (f35aeb798)
  • docs(nest-skill): explain agent-owned git repos and automatic auth (#1437) (20d3cdc22)
  • fix(agent): make stop-hook rejection budget per-prompt, fix stale hook docs (#1503) (4a0951042)

v0.3.42

  • fix(desktop): bound read-state localStorage growth and recover from quota errors (#1502) (a3cf7eec1)
  • Customize macOS DMG installer (#1496) (bbf8d8912)
  • mobile: thread scroll-to-bottom and desktop-parity mention autocomplete (#1499) (e9318f66d)
  • fix(agent): honor stop hook retry budget (#1501) (1c297d2f2)
  • feat(profile): embed live activity feed in profile aux panel (#1380) (654b6c374)
  • feat(desktop): contribution heatmap and graphical cards on projects overview (#1497) (204a0fd2e)
  • feat(desktop): repository-first projects with git workflows (#1471) (8e3c0ee95)
  • fix(desktop): lock horizontal webview pan (Magic Mouse side-scroll) (#1480) (5d4edf153)
  • Add agent catalog modal (#1302) (228122fdd)
  • fix(desktop): actually close relay sockets — plugin:websocket|disconnect does not exist (#1481) (e70dd1a1e)
  • feat(buzz-agent): config parity — thinking effort, model switching, normalized token limits (#1470) (3e282a241)
  • fix(sidebar): scope channel sections storage to relay URL (#1477) (f9d06ae21)
  • chore(mobile): declare non-exempt encryption usage in Info.plist (#1474) (453b8b1e4)
  • fix(desktop): bind channel and thread context at compose time to prevent wrong-channel send (#1472) (d369ca9df)
  • fix(relay-reconnect): resilient reconnect with fast-path, escalation, and polling (#1456) (02ff06cac)
  • feat: per-community workspace icon set by admins, served via NIP-11 (#1463) (5bfd5ca27)
  • perf(relay): batch outbound websocket data frames (#1464) (01b92faa1)
  • Make reaction ingest atomic (#1458) (835302cc8)
  • Serialize fan-out EVENT frames once (#1459) (3c661fb48)
  • fix: agent reliability — no restart on channel-add, visible dead-letter notice (#1468) (d9c4e4aa7)
  • fix(profile): consolidate agent profile runtime metadata (#1451) (c48006fc3)
  • fix(desktop): simplify workspace rail badges (#1462) (e42dae3f9)
  • perf(desktop): instant channel switching — non-blocking first paint, persisted snapshots (#1452) (deb3e6adc)
  • perf(relay): bounded-concurrency multi-filter query execution (S2) (#1457) (a9e752e25)
  • fix(desktop): classify timeline prepends so history loads don't bump unread (#1416) (9967b97f5)
  • fix(desktop): quiet gate for workspace switches instead of boot splash (#1449) (b779a3ee2)
  • fix(read-path): reach complete threads, dense-second timelines, and all people in the GUI (#1418) (7da936fff)
  • E1+E3: reduce relay ingest/fan-out DB round trips; ack p99 716%, fd p99 628%, p999 tails 2953% vs PR #1453 tip (#1454) (a504ad619)
  • perf(relay): defer post-commit dispatch and avoid verify clone (#1453) (7bd3760c8)
  • fix(relay): include git hook tools in runtime image (#1326) (88c089d3b)
  • feat(chart): per-pod emptyDir git scratch when persistence disabled (multi-replica HA) (#1450) (c88799ac6)
  • fix(relay): remove media bearer-token auth (#1444) (0701f47f4)
  • fix(desktop): stop search shortcut from hijacking the sidebar (#1447) (15ad7ae87)
  • fix(ci): set PGSCHEMA_PLAN_* in start-relay-for-tests.sh to avoid embedded-PG fetch (#1443) (89c4f7657)
  • feat(desktop): restore observer-feed regressions from #1381 and classify 4 new session/update types (#1412) (fec768436)
  • fix(desktop): disable spellcheck/autocorrect/autocapitalize on emoji picker search (#1438) (bdeab23b5)
  • feat(relay): add OpenTelemetry tracing, keep Prometheus metrics (#1398) (b1d9d955d)
  • feat(buzz-agent): emit agent_thought_chunk for reasoning content (#1436) (9f2a11b33)
  • feat(git): move repo-name registry to Postgres + relax RWM chart gate (HA relay) (#1432) (e5aa4a213)

v0.3.41

v0.3.40

  • fix(desktop): stabilize channel-timeline scrollback with per-row height reserves (#1413) (4fdc68f1)
  • fix(sidebar): trim working badge label and name working agents in tooltip (#1408) (697f63dd)
  • Mobile tab bar polish (#1368) (c444e344)
  • feat(desktop): let thread pane expand on ultrawide monitors (#1407) (f86f97bb)

v0.3.39

  • fix: close cross-process keychain race and namespace dev-build nest (#1409) (e8adc3383)
  • feat(relay): allow agent owners to edit/manage agent-owned content (#1403) (0042c8e10)
  • fix(media): support IRSA/credential-chain S3 auth and configurable signing region (#1406) (06ef533ec)
  • fix(desktop): fold baked build env into in-process model discovery (#1376) (f061ae9c8)
  • docs: link VISION_ACTIVITY from the VISION index (#1405) (aa1042b16)
  • test(desktop): gate keychain-write test behind --ignored (#1404) (36f32291e)
  • Refactor oversized mobile widgets (#1401) (71b2c41e9)
  • perf(desktop): stop beachballs on agents menu and thread open (#1402) (34d61acc9)
  • feat(desktop): rebuild agent activity feed around a classifier registry and twelve render classes (#1381) (5cc09e698)
  • fix(thread): stop mid-scroll content jump in live threads (#1397) (42ec17f13)
  • fix(ci): restore main to green — tauri fmt, personas.rs file-size split, Windows path test (#1399) (67c47de69)
  • fix(desktop): enable buzz-dev-mcp MCP server for Codex agents (#1394) (b74ed858f)
  • fix(ci): restore E2E flakiness fixes for pgschema, docker-pull, and spec timing (#1396) (fdf29c457)
  • fix(personas): persist pack-backed persona UI edits across reboot (#1392) (a7e1202cc)
  • fix(buzz-acp): clear steer_rx on all run_prompt_task exit paths (#1391) (10aaa72f0)
  • Restore channel date divider rule (#1395) (0827171d5)
  • Speed up profile wave action (#1379) (2fc5dd35b)
  • Restore visible links for rich previews (#1378) (8d8fc6331)
  • Mobile channel list polish (#1367) (09d8965ab)
  • style(desktop): unify corner radii to rounded-2xl (16px) (#1393) (2f496debc)
  • fix(desktop): skip keychain write when blob contents are unchanged (#1377) (5a64ee4a6)
  • fix(desktop): stop clipping the agent-activity row under the composer (#1371) (2044ad76f)
  • Constrain macOS overscroll to conversations (#1317) (9b711f47a)
  • Mobile appearance foundation (#1366) (945e9b879)

v0.3.38

  • feat(desktop): provider-agnostic model selection + databricks discovery (#1307) (eacbbe880)
  • release(helm): buzz chart 0.1.1 (#1374) (2561cbd06)
  • Harden relay attack surfaces (#1369) (29368cf17)
  • ci(helm): publish chart to GHCR on chart-v* tags (#1372) (2722ce422)
  • feat(buzz-agent): add databricks_v2 provider for AI Gateway v2 (#1311) (15a73aa27)
  • refactor(desktop): centralize auxiliary panel shell (#1343) (e6738c501)
  • perf(desktop): stop typing from re-rendering the channel pane + timeline (#1364) (db1b617ab)
  • fix(desktop): check PGID in orphan sweep and signal correct process groups (#1359) (59be27ff3)
  • feat(desktop): harness-agnostic config bridge (#887) (c65989a61)
  • fix(acp): enable sandbox network access for Codex MCP subprocesses (#1363) (401bb51bf)
  • perf(desktop): don't block channel create on channel-list refetch (#1360) (cf57bcbea)
  • refactor(desktop): split global styles and markdown renderers (#1361) (c27b4251a)
  • feat(read-state): multi-slot splitting + no-op suppression for oversized blobs (#1309) (2612324fd)
  • fix: unconditionally replace CLI symlink on boot (#1357) (50873ef98)

v0.3.37

  • feat(buzz-acp): steering as the default mid-turn mention delivery (#1160) (e567491a)
  • Multi-tenant Buzz relay: community_id as a server-resolved key (comprehensive rewrite) (#1321) (14fba21e)
  • Disable persona start while runtime discovery runs (#1353) (92a5f1fc)
  • chore(deps): update dependency @tanstack/react-virtual to v3.14.4 (#1342) (1c221eaa)
  • Fix sidebar unread indicator placement (#1319) (51b2613c)
  • fix(desktop): un-clip hover action bar's upward bleed under content-visibility (#1354) (7adbd05b)
  • Allow Huddle between 2 humans in DM (#1347) (b58f671b)

v0.3.36

v0.3.35

  • fix(desktop): split lib modules under size guard (#1314) (e7d43dc2)
  • Fix desktop notifications on GNOME 46+ Linux (#1246) (ca50d832)
  • perf(desktop): debounce channel-list refetch + profile get_channels (#1310) (c6e3e947)
  • feat(desktop): move agent management into profile sidebar (#1274) (8d40150c)
  • feat(desktop): re-land virtualized timeline to fix macOS beachball (#1250) (8c3d0c92)
  • feat(acp): add BUZZ_ACP_ALLOWED_RESPOND_TO and BUZZ_ALLOWED_CHANNEL_ADD_POLICIES gates (#1304) (1a61d783)
  • fix(read-state): enforce byte-budget eviction in currentContexts() (#1305) (6b056461)
  • feat(media): transcode HEIC/HEIF to JPEG on desktop upload (#1257) (d32f3c0a)
  • Bring mobile sidebar unread and DM parity (#1303) (1843a057)
  • Multi-tenant relay: spec + mechanized formal proof (S1S8) (#1285) (2ecdcce7)
  • Polish side panel motion and composer alignment (#1294) (34b2d3e8)
  • feat(mobile): harden unread badges and float tabs (#1298) (59b21592)
  • feat(desktop): restore archive identity UI in profile panel (#961) (4fce5aab)
  • fix(sidebar): non-selectable channel names + copy/leave context menu actions (#1260) (4481f8fd)
  • fix(runtime): sweep node wrapper processes hosting managed agent shims (#1296) (f072032a)
  • fix(buzz-agent): follow symlinks when discovering skill directories (#1295) (8717ddf2)
  • chore: add grab-emoji.sh to register Slack emoji in Buzz (#1292) (dfa864fc)
  • Fix cross-pod membership notification fanout (#1291) (e1c51d71)
  • fix(buzz-acp): strengthen agent communication rules in base prompt (#1293) (ccdb8975)

v0.3.34

  • feat(desktop): refresh Agents tab live on inbound relay sync (#1256) (9a59e308)
  • fix(buzz-acp): inject Codex network allowlist for relay hostname at spawn time (#1287) (0379247e)
  • refactor(desktop): consolidate notification helpers and add channel names to toasts (#1286) (dd5592e3)
  • feat(buzz-agent): lazy skill loading via load_skill tool (#1283) (25396c06)
  • fix(buzz-acp): human-aware reply anchoring to keep threads flat (#1281) (6c920d21)
  • feat(desktop): add 'Follow system' theme mode (#1262) (c996be39)
  • Fix mention autocomplete layout in narrow threads (#1282) (227518c2)
  • Clean up screenshot e2e tests (#1284) (2499d339)
  • fix(desktop): DM close button replaces unread badge on hover (#1280) (e3663721)
  • Add NIP-34 git pull request CLI support (#1279) (5fef9b72)
  • fix(desktop): preserve timeline scroll when opening threads (#1278) (d05f122d)
  • chore: remove LLM-slop comments across the codebase (#1277) (73cc31cc)
  • fix(desktop): allow saving personas with an empty system prompt (#1276) (996a3f89)

v0.3.33

  • fix(desktop): always use legacy keyring for blob entry on macOS (#1271) (e7c3638fe)
  • chore(release): release Buzz Relay version 0.1.1 (#1269) (68a0cc850)
  • perf(desktop): consolidate keychain secrets into a single blob entry (#1267) (fa942cb51)
  • feat(desktop): re-snapshot persona config on every agent spawn (#1268) (048e8fdc0)
  • feat(relay): add buzz-admin member management CLI with NIP-43 roster publish (#1265) (0cee0435f)
  • fix(desktop): fall back to old keychain when DPK unavailable (unsigned builds) (#1266) (958ac7aaa)
  • Align channel management panel with profile (#1066) (9f35b0188)
  • fix(relay): multi-pod subscription coherence (one access-gated fan-out path + cross-pod cache invalidation + REQ/COUNT DB guard) (#1261) (628445429)
  • fix(desktop): switch macOS keychain to Data Protection Keychain (#1264) (35522311a)
  • fix(desktop): use IPv4 loopback for media proxy URLs (#1245) (cee2c5f26)
  • perf(relay/git): stream read-path, manifest info/refs fast path, idx sidecar (A/B/C) (#1240) (856815994)

v0.3.32

  • fix(desktop): restore solid dot for top-level channel unreads (#1253) (9d3bfd38b)
  • Allow explicit root posts from reply prompts (#1251) (ebd74d11b)
  • feat: publish personas, teams, and managed agents as relay events (#939) (d256935c3)
  • fix(observability): gate agent observability on declared ownership, not key custody (#1229) (e993b9e74)
  • fix(desktop): split AppShell notification effects (#1248) (a9ce477a0)
  • feat(desktop): store nsec private keys in the OS keyring (#1172) (4be43d708)
  • fix: add evict-completed-work prompt rule and unblock desktop file-size gate (#1247) (048228889)
  • fix(desktop): scope mention/add autocomplete to reachable identities (#1243) (a3e8fb6fd)
  • test(e2e): raise scroll-history pagination test timeout to 90s (#1234) (09dbeb86f)
  • Polish thread and media layout (#1239) (b264a32cf)
  • Polish desktop navigation chrome (#1238) (092546495)
  • fix: propagate persona harness edits to live agent instances (#1244) (2e426b2fd)
  • fix(desktop): render autolinked message links as chips (#1241) (45067ec13)
  • fix(desktop): clear unread projections from message read markers (#1242) (733c766eb)
  • fix(desktop): resolve repos_dir symlink at boot before agent restore (#1231) (86d7748eb)
  • Fix presence fan-out across relay pods (#1227) (36d3d2ed1)
  • fix(relay): raise grace limit, add replay backpressure, and NOTICE on oversized frames (#1226) (142a5c909)
  • [codex] Make relay frame limit configurable (#1225) (38a953343)

v0.3.31

  • fix(release): publish versioned relay Docker tags via independent release lanes (#1173) (549b7d24)
  • fix(desktop): align settings section headers (#1165) (6ad68a6b)
  • fix(desktop): ground agent workspace, migrate legacy nest, configurable repos_dir (#1194) (1011cea2)
  • fix(desktop): enable mesh llm for release builds (#1221) (fa1262a9)
  • fix(desktop): move crypto commands off the main thread (#1222) (e35e84b0)
  • fix: tolerate missing private_key_nsec in agent store (#1220) (c58e9880)
  • Update navigation header height (#1212) (6b5cf325)
  • Improve global search (#1195) (5130a6a0)
  • Parse Typesense multi_search errors (#1208) (65ccb126)
  • fix(desktop): keep settings shortcut from opening search (#1204) (89ff9504)
  • Polish sidebar channel navigation (#1213) (c0a872e8)
  • fix(desktop): restore channel unread badges (#1218) (89aaa264)
  • Fix collapsed home header chrome overlap (#1215) (b4e75a1e)
  • fix(desktop): dedupe welcome intro per channel (#1216) (2a522826)
  • fix(desktop): defer agent page secondary requests (#1217) (bee2d64c)
  • ci(release): enable Tauri auto-updater on Windows and Linux builds (#1206) (3ef2a8e5)
  • Hydrate reactions for rendered messages (#1205) (ed556f3d)
  • fix(desktop): show NIP-OA owners in profile pane (#1198) (40070a58)
  • fix(desktop): preserve login-shell PATH for managed agents (#1193) (29978b6f)
  • Fix nav chrome offset in fullscreen (#1192) (b3b0704e)
  • fix(desktop): show due-reminder count in the Inbox nav badge (#1191) (c0858dac)

v0.3.30

  • fix(desktop): collapse mark-read/unread menu into one toggling item (#1188) (ce994df74)
  • fix(channels): replace thread-unread badge frontier with per-message read markers (#1178) (28db41dfd)
  • fix(relay): resubscribe agents when an archived channel is restored (#1187) (6780ea21e)

v0.3.29

  • build: make mesh-llm opt-in for dev/staging to speed up iteration (#1183) (ce526106)
  • feat(desktop): default temporary channels to 7-day expiry (#1182) (4b518fc4)
  • fix(desktop): render lightbox image sharply at full resolution (#1181) (ff727af9)
  • fix(desktop): keep thread guides behind the reply composer (#1179) (781d1acf)
  • Sort direct messages alphabetically (#1180) (04df2c8d)
  • Add composer selection formatting tray (#1133) (7dcf22d5)
  • fix(desktop): honor per-agent relay override, default to workspace relay (#1131) (ea97e219)
  • [codex] Stabilize desktop E2E flakes (#1174) (141f7118)
  • feat(desktop): show reminder author + source and click-to-navigate in inbox (#1176) (1186ea48)
  • Improve inbox thread updates (#1114) (de3f21ab)
  • docs(readme): mark git hosting as shipped in status table (#1175) (26fdfb67)
  • feat(windows): bundle full Git-for-Windows toolchain for the shell tool (#1145) (592508ad)
  • fix(buzz-dev-mcp): resolve MSYS-absolute paths in the Windows file tools (#1169) (ec5cfa37)

v0.3.28

v0.3.27

  • chore: remove block team id from Xcode (#1156) (67fcf41b)
  • fix(desktop): keep channel chrome clear of window controls (#1159) (fa10871d)
  • desktop: polish sidebar search dialog (#1155) (5f79830e)
  • desktop: fix scrollback paging and visible history depth (#1153) (6cca7599)
  • Fix ACP activity tool title detection (#1149) (4c7df9b0)
  • fix(desktop): clear channel unread badges from thread reads (#1148) (7c3e411f)
  • desktop: move global search into sidebar header and remove vestigial top band (#1150) (c488d845)
  • Update README.md (7c67dfa6)
  • Hide channel intro actions until history start (#1151) (7aa6daa4)
  • fix(desktop): remount timeline scroll node per channel (#1147) (0c5dbf34)
  • Render custom emoji in the inbox; DRY up emoji derivation (#1146) (39626197)
  • desktop: open thread pane optimistically (#1143) (663b554c)
  • fix(desktop): keep channel header search/add icons always visible (#1144) (9c685282)
  • fix(desktop): show skeleton during channel switch (#1141) (d1c3574b)
  • Avoid duplicate thread event fetches (#1129) (959f2598)
  • desktop: restore channel browse button (#1140) (cc8958f5)
  • desktop: make date dividers pill shaped (#1139) (bee41597)
  • fix(desktop): align sidebar unread pills (#1138) (59754218)
  • Fix display names flashing to pubkeys when loading older messages (#1137) (c448f1c7)
  • desktop: keep sidebar unread pill below top chrome strip (#1136) (aeafb0b0)
  • fix(desktop): restore sticky date divider handoff (#1135) (3e9d7ff4)
  • desktop: drop redundant post-subscribe history refetch (#1130) (b2bf471e)

v0.3.26

  • ci: cache Flutter pub packages in the Mobile job (#1128) (ceb5eff53)
  • Delete RESEARCH directory (a1d5570d3)
  • feat(cli): support ephemeral channels via --ttl on create/update (#1126) (4f671a255)
  • fix(justfile): suppress grep exit code in release changelog formatter (d40c86626)
  • fix(desktop): single-owner anchored scroll for dynamic loading (#1115) (047db4214)
  • fix(buzz-dev-mcp): resolve non-WSL bash so the MCP shell works on Windows (#1119) (4d2eb52a6)
  • ci: key main-push concurrency group on SHA to stop run eviction (#1124) (e99105edc)
  • fix(desktop): seed up agent JSON files in sync_shared_agent_data (#1121) (065625bb4)
  • fix(acp): emit per-section prompt blocks so observer counts every section (#1122) (a1cf1db67)
  • refactor(justfile): rename, relay auto-start, bootstrap, DRY cleanup (#1117) (1dc4fb5da)
  • fix(desktop): keep active-turn badges through transient relay drops (#1120) (cf122fcf1)
  • Polish desktop sidebar navigation (#1107) (7072281f6)
  • fix(desktop): collapse thread-unread badge on thread-open (#1118) (0176d5f31)
  • feat(desktop): unify unread pills into one shared UnreadPill component (#1111) (826945e1b)
  • fix(cli): use relay workflow id on create (#872) (762ca43d2)
  • Fold agent core memory into the session system prompt (#1112) (633544788)
  • feat(cli): add patches and issues commands for NIP-34 git collaboration (#1073) (cd8292fe9)
  • fix(desktop): stop random timeline message loss + page reconnect replay (#1105) (0181603eb)
  • Update README.md (c338d8840)
  • fix(desktop): keep thread replies from scrolling channel (#1109) (d24eac61a)
  • fix(buzz-acp): accept siblings under allowlist author gate (#1108) (dd9ce0902)
  • feat(deploy): add production Helm chart for Buzz (#990) (629fb57bf)
  • fix(desktop): keep MembersSidebar input usable while an add is in flight (#1106) (aadbe6735)

v0.3.25

  • fix(desktop): stop dimming deferred message lists (#1104) (718b596e5)
  • Smooth channel loading: single-surface timeline state machine (#1099) (d47572209)
  • feat: surface base + persona system prompts in observer feed (#1103) (5004758fb)
  • ci: move reminder e2e to a dedicated backend-integration job (#1098) (466bb993c)
  • fix: give agent-observer sub a replay-capable limit (#1100) (959fc6e9d)
  • fix: make managed-agent spawn and teardown portable to Windows (#1097) (420131182)
  • fix(desktop): constrain message timeline width with min-w-0 (#1092) (7de5517f1)
  • feat(desktop): reminders notifications, snooze, overlay, and inbox view mode (#1093) (22b47db8e)
  • feat(prompt): add memory hygiene and hoist universal engineering discipline to base prompt (#1085) (010e8022b)
  • fix(desktop): correct thread-unread badge flicker, stale clear, phantom count, mention gate, and nested count (#1080) (c8e1120fc)
  • Fix mention chip alignment (#1094) (4f93d52e1)
  • perf(desktop): virtualize unbounded lists and warm the emoji index (#1089) (a4fbebb39)
  • Adjust unread pill spacing (#1091) (3bf2ac004)
  • Improve image lightbox controls (#1084) (bb9b6674e)
  • Use Inter for app typography (#899) (7b0500c93)
  • fix(desktop): paint thread replies on open without scroll nudge (#1090) (422a90f5e)
  • Polish sidebar update and relay cards (#1009) (d4cd919b8)
  • Normalize desktop icon sizing (#1088) (1a37ee395)
  • fix(desktop): normalize loopback host for HTTP writes and stop Reminders nav flicker (#1086) (771086fd6)
  • feat(composer): link editing — inline popover, modal picker, buzz:// in-app nav (#1045) (770266d2a)
  • chore(Pulse): gate Follow button behind Pulse feature flag (#1019) (48994e01b)
  • fix(desktop): wrap long markdown autolinks (#1081) (b7e22f4b5)
  • feat(desktop): add NIP-ER reminder UI — create, view, and manage encrypted reminders (#963) (ff824a365)
  • feat(relay): add NIP-ER push scheduler with cross-pod delivery (#957) (26563968c)
  • feat(relay): implement NIP-ER event reminder support (kind:30300) (#934) (79fcfd82b)
  • feat(desktop): adding ui state into the history stack (#967) (538f33341)
  • fix(desktop): restore timeline zoom via rem tokens + chat-as-base type scale (#1052) (c22c54e7a)
  • fix(release): format changelog as linked markdown bullets (#1075) (d879fac4c)

v0.3.24

v0.3.23

  • fix(release): publish manifest from successful platforms (#1039) (9b410325a)

v0.3.22

  • fix(release): publish rolling updater manifest for automated release tags

v0.3.21

  • fix(release): use signed NSIS installer for updates (#1036) (4d19a5901)
  • handoff: pass full session history to summarizer (#1033) (fa1cade3b)
  • feat(emoji): latest-set-wins union for custom emoji across desktop, mobile, and CLI (#989) (6e4c8680c)
  • Fix relay NIP-11 software URL (#1030) (5f8ab33b3)
  • fix(desktop): make Windows release compile cleanly (#1029) (5c2f46e62)
  • Add production Docker Compose bundle (#985) (6caa359d7)
  • feat(profile): show active turn badges on agent profile panel and popover (#1026) (a32681fd4)

v0.3.20

  • fix(release): resolve Windows sidecar path and Linux AppImage updater format (#1024) (c7dd4295b)

v0.3.19

  • fix(release): ignore prerelease tags in changelog generation (#1021) (faf00724f)
  • fix: repair main build after cross-PR merge skew (#1020) (b8c0556e7)
  • feat(agents): show per-turn duration and prune dead turns within ~25s of host crash (#1017) (87e45c65b)
  • fix(release): replace hermit with native tool setup on Windows job (#1018) (2fef8d664)
  • feat(acp): surface error-class outcomes to the activity feed only, never the channel (#1010) (6db90514b)
  • fix(desktop): migrate Sprout workspace storage (#1016) (563f68434)
  • feat(auth): force token refresh on rejected token (401/403), never the browser (#1015) (5a8cc79c6)
  • fix(release): mark prerelease versions so they do not become latest (#1013) (59a7e5da8)
  • feat(acp): implement systemPrompt with protocol version gating (#981) (f08588245)
  • fix(release): update repository name check from block/sprout to block/buzz (#1012) (d07c8216c)
  • feat(release): all-OS desktop builds + universal auto-update manifest (#1011) (de641fce5)
  • Add relay disconnect UX: friendly errors, reconnect, cached identity (#1004) (8c9211ffc)
  • feat(agents): add active turn indicators to Agents Menu (#1005) (7983bf675)
  • ci: add fork guards to docker, release, and auto-tag workflows (#1007) (39d9aa826)
  • docs(nip-rs): add optional thread read context scheme (#1006) (43d1ce353)
  • fix(huddle): Pocket TTS quality overhaul — reference parity + cross-message pipelining (#997) (12433077a)
  • Add manual ACP session rotation command (#932) (00dc4915d)
  • fix(desktop): heal stale persona_team_dir paths in release builds (#1003) (df8896f13)
  • ci(docker): publish public ghcr.io/block/buzz image (native multi-arch) (#986) (1fa63bada)
  • fix(buzz-agent): cap tool-result text at 50 KiB with middle elision (#952) (84f499cb6)
  • feat(huddle): sentence-at-a-time voice-mode guidelines for lower TTS latency (#996) (2846a96ed)
  • Shard desktop Playwright CI jobs (#992) (a1c28f487)

v0.3.18

  • Video Player Improvements (#993) (05fc69b84)
  • Improve first-run welcome setup (#970) (d9ce0943e)
  • fix(release): use legacy updater key secret (#991) (50986406f)
  • Replace built-in personas with Fizz (#987) (ea5a0a9b4)
  • docs(buzz-acp): rewrite Communication Patterns for mention accuracy and threading clarity (#982) (654176541)
  • chore(justfile): build git-credential-nostr in dev and staging recipes (#980) (a101fd6ad)
  • Fix Buzz command migration for saved agents (#979) (824c55114)
  • fix(desktop): resolve effective model and prompt from persona in display path (#972) (63738139b)
  • docs: clean up remaining Buzz references (#977) (1bb8b8d54)

v0.3.17

  • docs: finish Buzz rename cleanup (#974) (79bcee55c)
  • fix(desktop): let channel members bypass mention agent gate (#965) (6f3733d43)
  • Rename desktop app to Buzz (#960) (8f580f308)
  • feat(desktop): open profile panel from MembersSidebar rows (#962) (dcb2639b3)
  • feat(desktop): per-event notification sounds and alert controls (#968) (4e4dc723e)
  • fix(desktop): make header chrome zoom-correct and tidy split-pane (#941) (1ca16c898)
  • fix(desktop): rename SPROUT_ env vars to BUZZ_ for child agent processes (#971) (8c8312932)
  • fix(justfile): complete buzz rename in dev and staging recipes (#966) (31b0665cf)
  • refactor: rename sprout backend to buzz (#958) (d99ad131f)
  • fix(desktop): reap orphaned agent processes across instances (#954) (53e3f0948)
  • Rename web app to Buzz (#959) (c5a54dcc3)
  • fix(desktop): allow restarting saved relay-mesh agents from the UI (#956) (510009c11)
  • feat(acp): agent timeout resilience — idle margin, tool-call reset, death notices, keepalive (#935) (60c8c5036)
  • Rename mobile app to Buzz (#955) (c63e018b0)
  • fix(desktop): repair team-persona mismatch and deduplicate legacy imports (#949) (929cc8861)
  • fix(desktop): populate last_message_at in channel browser (#951) (b792aa470)
  • Kit/circular avatars (#927) (e5f0c3264)
  • fix(relay): accept mesh signaling kinds (24620/24621) via POST /events (#946) (dbe973dac)
  • feat(sprout-dev-mcp): add read_file tool and replace_all to str_replace (#928) (f49cdcdd3)

v0.3.16

  • fix(desktop): land live presence updates for not-yet-cached pubkeys (#947) (34c8bdab1)
  • fix(release): make just release idempotent for re-runs (#948) (5c0af0bc9)
  • Improve mentions for agents + people (#942) (e9cd1c392)
  • feat: agent memory viewer (read-only) in profile panel (#917) (384eb6cba)
  • Fix channel visibility controls (#940) (2dc466fe0)
  • fix(delete): make agent-deleted messages disappear from desktop UI immediately (#918) (3e56331e9)
  • Fix emoji message rendering (#938) (e08937cdd)
  • refactor(desktop): consolidate packs into teams (#852) (ba2fdbf69)
  • Update README.md wording (384a34ec3)
  • Fix post-compact handoff context for OpenAI providers (#931) (fe14daa5d)

v0.3.15

  • fix: persona is source of truth at spawn + thread-depth conventions (#930) (877048d68)
  • fix: skip avatar reconciliation for legacy agent records (#933) (73cd8d082)
  • feat(desktop): add nest commit identity guidance with human sign-off (#929) (165b9f7a5)
  • feat: provider/model selection for personas and runtime-aware env injection (#794) (9a98e60fc)
  • fix: reconcile agent profile on startup when relay publish was missed (#921) (762a45969)
  • Revamp first-run onboarding (#924) (5d927aba0)
  • Update setup loading screen (#926) (f36265019)
  • fix(dm): keep hidden DMs hidden across refetch via relay-signed visibility snapshot (NIP-DV) (#857) (c38301bca)
  • Maximize desktop window on launch (#925) (4dfae61f2)
  • feat: preview features (experiments settings UI) (#888) (ae430d4dd)
  • fix(updater): send no-cache header on update check to avoid stale manifest (#922) (a357e220d)
  • fix(desktop): refresh channel state after unarchive (#923) (56230c144)
  • Add channel visibility & ephemeral TTL controls to manage sidebar (#911) (7dd5b3453)
  • ci(release): add Intel macOS (x86_64) DMG as a release target (#748) (4b78fe3be)
  • mesh: Rust-owned coordinator — fix saved-agent reconnect flakiness + DRY the start path (#879) (421593062)

v0.3.14

  • fix(sdk): resolve multi-word display names and add NIP-27 nostr:npub mention extraction (#905) (bfafdd46b)
  • fix(desktop): re-enable mcp_command reconciliation and harden spawn site (#909) (15f610dcd)
  • Fix desktop DM and sidebar UI polish (#908) (da80c7340)
  • Animate reaction counts (#904) (dd08f988d)
  • Mobile custom emoji + settings redesign (#906) (10b6674bd)
  • Renew TTL when unarchiving ephemeral channels (#902) (732e23dd5)

v0.3.13

v0.3.12

  • Show hover cards for inline message emoji (#885) (1b7b6978f)
  • Fix monotonic read-state merges (#884) (5268fac2d)
  • Refine sidebar behavior and borders (#869) (0a4783c6f)
  • fix(presence): clear on disconnect, fix heartbeat/TTL, drop broken REST path (#877) (5d7c74896)
  • fix(cli): publish ephemeral events over WebSocket via sprout-ws-client (#876) (ef98ae942)
  • docs(sprout-acp): add communication discipline rules to base prompt + deprecate --mention flag (#883) (2f50011bd)
  • Polish thread summaries and reactions (#881) (5c2476a71)
  • feat(cli): add emoji export and import subcommands (#882) (7129cd6f2)
  • Polish message row hover states (#880) (b84f8e6a0)
  • Improve emoji naming and custom emoji UX (#878) (bc5300867)
  • docs: add ecosystem section to CONTRIBUTING.md, fix stale release info (#873) (581c7e95a)
  • fix(relay): wire custom filter fields through HTTP bridge (#864) (031152221)
  • chore: deprecate sprout-mcp — fill CLI gaps, remove crate and all references (#850) (f1c672fea)
  • Fix custom emoji status in profile popover (#874) (5bdac0566)
  • fix(agent): gate handoff on provider token usage, not byte estimate (#821) (b295f51c9)
  • docs: add VISION_MESH.md — the compute-commons vision (#867) (cdb7bc27e)
  • fix(desktop): simplify profile popover header (#853) (d4bb7f66e)
  • fix(desktop): remove thread comment hover outline (#861) (ccff5464a)
  • feat(desktop): always show channel section search/add buttons (#856) (ad7ab482e)

v0.3.11

  • fix(mobile+desktop): cross-device read state sync + diagnostic logging (#843) (269b35e8d)
  • feat(mobile): star channels (Slack-style favorites) (#863) (3ddfe5fcc)
  • feat: desktop-screenshot skill to stop agents uploading relay media to PRs (#862) (36d7dbd7c)
  • feat(desktop): star channels (Slack-style favorites) (#860) (c10b4f8f5)
  • fix(desktop): handle symlinked persona pack directories (#859) (f748f7126)
  • feat: channel muting for desktop and mobile (#838) (1fe7bf287)
  • feat(acp): default SPROUT_ACP_MEMORY to on (#854) (4ead7de46)
  • fix(desktop): eliminate image-hover layout jump in messages (#813) (759e5cd92)

v0.3.10

  • fix(desktop): harden relay mesh connect p-tag (#834) (34ac3ba1d)
  • fix(desktop): scroll activity panel to bottom on open (#848) (b3aefae15)
  • Polish desktop profile menu interactions (#836) (a13691b62)
  • fix(desktop): outline thread hover targets (#845) (0d9b8148f)
  • fix(desktop): keep message actions hover-only (#844) (b3be9ecba)
  • fix(desktop): let inbox composer fill available width (#841) (db46c4254)
  • fix: use immutable commit-SHA URLs in screenshot PR comments (#842) (2a0572c0d)
  • feat(mobile+desktop): two-tier Slack-style app icon badge (#802) (3b78dc569)
  • chore: simplify file-size check to a flat 1000-line limit (#839) (0c225f4d7)
  • fix(desktop): robust emoji picker — unify picker + fix custom emoji in editing, status, reactions (#837) (d8b602a35)
  • feat(desktop): reusable screenshot workflow for agents (#826) (06bc67fd3)
  • desktop(mesh-llm): let a serving node route a different model (#833) (9f0c22a43)

v0.3.9

  • fix: native arbitrary-file download + image context-menu flash (#830) (82ae85f79)
  • fix(desktop): custom emoji reaction rendering + picker autofocus (#831) (7797ae77f)
  • Mesh-LLM v1: relay-gated direct-iroh inference between users (WAN) (#822) (33cfc8529)

v0.3.8

v0.3.7

  • feat: custom emoji — user-owned NIP-30 sets with a client-side union (#816) (234942130)
  • Install sprout-cli skill at repo root + fix desktop clippy (#818) (7a12e5051)
  • fix(desktop): use public re-export path for ensure_client_node_for_model (#824) (2ea3fd88d)
  • refactor(desktop): feature-gate mesh-llm-sdk behind optional Cargo feature (#823) (fb514c891)
  • fix(desktop): align workflow read/save commands to the frontend contract (#820) (b72eee365)
  • fix(desktop): disable mesh-llm auto-build to prevent git config corruption (#819) (5b572d6f5)
  • fix(desktop): clear clippy lints in agents/mesh_llm commands (#817) (192388a3c)
  • fix(desktop): let channel members add members and bots without admin (#815) (41a3fc158)
  • Desktop #806 follow-ups: panel/inbox fixes + top-bar backdrop (#814) (a25ca5d1b)
  • Fix desktop right-side panel chrome overlap (#806) (5bed17a11)
  • Sprout × mesh-llm: in-process mesh node (serve/consume) + relay admission (#798) (ede8ddb42)
  • fix(desktop): resolve flaky integration tests via project-level assertion timeout (#812) (6481428e2)

v0.3.6

  • feat(mobile): add channel sections with relay sync (#800) (5cbedb180)
  • feat(desktop): sync channel sections across devices via Nostr (#792) (753d0fe26)
  • feat(media): support arbitrary file types with download cards (#810) (2b052eb46)
  • feat(desktop): add user-defined channel sections to sidebar (#789) (247ac5239)
  • feat(desktop): keyboard shortcuts — ⌘⇧N new channel + ↑-to-edit last message (#809) (d810608d8)
  • fix(desktop): scope agent sweep to the owning app instance (#808) (39911e428)
  • fix(desktop): route notification clicks to thread context (#790) (f2c266bac)
  • chore(deps): update all non-major dependencies (#804) (33e37de6e)
  • fix(deps): re-pin isomorphic-git patch to 1.38.3 (#807) (5670ffc6a)
  • chore(deps): update dependency @tanstack/react-query to v5.100.14 (#805) (033d92f10)
  • Fix desktop glass chrome and inbox previews (#793) (bc23620fc)
  • refactor(just): slim down mobile-dev to just run Flutter (#801) (9b9cf4612)
  • refactor: consolidate infra management into justfile + add mobile-dev (#797) (2a0385152)

v0.3.5

  • feat(mobile): Pulse polish — flat feed, compose page, shared filter chips, like + accent fixes (#796) (b82042090)
  • feat(desktop): add standalone Playwright screenshot helper (#795) (10f37e4ca)
  • feat(sprout-agent): load AGENTS.md and SKILL.md into system prompt (#762) (f34a21d32)
  • feat: add code block support to message composer (#788) (85861f33f)
  • fix(desktop): reap orphaned agent processes on shutdown and restart (#787) (7beb0f8e6)

v0.3.4

  • Update desktop navigation chrome and search (#779) (d77b111b1)
  • feat(desktop): reload webview on Cmd/Ctrl+R (#785) (5ee2cd051)
  • fix(desktop): sync persona pack directory across worktree instances (#782) (fa7febe40)

v0.3.3

  • fix(release): sync release tags during preflight (#780) (c761a76ff)
  • feat(desktop): thread-aware notifications with mutable follow/mute controls (#761) (3f3ec6479)
  • fix(desktop): improve model picker message and runtime dropdown clarity (#778) (03e678cfb)
  • desktop: float unread indicator + fix sidebar scroll jump (#777) (9db8f6ccb)
  • chore(hooks): standardize check/fix convention with auto-fix pre-commit (#776) (3fbee555f)
  • web: clickable repo tree + per-file blob viewer (#773) (0f89ad169)
  • fix(agent): keep parallel tool-result messages contiguous on OpenAI Chat (Databricks image fix) (#770) (61297ac80)
  • fix(release): fetch tags so changelog tracks versions correctly (#775) (5f2423c23)

v0.3.2

v0.3.1

v0.3.0

  • Initial release on the automated pipeline. Unifies OSS and internal version numbering above both v0.0.21 (OSS) and v0.2.38 (internal).