Summary
September and October brought several significant updates to Polkadot-js. While this recap won’t cover everything, it highlights the most impactful changes and enhancements.
Table of Contents
- Summary
- CJS - ESM Targeting
- TransactionExtension Support (ExtrinsicV5)
- Metadata V15 Updates
- Coretime UI
- Discussions on the Extension’s Future
- Project Board - Repository Labels
- Notable Bug Fixes
CJS - ESM targetting
Support for both CommonJS (CJS) and ECMAScript Modules (ESM) has now been implemented across several core Polkadot-js libraries: wasm
, common
, api
, phishing
, tools
, and ui
. Pull requests PR #1147 and (PR #1148) enabled comprehensive build support for these libraries. The only exception is apps-config, where some configuration challenges with Webpack remain unresolved (tracking PR).
TransactionExtension Support (ExtrinsicV5)
Phase 1 support for TransactionExtension in ExtrinsicV5 is now complete, enabling both encoding and decoding of v5 transactions. This update allows users to begin testing compatibility with PR #3685, while ensuring that current implementations remain unaffected, as the default transaction version is still set to v4.
The implementation details can be reviewed in the corresponding PR #5976. Documentation is still pending and will be added shortly.
Metadata V15 Updates
Dynamically Generate Runtime APIs
The API now dynamically generates runtime APIs based on the availability of V15 metadata. If V15 metadata is not accessible, the API will fall back to V14, which relies on hardcoded runtime APIs. Related PR #5986
Initialize polkadot-js/api with V15 Metadata
Previously, the API initialized using V14 metadata, which led to missing runtime API metadata within the registry. This limitation is now resolved—if V15 metadata support is present in the runtime, it is fully accessible upon initialization. Related PR #5941
Typegen Now Uses Metadata V15 for Static Typing
The type generation (typegen
) within the API now utilizes V15 metadata for static types. This change also extends to the types-support
library within the API, ensuring that static types for runtime API information are generated in alignment with the latest metadata. Related PR #5987.
This advancement also brings us closer to incorporating Asset Hub type generation into the API, further broadening type support and improving compatibility with emerging Polkadot features.
Coretime UI
The Coretime tab in Apps has been released and is now live under the Coretime Experimental
section. Feedback on these pages is highly encouraged as we continue to refine this feature.
Related PRs include #10898, #10947, and #11016.
Discussions on the Extension’s Future
There have been ongoing discussions with the PAPI team about the future of the Extension and ways to enhance it moving forward. While we’ve made gradual progress by generalizing some interfaces for improved compatibility, there is still much more we can improve. I’ll save the specifics for a future post, but I wanted to offer this update to provide some clarity for those following along.
Project Board - Repository Labels
The Project Board and labeling process have been thoroughly reworked to enhance transparency with the community. This update aims to facilitate clearer discussions on task prioritization and to support community members in addressing issues or pushing forward with fixes as needed. You can view the updated project board here.
Notable Bug Fixes
-
Staking Bug in Payouts Tab: A bug in the staking module that caused incorrect era displays in the payouts tab has been identified and addressed at the API level. A corresponding fix for Apps is in progress, pending resolution of one dependency blocker in Polkadot-js. Related PRs: API #6007, Apps #11035
-
Nominations Display Issue: Another staking bug affecting the display of waiting, active, and inactive nominations has also been resolved. Related PR #10998