Skip to content

[release] 20251209#357

Merged
stwiname merged 1 commit intomainfrom
release-20251209-cosmos
Dec 9, 2025
Merged

[release] 20251209#357
stwiname merged 1 commit intomainfrom
release-20251209-cosmos

Conversation

@stwiname
Copy link
Contributor

@stwiname stwiname commented Dec 9, 2025

Summary by CodeRabbit

  • New Features

    • Released version 5.6.0 of common-cosmos, 5.4.0 of node, and 4.3.0 of types packages.
  • Bug Fixes

    • Improved block interval calculation to derive from actual block data instead of static values.
  • Chores

    • Updated dependencies across packages.
    • Removed legacy stable version references.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 9, 2025

Walkthrough

This PR performs version releases for three packages: common-cosmos (5.5.1-0 → 5.6.0), node (5.3.1-0 → 5.4.0), and types (4.2.1-0 → 4.3.0). Each update includes removing the stableVersion field from package.json and updating CHANGELOGs with release notes dated 2025-12-09.

Changes

Cohort / File(s) Summary
common-cosmos version release
packages/common-cosmos/package.json, packages/common-cosmos/CHANGELOG.md
Bumped version from 5.5.1-0 to 5.6.0, removed stableVersion field, and added [5.6.0] release entry noting @subql/common update.
node version release
packages/node/package.json, packages/node/CHANGELOG.md
Bumped version from 5.3.1-0 to 5.4.0, removed stableVersion field, and added [5.4.0] release entry documenting block interval derivation change and @subql/node-core dependency update.
types version release
packages/types/package.json, packages/types/CHANGELOG.md
Bumped version from 4.2.1-0 to 4.3.0, removed stableVersion field, and added [4.3.0] release entry noting @subql/types-core update.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Homogeneous, repetitive changes applied consistently across three packages
  • Version field updates and stableVersion removals follow identical patterns
  • Changelog entries are straightforward documentation updates with no logic complexity

Possibly related PRs

Poem

🐰 Three packages hop toward release day,
Versions bump in every way,
5.6.0, 5.4.0, 4.3.0 shine bright,
With changelogs penned just right! ✨📝

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title '[release] 20251209' directly reflects the PR's purpose: a release build dated December 9, 2025, updating multiple package versions and changelogs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch release-20251209-cosmos

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b8a5ad1 and 012353b.

📒 Files selected for processing (6)
  • packages/common-cosmos/CHANGELOG.md (2 hunks)
  • packages/common-cosmos/package.json (2 hunks)
  • packages/node/CHANGELOG.md (2 hunks)
  • packages/node/package.json (2 hunks)
  • packages/types/CHANGELOG.md (2 hunks)
  • packages/types/package.json (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Coverage report
🔇 Additional comments (6)
packages/types/package.json (1)

3-3: Version bump and manifest structure look good.

Pre-release version 4.2.1-0 correctly upgraded to stable 4.3.0, following semantic versioning. The dependencies section is properly formatted with the stableVersion field removal as expected for a release.

Also applies to: 33-33

packages/common-cosmos/CHANGELOG.md (1)

9-11: CHANGELOG structure and version consistency verified.

The 5.6.0 entry is properly formatted with date 2025-12-09 and PR reference. Version links are correctly updated with the new comparison range (5.5.0...5.6.0) and Unreleased pointer.

Also applies to: 230-231

packages/types/CHANGELOG.md (1)

9-11: CHANGELOG entry properly formatted and links updated correctly.

The 4.3.0 release entry is dated 2025-12-09 with appropriate PR reference #356. Unreleased and version comparison links are correctly configured (4.2.0...4.3.0).

Also applies to: 169-170

packages/common-cosmos/package.json (1)

3-3: Version bump and dependency configuration approved.

Version correctly updated from pre-release 5.5.1-0 to stable 5.6.0. Dependencies including @subql/common@^5.8.2 are properly maintained. File structure is intact with stableVersion field removed as expected.

Also applies to: 16-31

packages/node/package.json (1)

3-3: Version bump and dependency structure verified.

Version correctly updated from 5.3.1-0 to 5.4.0. Dependencies including workspace references (@subql/common-cosmos, @subql/types-cosmos) and external deps (@subql/node-core@^19.0.0) are properly configured.

Also applies to: 22-43

packages/node/CHANGELOG.md (1)

9-12: CHANGELOG entry complete with proper release notes and links.

The 5.4.0 release entry includes two substantive changes: block interval calculation improvement and node-core dependency update, both with PR references (#355, #356). Links are correctly updated for both Unreleased and version comparison ranges.

Also applies to: 561-562


Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Coverage report

Caution

Test run failed

St.
Category Percentage Covered / Total
🔴 Statements 58.22% 3389/5821
🟡 Branches 76.65% 325/424
🔴 Functions 42.17% 132/313
🔴 Lines 58.22% 3389/5821

Test suite run failed

Failed tests: 16/80. Failed suites: 3/10.
  ● Dictionary Queries › Message Filter Queries › Basic wasm filter works

    ApolloError: Response not successful: Received status code 401

      at new ApolloError (node_modules/@apollo/client/errors/index.js:59:28)
      at node_modules/@apollo/client/core/QueryManager.js:823:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:35:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:24:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:37:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:11:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:11:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:148:17

    Cause:
    ServerError: Response not successful: Received status code 401

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:19:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary Queries › Message Filter Queries › Wasm with contract filter builds a valid query

    ApolloError: Response not successful: Received status code 401

      at new ApolloError (node_modules/@apollo/client/errors/index.js:59:28)
      at node_modules/@apollo/client/core/QueryManager.js:823:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:35:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:24:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:37:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:11:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:11:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:148:17

    Cause:
    ServerError: Response not successful: Received status code 401

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:19:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48

  ● Dictionary Queries › Message Filter Queries › Wasm with nested filter works

    ApolloError: Response not successful: Received status code 401

      at new ApolloError (node_modules/@apollo/client/errors/index.js:59:28)
      at node_modules/@apollo/client/core/QueryManager.js:823:71
      at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:35:31)
      at node_modules/@apollo/client/utilities/observables/asyncMap.js:24:72
      at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:24)
      at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:37:49)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at node_modules/@apollo/client/utilities/observables/iteration.js:11:68
          at Array.forEach (<anonymous>)
      at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:11:25)
      at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
      at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
      at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
      at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
      at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
      at node_modules/@apollo/client/link/http/createHttpLink.js:148:17

    Cause:
    ServerError: Response not successful: Received status code 401

      at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:19:17)
      at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
      at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48


  ● Cosmos 0.50 support › Is a cosmos 0.50 network

    height 19091812 is not available, lowest height is 41392542
    INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data

      501 |   blockArray: number[],
      502 | ): Promise<IBlock<BlockContent>[]> {
    > 503 |   const blocks = await fetchCosmosBlocksArray(
          |                  ^
      504 |     (height: number) => getBlockByHeightByRpc(api, height),
      505 |     blockArray,
      506 |   );

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
          at async Promise.all (index 0)
      at fetchBlocksBatches (packages/node/src/utils/cosmos.ts:503:18)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:364:26)

  ● Cosmos 0.50 support › correctly has finalized block events instead of being/end block events

    height 19091812 is not available, lowest height is 41392542
    INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data

      501 |   blockArray: number[],
      502 | ): Promise<IBlock<BlockContent>[]> {
    > 503 |   const blocks = await fetchCosmosBlocksArray(
          |                  ^
      504 |     (height: number) => getBlockByHeightByRpc(api, height),
      505 |     blockArray,
      506 |   );

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
          at async Promise.all (index 0)
      at fetchBlocksBatches (packages/node/src/utils/cosmos.ts:503:18)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:364:26)

  ● Cosmos 0.50 support › correctly parses events

    height 19091812 is not available, lowest height is 41392542
    INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data

      501 |   blockArray: number[],
      502 | ): Promise<IBlock<BlockContent>[]> {
    > 503 |   const blocks = await fetchCosmosBlocksArray(
          |                  ^
      504 |     (height: number) => getBlockByHeightByRpc(api, height),
      505 |     blockArray,
      506 |   );

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
          at async Promise.all (index 0)
      at fetchBlocksBatches (packages/node/src/utils/cosmos.ts:503:18)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:364:26)

  ● Cosmos 0.50 support › Correctly wraps events not associated to a message

    height 19091812 is not available, lowest height is 41392542
    INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data

      501 |   blockArray: number[],
      502 | ): Promise<IBlock<BlockContent>[]> {
    > 503 |   const blocks = await fetchCosmosBlocksArray(
          |                  ^
      504 |     (height: number) => getBlockByHeightByRpc(api, height),
      505 |     blockArray,
      506 |   );

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
          at async Promise.all (index 0)
      at fetchBlocksBatches (packages/node/src/utils/cosmos.ts:503:18)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:364:26)

  ● Cosmos 0.50 support › Can stringify a block

    height 19091812 is not available, lowest height is 41392542
    INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data

      501 |   blockArray: number[],
      502 | ): Promise<IBlock<BlockContent>[]> {
    > 503 |   const blocks = await fetchCosmosBlocksArray(
          |                  ^
      504 |     (height: number) => getBlockByHeightByRpc(api, height),
      505 |     blockArray,
      506 |   );

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
          at async Promise.all (index 0)
      at fetchBlocksBatches (packages/node/src/utils/cosmos.ts:503:18)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:364:26)

  ● Cosmos 0.50 support › doesnt throw when a block contains ExtendedCommitInfo in the transactions

    height 19091812 is not available, lowest height is 41392542
    INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data

      501 |   blockArray: number[],
      502 | ): Promise<IBlock<BlockContent>[]> {
    > 503 |   const blocks = await fetchCosmosBlocksArray(
          |                  ^
      504 |     (height: number) => getBlockByHeightByRpc(api, height),
      505 |     blockArray,
      506 |   );

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
          at async Promise.all (index 0)
      at fetchBlocksBatches (packages/node/src/utils/cosmos.ts:503:18)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:364:26)

  ● Failed transaction events › The block includes events from failed transactions

    TypeError: fetch failed

      502 |     // chainId: fetchhub-4
      503 |     // endpoint: https://rpc-fetchhub.fetch.ai
    > 504 |     client = await connectComet(
          |              ^
      505 |       'https://shannon-testnet-grove-rpc.beta.poktroll.com',
      506 |     );
      507 |

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:48:43)
      at Tendermint37Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/tendermint37/tendermint37client.ts:322:20)
      at connectComet (node_modules/@cosmjs/tendermint-rpc/src/tendermintclient.ts:36:20)
      at Object.<anonymous> (packages/node/src/utils/cosmos.spec.ts:504:14)

    Cause:
    getaddrinfo ENOTFOUND shannon-testnet-grove-rpc.beta.poktroll.com




  ● KyveApi › ensure bundleDetails

    expect(received).toEqual(expected) // deep equality

    - Expected  - 1
    + Received  + 1

    @@ -1,7 +1,7 @@
      Object {
    -   "bundle_summary": "150",
    +   "bundle_summary": "{\"merkle_root\":\"3de6043d2c909a48f412140f59f7356de6328367363aee726f591fe92300b72e\"}",
        "compression_id": "1",
        "data_hash": "a5915a350030e60224909c82c0c7058f7096d401202fb8a05724e059d89ff7a5",
        "finalized_at": Object {
          "height": "2589775",
          "timestamp": "2023-09-06T12:20:22Z",

      124 |   it('ensure bundleDetails', async () => {
      125 |     const bundleDetails = await (kyveApi as any).getBundleById(0);
    > 126 |     expect(bundleDetails).toEqual({
          |                           ^
      127 |       pool_id: '2',
      128 |       id: '0',
      129 |       storage_id: 'YLpTxtj_0ICoWq9HUEOx6VcIzKk8Qui1rnkhH4acbTU',

      at Object.<anonymous> (packages/node/src/utils/kyve/kyve.spec.ts:126:27)

  ● KyveApi › compare block info

    {"code":-32603,"message":"Internal error","data":"height 4282099 is not available, lowest height is 9342000"}

      342 |   it('compare block info', async () => {
      343 |     const height = 4282099;
    > 344 |     const tendermintBlockInfo = await tendermint.block(height);
          |                                 ^
      345 |     const [kyveBlockInfo] = await kyveApi.getBlockByHeight(height);
      346 |     expect(isEqual(tendermintBlockInfo, kyveBlockInfo)).toBe(true);
      347 |   });

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
      at Object.<anonymous> (packages/node/src/utils/kyve/kyve.spec.ts:344:33)

  ● KyveApi › able to wrap kyveBlock › wrapTransaction

    {"code":-32603,"message":"Internal error","data":"height 4326863 is not available, lowest height is 9342000"}

      505 |     beforeAll(async () => {
      506 |       const height = 4326863;
    > 507 |       [tendermintBlockInfo, tendermintBlockResult] = await Promise.all([
          |                                                      ^
      508 |         tendermint.block(height),
      509 |         tendermint.blockResults(height),
      510 |       ]);

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/node/src/utils/kyve/kyve.spec.ts:507:54)

  ● KyveApi › able to wrap kyveBlock › wrapMessages

    {"code":-32603,"message":"Internal error","data":"height 4326863 is not available, lowest height is 9342000"}

      505 |     beforeAll(async () => {
      506 |       const height = 4326863;
    > 507 |       [tendermintBlockInfo, tendermintBlockResult] = await Promise.all([
          |                                                      ^
      508 |         tendermint.block(height),
      509 |         tendermint.blockResults(height),
      510 |       ]);

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/node/src/utils/kyve/kyve.spec.ts:507:54)

  ● KyveApi › able to wrap kyveBlock › wrapBlock

    {"code":-32603,"message":"Internal error","data":"height 4326863 is not available, lowest height is 9342000"}

      505 |     beforeAll(async () => {
      506 |       const height = 4326863;
    > 507 |       [tendermintBlockInfo, tendermintBlockResult] = await Promise.all([
          |                                                      ^
      508 |         tendermint.block(height),
      509 |         tendermint.blockResults(height),
      510 |       ]);

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/node/src/utils/kyve/kyve.spec.ts:507:54)

  ● KyveApi › able to wrap kyveBlock › wrapEvents

    {"code":-32603,"message":"Internal error","data":"height 4326863 is not available, lowest height is 9342000"}

      505 |     beforeAll(async () => {
      506 |       const height = 4326863;
    > 507 |       [tendermintBlockInfo, tendermintBlockResult] = await Promise.all([
          |                                                      ^
      508 |         tendermint.block(height),
      509 |         tendermint.blockResults(height),
      510 |       ]);

      at HttpClient.execute (node_modules/@cosmjs/tendermint-rpc/src/rpcclients/httpclient.ts:50:13)
      at Comet38Client.doCall (node_modules/@cosmjs/tendermint-rpc/src/comet38/comet38client.ts:325:20)
          at async Promise.all (index 0)
      at Object.<anonymous> (packages/node/src/utils/kyve/kyve.spec.ts:507:54)

Report generated by 🧪jest coverage report action from 012353b

@stwiname stwiname merged commit 457ac00 into main Dec 9, 2025
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant