Skip to content

Stabilize V16 metadata#8443

Merged
jsdw merged 13 commits intomasterfrom
jsdw-stabilize-v16-metadata
May 14, 2025
Merged

Stabilize V16 metadata#8443
jsdw merged 13 commits intomasterfrom
jsdw-stabilize-v16-metadata

Conversation

@jsdw
Copy link
Copy Markdown
Contributor

@jsdw jsdw commented May 6, 2025

This PR bumps frame-metadata 23.0.0, which stabilizes V16 metadata. This was previously available as the "unstable" metadata.

The main additions provided by V16 metadata are:

  • Information about the Pallet View Functions exposed by pallets.
  • Information about the Config associated types used by each pallet.
  • Support for V5 transactions, including support for a chain providing multiple transaction extension versions and multiple supported transaciton versions.
  • Support for deprecation information, so that mostly anything defined in a runtime can be marked as deprecated in order for runtime/pallet authors to communicate to consumers about deprecated items.

To sanity check this, I've built a polkadot node with this change and checked that using Subxt (this PR paritytech/subxt#1999), v16 metadata is indeed available, downloads and decodes correctly.

@jsdw jsdw added R1-breaking_change This PR introduces a breaking change and should be highlighted in the upcoming release. T4-runtime_API This PR/Issue is related to runtime APIs. labels May 6, 2025
@jsdw
Copy link
Copy Markdown
Contributor Author

jsdw commented May 6, 2025

@bkchr Do you think we should update merkleized-metadata to support frame-metadata@23(which contains the now-stabilized V16 metadata) and then release it prior to merging this PR or after? Given your looser version constraints there we can do things either way around I think!

One constraint is that I'd like to get this merged before the release cutoff date on May 15th to get it into the next stable release, so my preference is to merge this first and update that later.

@jsdw jsdw marked this pull request as ready for review May 6, 2025 13:45
@bkchr
Copy link
Copy Markdown
Member

bkchr commented May 7, 2025

@bkchr Do you think we should update merkleized-metadata to support frame-metadata@23(which contains the now-stabilized V16 metadata) and then release it prior to merging this PR or after? Given your looser version constraints there we can do things either way around I think!

Given the looser version requirements, no change to merkleized-metadata should be required.

@jsdw
Copy link
Copy Markdown
Contributor Author

jsdw commented May 8, 2025

Given the looser version requirements, no change to merkleized-metadata should be required.

Makes sense! I guess it will eventually want to be updated for V16 metadata so that it can be used for decoding/checking v5 transactions (because V16 metadata contains the transaction extensions for each possible version the extrinsic might use)?

@jsdw jsdw requested a review from a team as a code owner May 13, 2025 11:21
@jsdw jsdw force-pushed the jsdw-stabilize-v16-metadata branch from e7a4f98 to af143e2 Compare May 13, 2025 14:10
@jsdw jsdw force-pushed the jsdw-stabilize-v16-metadata branch from af143e2 to 7659e90 Compare May 14, 2025 12:51
@jsdw
Copy link
Copy Markdown
Contributor Author

jsdw commented May 14, 2025

I moved #8512 to this branch instead, as I was going down a rabbit hole in this branch thinking I needed to update subxt, and then the CI to support this (and the lockfile sortof as a result of Subxt update), and then things that started cropping up as a result of both of these. #8512 instead is trying to keep changes to a minimum and avoid this rabbit hole. The core changes are identical, with hopefully less fixing-CI fallout.

@jsdw jsdw enabled auto-merge May 14, 2025 12:58
@paritytech-workflow-stopper
Copy link
Copy Markdown

All GitHub workflows were cancelled due to failure one of the required jobs.
Failed workflow url: https://github.com/paritytech/polkadot-sdk/actions/runs/15022565752
Failed job name: test-linux-stable-no-try-runtime

@jsdw jsdw added this pull request to the merge queue May 14, 2025
Merged via the queue into master with commit 4838fac May 14, 2025
204 of 249 checks passed
@jsdw jsdw deleted the jsdw-stabilize-v16-metadata branch May 14, 2025 17:11
@jsdw jsdw mentioned this pull request May 15, 2025
alvicsam pushed a commit that referenced this pull request Oct 17, 2025
This PR bumps frame-metadata 23.0.0, which stabilizes V16 metadata. This
was previously available as the "unstable" metadata.

The main additions provided by V16 metadata are:
- Information about the Pallet View Functions exposed by pallets.
- Information about the Config associated types used by each pallet.
- Support for V5 transactions, including support for a chain providing
multiple transaction extension versions and multiple supported
transaciton versions.
- Support for deprecation information, so that mostly anything defined
in a runtime can be marked as deprecated in order for runtime/pallet
authors to communicate to consumers about deprecated items.

To sanity check this, I've built a polkadot node with this change and
checked that using Subxt (this PR
paritytech/subxt#1999), v16 metadata is indeed
available, downloads and decodes correctly.

<!--
✄
-----------------------------------------------------------------------------

Thank you for your Pull Request! 🙏 Please make sure it follows the
contribution guidelines outlined in [this

document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md)
and fill out the
sections below. Once you're ready to submit your PR for review, please
delete this section and leave only the text under
the "Description" heading.

# Description

*A concise description of what your PR is doing, and what potential
issue it is solving. Use [Github semantic

linking](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
to link the PR to an issue that must be closed once this is merged.*

## Integration

*In depth notes about how this PR should be integrated by downstream
projects. This part is mandatory, and should be
reviewed by reviewers, if the PR does NOT have the `R0-Silent` label. In
case of a `R0-Silent`, it can be ignored.*

## Review Notes

*In depth notes about the **implementation** details of your PR. This
should be the main guide for reviewers to
understand your approach and effectively review it. If too long, use

[`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)*.

*Imagine that someone who is depending on the old code wants to
integrate your new code and the only information that
they get is this section. It helps to include example usage and default
value here, with a `diff` code-block to show
possibly integration.*

*Include your leftover TODOs, if any, here.*

# Checklist

* [ ] My PR includes a detailed description as outlined in the
"Description" and its two subsections above.
* [ ] My PR follows the [labeling requirements](

https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
) of this project (at minimum one label for `T` required)
* External contributors: ask maintainers to put the right label on your
PR.
* [ ] I have made corresponding changes to the documentation (if
applicable)
* [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

You can remove the "Checklist" section once all have been checked. Thank
you for your contribution!

✄
-----------------------------------------------------------------------------
--.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
snowmead added a commit to Moonsong-Labs/storage-hub that referenced this pull request Mar 17, 2026
Regenerate api-augment metadata and TypeScript type definitions from
fresh stable2506 runtime binaries built via cargo build --release,
crossbuild:mac, and docker:build.

Reflects all runtime API and pallet changes from the polkadot-sdk
stable2506 upgrade including V16 metadata stabilization
(paritytech/polkadot-sdk#8443) and RuntimeEvent removal from pallet
Config traits (paritytech/polkadot-sdk#7229).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

R1-breaking_change This PR introduces a breaking change and should be highlighted in the upcoming release. T4-runtime_API This PR/Issue is related to runtime APIs.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants