Repository navigation
Release v3.96.0 - #2341
Release v3.96.0#2341
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one): 1
Please check the settings in the CodeRabbit UI or the
|
Review statusThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging. Current step: The required review sequence passed. Remaining merge requirements apply. Review-state labels are managed by this workflow; do not edit them manually. |
|
3 issues outstanding — localized release-copy punctuation in fr, zh-CN, and zh-TW announcement highlights. Everything else reviewed clean: version bump, changelog inventory (all 43 shipped PRs plus #2272 housekeeping accounted for), announcement ID, locale key parity across all 18 locales, and CHANGELOG sync verified. See session
Reviewed 2144b51 |
| "highlight1": "✨ Nouveaux réglages de chat et diagnostics: Affiche l'horodatage des messages avec des formats d'heure et de date configurables, règle le TTL du cache de prompts pour les profils Anthropic et génère des rapports de diagnostic respectueux de la vie privée.", | ||
| "highlight2": "💸 Des coûts et un cache fournisseurs plus précis: Garde intacts les résultats d'outils Anthropic, adopte les tokens de sortie cumulés dans les coûts Anthropic et MiniMax, lit les compteurs de cache de prompts de DeepSeek, cible le cache Responses de xAI et facture les lectures de cache Mistral à 0,1x.", | ||
| "highlight3": "🧭 Des chats plus fiables et plus rapides: Reprends les tâches terminées après un redémarrage, restaure les checkpoints quand le commit enregistré manque, recharge automatiquement un renderer de webview mort, limite les mises à jour de streaming et charge les langues à la demande." |
There was a problem hiding this comment.
The new release highlights use unspaced colons (diagnostics:, précis:, rapides:), but French typography and the rest of this file (including the previous release block, e.g. "fournisseurs : Utilise") use a space before the colon ( :). Since this copy ships to French-locale users, please use : in the three new highlight strings.
| "highlight1": "✨ 全新聊天设置与诊断: 以可配置的时间与日期格式显示消息时间戳,为 Anthropic 配置文件调整 prompt-cache TTL,并生成注重隐私的诊断报告。", | ||
| "highlight2": "💸 更精准的供应商计费与缓存: 保持 Anthropic 工具结果完整无损,在 Anthropic 和 MiniMax 成本中采用累计输出 token,读取 DeepSeek 的 prompt-cache 计数器,命中 xAI Responses 缓存,并按 0.1x 计收 Mistral 缓存读取费用。", | ||
| "highlight3": "🧭 更可靠、更快速的对话: 重启后恢复已完成的任务,在已保存的 commit 缺失时仍能还原 checkpoint,自动重载无响应的 webview 渲染器,节流流式更新,并按需加载语言包。" |
There was a problem hiding this comment.
The new release highlights use half-width ASCII colons (诊断:, 缓存:, 对话:), while the previous release block and the rest of this file's Chinese prose use full-width colons (:, e.g. the old 提供商支持:通过… and malformedCommand). Please use full-width : after the lead-in phrases in the three new highlight strings.
| "highlight1": "✨ 全新聊天設定與診斷: 以可設定的時間與日期格式顯示訊息時間戳記,為 Anthropic 設定檔調整 prompt-cache TTL,並產生注重隱私的診斷報告。", | ||
| "highlight2": "💸 更精準的供應商計費與快取: 保持 Anthropic 工具結果完整無損,在 Anthropic 和 MiniMax 成本中採用累計輸出 token,讀取 DeepSeek 的 prompt-cache 計數器,命中 xAI Responses 快取,並以 0.1x 計收 Mistral 快取讀取費用。", | ||
| "highlight3": "🧭 更可靠、更快速的對話: 重新啟動後續跑已完成的任務,在已儲存的 commit 遺失時仍能還原 checkpoint,自動重新載入無回應的 webview 轉譯器,節流串流更新,並視需要載入語言包。" |
There was a problem hiding this comment.
The new release highlights use half-width ASCII colons (診斷:, 快取:, 對話:), while the previous release block and the other 11 full-width-colon occurrences in this file use : (e.g. the old 提供者支援:透過…). Please use full-width : after the lead-in phrases in the three new highlight strings.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
JamesRobert20
left a comment
There was a problem hiding this comment.
Approved for v3.96.0 release. Checks look green; tagging the approved tip next.
Changed-code mutation testingReport for PR head
Details: mutants, guidance, and reproductionChanged-code mutation testing
Focused tests
All surviving and uncovered mutantsWarning annotations highlight up to 20 unique locations (maximum 7 per file). This summary lists every advisory mutant. extension
|
Line | Status | Mutator | Replacement |
|---|---|---|---|
420 | Survived | StringLiteral | "" |
Resolve a mutation gap
Add or strengthen a focused test that fails under the mutation. If the mutant is equivalent, request maintainer approval for the narrowest mutator-specific exclusion and explain why it cannot change behavior:
// Stryker disable next-line ConditionalExpression: normalized input cannot reach the alternate branch
const result = condition ? value : fallbackBroad all exclusions and exclusions without a concrete reason are reported as advisories.
Reproduce locally
From a full checkout containing both commits:
pnpm install --frozen-lockfile
node scripts/stryker-diff.mjs ci --base bb6cbee59e7a29045950e018e81e6bd565a32881 --head 1d87f9f4db4332cbbd9961613c6345fa021d5e37Mutation reports
- extension:
reports/mutation/extension/mutation.html
The workflow uploads generated reports in the changed-code-mutation-report artifact. A direct artifact link appears below after upload.
One conflict: knip.json ignoreExports. Resolved as a union - this branch's "!services/file-safety/safeWriteText.ts!" plus the two entries main added in Zoo-Code-Org#2341 ("!services/tools/Bm25Ranker.ts!", "!services/tools/types.ts!"). Nothing was dropped from either side. The merged main sha is recorded here because the merge basis is what moves the mutation bucket: CI scores the pull-merge commit against its first parent, and that parent is upstream/main's tip, so refreshing onto 73931fe is what makes the bucket this branch measures the bucket CI reports.
Upstream moved e943530 to 73931fe, 9 commits: Zoo-Code-Org#2275 zustand v5.0.16, Zoo-Code-Org#2274 ai sdk bump, Zoo-Code-Org#2273 @types/katex, Zoo-Code-Org#2341 the v3.96.0 release prep, Zoo-Code-Org#2309 batch 3 of the no-explicit-any suppression removal in the integrations area, Zoo-Code-Org#2297 the interrupted-message-write resume fix, Zoo-Code-Org#2120 partial-message throttling, Zoo-Code-Org#2308 webview tests on four workers, and Zoo-Code-Org#1838 reporting emergency condense like the automatic path. No campaign head is an ancestor of that main, so this is a merge commit rather than a fast-forward. The single conflict was the src/extension/api.ts import block. It is resolved as a union: main adds TaskMessagesReadError, getErrorCode and tracePersistenceEvent, and this branch keeps its import type { Task } line. Neither side was dropped. Suppression baseline: Zoo-Code-Org#2309 lowered the no-explicit-any counts in the integrations area, so the never-raise-a-count baseline is mains lower tree at 73931fe, not the e943530 one. The pre-commit hook shells out to pnpm, which is not installed on this lane PATH, so this merge commit was made with --no-verify and the gates - tsc, eslint with the suppressions file, prettier and the vitest lanes for every file in the diff - are run on the merged tree instead.
Related GitHub Issue
Release preparation for v3.96.0. This maintainer release PR does not close a feature or bug issue.
Description
Release preparation for v3.96.0. This PR includes the final version bump, changelog updates, Marketplace README updates, and announcement changes.
CHANGELOG.mdwith contributor attribution and linked issue reporters, and syncsrc/CHANGELOG.md.This prepares the complete release state for human review. The release owner retains approval, tagging, the marketplace-production deployment gate, and merge-queue steps.
Test Procedure
node scripts/find-missing-translations.js— passed for backend, frontend, and package localization.pnpm exec prettier --checkon every changed file — passed.pnpm check-types— passed all 11 tasks.pnpm --dir src exec eslint --prune-suppressions --max-warnings=0 core/webview/ClineProvider.ts— passed.pnpm --filter @roo-code/build buildandpnpm --filter @roo-code/vscode-webview build— passed.pnpm test— 13 of 14 tasks passed. The extension suite passed 12,640 tests; twoextension.spec.tstests timed out only under full-suite parallel load and pass 24/24 when the file runs in isolation.Pre-Submission Checklist
Visual Snapshots
Not applicable. This PR changes release copy and metadata without changing visual layout.
Videos (interaction / animation only)
Not applicable. This PR does not change interactions or animation.
Documentation Updates
Updated the root Marketplace README and all 17 localized READMEs. The separate stable-release documentation PR remains a post-publication step per the release procedure and is not part of this release-preparation PR.
Additional Notes
Release checklist
CHANGELOG.mdtosrc/CHANGELOG.mdwith the required## [3.96.0]heading.No tag, approval, deployment, or merge action is included in this PR preparation. Do not merge or rebase this branch before tagging: the approver tags the branch tip
v3.96.0so the tag matches the approved commit SHA.Get in Touch
Release coordination: @taltas via Discord.