Releases: planetaryescape/mxr
Releases · planetaryescape/mxr
v0.5.61
[0.5.61] - 2026-06-06
💼 Other
- Prepare mxr 0.5.61
🧪 Testing
- Accept completed zero-change sync status
[0.5.60] - 2026-06-06
🐛 Bug Fixes
- Prevent stuck sync and mutation rollback
💼 Other
- Prepare mxr 0.5.60
[0.5.59] - 2026-06-06
🚀 Features
- Add agent and mcp safety profiles
- Add first-party mcp server
🐛 Bug Fixes
- Track TUI summary requests per thread
- Sync gmail imap from all mail
- Restore workspace ci after v1 merge
💼 Other
- Land task-001 agent and mcp safety
- Land task-002 gmail imap all mail
- Land task-003 mcp server
- Land task-004 launch proof
- Land task-005 v1 docs
- Ship v1 agent mcp gmail launch
📚 Documentation
- Refine mxr readmes
- Align v1 launch guidance
- Record v1 blocker plan
🧪 Testing
- Add v1 launch proof gate
⚙️ Miscellaneous Tasks
- (main) Release 0.5.59
[0.5.58] - 2026-06-05
🚀 Features
- Relationship-aware AI drafting, cross-client parity, compose redesign (#58)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.58 (#59)
[0.5.57] - 2026-06-04
🐛 Bug Fixes
- Track TUI summary requests per thread (#55)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.57
[0.5.56] - 2026-06-04
🐛 Bug Fixes
- Satisfy cli journey clippy
⚙️ Miscellaneous Tasks
- (main) Release 0.5.56
[0.5.55] - 2026-06-03
🐛 Bug Fixes
- Clean up release clippy lints
⚙️ Miscellaneous Tasks
- (main) Release 0.5.55
[0.5.54] - 2026-06-03
🐛 Bug Fixes
- Satisfy release ci checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.54
[0.5.53] - 2026-06-03
🧪 Testing
- Update cli smoke for paginated search output
⚙️ Miscellaneous Tasks
- (main) Release 0.5.53
[0.5.52] - 2026-06-03
📚 Documentation
- Record triage cli gaps plan
⚙️ Miscellaneous Tasks
- Align dependabot grouping with automerge policy (#49)
- (main) Release 0.5.52
[0.5.51] - 2026-05-31
🐛 Bug Fixes
- (keychain) Enable a Linux keyring backend so credentials persist
- (provider-imap) Skip non-selectable folders; don't abort sync on [Gmail]
- Repair Linux keyring CI
- Cover dbus in workflow checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.51
- Update release lockfile
[0.5.50] - 2026-05-31
🚀 Features
- (cli) Count --format plain, thread/message count parity, unsubscribe --dry-run preflight
- (summarize) Lead thread summaries with a strict triage verdict line
- (triage) Cached triage-signal surface across CLI/TUI/web with store cache
- (search) --group-by sender aggregation across CLI/TUI/web
- (mutations) Chunked/async large-batch jobs surface across clients
- (unsubscribe) --purge unsubscribe + footprint clear with dry-run preview
- (rules) Chained rule actions + atomic route verb across clients
🐛 Bug Fixes
- (reader) Readable HTML-to-text fallback in reader view
- (search) Lift tantivy result ceiling + offset pagination
📚 Documentation
- Clarify subscriptions --rank opened_count semantics
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery i...
v0.5.59
[0.5.59] - 2026-06-06
🚀 Features
- Add agent and mcp safety profiles
- Add first-party mcp server
🐛 Bug Fixes
- Track TUI summary requests per thread
- Sync gmail imap from all mail
- Restore workspace ci after v1 merge
💼 Other
- Land task-001 agent and mcp safety
- Land task-002 gmail imap all mail
- Land task-003 mcp server
- Land task-004 launch proof
- Land task-005 v1 docs
- Ship v1 agent mcp gmail launch
📚 Documentation
- Refine mxr readmes
- Align v1 launch guidance
- Record v1 blocker plan
🧪 Testing
- Add v1 launch proof gate
⚙️ Miscellaneous Tasks
- (main) Release 0.5.59
[0.5.58] - 2026-06-05
🚀 Features
- Relationship-aware AI drafting, cross-client parity, compose redesign (#58)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.58 (#59)
[0.5.57] - 2026-06-04
🐛 Bug Fixes
- Track TUI summary requests per thread (#55)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.57
[0.5.56] - 2026-06-04
🐛 Bug Fixes
- Satisfy cli journey clippy
⚙️ Miscellaneous Tasks
- (main) Release 0.5.56
[0.5.55] - 2026-06-03
🐛 Bug Fixes
- Clean up release clippy lints
⚙️ Miscellaneous Tasks
- (main) Release 0.5.55
[0.5.54] - 2026-06-03
🐛 Bug Fixes
- Satisfy release ci checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.54
[0.5.53] - 2026-06-03
🧪 Testing
- Update cli smoke for paginated search output
⚙️ Miscellaneous Tasks
- (main) Release 0.5.53
[0.5.52] - 2026-06-03
📚 Documentation
- Record triage cli gaps plan
⚙️ Miscellaneous Tasks
- Align dependabot grouping with automerge policy (#49)
- (main) Release 0.5.52
[0.5.51] - 2026-05-31
🐛 Bug Fixes
- (keychain) Enable a Linux keyring backend so credentials persist
- (provider-imap) Skip non-selectable folders; don't abort sync on [Gmail]
- Repair Linux keyring CI
- Cover dbus in workflow checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.51
- Update release lockfile
[0.5.50] - 2026-05-31
🚀 Features
- (cli) Count --format plain, thread/message count parity, unsubscribe --dry-run preflight
- (summarize) Lead thread summaries with a strict triage verdict line
- (triage) Cached triage-signal surface across CLI/TUI/web with store cache
- (search) --group-by sender aggregation across CLI/TUI/web
- (mutations) Chunked/async large-batch jobs surface across clients
- (unsubscribe) --purge unsubscribe + footprint clear with dry-run preview
- (rules) Chained rule actions + atomic route verb across clients
🐛 Bug Fixes
- (reader) Readable HTML-to-text fallback in reader view
- (search) Lift tantivy result ceiling + offset pagination
📚 Documentation
- Clarify subscriptions --rank opened_count semantics
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query fro...
v0.5.58
[0.5.58] - 2026-06-05
🚀 Features
- Relationship-aware AI drafting, cross-client parity, compose redesign (#58)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.58 (#59)
[0.5.57] - 2026-06-04
🐛 Bug Fixes
- Track TUI summary requests per thread (#55)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.57
[0.5.56] - 2026-06-04
🐛 Bug Fixes
- Satisfy cli journey clippy
⚙️ Miscellaneous Tasks
- (main) Release 0.5.56
[0.5.55] - 2026-06-03
🐛 Bug Fixes
- Clean up release clippy lints
⚙️ Miscellaneous Tasks
- (main) Release 0.5.55
[0.5.54] - 2026-06-03
🐛 Bug Fixes
- Satisfy release ci checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.54
[0.5.53] - 2026-06-03
🧪 Testing
- Update cli smoke for paginated search output
⚙️ Miscellaneous Tasks
- (main) Release 0.5.53
[0.5.52] - 2026-06-03
📚 Documentation
- Record triage cli gaps plan
⚙️ Miscellaneous Tasks
- Align dependabot grouping with automerge policy (#49)
- (main) Release 0.5.52
[0.5.51] - 2026-05-31
🐛 Bug Fixes
- (keychain) Enable a Linux keyring backend so credentials persist
- (provider-imap) Skip non-selectable folders; don't abort sync on [Gmail]
- Repair Linux keyring CI
- Cover dbus in workflow checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.51
- Update release lockfile
[0.5.50] - 2026-05-31
🚀 Features
- (cli) Count --format plain, thread/message count parity, unsubscribe --dry-run preflight
- (summarize) Lead thread summaries with a strict triage verdict line
- (triage) Cached triage-signal surface across CLI/TUI/web with store cache
- (search) --group-by sender aggregation across CLI/TUI/web
- (mutations) Chunked/async large-batch jobs surface across clients
- (unsubscribe) --purge unsubscribe + footprint clear with dry-run preview
- (rules) Chained rule actions + atomic route verb across clients
🐛 Bug Fixes
- (reader) Readable HTML-to-text fallback in reader view
- (search) Lift tantivy result ceiling + offset pagination
📚 Documentation
- Clarify subscriptions --rank opened_count semantics
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent...
v0.5.57
[0.5.57] - 2026-06-04
🐛 Bug Fixes
- Track TUI summary requests per thread (#55)
⚙️ Miscellaneous Tasks
- (main) Release 0.5.57
[0.5.56] - 2026-06-04
🐛 Bug Fixes
- Satisfy cli journey clippy
⚙️ Miscellaneous Tasks
- (main) Release 0.5.56
[0.5.55] - 2026-06-03
🐛 Bug Fixes
- Clean up release clippy lints
⚙️ Miscellaneous Tasks
- (main) Release 0.5.55
[0.5.54] - 2026-06-03
🐛 Bug Fixes
- Satisfy release ci checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.54
[0.5.53] - 2026-06-03
🧪 Testing
- Update cli smoke for paginated search output
⚙️ Miscellaneous Tasks
- (main) Release 0.5.53
[0.5.52] - 2026-06-03
📚 Documentation
- Record triage cli gaps plan
⚙️ Miscellaneous Tasks
- Align dependabot grouping with automerge policy (#49)
- (main) Release 0.5.52
[0.5.51] - 2026-05-31
🐛 Bug Fixes
- (keychain) Enable a Linux keyring backend so credentials persist
- (provider-imap) Skip non-selectable folders; don't abort sync on [Gmail]
- Repair Linux keyring CI
- Cover dbus in workflow checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.51
- Update release lockfile
[0.5.50] - 2026-05-31
🚀 Features
- (cli) Count --format plain, thread/message count parity, unsubscribe --dry-run preflight
- (summarize) Lead thread summaries with a strict triage verdict line
- (triage) Cached triage-signal surface across CLI/TUI/web with store cache
- (search) --group-by sender aggregation across CLI/TUI/web
- (mutations) Chunked/async large-batch jobs surface across clients
- (unsubscribe) --purge unsubscribe + footprint clear with dry-run preview
- (rules) Chained rule actions + atomic route verb across clients
🐛 Bug Fixes
- (reader) Readable HTML-to-text fallback in reader view
- (search) Lift tantivy result ceiling + offset pagination
📚 Documentation
- Clarify subscriptions --rank opened_count semantics
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5...
v0.5.56
[0.5.56] - 2026-06-04
🐛 Bug Fixes
- Satisfy cli journey clippy
⚙️ Miscellaneous Tasks
- (main) Release 0.5.56
[0.5.55] - 2026-06-03
🐛 Bug Fixes
- Clean up release clippy lints
⚙️ Miscellaneous Tasks
- (main) Release 0.5.55
[0.5.54] - 2026-06-03
🐛 Bug Fixes
- Satisfy release ci checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.54
[0.5.53] - 2026-06-03
🧪 Testing
- Update cli smoke for paginated search output
⚙️ Miscellaneous Tasks
- (main) Release 0.5.53
[0.5.52] - 2026-06-03
📚 Documentation
- Record triage cli gaps plan
⚙️ Miscellaneous Tasks
- Align dependabot grouping with automerge policy (#49)
- (main) Release 0.5.52
[0.5.51] - 2026-05-31
🐛 Bug Fixes
- (keychain) Enable a Linux keyring backend so credentials persist
- (provider-imap) Skip non-selectable folders; don't abort sync on [Gmail]
- Repair Linux keyring CI
- Cover dbus in workflow checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.51
- Update release lockfile
[0.5.50] - 2026-05-31
🚀 Features
- (cli) Count --format plain, thread/message count parity, unsubscribe --dry-run preflight
- (summarize) Lead thread summaries with a strict triage verdict line
- (triage) Cached triage-signal surface across CLI/TUI/web with store cache
- (search) --group-by sender aggregation across CLI/TUI/web
- (mutations) Chunked/async large-batch jobs surface across clients
- (unsubscribe) --purge unsubscribe + footprint clear with dry-run preview
- (rules) Chained rule actions + atomic route verb across clients
🐛 Bug Fixes
- (reader) Readable HTML-to-text fallback in reader view
- (search) Lift tantivy result ceiling + offset pagination
📚 Documentation
- Clarify subscriptions --rank opened_count semantics
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5.15] - 2026-05-15
🐛 Bug Fixes
- Harden semantic local tests
[0.5.14] - 2026-05-15
🐛 Bug Fixes
- Stabilize release test fixtures
#...
v0.5.51
[0.5.51] - 2026-05-31
🐛 Bug Fixes
- (keychain) Enable a Linux keyring backend so credentials persist
- (provider-imap) Skip non-selectable folders; don't abort sync on [Gmail]
- Repair Linux keyring CI
- Cover dbus in workflow checks
⚙️ Miscellaneous Tasks
- (main) Release 0.5.51
- Update release lockfile
[0.5.50] - 2026-05-31
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5.15] - 2026-05-15
🐛 Bug Fixes
- Harden semantic local tests
[0.5.14] - 2026-05-15
🐛 Bug Fixes
- Stabilize release test fixtures
[0.5.13] - 2026-05-15
🐛 Bug Fixes
- Restore semantic release checks
[0.5.12] - 2026-05-15
🐛 Bug Fixes
- Restore release CI checks
[0.5.11] - 2026-05-15
🚀 Features
- Support calendar email invites
[0.5.10] - 2026-05-15
⚙️ Miscellaneous Tasks
- Fix release binary target path
[0.5.9] - 2026-05-15
🚀 Features
- (tui) Show Outlook device code during auth (#33)
- (outlook) Bundle client ID into release builds (#32)
- Add relationship-aware drafting and signatures
- (web) Surface summaries and sender context
- Complete relationship intelligence surfaces
- Complete platform workflow parity
- [] make web app installable
- Complete relationship workflow surfaces
- (store) Include cc/bcc and reply pairs in contact rollup
- (semantic) Expose chunk id, source kind, and snippet on hits
- (llm) Scaffold answer-coverage, archive-ask, decision-log, briefing, expert features
- (core) Add DraftIntent and thread it through compose, send, and storage
- (daemon) Block sends on missing recipients, invalid addresses, and reply-all gaps
- (safety) Scaffold deterministic pre-send safety crate
- (safety) Wire protocol and CLI --check for draft safety pipeline
- (safety) Single-use override tokens and send-gate audit
- (safety) LLM answer-coverage check with citation validation
- (tui) Render safety verdict and override token in send-confirm modal
- (commitments) Extract draft commitment candidates ...
v0.5.50
[0.5.50] - 2026-05-31
⚙️ Miscellaneous Tasks
- (main) Release 0.5.50
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5.15] - 2026-05-15
🐛 Bug Fixes
- Harden semantic local tests
[0.5.14] - 2026-05-15
🐛 Bug Fixes
- Stabilize release test fixtures
[0.5.13] - 2026-05-15
🐛 Bug Fixes
- Restore semantic release checks
[0.5.12] - 2026-05-15
🐛 Bug Fixes
- Restore release CI checks
[0.5.11] - 2026-05-15
🚀 Features
- Support calendar email invites
[0.5.10] - 2026-05-15
⚙️ Miscellaneous Tasks
- Fix release binary target path
[0.5.9] - 2026-05-15
🚀 Features
- (tui) Show Outlook device code during auth (#33)
- (outlook) Bundle client ID into release builds (#32)
- Add relationship-aware drafting and signatures
- (web) Surface summaries and sender context
- Complete relationship intelligence surfaces
- Complete platform workflow parity
- [] make web app installable
- Complete relationship workflow surfaces
- (store) Include cc/bcc and reply pairs in contact rollup
- (semantic) Expose chunk id, source kind, and snippet on hits
- (llm) Scaffold answer-coverage, archive-ask, decision-log, briefing, expert features
- (core) Add DraftIntent and thread it through compose, send, and storage
- (daemon) Block sends on missing recipients, invalid addresses, and reply-all gaps
- (safety) Scaffold deterministic pre-send safety crate
- (safety) Wire protocol and CLI --check for draft safety pipeline
- (safety) Single-use override tokens and send-gate audit
- (safety) LLM answer-coverage check with citation validation
- (tui) Render safety verdict and override token in send-confirm modal
- (commitments) Extract draft commitment candidates and promote on send
- (owed) List owed-reply threads with overdue ranking
- (tui) Owed-replies lens render
- (archive) Mxr ask with citation-validated retrieval
- (decisions) Citation-backed decision log store + IPC + CLI
- (send-time) Per-recipient reply-bucket optimizer + IPC + CLI
- (cadence) Relationship watchl...
v0.5.49
[0.5.49] - 2026-05-31
🐛 Bug Fixes
- Repair GA release checks
- Relax release gates
[0.5.48] - 2026-05-31
🐛 Bug Fixes
- Harden GA release path
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5.15] - 2026-05-15
🐛 Bug Fixes
- Harden semantic local tests
[0.5.14] - 2026-05-15
🐛 Bug Fixes
- Stabilize release test fixtures
[0.5.13] - 2026-05-15
🐛 Bug Fixes
- Restore semantic release checks
[0.5.12] - 2026-05-15
🐛 Bug Fixes
- Restore release CI checks
[0.5.11] - 2026-05-15
🚀 Features
- Support calendar email invites
[0.5.10] - 2026-05-15
⚙️ Miscellaneous Tasks
- Fix release binary target path
[0.5.9] - 2026-05-15
🚀 Features
- (tui) Show Outlook device code during auth (#33)
- (outlook) Bundle client ID into release builds (#32)
- Add relationship-aware drafting and signatures
- (web) Surface summaries and sender context
- Complete relationship intelligence surfaces
- Complete platform workflow parity
- [] make web app installable
- Complete relationship workflow surfaces
- (store) Include cc/bcc and reply pairs in contact rollup
- (semantic) Expose chunk id, source kind, and snippet on hits
- (llm) Scaffold answer-coverage, archive-ask, decision-log, briefing, expert features
- (core) Add DraftIntent and thread it through compose, send, and storage
- (daemon) Block sends on missing recipients, invalid addresses, and reply-all gaps
- (safety) Scaffold deterministic pre-send safety crate
- (safety) Wire protocol and CLI --check for draft safety pipeline
- (safety) Single-use override tokens and send-gate audit
- (safety) LLM answer-coverage check with citation validation
- (tui) Render safety verdict and override token in send-confirm modal
- (commitments) Extract draft commitment candidates and promote on send
- (owed) List owed-reply threads with overdue ranking
- (tui) Owed-replies lens render
- (archive) Mxr ask with citation-validated retrieval
- (decisions) Citation-backed decision log store + IPC + CLI
- (send-time) Per-recipient reply-bucket optimizer + IPC + CLI
- (cadence) Relationship watchlist with drift query
- (briefing) Thread + recipient briefings with content-ha...
v0.5.47
[0.5.47] - 2026-05-29
📚 Documentation
- Document account selection
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5.15] - 2026-05-15
🐛 Bug Fixes
- Harden semantic local tests
[0.5.14] - 2026-05-15
🐛 Bug Fixes
- Stabilize release test fixtures
[0.5.13] - 2026-05-15
🐛 Bug Fixes
- Restore semantic release checks
[0.5.12] - 2026-05-15
🐛 Bug Fixes
- Restore release CI checks
[0.5.11] - 2026-05-15
🚀 Features
- Support calendar email invites
[0.5.10] - 2026-05-15
⚙️ Miscellaneous Tasks
- Fix release binary target path
[0.5.9] - 2026-05-15
🚀 Features
- (tui) Show Outlook device code during auth (#33)
- (outlook) Bundle client ID into release builds (#32)
- Add relationship-aware drafting and signatures
- (web) Surface summaries and sender context
- Complete relationship intelligence surfaces
- Complete platform workflow parity
- [] make web app installable
- Complete relationship workflow surfaces
- (store) Include cc/bcc and reply pairs in contact rollup
- (semantic) Expose chunk id, source kind, and snippet on hits
- (llm) Scaffold answer-coverage, archive-ask, decision-log, briefing, expert features
- (core) Add DraftIntent and thread it through compose, send, and storage
- (daemon) Block sends on missing recipients, invalid addresses, and reply-all gaps
- (safety) Scaffold deterministic pre-send safety crate
- (safety) Wire protocol and CLI --check for draft safety pipeline
- (safety) Single-use override tokens and send-gate audit
- (safety) LLM answer-coverage check with citation validation
- (tui) Render safety verdict and override token in send-confirm modal
- (commitments) Extract draft commitment candidates and promote on send
- (owed) List owed-reply threads with overdue ranking
- (tui) Owed-replies lens render
- (archive) Mxr ask with citation-validated retrieval
- (decisions) Citation-backed decision log store + IPC + CLI
- (send-time) Per-recipient reply-bucket optimizer + IPC + CLI
- (cadence) Relationship watchlist with drift query
- (briefing) Thread + recipient briefings with content-hash cache
- (suggest) "maybe include" recipient suggestions with Bcc-leak guard
- (expert) Expert finder ranks answerers, not askers
- (whois) Query-time e...
v0.5.46
[0.5.46] - 2026-05-29
🚀 Features
- Add notification chimes
⚙️ Miscellaneous Tasks
- Release 0.5.46
[0.5.45] - 2026-05-28
🚀 Features
- Scope cli commands by account
⚙️ Miscellaneous Tasks
- Release 0.5.45
[0.5.44] - 2026-05-28
⚙️ Miscellaneous Tasks
- Capture mxr worktree updates
- Release 0.5.44
[0.5.43] - 2026-05-25
⚙️ Miscellaneous Tasks
- Release 0.5.43
[0.5.42] - 2026-05-25
🚀 Features
- (invites) Re-hydrate attachment-only invites in
mxr invites backfill
🐛 Bug Fixes
- (gmail) Detect calendar invites delivered as .ics attachments
- (deliveries) Detect order confirmations with dotted order numbers
⚙️ Miscellaneous Tasks
- Release 0.5.42
[0.5.41] - 2026-05-25
🐛 Bug Fixes
- (daemon) Acquire the index lock before touching the socket on startup
⚙️ Miscellaneous Tasks
- Release 0.5.41
[0.5.40] - 2026-05-25
🐛 Bug Fixes
- (deliveries) Never detect spam or trashed mail as a delivery
⚙️ Miscellaneous Tasks
- Release 0.5.40
[0.5.39] - 2026-05-24
🐛 Bug Fixes
- (tui) Open a delivery's email inline in a split preview
⚙️ Miscellaneous Tasks
- Release 0.5.39
[0.5.38] - 2026-05-24
🐛 Bug Fixes
- (tui) Unblock the Deliveries screen and enrich its rows
⚙️ Miscellaneous Tasks
- Release 0.5.38
[0.5.37] - 2026-05-24
🚀 Features
- Calendar invites lens and web page with inline RSVP
🚜 Refactor
- Idiomatic Rust pass and safe simplifications
- Typed HandlerError for daemon IPC handlers
📚 Documentation
- Add idiomatic Rust rubric
- Document the calendar invites page across clients
🎨 Styling
- Complete rustfmt for the idiomatic Rust pass
⚙️ Miscellaneous Tasks
- Release 0.5.37
[0.5.36] - 2026-05-23
🐛 Bug Fixes
- (ci) Rustfmt, clippy, and openapi snapshot for the deliveries release
⚙️ Miscellaneous Tasks
- Release 0.5.36
[0.5.35] - 2026-05-23
🚀 Features
- (web) Unify message/thread lists onto the mailbox list
- (web) Search keyboard flow — Enter hands off to the list, / refocuses query
- (deliveries) Track packages from inbound mail across CLI, web, and TUI
- (demo) Seed shipping mail so the demo profile shows deliveries
📚 Documentation
- (deliveries) Document the deliveries surface; fix analytics keybinding
⚙️ Miscellaneous Tasks
- Release 0.5.35
[0.5.34] - 2026-05-22
🚀 Features
- (web) Dedicated keymap for full search + clearer palette selection
- (web) Make analytics message rows open their thread
🐛 Bug Fixes
- (web) Use loopback OAuth flow for Gmail onboarding, not device-code
⚙️ Miscellaneous Tasks
- Release 0.5.34
[0.5.33] - 2026-05-22
🐛 Bug Fixes
- Guard Command::Accounts dispatch with ensure_daemon_running
- Stop background workers from starving the SQLite connection pool
⚙️ Miscellaneous Tasks
- Release 0.5.33
[0.5.32] - 2026-05-22
🐛 Bug Fixes
- Resolve gmail oauth flow client-side so desktop uses loopback
⚙️ Miscellaneous Tasks
- Bump version to 0.5.32
[0.5.31] - 2026-05-21
⚙️ Miscellaneous Tasks
- Stabilize release gates
- Bump version to 0.5.31
[0.5.30] - 2026-05-21
🐛 Bug Fixes
- Surface web auth recovery
⚙️ Miscellaneous Tasks
- Bump version to 0.5.30
[0.5.29] - 2026-05-21
🐛 Bug Fixes
- Reopen healthy daemon web bridge
[0.5.28] - 2026-05-21
🐛 Bug Fixes
- Detach autostarted daemon
[0.5.27] - 2026-05-21
⚙️ Miscellaneous Tasks
- Verify homebrew release on macos
[0.5.26] - 2026-05-21
🧪 Testing
- Refresh account help snapshots
[0.5.25] - 2026-05-21
🐛 Bug Fixes
- Keep cached mail visible without gmail auth
💼 Other
- Migrate workflows to Blacksmith runners (#37)
[0.5.24] - 2026-05-21
🐛 Bug Fixes
- Avoid interactive gmail keychain reads
[0.5.23] - 2026-05-21
🐛 Bug Fixes
- Avoid daemon restart on busy status
[0.5.22] - 2026-05-21
🐛 Bug Fixes
- Align web ipc protocol
⚙️ Miscellaneous Tasks
- Bump version to 0.5.22
[0.5.21] - 2026-05-21
🐛 Bug Fixes
- Remove production panic and unwrap paths
- Track daemon background task lifecycle
- Satisfy current stable clippy
- Satisfy rust 1.95 clippy
- Compile web ui without built spa
- Satisfy rust 1.95 clippy again
🚜 Refactor
- Fix large enum variants and API convention lints
- Introduce parameter structs for wide helper APIs
- Split oversized integration modules
- Remove remaining API lint allowances
- Finish oversized integration module split
- Finish rust idiom cleanup tail
📚 Documentation
- Refresh architecture boundary model
🎨 Styling
- Apply rustfmt across workspace
🧪 Testing
- Restore semantic local coverage
- Document intentional test panic and unwrap policy
- Narrow panic and unwrap lint expectations
- Prove final cleanup gates
- Strengthen test quality gates
⚙️ Miscellaneous Tasks
- Clean dependency audit noise
- Enforce clean clippy across workspace
- Add stable pre-pr verification gate
- Reduce dependency audit noise
- Bump version to 0.5.21
[0.5.20] - 2026-05-19
🐛 Bug Fixes
- Stabilize TUI body and mutation state
[0.5.19] - 2026-05-19
🚀 Features
- Prepare mail-threading for external publish
- Prepare list-unsubscribe for external publish
- Prepare mail-query for external publish
- Prepare mailbox-formats for external publish
- Inline calendar reply with localization scaffold
- Custom IMAP keywords on flags (MSP Phase E)
- Thread.message_ids + threads_changed delta (MSP Phase F)
💼 Other
- Bump clippy MSRV to 1.88
🚜 Refactor
- Namespace SyncCapabilities into sync/mutate/search/push
- Add typed SyncCursorExpired error variant
- Add Role enum + Label.role field for MSP §2.3 alignment
- Drop dead RecoveringNotFoundProvider mock
- Opaque SyncCursor (MSP Phase B)
- Has_more on SyncBatch (MSP Phase C)
- Unified apply_mutation + idempotent retry (MSP Phase D)
📚 Documentation
- Mark mail-threading extraction complete
- Capture mail-threading extraction lessons
- Mark list-unsubscribe extraction complete
- Raise the publishing bar; mark 04/06/08/09 as won't-do
- Move compose/humanizer/llm/keychain into wont-do/
- Mark mail-query extraction complete
- Mark mailbox-formats extraction complete
- Capture naming lesson; mail-threading v0.1.1 description fix
- Mail Sync Protocol (MSP) spike — spec, alignment audit, blog draft
- Consolidate MSP initiative under docs/msp/ with README + ROADMAP
- Agent build-and-verify workflow in AGENTS.md
- Archive jwz-threading audit to extractable-crates/done/
- Mark MSP Phase A done in ROADMAP
- Mark MSP Phase B done in ROADMAP
- Retract MSP Phase G; body delivery is now a negotiated capability
🧪 Testing
- Accept openapi spec snapshot — Role added to schema list
⚙️ Miscellaneous Tasks
- Consume mail-threading from crates.io
- Consume list-unsubscribe from crates.io
- Consume mail-query from crates.io
- Consume mailbox-formats from crates.io
- Relocate agent skills under .agents/, symlink CLAUDE.md
- Release 0.5.19
[0.5.18] - 2026-05-15
🐛 Bug Fixes
- (web) Clear stale bridge-port + surface child failures
⚡ Performance
- (tui) De-quadratic the mail-list row markers
⚙️ Miscellaneous Tasks
- Release 0.5.18
[0.5.17] - 2026-05-15
🐛 Bug Fixes
- (tui) Unstick the y summarize keybinding and broaden auto-summary
⚙️ Miscellaneous Tasks
- Release 0.5.17
[0.5.16] - 2026-05-15
🚀 Features
- Extract mail-threading into standalone crate
🐛 Bug Fixes
- (tui) Prevent archive bounce-back and polish UI surfaces
⚡ Performance
- (daemon) Unblock sync hot path and split IPC priority lanes
⚙️ Miscellaneous Tasks
- Release 0.5.16
[0.5.15] - 2026-05-15
🐛 Bug Fixes
- Harden semantic local tests
[0.5.14] - 2026-05-15
🐛 Bug Fixes
- Stabilize release test fixtures
[0.5.13] - 2026-05-15
🐛 Bug Fixes
- Restore semantic release checks
[0.5.12] - 2026-05-15
🐛 Bug Fixes
- Restore release CI checks
[0.5.11] - 2026-05-15
🚀 Features
- Support calendar email invites
[0.5.10] - 2026-05-15
⚙️ Miscellaneous Tasks
- Fix release binary target path
[0.5.9] - 2026-05-15
🚀 Features
- (tui) Show Outlook device code during auth (#33)
- (outlook) Bundle client ID into release builds (#32)
- Add relationship-aware drafting and signatures
- (web) Surface summaries and sender context
- Complete relationship intelligence surfaces
- Complete platform workflow parity
- [] make web app installable
- Complete relationship workflow surfaces
- (store) Include cc/bcc and reply pairs in contact rollup
- (semantic) Expose chunk id, source kind, and snippet on hits
- (llm) Scaffold answer-coverage, archive-ask, decision-log, briefing, expert features
- (core) Add DraftIntent and thread it through compose, send, and storage
- (daemon) Block sends on missing recipients, invalid addresses, and reply-all gaps
- (safety) Scaffold deterministic pre-send safety crate
- (safety) Wire protocol and CLI --check for draft safety pipeline
- (safety) Single-use override tokens and send-gate audit
- (safety) LLM answer-coverage check with citation validation
- (tui) Render safety verdict and override token in send-confirm modal
- (commitments) Extract draft commitment candidates and promote on send
- (owed) List owed-reply threads with overdue ranking
- (tui) Owed-replies lens render
- (archive) Mxr ask with citation-validated retrieval
- (decisions) Citation-backed decision log store + IPC + CLI
- (send-time) Per-recipient reply-bucket optimizer + IPC + CLI
- (cadence) Relationship watchlist with drift query
- (briefing) Thread + recipient briefings with content-hash cache
- (suggest) "maybe include" recipient suggestions with Bcc-leak guard
- (expert) Expert finder ranks answerers, not askers
- (whois) Query-time entity explainer with no new schema
- (tui) Wire compose-flow safety check ...