You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fixed group packages are forced to major bump even if only minor changes exist #1759
When we have a fixed version group and add a single minor changeset for one package in that group, npx changeset status reports that every package in the fixed set needs a major bump. We expect only a minor bump for the entire fixed group.
Note .changeset/config.json contains a fixed group with these packages:
[
"@ydbjs/abortable",
"@ydbjs/api",
"@ydbjs/auth",
"@ydbjs/core",
"@ydbjs/debug",
"@ydbjs/error",
"@ydbjs/query",
"@ydbjs/retry",
"@ydbjs/topic",
"@ydbjs/value"
]
There is a single changeset .changeset/heavy-facts-happen.md whose frontmatter is:
---
'@ydbjs/topic': minor
---
Run npx changeset status.
Expected result
Because the highest bump type within the fixed group is minor, the status report should list the group under “Packages to be bumped at minor”, and the next release should be 6.1.0.
Actual result
npx changeset status prints all packages from the fixed group under “Packages to be bumped at major”:
🦋 info Packages to be bumped at patch:
🦋 info
🦋 - @ydbjs/auth-yandex-cloud
🦋 ---
🦋 info NO packages to be bumped at minor
🦋 ---
🦋 info Packages to be bumped at major:
🦋 info
🦋 - @ydbjs/topic
🦋 - @ydbjs/abortable
🦋 - @ydbjs/api
🦋 - @ydbjs/auth
🦋 - @ydbjs/core
🦋 - @ydbjs/debug
🦋 - @ydbjs/error
🦋 - @ydbjs/query
🦋 - @ydbjs/retry
🦋 - @ydbjs/value
Additional context
npx changeset --version → 2.29.7
Node.js v24.7.0, npm 11.6.2
All packages in the fixed group are currently at version 6.0.5.
@ydbjs/topic has a minor bump, all packages in fixed group has a new version 6.1.0
@ydbjs/query's peer dependencies needs to be updated to: "@ydbjs/api": "6.1.0" and "@ydbjs/core": "6.1.0"
per changeset's peer dependency decision, @ydbjs/query needs a major bump because it's peer dependencies was bumped, so @ydbjs/query needs to be bumped to 7.0.0
it triggers all packages under fixed group got major bump
Activity
polRk commentedon Nov 7, 2025
JSON Output
Details
{ "changesets": [ { "releases": [ { "name": "@ydbjs/topic", "type": "minor" } ], "summary": "- Add `resolveSeqNo()` method to `TopicWriter` to resolve temporary sequence numbers to final values after session re-initialization. Refactored seqNo tracking logic into `SeqNoResolver` and `SeqNoShiftBuilder` classes for better testability and maintainability.\n\n**Important:** The `write()` method now returns **temporary** seqNo values that may be recalculated after session initialization or reconnection. To get the final seqNo assigned by the server, use `resolveSeqNo()` after `flush()` completes.\n\n**New API:**\n\n- `TopicWriter.resolveSeqNo(initialSeqNo: bigint): bigint` - resolves temporary seqNo returned by `write()` to final seqNo assigned by server\n\n**Behavior changes:**\n\n- `write()` returns temporary seqNo (may change after session re-initialization)\n- User-provided seqNo (via `extra.seqNo`) remain final and unchanged\n- After `flush()` completes, all seqNo up to returned `lastSeqNo` are final\n\n**Migration guide:**\n\n- If you store seqNo immediately after `write()`, consider using `resolveSeqNo()` after `flush()` to get final values\n- User-provided seqNo are always final and don't require `resolveSeqNo()`", "id": "heavy-facts-happen" } ], "releases": [ { "name": "@ydbjs/topic", "type": "major", "oldVersion": "6.0.5", "changesets": [ "heavy-facts-happen" ], "newVersion": "7.0.0" }, { "name": "@ydbjs/examples-topic", "type": "none", "oldVersion": "6.0.0", "changesets": [], "newVersion": "6.0.0" }, { "name": "@ydbjs/abortable", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/api", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/auth", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/core", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/debug", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/error", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/query", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/retry", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/value", "type": "major", "oldVersion": "6.0.5", "changesets": [], "newVersion": "7.0.0" }, { "name": "@ydbjs/examples-api", "type": "none", "oldVersion": "6.0.0", "changesets": [], "newVersion": "6.0.0" }, { "name": "@ydbjs/examples-tls", "type": "none", "oldVersion": "6.0.0", "changesets": [], "newVersion": "6.0.0" }, { "name": "@ydbjs/examples-sls", "type": "none", "oldVersion": "6.0.0", "changesets": [], "newVersion": "6.0.0" }, { "name": "@ydbjs/examples-auth-yandex-cloud", "type": "none", "oldVersion": "6.0.0", "changesets": [], "newVersion": "6.0.0" }, { "name": "@ydbjs/examples-query", "type": "none", "oldVersion": "6.0.0", "changesets": [], "newVersion": "6.0.0" }, { "name": "@ydbjs/auth-yandex-cloud", "type": "patch", "oldVersion": "0.1.2", "changesets": [], "newVersion": "0.1.3" } ] }F3n67u commentedon Dec 18, 2025
This is caused by peer dependency.
In @ydbjs/query has:
https://github.com/ydb-platform/ydb-js-sdk/blob/36e8d3bcd6226c5402e21162496edd1e92be394e/packages/query/package.json#L59-L61
changesets/docs/decisions.md
Lines 51 to 56 in 3cb9982
add test for #963 #1759
add test for #963 #1759
add test for #963 #1759
change peer dependent bump type to `patch` (changesets#2090)