Skip to content

v25.0.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Jun 19:28

Taquito 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/hashes v2. PBKDF2 salts are now normalized to plain Uint8Array, fixing both @taquito/signer encrypted private keys (including p2esk) and @taquito/sapling encrypted spending keys.
  • Batch estimate gas rebalancing (#3429) — estimate.batch no longer throws a false gas_exhausted.operation when 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. Adds BatchGasLimitExceededError for 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/taquito and @taquito/michel-codec.
  • U025 is now the default protocol. DefaultProtocol moves from PtTALLiNt (024) to PsUshuai9 (025). Local forging and Michelson encoding default to U025 semantics.
  • Protocol ordering updated. In @taquito/michel-codec, proto 025 now maps to PsUshuai9, and ProtoALpha shifts to 026. The internal proto-level table reflects the same renumbering. If you pinned operations to a specific protocol by hash or relied on ProtoALpha being level 025, re-check those references.
  • RPC constants extended for U025. @taquito/taquito-rpc constants 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, and smart_rollup_canonical_rollup_address. These are additive on read; reading constants from older protocols is unaffected.
  • Ushuaianet network constant. USHUAIANET (chain id NetXpX8WSZkAZZA) 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@next

Pin the exact version if you want reproducibility:

npm install @taquito/taquito@25.0.0-rc.1

Feedback

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

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