QVAC-16777 feat[skiplog]: improve sdk-changelog tooling and add 0.10.0 release notes#1865
Merged
NamelsKing merged 2 commits intoMay 1, 2026
Merged
Conversation
…otes Tooling (scripts/sdk/generate-changelog-sdk-pod.cjs): - Backmerge filter: PRs whose subject starts with `Backmerge` or `Merge release ...` are skipped during processSDKPRs (same shape as the existing [skiplog] filter). - Companion filter + entry-count strip: new isCompanionEntry, stripEntryCount, cleanModelEntries helpers applied to the inline [mod] summary in CHANGELOG.md and the body of models.md. Recognises *_LEX / *_VOCAB / *_DATA / *_METADATA constant suffixes and any line containing the word "companion". - Indented continuation lines for [mod] PRs: Added/Updated/Removed are emitted as indented sub-rows under the bullet (capped at MAX_INLINE_MODELS = 5 per section, "(and N more)" for the rest) instead of stuffed inline. - Announcement-post generator: new --generate-announcement-post CLI flag (with optional --version) parses CHANGELOG.md via parseChangelogMarkdown and emits the Slack template (:qvac: header, NPM/GitHub/changelog links, conditional :warning: Breaking Changes, per-section bullets with <url> link wrapping and :boom: breaking markers, footer). Sections cap at MAX_ANNOUNCEMENT_BULLETS = 10 with "... And much more, see full list in changelog :memo:" only when strictly more than 10. - New helpers exported: parseChangelogMarkdown, generateAnnouncementPost. Skill (.cursor/skills/sdk-changelog/SKILL.md): - Step 4 (CHANGELOG_LLM.md) is now mandatory. - New Step 5: generate announcement-post.txt (mandatory) with the gitignore note and template spec. - NOTICE renumbered to Step 6. - Documented all new policies (backmerge, companion, entry-count strip, indentation, max-bullets cap). - CLI parameters table refreshed. .gitignore: - Added packages/*/changelog/*/announcement-post.txt. The post is a Slack copy-paste working artifact, not a release deliverable. Release notes for 0.10.0: - New packages/sdk/changelog/0.10.0/ folder with CHANGELOG.md, breaking.md, api.md, models.md, CHANGELOG_LLM.md. - Root aggregate packages/sdk/CHANGELOG.md rebuilt with v0.10.0 at top. - packages/sdk/NOTICE refreshed (191 models, 179 JS deps). - packages/sdk/package.json bumped 0.9.1 -> 0.10.0. Backmerge of release-sdk-0.10.0 -> main is a no-op for the release artifacts (changelog, NOTICE) because they land here directly.
simon-iribarren
added a commit
to simon-iribarren/qvac
that referenced
this pull request
May 1, 2026
…d conflict with 0.10.0 PR PR tetherto#1865 (the 0.10.0 release) is open against main and bumps packages/sdk/package.json version 0.9.1 -> 0.10.0. This backmerge was bumping the same line 0.9.1 -> 0.9.2, so whichever lands second hits a conflict on that single line. Since main is moving to 0.10.0 directly (the 0.9.2 hotfix is a separate release line), drop the package.json change from this backmerge and let tetherto#1865 own the version bump. Main's package.json will briefly say 0.9.1 while CHANGELOG.md lists 0.9.2 as the latest shipped version, but that's transient — tetherto#1865 overwrites it to 0.10.0 anyway. Keep the changelog artifacts (changelog/0.9.2/ folder + the prepended ## [0.9.2] entry in aggregated CHANGELOG.md) so main retains a record of the 0.9.2 release in its history.
opaninakuffo
approved these changes
May 1, 2026
GustavoA1604
approved these changes
May 1, 2026
gianni-cor
approved these changes
May 1, 2026
Contributor
Author
|
/review |
elchiapp
approved these changes
May 1, 2026
Contributor
Tier-based Approval Status |
NamelsKing
added a commit
that referenced
this pull request
May 4, 2026
* QVAC-18184 chore[notask|skiplog]: backmerge release sdk 0.9.2 Brings the 0.9.2 release artifacts back into main now that @qvac/sdk@0.9.2 has been published to npm (`latest` dist-tag, 2026-05-01 10:09 UTC). - Bump packages/sdk/package.json: 0.9.1 -> 0.9.2 - Add packages/sdk/changelog/0.9.2/CHANGELOG.md and CHANGELOG_LLM.md - Prepend 0.9.2 entry to aggregated packages/sdk/CHANGELOG.md Hotfix content (z.xor -> z.union, zod floor bump) is the cherry-pick of #1790 that already landed on main, so no source changes here. Dependencies in package.json are intentionally NOT brought over from the release branch — main has progressed past 0.9.1 on several internal packages (e.g. @qvac/llm-llamacpp 0.14.4 -> 0.17.1, @qvac/translation-nmtcpp 0.6.10 -> 2.0.1, react-native-bare-kit 0.11.5 -> 0.12.3) and a blind merge would regress them. Only the version field is changed, matching the 0.9.1 backmerge precedent (#1726). * chore[skiplog]: drop package.json version bump from backmerge to avoid conflict with 0.10.0 PR PR #1865 (the 0.10.0 release) is open against main and bumps packages/sdk/package.json version 0.9.1 -> 0.10.0. This backmerge was bumping the same line 0.9.1 -> 0.9.2, so whichever lands second hits a conflict on that single line. Since main is moving to 0.10.0 directly (the 0.9.2 hotfix is a separate release line), drop the package.json change from this backmerge and let #1865 own the version bump. Main's package.json will briefly say 0.9.1 while CHANGELOG.md lists 0.9.2 as the latest shipped version, but that's transient — #1865 overwrites it to 0.10.0 anyway. Keep the changelog artifacts (changelog/0.9.2/ folder + the prepended ## [0.9.2] entry in aggregated CHANGELOG.md) so main retains a record of the 0.9.2 release in its history. --------- Co-authored-by: Dmytro Medvinskyi <functionsilence@gmail.com>
tamer-hassan-tether
pushed a commit
that referenced
this pull request
May 5, 2026
* QVAC-18184 chore[notask|skiplog]: backmerge release sdk 0.9.2 Brings the 0.9.2 release artifacts back into main now that @qvac/sdk@0.9.2 has been published to npm (`latest` dist-tag, 2026-05-01 10:09 UTC). - Bump packages/sdk/package.json: 0.9.1 -> 0.9.2 - Add packages/sdk/changelog/0.9.2/CHANGELOG.md and CHANGELOG_LLM.md - Prepend 0.9.2 entry to aggregated packages/sdk/CHANGELOG.md Hotfix content (z.xor -> z.union, zod floor bump) is the cherry-pick of #1790 that already landed on main, so no source changes here. Dependencies in package.json are intentionally NOT brought over from the release branch — main has progressed past 0.9.1 on several internal packages (e.g. @qvac/llm-llamacpp 0.14.4 -> 0.17.1, @qvac/translation-nmtcpp 0.6.10 -> 2.0.1, react-native-bare-kit 0.11.5 -> 0.12.3) and a blind merge would regress them. Only the version field is changed, matching the 0.9.1 backmerge precedent (#1726). * chore[skiplog]: drop package.json version bump from backmerge to avoid conflict with 0.10.0 PR PR #1865 (the 0.10.0 release) is open against main and bumps packages/sdk/package.json version 0.9.1 -> 0.10.0. This backmerge was bumping the same line 0.9.1 -> 0.9.2, so whichever lands second hits a conflict on that single line. Since main is moving to 0.10.0 directly (the 0.9.2 hotfix is a separate release line), drop the package.json change from this backmerge and let #1865 own the version bump. Main's package.json will briefly say 0.9.1 while CHANGELOG.md lists 0.9.2 as the latest shipped version, but that's transient — #1865 overwrites it to 0.10.0 anyway. Keep the changelog artifacts (changelog/0.9.2/ folder + the prepended ## [0.9.2] entry in aggregated CHANGELOG.md) so main retains a record of the 0.9.2 release in its history. --------- Co-authored-by: Dmytro Medvinskyi <functionsilence@gmail.com>
Proletter
pushed a commit
that referenced
this pull request
May 24, 2026
…otes (#1865) Tooling (scripts/sdk/generate-changelog-sdk-pod.cjs): - Backmerge filter: PRs whose subject starts with `Backmerge` or `Merge release ...` are skipped during processSDKPRs (same shape as the existing [skiplog] filter). - Companion filter + entry-count strip: new isCompanionEntry, stripEntryCount, cleanModelEntries helpers applied to the inline [mod] summary in CHANGELOG.md and the body of models.md. Recognises *_LEX / *_VOCAB / *_DATA / *_METADATA constant suffixes and any line containing the word "companion". - Indented continuation lines for [mod] PRs: Added/Updated/Removed are emitted as indented sub-rows under the bullet (capped at MAX_INLINE_MODELS = 5 per section, "(and N more)" for the rest) instead of stuffed inline. - Announcement-post generator: new --generate-announcement-post CLI flag (with optional --version) parses CHANGELOG.md via parseChangelogMarkdown and emits the Slack template (:qvac: header, NPM/GitHub/changelog links, conditional :warning: Breaking Changes, per-section bullets with <url> link wrapping and :boom: breaking markers, footer). Sections cap at MAX_ANNOUNCEMENT_BULLETS = 10 with "... And much more, see full list in changelog :memo:" only when strictly more than 10. - New helpers exported: parseChangelogMarkdown, generateAnnouncementPost. Skill (.cursor/skills/sdk-changelog/SKILL.md): - Step 4 (CHANGELOG_LLM.md) is now mandatory. - New Step 5: generate announcement-post.txt (mandatory) with the gitignore note and template spec. - NOTICE renumbered to Step 6. - Documented all new policies (backmerge, companion, entry-count strip, indentation, max-bullets cap). - CLI parameters table refreshed. .gitignore: - Added packages/*/changelog/*/announcement-post.txt. The post is a Slack copy-paste working artifact, not a release deliverable. Release notes for 0.10.0: - New packages/sdk/changelog/0.10.0/ folder with CHANGELOG.md, breaking.md, api.md, models.md, CHANGELOG_LLM.md. - Root aggregate packages/sdk/CHANGELOG.md rebuilt with v0.10.0 at top. - packages/sdk/NOTICE refreshed (191 models, 179 JS deps). - packages/sdk/package.json bumped 0.9.1 -> 0.10.0. Backmerge of release-sdk-0.10.0 -> main is a no-op for the release artifacts (changelog, NOTICE) because they land here directly.
Proletter
pushed a commit
that referenced
this pull request
May 24, 2026
* QVAC-18184 chore[notask|skiplog]: backmerge release sdk 0.9.2 Brings the 0.9.2 release artifacts back into main now that @qvac/sdk@0.9.2 has been published to npm (`latest` dist-tag, 2026-05-01 10:09 UTC). - Bump packages/sdk/package.json: 0.9.1 -> 0.9.2 - Add packages/sdk/changelog/0.9.2/CHANGELOG.md and CHANGELOG_LLM.md - Prepend 0.9.2 entry to aggregated packages/sdk/CHANGELOG.md Hotfix content (z.xor -> z.union, zod floor bump) is the cherry-pick of #1790 that already landed on main, so no source changes here. Dependencies in package.json are intentionally NOT brought over from the release branch — main has progressed past 0.9.1 on several internal packages (e.g. @qvac/llm-llamacpp 0.14.4 -> 0.17.1, @qvac/translation-nmtcpp 0.6.10 -> 2.0.1, react-native-bare-kit 0.11.5 -> 0.12.3) and a blind merge would regress them. Only the version field is changed, matching the 0.9.1 backmerge precedent (#1726). * chore[skiplog]: drop package.json version bump from backmerge to avoid conflict with 0.10.0 PR PR #1865 (the 0.10.0 release) is open against main and bumps packages/sdk/package.json version 0.9.1 -> 0.10.0. This backmerge was bumping the same line 0.9.1 -> 0.9.2, so whichever lands second hits a conflict on that single line. Since main is moving to 0.10.0 directly (the 0.9.2 hotfix is a separate release line), drop the package.json change from this backmerge and let #1865 own the version bump. Main's package.json will briefly say 0.9.1 while CHANGELOG.md lists 0.9.2 as the latest shipped version, but that's transient — #1865 overwrites it to 0.10.0 anyway. Keep the changelog artifacts (changelog/0.9.2/ folder + the prepended ## [0.9.2] entry in aggregated CHANGELOG.md) so main retains a record of the 0.9.2 release in its history. --------- Co-authored-by: Dmytro Medvinskyi <functionsilence@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: be concise and prefer bullet points.
🎯 What problem does this PR solve?
Two related deliverables under QVAC-16777:
sdk-changelogskill + script were missing several quality-of-life fixes that surfaced while preparing the 0.10.0 release: backmerge PRs polluting the changelog, companion entries (vocab/lexicons/data shards) leaking into the Models section, no scripted way to produce the Slack announcement post, andCHANGELOG_LLM.mdbeing optional.maindirectly (in addition to the matchingrelease-sdk-0.10.0PR) so the historical record is inmainfrom day one, and the eventual release → main backmerge becomes a no-op for changelog/NOTICE/per-version files.🔧 How does it solve it?
Tooling (
scripts/sdk/generate-changelog-sdk-pod.cjs)BackmergeorMerge release …are skipped duringprocessSDKPRs, with a clear log line.isCompanionEntry,stripEntryCount,cleanModelEntrieshelpers applied to the inline[mod]summary inCHANGELOG.mdand the body ofmodels.md. Recognises*_LEX/*_VOCAB/*_DATA/*_METADATAconstant suffixes and any line containing the wordcompanion.[mod]PRs:Added:/Updated:/Removed:are emitted as indented sub-rows under the bullet (capped atMAX_INLINE_MODELS = 5per section,(and N more)for the rest), instead of stuffed inline.--generate-announcement-postCLI flag (with optional--version) parsesCHANGELOG.mdviaparseChangelogMarkdownand emits the Slack template (:qvac:header, NPM/GitHub/changelog links, conditional:warning: Breaking Changes, per-section bullets with<url>link wrapping and:boom: breakingmarkers, footer). Sections cap atMAX_ANNOUNCEMENT_BULLETS = 10with... And much more, see full list in changelog :memo:only when strictly more than 10.parseChangelogMarkdown,generateAnnouncementPost.Skill (
.cursor/skills/sdk-changelog/SKILL.md)CHANGELOG_LLM.md) is now mandatory — explicit "do not ask the user".announcement-post.txt(mandatory) with the gitignore note and template spec..gitignorepackages/*/changelog/*/announcement-post.txt. The post is a Slack copy-paste working artifact, not a release deliverable.Release notes for 0.10.0
packages/sdk/changelog/0.10.0/{CHANGELOG.md, breaking.md, api.md, models.md, CHANGELOG_LLM.md}.packages/sdk/CHANGELOG.mdrebuilt with v0.10.0 at top.packages/sdk/NOTICEregenerated (191 models, 179 JS deps).packages/sdk/package.jsonbumped 0.9.1 → 0.10.0.✅ How was it tested?
packages/sdk/changelog/0.10.0/end-to-end. Verified PR chore[notask]: backmerge release sdk 0.9.1 #1726 (backmerge ofrelease-sdk-0.9.1) is now skipped → 33 valid PRs vs 34 before.CHANGELOG.mdshows onlyMARIAN_OPUS_*(renamed) under Removed, withBERGAMOT_*_LEX/BERGAMOT_*_VOCAB/BERGAMOT_METADATA_*/*_DATAcorrectly filtered.models.mdmatches the same filter (no companions, no entry-count suffixes).announcement-post.txtrenders with Slack shortcodes,<url>link wrapping,:boom: breakingon the 5 breaking PRs, per-section truncation only on API (13 entries, > 10), not Fixes (8 entries, ≤ 10).git status --ignoredconfirmsannouncement-post.txtis properly excluded.📝 Notes for reviewers
[skiplog]because this PR introduces tooling + the v0.10.0 release notes themselves; no entry needed in the v0.11.0 changelog and obviously not in v0.10.0.release-sdk-0.10.0carries the same release artifacts plus the version bump (already at 0.10.0 here too).