chore(release): release version 0.3.2 (#774)

This commit is contained in:
Wes
2026-05-28 12:00:40 -07:00
committed by GitHub
parent 1218572fa0
commit 8da9acbad9
7 changed files with 251 additions and 6 deletions
+245
View File
@@ -1,5 +1,250 @@
# Changelog
## v0.3.2
1218572fa03 feat(mobile): add Pulse social feed tab (#772)
fec6a683ea8 feat(sidebar): add More unread floating buttons (#771)
8eedec74030 chore: improve markdown spacing (#766)
835a44aad03 fix: prevent inline links rendering in 2-column grid layout (#767)
9a10e6281ee chore(release): release version 0.3.1 (#769)
4222a758c64 [codex] Default release command to patch bump (#768)
30654e95f65 Polish desktop Pulse and Home views (#764)
516dc8303f1 fix(release): guard CHANGELOG.md read and fix macOS head -n -1
bcd903edcce feat(release): automate OSS release pipeline with just release (#757)
af8b0b4cfc4 fix(relay): install git in runtime image (#763)
f42839c740e feat(desktop): worktree agent data sync, retired persona cleanup, mcp_command reconciliation (#728)
35821574c09 feat(desktop): redesign status UI with full emoji picker and presence sub-menu (#760)
8946653af84 fix(desktop): add support for deeplinking to channel/messages (#759)
11c8c0d4cff fix(desktop): add top padding to forum view to clear overlay header (#758)
9823ff52e2a fix(desktop): clean ANSI escapes from agent log tail + drop dead AppHandle plumbing (#756)
f1e25b21daf feat(desktop): editable attachments + data-loss fix on message edit (#755)
7df4681fee3 feat(desktop): dock bounce, mark-as-read toggle, and bulk mark-all-read (#753)
4d77a5227fe chore(renovate): pin tiptap below 3.23.0 (#754)
ab71ade9e70 fix: prevent agent settings from being silently deleted on channel deletion (#752)
fbbb2d1d6e2 fix(deps): update dependency pointycastle to v4 (#687)
11905d1fbc6 chore: activate lefthook hooks and add fmt-all, mobile-fmt recipes (#751)
b13db17faf7 feat(desktop): two-layer agent prompts + dynamic AGENTS.md + MCP gating + harness-agnostic skill path (#584)
7ac0466e12b fix: agent management UI fixes (permissions, parallelism, form validation) (#750)
8a468a9876c fix: UI fixes for system message avatars and agents page (#749)
6d50090c014 feat(cli): add `channels search` for human-readable channel lookup (#712)
efa93c43835 chore(deps): update rust crate sqlx to 0.9 (#740)
101805c25d5 fix(renovate): pin evalexpr <13 and group redis crates (#743)
cbad8ff1bec fix(ci): prevent cache poisoning in release builds (#744)
57f480a555b chore(deps): update taiki-e/install-action action to v2.79.5 (#747)
6789f5f78c0 chore(deps): update dependency @tanstack/react-query to v5.100.13 (#746)
90192d8d489 chore: remove verified dead code (#745)
86f4c5d9a99 docs: fix stale claims, remove counts, purge LiveKit references (#742)
86eca930afc chore(deps): update all non-major dependencies (#735)
fa3e0d1ed46 chore(deps): update dorny/paths-filter action to v4 (#741)
e5c35bb59ec chore(deps): update rust crate serde_json to v1.0.150 (#737)
939d5d893e9 chore(deps): update tanstack-router monorepo (#738)
41c8610de03 chore(deps): update dependency @types/react to v19.2.15 (#736)
75556747b17 chore(deps): update all non-major dependencies (#739)
8d6a4a9ed2a fix(deps): update rust crate zip to v8 (#692)
1c7c8a78810 chore(deps): update plugin com.android.application to v9 (#674)
0faf89816c1 fix(deps): update dependency package_info_plus to v10 (#686)
e968aa6bbc0 fix(deps): update dependency flutter_secure_storage to v10 (#684)
59f51a8ac78 feat(desktop): hide archived identities from discovery surfaces (NIP-IA) (#734)
608e3af634b fix(deps): update dependency lucide-react to v1 (#685)
11801b33ea7 chore(deps): update typesense/typesense docker tag to v30 (#679)
20bac74beaf fix(deps): update rust crate rubato to v3 (#689)
79399d9b8ed feat: NIP-IA identity archival (relay backend + desktop) (#733)
4278eb52029 fix(deps): update rust crate similar to v3 (#690)
75af57c92c1 fix(deps): update dependency connectivity_plus to v7 (#683)
a3a8fff2b41 chore(deps): update postgres docker tag to v18 (#676)
b9ed2e12f3c chore(deps): update node.js to v24 (#673)
bd93649cba9 docs(nips): add profile-attestation owner path to NIP-IA (#732)
0d126ce3bc1 chore(deps): update gradle to v9 (#672)
414c1c6cb23 chore(deps): update redis docker tag to v8 (#677)
16a0188caf2 chore(deps): update github artifact actions (major) (#671)
3e7f21aff61 chore(deps): update dependency typescript to v6 (#669)
0de910f14d4 fix(deps): update rust crate toml to v1 (#691)
ce8d67c0c9f chore(deps): update actions/cache action to v5 (#666)
9d55baefabe fix(desktop): find bundled sidecars in production DMG builds (#731)
2a8b765c457 feat(notes): add `--latest` to `notes get` for ambiguous slugs (#730)
839097112c3 fix(deps): migrate Tailwind CSS from v3 to v4 (#711)
4269fd2720a Show all ACP runtimes with install status and one-click install (#724)
f8a0cb0147f perf(ci): add caching, path filtering, and nextest to speed up CI (#723)
a65b7fc06f9 fix(deps): migrate nostr crate from 0.36 to 0.44 (#708)
8e268360158 Allow owners to read agent memories (#727)
8bc94413ebe feat(relay/git): git on Sprout, S3-backed (#726)
55190b18bd1 Add sprout-cli agent skill to nest initialization (#613)
7b33c47eb44 fix(sprout-agent): retry on pre-response transport errors (#700)
6dcb04bcd9c Fix CLI output normalization and wrong Nostr kinds (MCP parity) (#612)
741c09d9fe4 docs(nips): add NIP-IA identity archival (#713)
3467a67b2a7 docs: formal spec + machine-checked proof for git refs over object storage (#721)
504cfea20dd feat: `sprout notes` NIP-23 long-form CLI + relay a-tag deletion (#719)
441b6c4b1a6 Fix inbox thread navigation highlights (#720)
4e060bfec2f fix(deps): upgrade Vite v8 and @vitejs/plugin-react v6 (#710)
5b75ce47555 fix(deps): upgrade pnpm to v11 with versioned patch keys (#709)
ee4ee5f8505 fix: composer UX improvements (cursor, upload guard, scroll, paste, perf) (#694)
cfd5a82c7be fix(infra): pin PGDATA path for forward-compatible Postgres upgrades (#707)
d0d2670fe2b fix(deps): upgrade redis 1.0 and deadpool-redis 0.23 together (#703)
091e38ff0a9 Fix SPROUT_SHARE_IDENTITY worktree dev workflow breaks (#702)
4404162f0e5 fix(mobile): rename IOSOptions/MacOsOptions to AppleOptions (#706)
6fe557852c1 fix(frontend): remove deprecated baseUrl for TypeScript 6 compatibility (#705)
d4f55cee3c3 fix(deps): upgrade getrandom to 0.4 with fill() rename (#704)
962dd7dcedd feat(sprout-agent): auto-fallback to Databricks OAuth (#699)
4373a13fb3c fix(relay): avoid websocket writes in stall watchdog (#697)
fa9e26fa5ce feat(sprout-agent): Databricks provider with OAuth 2.0 PKCE auth (#698)
300b51b02ac Add Ubuntu desktop release artifacts (#693)
26a21075232 chore(deps): update rust crate tokio to v1.52.3 (#658)
1220e9938a4 chore(deps): update all non-major dependencies (#650)
aff627d901a chore(deps): update rust crate sherpa-onnx to v1.13.2 (#657)
f7eae0a6cf6 chore(deps): update dependency nostr-tools to v2.23.5 (#681)
740d2545eab chore(deps): update tanstack-router monorepo (#659)
e08a971abfa chore(deps): update rust crate dashmap to v6.2.1 (#652)
9df214d43a1 chore(deps): update rust crate tower-http to v0.6.11 (#647)
109c7d9a8aa chore(deps): update rust crate reqwest to v0.13.3 (#639)
7d4c1290028 chore(deps): update rust crate sherpa-onnx to v1.12.40 (#640)
97eacb86f48 chore(deps): update dependency @tanstack/react-query to v5.100.11 (#635)
0dd9a05948c fix(deps): update rust crate sha2 to 0.11 (#665)
55abbfdec63 fix(deps): update rust crate bzip2 to 0.6 (#661)
f55dc46c4cb chore(deps): update rust crate uuid to v1.23.1 (#648)
3935885bb96 chore(deps): update rust crate tauri-plugin-dialog to v2.7.1 (#644)
8082019cb68 chore(deps): update tanstack-router monorepo (#649)
42d9eafabdb chore(deps): update rust crate tokio to v1.51.3 (#646)
576ef8cf866 chore(deps): update rust crate tauri-plugin-opener to v2.5.4 (#645)
73b4cb797e8 chore(deps): update rust crate tauri to v2.11.2 (#642)
881ed204bbf chore(deps): update rust crate metrics to v0.24.6 (#638)
cbe6f415bd0 chore(deps): update rust crate tar to v0.4.46 (#641)
420aedecd17 chore(deps): update dependency @tauri-apps/cli to v2.11.2 (#636)
584c7ae8183 chore(deps): update dependency @playwright/test to v1.60.0 (#651)
9f4adcc74c4 chore(deps): update rust crate rmcp to v1.7.0 (#656)
3ab836d8e07 chore(deps): update dependency shiki to v4.1.0 (#682)
72f57d7d6d5 chore(deps): update react monorepo to v19.2.6 (#637)
ee912d54785 fix(renovate): re-enable automerge for non-major updates (#680)
811798b405a chore(deps): update taiki-e/install-action digest to 65851e1 (#633)
f62707f4dc7 chore(deps): update rust crate earshot to v1.1.0 (#654)
6ada9da3864 chore(deps): update all non-major dependencies (patch) (#634)
94b92b55d1f Add CODEOWNERS file to repo (#632)
a96cb487f4a fix(desktop): project home read-state from the shared NIP-RS marker (#631)
8dcf24f9932 fix: unblock Renovate PR creation and reduce cargo branch sprawl (#630)
af08b0f0e81 fix: prevent agent proliferation when adding bots to channels (#621)
c8f99bbc31d fix: surface swallowed errors across crates and emit turn failures to activity log (#628)
c9dd97ba1a6 feat(cli/mem): add `mem patch`, `mem hash`, and reject empty-stdin in `mem set` (#627)
23c8fa72c78 Add relay support for NIP-51 lists (#616)
b5e5a39bf0e Refine Pulse composer and post actions (#629)
2da3402f104 [codex] Add copy button for rendered code blocks (#619)
2a69f285e72 cli(mem): clarify 'no memories' wording to note core is excluded (#622)
5370a75ca45 feat(relay): surface connection loss in the workspace header (#623)
c0c9cf9271d cli(messages): allow --content - to read body from stdin (#624)
582cfc88857 Bundle sprout CLI in DMG release + agent PATH discoverability (#614)
2392e6523a3 fix(composer): use native ProseMirror inserts for autocomplete (mentions / channels / emoji) (#618)
b881d5319c4 Refine thread reply alignment (#620)
2fed74bdcdb Show channels in command search (#617)
24520aa2b1a NIP-AE: agent engrams (kind:30174) — core memory injection + sprout mem CLI (#593)
3973080dce2 Refine conversation visual affordances (#615)
50b350dc58d fix(desktop): worktree support — workspace boundary + shared identity (#610)
6e1418e5711 feat(huddle): fix concurrent-speaker mixing + jitter buffer + protocol v2 (up to 10 peers) (#609)
c0eb5affcfc refactor(huddle): switch local TTS to Pocket TTS (Kyutai/sherpa-onnx) (#607)
137a4e268f0 Update inbox conversation experience (#608)
70cb53e2c75 Add Sprig all-in-one agent binary (#605)
17eea2d2673 Fix full-width message layouts (#591)
e4e99237997 feat(agent): add OpenAI Responses API with auto endpoint detection (#604)
edcef511eb0 docs(readme): refresh as a landing page (#596)
6ba46f21dae ci: publish Sprout Agent Bundle (sprout-acp + sprout-agent + sprout-dev-mcp) to GitHub Releases (#603)
3daf8d6ae13 feat(huddle): swap STT default to Parakeet TDT-CTC 110M (EN, int8) (#562)
d1097aa91f6 chore(desktop): upgrade Tauri to 2.11.x to fix blank window after sleep on macOS (#600)
92c859043cd dev-mcp: add view_image tool (#602)
7171d4954d5 fix(relay,desktop): only advertise NIP-43 when enforced; probe pairing by supported_nips (#601)
7763072ef94 fix(desktop): derive unread state from NIP-RS + relay catch-up only (#599)
4cbcfa86ee5 docs(testing): rewrite TESTING.md for current API and CLI-first workflow (#597)
9e94a7c4756 fix(agent): fix OpenAI-compat request body serialization and max_tokens (#595)
32347d117ce feat(desktop): per-persona and per-agent env var overrides (#594)
13dc0df6884 fix(desktop): stop pinning agents to deprecated SPROUT_ACP_TURN_TIMEOUT (#592)
5cdb3062ed1 fix(desktop): populate member_count in get_channels so channel browser shows real counts (#548)
3a3501c77b0 fix(desktop): autofocus message composer on channel/thread open (#572)
1d8a130b32d refactor(cli): restructure flat commands into 12 subcommand groups (#585)
01a3df7f1f1 feat(sdk): add builder functions for workflows, DMs, and presence (#589)
4425f1f7131 feat(desktop): add message more-actions dropdown menu (#590)
586b3678d99 fix(mobile): preserve channel list across background/resume reconnection (#588)
8a2d24e4fde Redesign Home as an inbox (#582)
1858e98d5e9 fix(desktop): drive unread badges from live subscription, not refetched lastMessageAt (#581)
9e76a08a472 fix(desktop): refine header scaling and shadow (#573)
b74ec95b8ea fix(desktop): keep day dividers below header (#574)
aad564b1304 Move agent activity below composer (#579)
bda98da771c docs(nips): NIP-AE — Agent Engrams (#575)
1b87a0905f8 refactor: extract shared @mention resolver into sprout-sdk (#580)
2ee73564243 fix: add default-run to sprout-relay so `cargo run -p sprout-relay` works (#577)
f0549b5038f feat(desktop): channel hover state and right-click mark-unread context menu (#578)
b176b52b703 fix(mobile): show ephemeral (TTL) channels in the channel list (#571)
efbdc7bfd56 feat(desktop): persona-first agent UX + bug fixes (#570)
9a403d3e8ab fix: channel member search via NIP-50 + Typesense indexer fix for kind:0 (#569)
8716aefa3c2 fix(desktop): use resolve_command for ffmpeg discovery in sandboxed app (#568)
9c258e4beba feat(desktop): GUI for agent respond-to gate (owner-only / anyone / allowlist) (#557)
5db47a84b17 feat(desktop): add neutral accent color (#563)
5e6083ef9ec fix(desktop): inline update control in header (#561)
8d5abb7a09c chore(acp): raise default idle timeout from 320s to 620s (#566)
e427581ca34 fix(cli): derive thread root from parent event tags (#564)
90063cf5f0a fix: skip empty assistant turns instead of placeholder space (#560)
80b79c4f758 agent: raise default SPROUT_AGENT_MAX_OUTPUT_TOKENS to 32768 (#565)
cacfe6b84e5 fix(nip11): advertise auth_required: true to match actual enforcement (#556)
8004bafaff6 fix(desktop): resolve unarchive revert and stale member list bugs (#558)
69734bff009 fix: Anthropic rejects empty text blocks in assistant history (#559)
f41b9736ac7 fix(desktop): resolve O(n²) render cascade in activity sidebar (#555)
809275795a2 feat(web): browse git repos in-browser via isomorphic-git (#554)
a33d73bf6d4 agent: make max_sessions default unlimited (#547)
08e00a6f0a7 fix(relay): auto-create git_repo_path so kind:30617 init can't silently fail (#545)
78508ea6cbf fix(desktop): editor bug fixes — codeblock escaping, thread edit leak, channel links, and edit cancel (#553)
61c30add40c feat(desktop): multi-select in the paperclip file picker (#551)
effa24f06ca fix(desktop): forward cache headers in media proxy (#549)
afe072fa423 docs(agents): prefer Nostr events over new REST endpoints (#550)
385e1716b72 agent+acp: preserve session on retriable agent errors (#544)
ef5fdca7921 feat(desktop): add Projects as first-class top-level view (#546)
6b4f9f05d4c cli: add display name lookup to get-users (#543)
11778f42501 feat(desktop): image download, drag-drop prevention, and drop zone indicator (#542)
19f290651af fix: pass profiles to mention autocomplete in threads and forum composers (#541)
23f16377286 fix: classify agent JSON-RPC errors as application errors, not transport (#539)
d953d0ecb48 fix: default max_rounds to 0 (unlimited) (#540)
1b9f6169ee8 feat(desktop): channel templates — reusable project settings (#538)
cec11435527 fix: side panel headers hidden by compact app header (#537)
582339d4b11 Remove obsolete secp256k1 Renovate hold (#536)
0ee9f20ccbd Build sprout-agent in staging recipe (#535)
1d604e8b2e4 Update Rust dependencies for pair relay (#534)
98030c526a7 feat: Git repository management commands (#533)
9f421202504 Update all non-major dependencies (minor) (#523)
e2b6e8b25ab Use dedicated sprout-agent avatar (#532)
eb73a7f7c6e [codex] Tame Renovate dependency grouping (#531)
120b1b0c062 Add sprout-agent avatar image (#530)
22f1e0b7247 Launch sprout-agent from the desktop GUI (#529)
f94e44c3824 Polish compact desktop headers (#514)
ed9498eb030 fix: hide reply button on archived channels (#524)
70a691517bf feat: automatic git auth and signing for sprout agents (#528)
91f16e326f9 feat: embed sprout CLI in dev-mcp, add NIP-OA auth tag support (#525)
082414bf3f9 feat: sprout-agent + sprout-dev-mcp — minimal ACP coding agent (#493)
9e8302c35f5 fix: send x-auth-tag header in agent profile sync (#522)
e9020379138 Use platform-native app shortcuts on macOS (#521)
e31101e79ac Show channel IDs in channel settings (#515)
db4a3efb9ca Fix workspace switch cache isolation (#517)
a13cb05685a Delete HUDDLES_IMPLEMENTATION.md (#520)
0415680e4c7 Delete pr293_crossfire_synthesis.md (#519)
90b0af136d4 fix: resolve media proxy relay URL dynamically per-request (#518)
c6da3a72abf Add countdown bot reference example (#516)
32c3fd1340b fix: extract NIP-OA owner on open relays for observer frame auth (#513)
d4c21ca0eb2 Fix typing indicator composer positioning (#512)
e357d53d55c Fix backslash escaping in chat messages with hard breaks (#511)
a05577fff75 fix(desktop): clean up channel management sidebar layout (#509)
0f10861850a feat(desktop): expand default agent toolsets with canvas, forums, dms, and member list (#510)
d7714d50fd2 Onboarding cleanup: notifications + profile polish (#508)
5e7f588d825 Polish conversation view: composer overlay, blur, and spacing (#507)
ff0806523a9 prompts(kit, scout): add @-mention discipline section (#506)
ce23abf3fce fix(desktop): prevent Radix Checkbox from swallowing persona row clicks (#505)
823cae43f44 fix(desktop): show real name initial in avatar fallback instead of "Y" (#504)
5ce35a88057 Adjust reply pill spacing (#503)
4723e59e2f0 feat(desktop): reusable AvatarUpload for onboarding and settings (#502)
5fff9239fa4 feat(desktop): notification sound + sender names in titles (#501)
7b2c615d8fc Fix onboarding relay membership denial handling (#500)
774632753aa Polish left sidebar navigation (#495)
0dcfa86f84d chore: remove dead API token references from GUI, docs, and config (#498)
27bcd45cc9a Refresh built-in personas: Solo, Kit, Scout + Kit & Scout team (#499)
c89ef077714 Move relay admin panel to NIP-43 message path (#494)
a76fe529ce0 fix(desktop): consolidate settings page — switch toggles, remove General section (#497)
f309446f223 Polish reply timeline interactions (#477)
1f1f8740e76 feat: materialize agent_owner_pubkey on NIP-OA auth (#491)
2357c3ddb3b fix: unify NIP-OA relay membership enforcement across all ingress paths (#490)
## v0.3.1
4222a758c64 [codex] Default release command to patch bump (#768)
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "sprout",
"private": true,
"version": "0.3.1",
"version": "0.3.2",
"type": "module",
"scripts": {
"dev": "vite",
+1 -1
View File
@@ -4847,7 +4847,7 @@ dependencies = [
[[package]]
name = "sprout-desktop"
version = "0.3.1"
version = "0.3.2"
dependencies = [
"atomic-write-file",
"audioadapter-buffers",
+1 -1
View File
@@ -2,7 +2,7 @@
[package]
name = "sprout-desktop"
version = "0.3.1"
version = "0.3.2"
description = "Sprout desktop app"
authors = ["you"]
edition = "2021"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Sprout",
"version": "0.3.1",
"version": "0.3.2",
"identifier": "xyz.block.sprout.app",
"build": {
"beforeDevCommand": {
+1 -1
View File
@@ -842,11 +842,11 @@ test("members sidebar keeps direct pubkey entry behind a toggle", async ({
test("open-channel members can add agents from the header", async ({
page,
}) => {
await page.setViewportSize({ width: 1280, height: 420 });
await page.goto("/");
await page.getByTestId("channel-random").click();
await expect(page.getByTestId("chat-title")).toHaveText("random");
await page.setViewportSize({ width: 1280, height: 420 });
const addAgentTrigger = page.getByTestId("channel-add-bot-trigger");
await expect(addAgentTrigger).toBeEnabled();
+1 -1
View File
@@ -1,7 +1,7 @@
name: sprout_mobile
description: Sprout mobile client
publish_to: 'none'
version: 0.3.1+1
version: 0.3.2+1
environment:
sdk: ^3.11.4