Release v0.25.0
What's Changed
- fix(cli): split streamed reasoning blocks on new otid by @jnjpng in #2044
- fix(channels): Telegram photo MIME type preservation by @just-cameron in #2050
- fix(tui): avoid NBSP cursor placeholder by @cpacker in #2013
- perf(listener): cache secrets hydration by @cpacker in #2055
- perf(agent): cache client skills payload by @cpacker in #2056
- perf(listener): preserve bootstrap reminders on reconnect by @cpacker in #2057
- perf(listener): avoid duplicate image normalization by @cpacker in #2059
- perf(listener): process idle input directly by @cpacker in #2060
- perf(listener): reuse metadata during tool prep by @cpacker in #2058
- perf(listener): warm state after sync by @cpacker in #2061
- refactor(api): add backend seam for lifecycle calls by @cpacker in #2064
- feat(api): add local backend implementation by @cpacker in #2065
- feat(local): compile MemFS system prompts by @cpacker in #2066
- refactor(listener): extract branch and secret commands by @cpacker in #2067
- refactor(listener): extract model toolset commands by @cpacker in #2069
- refactor(listener): extract cron commands by @cpacker in #2070
- refactor(listener): extract settings commands by @cpacker in #2071
- refactor(listener): extract skill and agent commands by @cpacker in #2072
- refactor(listener): split client modules by @cpacker in #2077
- fix(memfs): hydrate local state from agent tags by @sarahwooders in #2084
- feat(prompts): align Letta system prompt with Context Constitution by @sarahwooders in #2040
- feat(cli): add set-max-context command by @cpacker in #2082
- chore: bump version to 0.25.0 by @github-actions[bot] in #2085
Full Changelog: v0.24.13...v0.25.0