Skip to content

Release Protocol 28 compatibility, SDK 17.2.1 and full coverage - #167

Merged
fazzatti merged 4 commits into
mainfrom
dev
Oct 3, 2026
Merged

fazzatti merged 4 commits into
mainfrom
dev

Conversation

@fazzatti

@fazzatti fazzatti commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Promote merged PR #166 from dev to main. Head 489038176974c062e08f8afeac1c726bca6806d0 is the PR166 merge; its complete source tree matches tested commit 29f449a. The 151-file promotion diff exactly equals PR166, with no unrelated content. Included commits are 7b2d262 (compatibility fixes), d8e2fe6 (coverage artifact transport), 29f449a (complete coverage and enforcement), and merge 4890381. Existing release history is preserved.

The release fixes named/sparse struct decoding, optional ABI event fields, canonical typed maps, SEP-41 wire validation and prefix matching, current SEP-41/57 catalogs and explicit SEP-57 minimum/reference profiles. It also separates standard SEP-35 operation IDs from existing RPC event IDs, completes SEP-58 grammar and TOML host validation, adds the opt-in lossless raw-map helper, and covers SDK asset ordering/identity and XDR variants. Event occurrences may exceed four topics; RPC query limits remain separate. Existing stored IDs/cursors and distinct SEP-41/57 burn arities are preserved. Item 12, optional directional schema diagnostics, remains deferred.

Stellar SDK 17.2.1 becomes the minimum supported version. The reviewed release plan records each package's rationale; migration guidance documents the boundary.

Package Current main → proposed
Core 2.0.0 → 3.0.0
Identicon 2.0.0 → 3.0.0
RPC Streamer 2.0.0 → 3.0.0
WebAuth 2.0.0 → 3.0.0
Channel Accounts plugin 2.0.0 → 3.0.0
Fee Bump plugin 2.0.0 → 3.0.0
SEP-29 plugin 2.0.0 → 3.0.0
Test Tooling 1.1.0 → 2.0.0
Contract Bindings 0.4.0 → 0.5.0
Build Verification 0.5.0 → 0.6.0
React 0.5.0 → 0.6.0

Eight stable packages take individually justified majors; three preview packages take minors. Core consumers adopt ^3.0.0; Test Tooling raises its direct SDK floor without adding a Core dependency. Release-plan validation against current main c4ab357 passes.

Promotion verification at 489038176974c062e08f8afeac1c726bca6806d0: all 30 applicable CI jobs passed, including 100% of 42,523 lines, 11,407 branches and 3,054 functions across 580 files, plus unchanged CRAP threshold 15. Codecov confirms 100% project and patch coverage, including all 492 changed coverable lines. Its measured base 95799b8 has the same source tree as current main c4ab357; the seven main-only commits are historical release merges. Local full validation of this identical source tree passed 357 suites / 3,513 steps.

Codecov project/patch targets require 100% with zero tolerance, and CI independently validates complete LCOV line/branch/function coverage. Coverage uses supported Deno 2.9.6; Deno 2.7.11 consumer compatibility remains. No coverage exceptions or new exclusions were added.

Opened as a draft; fazzatti marked it ready for review at 2026-10-03T02:01:57Z. CodeRabbit skipped review because 148 files exceed its 100-file limit; its success status is not an independent review. No main merge, package publication or deployment was performed by this task.

@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 148 files, which is 48 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f31f9e27-dff6-4b67-994d-2051c6b4cb07
📥 Commits

Reviewing files that changed from the base of the PR and between c4ab357 and 4890381.

⛔ Files ignored due to path filters (3)
  • _internal/contracts/protocol-28-compatibility/Cargo.lock is excluded by !**/*.lock
  • _internal/tests/compiled-contracts/protocol_28_compatibility_contract.wasm is excluded by !**/*.wasm
  • _tools/bundles/dependencies.lock is excluded by !**/*.lock
📒 Files selected for processing (148)
  • .codecov.yml
  • .github/workflows/deno.yml
  • AGENTS.md
  • Cargo.toml
  • _internal/contracts/protocol-28-compatibility/Cargo.toml
  • _internal/contracts/protocol-28-compatibility/src/lib.rs
  • _internal/tests/README.md
  • _internal/tests/generated-bindings/demo/README.md
  • _internal/tests/generated-bindings/protocol-28/README.md
  • _internal/tests/generated-bindings/protocol-28/colibri.ts
  • _internal/tests/generated-bindings/protocol-28/constants.ts
  • _internal/tests/generated-bindings/protocol-28/index.ts
  • _internal/tests/generated-bindings/protocol-28/types.ts
  • _internal/tests/protocol-28-events.json
  • _tools/build-protocol-28-fixture.ts
  • _tools/bundles/README.md
  • _tools/bundles/check.ts
  • _tools/bundles/dependency-fixture.unit.test.ts
  • _tools/check-coverage.ts
  • _tools/check-coverage.unit.test.ts
  • _tools/consumers/README.md
  • _tools/consumers/check.ts
  • _tools/consumers/ci/plan.ts
  • _tools/consumers/ci/plan.unit.test.ts
  • _tools/consumers/ci/runner.unit.test.ts
  • _tools/consumers/ci/workflow.unit.test.ts
  • _tools/consumers/declarations/index.ts
  • _tools/consumers/deno.ts
  • _tools/consumers/dependencies.ts
  • _tools/consumers/generated-bindings.ts
  • _tools/consumers/prepare.ts
  • _tools/consumers/sdk.ts
  • _tools/consumers/wallet-compatibility.ts
  • _tools/releases/plan.json
  • _tools/releases/public-api.json
  • build-verification/README.md
  • build-verification/deno.json
  • build-verification/src/core/evidence/accumulate.ts
  • build-verification/src/core/recipe/parse-sep58.ts
  • build-verification/src/core/recipe/sep58-grammar.unit.test.ts
  • contract-bindings/README.md
  • contract-bindings/deno.json
  • contract-bindings/src/generation/generate.unit.test.ts
  • contract-bindings/src/generation/guide.ts
  • contract-bindings/src/generation/protocol-28.unit.test.ts
  • contract-bindings/src/generation/scaffold.ts
  • core/README.md
  • core/common/helpers/xdr/error.ts
  • core/common/helpers/xdr/parse-scval-entries.unit.test.ts
  • core/common/helpers/xdr/scval.ts
  • core/common/helpers/xdr/types.ts
  • core/contract/encoding/compatibility.unit.test.ts
  • core/contract/encoding/index.ts
  • core/contract/encoding/index.unit.test.ts
  • core/contract/events/codec.ts
  • core/contract/events/compatibility.unit.test.ts
  • core/contract/events/definition.ts
  • core/contract/events/index.unit.test.ts
  • core/contract/events/rust-28.unit.test.ts
  • core/contract/events/sep57.unit.test.ts
  • core/contract/events/types.ts
  • core/contract/interface/compatibility.unit.test.ts
  • core/contract/interface/index.unit.test.ts
  • core/contract/interface/standards/index.ts
  • core/contract/interface/standards/sep41.ts
  • core/contract/interface/standards/sep57.ts
  • core/deno.json
  • core/event/event-filter/error.ts
  • core/event/event-filter/index.ts
  • core/event/event-filter/index.unit.test.ts
  • core/event/event-filter/types.ts
  • core/event/event-filter/validation.ts
  • core/event/event-id/index.ts
  • core/event/standards/sep41/approve.ts
  • core/event/standards/sep41/approve.unit.test.ts
  • core/event/standards/sep41/burn.ts
  • core/event/standards/sep41/burn.unit.test.ts
  • core/event/standards/sep41/clawback.ts
  • core/event/standards/sep41/clawback.unit.test.ts
  • core/event/standards/sep41/compatibility.unit.test.ts
  • core/event/standards/sep41/data.ts
  • core/event/standards/sep41/index.ts
  • core/event/standards/sep41/mint.ts
  • core/event/standards/sep41/mint.unit.test.ts
  • core/event/standards/sep41/transfer.ts
  • core/event/standards/sep41/transfer.unit.test.ts
  • core/event/template.ts
  • core/event/template.unit.test.ts
  • core/event/types.ts
  • core/markets/liquidity-pools/sdk-compatibility.unit.test.ts
  • core/sep1/domain.ts
  • core/sep1/domain.unit.test.ts
  • core/sep1/index.ts
  • core/soroban-types/codecs/custom.ts
  • core/soroban-types/codecs/record.ts
  • core/soroban-types/codecs/spec-options.ts
  • core/soroban-types/index.ts
  • core/soroban-types/types/inputs.ts
  • core/soroban-types/types/types.unit.test.ts
  • core/toid/index.ts
  • core/toid/sep35.unit.test.ts
  • core/toid/types.ts
  • core/values.ts
  • deno.json
  • docs/core/asset/stellar-asset.md
  • docs/core/claimable-balance-predicates.md
  • docs/core/contract/events.md
  • docs/core/contract/metadata-and-interfaces.md
  • docs/core/contract/values.md
  • docs/core/helpers.md
  • docs/core/liquidity-pool.md
  • docs/core/resources.md
  • docs/core/sep1.md
  • docs/core/signer/local-signer.md
  • docs/core/toid.md
  • docs/core/transaction-config.md
  • docs/events/event-filter.md
  • docs/events/standardized-events/sep-41.md
  • docs/events/templates.md
  • docs/getting-started/compatibility.md
  • docs/getting-started/installation.md
  • docs/packages/build-verification/sources.md
  • docs/packages/contract-bindings/output.md
  • docs/packages/rpc-streamer/configuration.md
  • docs/reference/errors/README.md
  • docs/reference/errors/core-common-helpers-xdr.md
  • docs/reference/errors/core-event-event-filter.md
  • identicon/README.md
  • identicon/deno.json
  • plugins/channel-accounts/README.md
  • plugins/channel-accounts/deno.json
  • plugins/fee-bump/README.md
  • plugins/fee-bump/deno.json
  • plugins/sep29/README.md
  • plugins/sep29/deno.json
  • react/README.md
  • react/deno.json
  • react/src/tests/hooks.unit.test.ts
  • rpc-streamer/README.md
  • rpc-streamer/deno.json
  • rpc-streamer/src/variants/event/paging.integration.test.ts
  • test-tooling/README.md
  • test-tooling/deno.json
  • test-tooling/recorder/cli/index.unit.test.ts
  • test-tooling/recorder/deno/index.unit.test.ts
  • webauth/README.md
  • webauth/deno.json
  • webauth/src/client.unit.test.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@fazzatti
fazzatti marked this pull request as ready for review October 3, 2026 02:01
@codecov

codecov Bot commented Oct 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (95799b8) to head (4890381).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##             main      #167    +/-   ##
=========================================
  Coverage   99.99%   100.00%            
=========================================
  Files         573       580     +7     
  Lines       42218     42523   +305     
  Branches     5589      5608    +19     
=========================================
+ Hits        42216     42523   +307     
+ Partials        2         0     -2     
Flag Coverage Δ
all-tests 100.00% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...al/tests/generated-bindings/protocol-28/colibri.ts 100.00% <100.00%> (ø)
.../tests/generated-bindings/protocol-28/constants.ts 100.00% <100.00%> (ø)
...rnal/tests/generated-bindings/protocol-28/index.ts 100.00% <100.00%> (ø)
...rnal/tests/generated-bindings/protocol-28/types.ts 100.00% <100.00%> (ø)
build-verification/src/core/evidence/accumulate.ts 100.00% <100.00%> (ø)
build-verification/src/core/recipe/parse-sep58.ts 100.00% <100.00%> (ø)
contract-bindings/src/generation/guide.ts 100.00% <100.00%> (ø)
contract-bindings/src/generation/scaffold.ts 100.00% <100.00%> (ø)
core/common/helpers/xdr/error.ts 100.00% <ø> (ø)
core/common/helpers/xdr/scval.ts 100.00% <100.00%> (ø)
... and 25 more

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T02:07:55.252481Z 4890381 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@fazzatti
fazzatti merged commit 6590728 into main Oct 3, 2026
36 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