diff --git a/.roo/rules-release-notes-writer/1_main_workflow.xml b/.roo/rules-release-notes-writer/1_main_workflow.xml index efba26cc..6b09948c 100644 --- a/.roo/rules-release-notes-writer/1_main_workflow.xml +++ b/.roo/rules-release-notes-writer/1_main_workflow.xml @@ -294,9 +294,25 @@ fi Detect PR references as: /#(\d{1,7})/g - - If a bullet has no explicit PR number, attempt fuzzy matching to PR titles - - If ambiguous, mark as "unlinked" and exclude by default pending user choice - + Purpose: Count changelog bullets without explicit PR numbers as "referenced" when they confidently map to a PR. + Matching algorithm: + - Normalize both bullet text and PR titles: + - lowercase; remove punctuation; strip prefixes like "fix:", "feat:", "add:", "improve:", "chore:", "refactor:" + - remove parentheticals such as "(thanks @user!)", "(PR by @user)", "(#1234 ...)" + - collapse whitespace + - Tokenize and compute token-overlap score = |intersection(tokens)| / |union(tokens)| + - Author signal: if bullet contains "thanks @user", "by @user", or "PR by @user" and that user equals the PR author or credited issue reporter, add +0.20 to score + - Keyword boost: +0.05 when provider/model/domain keywords (e.g., OpenAI, Claude, Grok, Chutes, Qwen, LongCat, etc.) appear in both + Confidence thresholds: + - score ≥ 0.65 (after boosts) → linked (confident). Treat as changelog-referenced. + - 0.45 ≤ score < 0.65 OR multiple candidates within 0.05 → ambiguous (needs review) + - score < 0.45 → unlinked + Tie-breakers: higher score; if within 0.02 then same author; then closer merge date to release date; then lowest PR number + Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score ≥ 0.50 (confidence="author-boost") + Implementation notes: + - Match only against PRs fetched for the version's date window + - Persist mapping bullet_text → { prNumber, confidenceScore, rationaleSignals[] } and use it to compute linked/ambiguous/unlinked counts + @@ -649,9 +665,25 @@ fi Detect PR references as: /#(\d{1,7})/g - - If a bullet has no explicit PR number, attempt fuzzy matching to PR titles - - If ambiguous, mark as "unlinked" and exclude by default pending user choice - + Purpose: Count changelog bullets without explicit PR numbers as "referenced" when they confidently map to a PR. + Matching algorithm: + - Normalize both bullet text and PR titles: + - lowercase; remove punctuation; strip prefixes like "fix:", "feat:", "add:", "improve:", "chore:", "refactor:" + - remove parentheticals such as "(thanks @user!)", "(PR by @user)", "(#1234 ...)" + - collapse whitespace + - Tokenize and compute token-overlap score = |intersection(tokens)| / |union(tokens)| + - Author signal: if bullet contains "thanks @user", "by @user", or "PR by @user" and that user equals the PR author or credited issue reporter, add +0.20 to score + - Keyword boost: +0.05 when provider/model/domain keywords (e.g., OpenAI, Claude, Grok, Chutes, Qwen, LongCat, etc.) appear in both + Confidence thresholds: + - score ≥ 0.65 (after boosts) → linked (confident). Treat as changelog-referenced. + - 0.45 ≤ score < 0.65 OR multiple candidates within 0.05 → ambiguous (needs review) + - score < 0.45 → unlinked + Tie-breakers: higher score; if within 0.02 then same author; then closer merge date to release date; then lowest PR number + Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score ≥ 0.50 (confidence="author-boost") + Implementation notes: + - Match only against PRs fetched for the version's date window + - Persist mapping bullet_text → { prNumber, confidenceScore, rationaleSignals[] } and use it to compute linked/ambiguous/unlinked counts + @@ -993,9 +1025,25 @@ fi Detect PR references as: /#(\d{1,7})/g - - If a bullet has no explicit PR number, attempt fuzzy matching to PR titles - - If ambiguous, mark as "unlinked" and exclude by default pending user choice - + Purpose: Count changelog bullets without explicit PR numbers as "referenced" when they confidently map to a PR. + Matching algorithm: + - Normalize both bullet text and PR titles: + - lowercase; remove punctuation; strip prefixes like "fix:", "feat:", "add:", "improve:", "chore:", "refactor:" + - remove parentheticals such as "(thanks @user!)", "(PR by @user)", "(#1234 ...)" + - collapse whitespace + - Tokenize and compute token-overlap score = |intersection(tokens)| / |union(tokens)| + - Author signal: if bullet contains "thanks @user", "by @user", or "PR by @user" and that user equals the PR author or credited issue reporter, add +0.20 to score + - Keyword boost: +0.05 when provider/model/domain keywords (e.g., OpenAI, Claude, Grok, Chutes, Qwen, LongCat, etc.) appear in both + Confidence thresholds: + - score ≥ 0.65 (after boosts) → linked (confident). Treat as changelog-referenced. + - 0.45 ≤ score < 0.65 OR multiple candidates within 0.05 → ambiguous (needs review) + - score < 0.45 → unlinked + Tie-breakers: higher score; if within 0.02 then same author; then closer merge date to release date; then lowest PR number + Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score ≥ 0.50 (confidence="author-boost") + Implementation notes: + - Match only against PRs fetched for the version's date window + - Persist mapping bullet_text → { prNumber, confidenceScore, rationaleSignals[] } and use it to compute linked/ambiguous/unlinked counts + @@ -1335,9 +1383,25 @@ fi Detect PR references as: /#(\d{1,7})/g - - If a bullet has no explicit PR number, attempt fuzzy matching to PR titles - - If ambiguous, mark as "unlinked" and exclude by default pending user choice - + Purpose: Count changelog bullets without explicit PR numbers as "referenced" when they confidently map to a PR. + Matching algorithm: + - Normalize both bullet text and PR titles: + - lowercase; remove punctuation; strip prefixes like "fix:", "feat:", "add:", "improve:", "chore:", "refactor:" + - remove parentheticals such as "(thanks @user!)", "(PR by @user)", "(#1234 ...)" + - collapse whitespace + - Tokenize and compute token-overlap score = |intersection(tokens)| / |union(tokens)| + - Author signal: if bullet contains "thanks @user", "by @user", or "PR by @user" and that user equals the PR author or credited issue reporter, add +0.20 to score + - Keyword boost: +0.05 when provider/model/domain keywords (e.g., OpenAI, Claude, Grok, Chutes, Qwen, LongCat, etc.) appear in both + Confidence thresholds: + - score ≥ 0.65 (after boosts) → linked (confident). Treat as changelog-referenced. + - 0.45 ≤ score < 0.65 OR multiple candidates within 0.05 → ambiguous (needs review) + - score < 0.45 → unlinked + Tie-breakers: higher score; if within 0.02 then same author; then closer merge date to release date; then lowest PR number + Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score ≥ 0.50 (confidence="author-boost") + Implementation notes: + - Match only against PRs fetched for the version's date window + - Persist mapping bullet_text → { prNumber, confidenceScore, rationaleSignals[] } and use it to compute linked/ambiguous/unlinked counts + @@ -1687,9 +1751,25 @@ fi Detect PR references as: /#(\d{1,7})/g - - If a bullet has no explicit PR number, attempt fuzzy matching to PR titles - - If ambiguous, mark as "unlinked" and exclude by default pending user choice - + Purpose: Count changelog bullets without explicit PR numbers as "referenced" when they confidently map to a PR. + Matching algorithm: + - Normalize both bullet text and PR titles: + - lowercase; remove punctuation; strip prefixes like "fix:", "feat:", "add:", "improve:", "chore:", "refactor:" + - remove parentheticals such as "(thanks @user!)", "(PR by @user)", "(#1234 ...)" + - collapse whitespace + - Tokenize and compute token-overlap score = |intersection(tokens)| / |union(tokens)| + - Author signal: if bullet contains "thanks @user", "by @user", or "PR by @user" and that user equals the PR author or credited issue reporter, add +0.20 to score + - Keyword boost: +0.05 when provider/model/domain keywords (e.g., OpenAI, Claude, Grok, Chutes, Qwen, LongCat, etc.) appear in both + Confidence thresholds: + - score ≥ 0.65 (after boosts) → linked (confident). Treat as changelog-referenced. + - 0.45 ≤ score < 0.65 OR multiple candidates within 0.05 → ambiguous (needs review) + - score < 0.45 → unlinked + Tie-breakers: higher score; if within 0.02 then same author; then closer merge date to release date; then lowest PR number + Edge case: If bullet credits exactly one username and exactly one PR in the window has that author, accept with score ≥ 0.50 (confidence="author-boost") + Implementation notes: + - Match only against PRs fetched for the version's date window + - Persist mapping bullet_text → { prNumber, confidenceScore, rationaleSignals[] } and use it to compute linked/ambiguous/unlinked counts + diff --git a/docs/update-notes/index.md b/docs/update-notes/index.md index 04520e1e..912dc1a2 100644 --- a/docs/update-notes/index.md +++ b/docs/update-notes/index.md @@ -19,6 +19,7 @@ image: /img/social-share.jpg ### Version 3.29 +* [3.29.2](/update-notes/v3.29.2) (2025-10-27) * [3.29.1](/update-notes/v3.29.1) (2025-10-27) * [3.29.0](/update-notes/v3.29.0) (2025-10-24) diff --git a/docs/update-notes/v3.29.2.mdx b/docs/update-notes/v3.29.2.mdx new file mode 100644 index 00000000..85b0bdf4 --- /dev/null +++ b/docs/update-notes/v3.29.2.mdx @@ -0,0 +1,30 @@ +--- +description: Roo Code 3.29.2 adds higher-context Chutes AI models, improves settings text, and fixes provider caching and free-model pricing display. +keywords: + - roo code 3.29.2 + - chutes ai + - longcat + - provider update + - bug fixes + - free models + - pricing display +image: /img/social-share.jpg +--- + +# Roo Code 3.29.2 Release Notes (2025-10-27) + +This patch adds higher-context Chutes AI models, cleans up settings text, and fixes provider caching and free‑model pricing display. + + +## Provider Updates + +* Chutes AI: Add LongCat‑Flash‑Thinking‑FP8 models (200K, 128K) for longer coding sessions with faster, cost‑effective performance (thanks leakless21!) ([#8426](https://github.com/RooCodeInc/Roo-Code/pull/8426)) + +## QOL Improvements + +* Settings descriptions: Remove specific "Claude 3.7 Sonnet" version across locales to keep guidance current (thanks rwydaegh!) ([#8437](https://github.com/RooCodeInc/Roo-Code/pull/8437)) + +## Bug Fixes + +* Roo provider: Fix caching logic to emit correct usage data and apply proper protocol ([#8860](https://github.com/RooCodeInc/Roo-Code/pull/8860)) +* Free models: Hide pricing info and show zero cost to avoid confusion ([#8864](https://github.com/RooCodeInc/Roo-Code/pull/8864)) \ No newline at end of file diff --git a/sidebars.ts b/sidebars.ts index 421abc10..76443056 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -222,6 +222,7 @@ const sidebars: SidebarsConfig = { type: 'category', label: '3.29', items: [ + { type: 'doc', id: 'update-notes/v3.29.2', label: '3.29.2' }, { type: 'doc', id: 'update-notes/v3.29.1', label: '3.29.1' }, { type: 'doc', id: 'update-notes/v3.29.0', label: '3.29.0' }, ],