|
1 | 1 | # Zoo Code Changelog |
2 | 2 |
|
| 3 | +## [3.96.0] |
| 4 | + |
| 5 | +- ✨ **New chat settings and diagnostics:** Show message timestamps with configurable time and date formats, tune the prompt-cache TTL for Anthropic profiles, and generate privacy-safe diagnostics reports. |
| 6 | +- 💸 **More accurate provider costs and caching:** Keep Anthropic tool results intact, adopt cumulative output tokens in Anthropic and MiniMax costs, read DeepSeek prompt-cache counters, target the xAI Responses cache, and bill Mistral cache reads at 0.1x. |
| 7 | +- 🧭 **More reliable and faster chats:** Resume completed tasks after a restart, restore checkpoints when the saved commit is missing, auto-reload a dead webview renderer, throttle streaming updates, and load locales on demand. |
| 8 | + |
| 9 | +### New Chat Settings and Diagnostics |
| 10 | + |
| 11 | +- Add time and date format settings and message timestamps (#2221 by @KarthickMahalingam, PR #2223 by @KarthickMahalingam) |
| 12 | +- Add a user-facing prompt-cache TTL for Anthropic profiles (PR #2271 by @simurg79) |
| 13 | +- Add privacy-safe diagnostics reports (PR #2292 by @app/zoomote2) |
| 14 | + |
| 15 | +### More Accurate Provider Costs and Caching |
| 16 | + |
| 17 | +- Keep tool_result blocks contiguous in Anthropic requests by grouping image blocks separately (#1307 by @alaskanloosemoose-dotcom, PR #2243 by @myk1yt) |
| 18 | +- Adopt cumulative message_delta output tokens in Anthropic and MiniMax cost (#1727 by @myk1yt, PR #2242 by @myk1yt) |
| 19 | +- Read documented top-level prompt-cache counters for DeepSeek (PR #2252 by @myk1yt) |
| 20 | +- Send body prompt_cache_key for xAI Responses cache affinity (PR #2256 by @myk1yt) |
| 21 | +- Bill Mistral cache reads at 0.1x instead of the full input price (PR #2257 by @myk1yt) |
| 22 | +- Map xAI tool_choice to the Responses API shape with a typed request body (PR #2036 by @easonLiangWorldedtech) |
| 23 | +- Add MiMo V2.6 Flash and Pro model configurations for OpenCode Go (#1997 by @WebMad, PR #2246 by @myk1yt) |
| 24 | + |
| 25 | +### More Reliable and Faster Chats |
| 26 | + |
| 27 | +- Resume completed tasks after a restart when a message write is interrupted (#2130 by @edelauna, PR #2297 by @app/zoomote2) |
| 28 | +- Restore checkpoints when the saved commit is missing (PR #2269 by @simurg79) |
| 29 | +- Detect a dead webview renderer via heartbeat and auto-reload (PR #1715 by @myk1yt) |
| 30 | +- Report emergency condense like the automatic path (PR #1838 by @PierrunoYT) |
| 31 | +- Summarize only the API-visible history when condensing (#1342 by @RemainIndoors1, PR #2300 by @RytisLT) |
| 32 | +- Propagate beyond-EOF read-file errors instead of reporting the file as empty (PR #1734 by @myk1yt) |
| 33 | +- Throttle partial message updates while streaming (PR #2120 by @PierrunoYT) |
| 34 | +- Replace axios with fetch in key-info hooks (PR #2261 by @myk1yt) |
| 35 | +- Load locales on demand instead of eager-globbing all 18 (PR #2267 by @myk1yt) |
| 36 | +- Replace the debounce package with a local leading-edge helper (PR #2268 by @myk1yt) |
| 37 | + |
| 38 | +### New Features and Integrations |
| 39 | + |
| 40 | +- Add a dependency-free BM25 ranker tool (PR #1207 by @edelauna) |
| 41 | +- Add abort-signal wiring for lm-studio and qwen-code (PR #1309 by @easonLiangWorldedtech) |
| 42 | +- Add Keenable to the MCP marketplace (#2312 by @ilya-bogin-keenable, PR #2313 by @ilya-bogin-keenable) |
| 43 | + |
| 44 | +### Testing, CI, and Repository Automation |
| 45 | + |
| 46 | +- Cancel obsolete PR CI runs and remove duplicate builds (#2289 by @edelauna, PR #2294 by @app/zoomote2) |
| 47 | +- Post surviving mutants as a PR comment (#2287 by @edelauna, PR #2293 by @app/zoomote2) |
| 48 | +- Run webview CI tests with four workers (#2288 by @edelauna, PR #2308 by @app/zoomote2) |
| 49 | +- Use plugin-side related-test discovery for the extension package mutation gate (PR #2211 by @easonLiangWorldedtech) |
| 50 | +- Add test-utils guardrails and convert remaining stragglers (PR #2279 by @app/zoomote2) |
| 51 | +- Drop test-only tool-use interfaces from shared/tools (PR #2258 by @myk1yt) |
| 52 | +- Show the Zoo Code panel in the Solheim smoke video and bound the apt step (#2158 by @edelauna, PR #2195 by @app/zoomote2) |
| 53 | + |
| 54 | +### Refactoring and Code Health |
| 55 | + |
| 56 | +- Move default provider ID functionality into the provider definition (PR #2233 by @p12tic) |
| 57 | +- Resolve profile model IDs through provider definitions (PR #2239 by @p12tic) |
| 58 | +- Remove no-explicit-any suppressions in utils (PR #2281 by @app/zoomote2) |
| 59 | +- Remove no-explicit-any suppressions in small directories (PR #2286 by @app/zoomote2) |
| 60 | +- Close lint coverage and knip hygiene gaps (PR #2280 by @app/zoomote2) |
| 61 | +- Sweep dead locale keys behind an AST gate (PR #2263 by @myk1yt) |
| 62 | +- Remove dead CSS classes from the global stylesheet (PR #2251 by @myk1yt) |
| 63 | + |
| 64 | +### Dependencies and Maintenance |
| 65 | + |
| 66 | +- Update @tanstack/react-query to v5.105.0 (PR #2180 by @app/renovate) |
| 67 | +- Update ignore to v7.0.14 (PR #2181 by @app/renovate) |
| 68 | +- Update posthog-js to v1.440.0 (PR #2182 by @app/renovate) |
| 69 | +- Update posthog-node to v5.57.2 (PR #2183 by @app/renovate) |
| 70 | +- Update GitHub Actions (PR #2186 by @app/renovate) |
| 71 | +- Update qs to v6.16.1 [security] (PR #2214 by @app/renovate) |
| 72 | + |
| 73 | +### Housekeeping |
| 74 | + |
| 75 | +- Merge the **previous v3.94.0 release preparation** after its publication; this is prior-release housekeeping, not a v3.96.0 feature (PR #2272 by @app/zoomote2) |
| 76 | + |
3 | 77 | ## [3.94.0] |
4 | 78 |
|
5 | 79 | - ✨ **Broader model and provider support:** Use Claude Haiku 5.5 through Anthropic, send images to compatible VS Code LM models, tune temperature for OpenCode Go Responses models, and cancel requests cleanly across more providers. |
|
0 commit comments