v25.0.0-rc.1
Pre-releaseTaquito v25.0.0-rc.1
First release candidate for v25, the U025 (Ushuaia) protocol release. Ship and test against Ushuaianet ahead of the expected mainnet activation around June 29, 2026 (governance period 176).
TL;DR. v25 adds support for the Ushuaia protocol (U025): the PsUshuai9… protocol hash is registered, U025 is now the default protocol for forging and Michelson encoding, and the RPC constants type gains the new U025 fields (DAL parameters, stake-cache cycles, canonical smart-rollup address). The bundled @ecadlabs/beacon-* fork is at 4.8.4-ecad. This RC adds two bug fixes on top of v25.0.0-beta.1, both reported by the Temple Wallet team. As a pre-release it is published under the next dist-tag, not latest.
Project status. Taquito is now an unfunded project. ECAD Labs maintains it. Releases continue on a best-effort basis; protocol-tracking releases like this one remain a priority.
New in rc.1
Two fixes on top of v25.0.0-beta.1, both reported by the Temple Wallet team (#3427). Thanks to @werfred for the detailed report and reproductions.
- Encrypted key decryption across realms (#3428) — encrypted-key decryption failed in cross-realm runtimes (jsdom, SSR, browser extensions) after the 24.3.0 move to
@noble/hashesv2. PBKDF2 salts are now normalized to plainUint8Array, fixing both@taquito/signerencrypted private keys (includingp2esk) and@taquito/saplingencrypted spending keys. - Batch estimate gas rebalancing (#3429) —
estimate.batchno longer throws a falsegas_exhausted.operationwhen a batch mixes cheap operations with one gas-heavy operation. The estimator rebalances auto-patched gas (never explicit user limits) and re-simulates until estimates converge. AddsBatchGasLimitExceededErrorfor batches whose measured gas genuinely exceeds the per-block limit.
Ushuaia (U025) support
- New protocol registered.
Protocol.PsUshuai9 = 'PsUshuai9QapM5TGj1JpuVGkdxz5GykdnEvS6Rh8SUVrARvZLCY'is added to the protocol enums in@taquito/taquitoand@taquito/michel-codec. - U025 is now the default protocol.
DefaultProtocolmoves fromPtTALLiNt(024) toPsUshuai9(025). Local forging and Michelson encoding default to U025 semantics. - Protocol ordering updated. In
@taquito/michel-codec, proto025now maps toPsUshuai9, andProtoALphashifts to026. The internal proto-level table reflects the same renumbering. If you pinned operations to a specific protocol by hash or relied onProtoALphabeing level025, re-check those references. - RPC constants extended for U025.
@taquito/taquito-rpcconstants types gain the new fields exposed by Ushuaianet, including DAL parameters (attestation_lag,attestation_lags,attestation_threshold,number_of_shards,number_of_slots,page_size,redundancy_factor,slot_size),cache_stake_info_cycles,cache_swrr_selected_distribution_cycles, andsmart_rollup_canonical_rollup_address. These are additive on read; reading constants from older protocols is unaffected. - Ushuaianet network constant.
USHUAIANET(chain idNetXpX8WSZkAZZA) is wired through the protocol/network mapping so estimation, forging, and integration coverage can target it.
Beacon SDK fork → 4.8.4-ecad
The bundled @ecadlabs/beacon-* packages (aliased over @airgap/beacon-*) move from 4.8.3-ecad to 4.8.4-ecad across beacon-core, beacon-dapp, beacon-types, beacon-utils, beacon-ui, and the matrix / postmessage / walletconnect transports. This continues the relay-hardening and supply-chain work from the v24.3.0 line; relay defaults still route through the Trilitech-operated octez.io nodes.
@taquito/beacon-wallet's disconnect() now calls the SDK's client.disconnect() rather than client.destroy(). The practical difference for existing integrations: disconnect now notifies the connected wallet peer, clears the active account, and tears down the active transports, but the BeaconWallet instance stays usable. You can reconnect through a new permission request without re-instantiating. (Previously destroy() wiped all beacon:* localStorage state and left the instance unusable.)
Dependency maintenance
Routine, low-risk bumps across the workspace: axios 1.16.1 → 1.18.0, @scure/bip39 ^2.0.1 → ^2.2.0, and @types/node / @types/superagent patch/minor updates. No public API changes.
Infrastructure (no consumer impact)
For completeness, the bulk of the diff outside the published packages is CI and website work: a dedicated Ushuaianet CI job, integration tests retargeted to Ushuaianet with relaxed milligas assertions, shadownet integration RPC reads migrated to a public teztnets node with a health monitor, and website RPC URLs moved to octez.io. None of this ships in the npm packages.
Installing
This is a pre-release on the next dist-tag:
npm install @taquito/taquito@nextPin the exact version if you want reproducibility:
npm install @taquito/taquito@25.0.0-rc.1Feedback
This RC exists to shake out U025 behavior before mainnet activation. If estimation, forging, or constants reads look wrong against Ushuaianet, please open an issue on ecadlabs/taquito with the operation and network details.
What's Changed
- Fix encrypted key decryption across realms by @jevonearth in #3428
- Fix batch estimate gas rebalancing by @jevonearth in #3429
Full changelog (since last stable): v24.3.0...v25.0.0-rc.1
Changes since beta.1: v25.0.0-beta.1...v25.0.0-rc.1