Repository navigation
Releases
v25.1.0-rc.1
Pin octez.connect to 5.0.5 in octez.js-dapp-wallet.
What's Changed
- fix(website): keep links inside the base path in PR previews by @NicNomadic in #168
- Post review v25.1 by @NicNomadic in #167
- build(octez.js): regenerate README CDN hash and assets-manifest for 25.1.0-rc.0 by @gh-naih in #169
- chore: bump version to 25.1.0-rc.1 by @gh-naih in #172
- docs: regenerate README package catalog by @gh-naih in #173
Full Changelog: v25.1.0-rc.0...v25.1.0-rc.1
v25.0.1
v25.1.0-rc.0
octez.js 25.1.0-rc.0 is a release candidate. It is published to npm under the next tag, not latest. Please test against it before the stable 25.1.0.
Highlights since v25.0.0:
- Breaking:
getEthereumAliasreturns a new, recoverable alias for tz1, tz2 and tz3 addresses (RFC-26051), as in the coming Etherlink 8.0 upgrade (#152). - Breaking: custom
RpcClientInterfaceimplementations must add the new BLS methods.isValidAddressand the otherisValid*functions are now type predicates (#160, #161). - Wallet API support for smart rollup operations (#161).
- Detached signing with
Tezos.prepareFor, for keys held outside octez.js (#160). - Paginated big-map value reads (#161).
- BLS shell endpoints and BIP39 mnemonic helpers (#160, #161).
- Sapling: opt-in randomized output order (#164).
- More reliable subscriptions and confirmations, and HTTP timeouts that also cover the response body (#160, #164).
Most of these changes are backports from Taquito. The full list is in the Unreleased section of CHANGES.md.
What's Changed
- docs(changelog): publish the v25.0.0 release notes by @vect0r-vicall in #148
- build(octez.js): regenerate README CDN hash and assets-manifest for 25.0.0 by @vect0r-vicall in #147
- build(deps): merge the four dependabot PRs (#149, #151, #155, #156) by @vect0r-vicall in #157
- chore: backport Taquito 0066d5b7..d24dfebc (part 1/2) by @vect0r-vicall in #160
- chore: backport Taquito 0066d5b7..d24dfebc (part 2/2) by @vect0r-vicall in #161
- chore: track unreleased changes in CHANGES.md by @vect0r-vicall in #162
- build(deps): Bump undici and wrangler in /website/src/cloudflare/chatkit by @dependabot[bot] in #163
- chore: backport Taquito d24dfebc..24d68fb7 by @vect0r-vicall in #164
- [FOR ETHERLINK 8.0] feat(utils): derive recoverable EVM aliases for tz1/tz2/tz3 (RFC-26051) by @AurelienFT in #152
- chore(changes): record the recoverable EVM aliases by @gh-naih in #165
- chore: bump version to 25.1.0-rc.0 by @gh-naih in #166
Full Changelog: v25.0.0...v25.1.0-rc.0
octez.js v25.0.0
octez.js 25.0.0 — the major version now tracks the Octez node release line. This release adds Tezos X cross-runtime tooling and tz5 (ML-DSA-44) support.
Highlights
Tezos X
New @tezos-x/octez.js-utils helpers to work across the Michelson and EVM runtimes (NAC, Native Atomic Composability):
- Cross-runtime address mapping: derive the corresponding Ethereum-compatible address from a Tezos address, and vice versa, without requiring a network request (
getEthereumAlias,getTezosAlias) (#92). - Cross-runtime operation tracking: retrieve the corresponding operation identifier across the Michelson and EVM runtimes, making it easier to follow interactions between them (
getEthereumTransactionHash,getTezosOperationHash) (#113). - Cross-runtime transactions and contract calls: prepare operations to transfer funds or interact with smart contracts from the Michelson runtime to the EVM runtime, and vice versa. Octez.js handles operation preparation, leaving signing and submission to the developer's usual tools.
- Michelson → EVM:
buildMichelsonToEvmCallwraps an EVM transaction into a call to the NAC gateway contract, andtoTransferParamsturns it into transfer parameters. EVM method signatures are canonicalized and resolved from calldata (#124, #125). - EVM → Michelson:
buildEvmToMichelsonCall,encodeNacCallandencodeNacCallMichelsonwrap a Michelson operation into a call to the NAC precompile (#126). - Supporting pieces: NAC constants (gateway, precompile, runtime URLs, recommended gas), wei/mutez conversion and hex/amount parsing (#123).
@tezos-x/octez.js-utilsnow depends onviem.
- Michelson → EVM:
Improved confirmation tracking
More reliable operation confirmation handling on networks with very short block times, addressing cases where confirmations could previously be missed. Wallet confirmation no longer misses operations included before monitoring starts, and confirmation backfills blocks before the first observed head.
tz5 (ML-DSA-44) accounts
InMemorySigner.fromSecretKeyacceptsmdskandmdeskkeys. Utils, local forger, Michelson codec and encoder handle the tz5 key, key hash and signature types, and ML-DSA-44 signatures can be verified.- Reveal gas, fee and size estimation account for tz5.
- Only usable where the protocol enables
tz5_account_enable(not mainnet or ushuaianet today). Mnemonic generation and HD derivation do not support ML-DSA. - New dependency:
@noble/post-quantum(utils, signer). - tz5 reveal gas and fee are calibrated and checked against a live network (#121). Backported with the other fixes below (#137).
Fixes (#137)
- Operation preparation: fixed counter allocation under concurrent operations, and simulation counters are recovered after nonstandard RPC errors.
- Automatic reveal fees are now correct on networks with custom pricing.
OptionToken.EncodeObjectkeeps one-element list and set values intact.- Default IPFS gateway fixed, with better diagnostics when retrieving metadata.
Dependencies and environment variables
@tezos-x/octez.js-dapp-wallet:octez.connectupdated to v5.0.4 (multi-network, backward compatible) (#60).- Diagnostic and retry environment variables are now
OCTEZJS_*. TheTAQUITO_*names still work but are deprecated and will be removed in a future release (#81).
Breaking changes
ChainIds.TALLINNNETis removed (@tezos-x/octez.js). Tallinn (U024) is shut down; useChainIds.USHUAIANETorChainIds.MAINNET(#121).NetworkType.TALLINNNETis replaced byNetworkType.USHUAIANET('tallinnnet'→'ushuaianet') in@tezos-x/octez.js-wallet-connect. Update code and stored sessions that reference the old network (#121).NetworkType.GHOSTNETis removed in@tezos-x/octez.js-wallet-connect. Ghostnet is shut down (#135).- The
beacon-typesUMD global is nowoctezBeaconTypes(wastaquitoBeaconTypes) in@tezos-x/octez.js-dapp-wallet. Only<script>-tag consumers ofdist/beacon-types.umd.jsare affected (#104).
Compatibility
Octez node 25.x. Documentation: https://octez-js.tezos.com
octez.js v25.0.0-rc.1
octez.js 25.0.0-rc.1 — the first release under octez.js's new versioning policy: from here on, the version tracks the Octez node's own release line rather than an independent number, which is why this jumps from 1.1.1 straight to 25.0.0 (see CLAUDE.md for the rationale). This is a release candidate — published to npm under the next tag, not latest — please test against it before the stable 25.0.0 cut.
Highlights since v1.1.1:
- Operation confirmation now supports look-back blocks, fixing missed confirmations when a wallet's watched head lags behind.
- The
octez.js-saplingpackage's WASM binding moved off@taquito/sapling-wasmto@tezos-x/sapling-wasm(published fromtrilitech/sapling-sdk) — no remaining@taquito/*npm dependencies. - Every publishable package now ships its own
LICENSE/NOTICE, including the Apache §4(b) modified-files notice. - Reveal-fee estimation now prices the auto-prepended reveal from live mempool fees instead of a pinned constant.
octez.js v1.1.1
Breaking changes
TaquitoError→OctezJsError,TaquitoProvider→OctezJsProvider,TaquitoLocalForger→OctezJsLocalForger. These are exported public symbols — code doinginstanceof TaquitoErroror importing these names directly needs to update to the new names.PsUshuai9protocol constant renamed toPsUshuai(inProtocols/ProtocolsHashenums andPROTOCOL_CURRENT).ConstantsResponseProto025type restructured — now extendsConstantsResponseProto024via an intersection type instead of duplicating all fields (field names verified against a live Ushuaianet node). Shouldn't affect normal usage, but anything doing structural type manipulation on this type directly should double check.
New features
- Ushuaianet (Proto U025) support — new protocol constant,
USHUAIANETnetwork constant. - tz5 / ML-DSA-44 (post-quantum) address support — decoding and local-forging support for
MLDSA44PublicKeyHash/MLDSA44PublicKey(tz5 addresses), plus provisional reveal gas/fee constants.
Documentation
- New library architecture guide; expanded Wallet API docs (
disconnect()vsclearActiveAccount(), Beacon./typessubpath).
octez.js v1.1.0
Summary
Synced with Taquito v24.1–v24.3. The API stays compatible; breaking changes are noted below.
Breaking changes
- Node.js >=22 required for development and server-side use.
node-fetchdropped in favour of nativeglobalThis.fetch. Bundled browser apps are
unaffected. NetworkTypeenum trimmed. 15 long-retired testnets removed (DELPHINET,EDONET,FLORENCENET,GRANADANET,HANGZHOUNET,
ITHACANET,JAKARTANET,KATHMANDUNET,LIMANET,MUMBAINET,NAIROBINET,OXFORDNET,PARISNET,QUEBECNET,RIONET).
GHOSTNETandSEOULNETare now deprecated aliases — migrate toSHADOWNETandTALLINNNET.bignumber.jsupgraded to v10. If you annotateBigNumberin your own type signatures, add a directbignumber.js@^10dependency.- TypeScript upgraded to 5.9.3, compilation target moved to
es2020.
@tezos-x/octez.js-sapling overhaul
- No more install-time network fetch. Proving parameters are lazy-loaded at runtime via
initSapling()and SHA-256 verified before use. - Viewing-only flows need no initialization; call
preloadSaplingParams()to warm the cache and hide first-use latency. - Four source modes: first-party mirror (default),
zcash, custom remote URLs with SHA-256 digests, and local filesystem paths for Node.js/CI. - wasm dependency moved to
@taquito/sapling-wasm@0.2.0.
Estimation & RPC
- Gas/fee estimation now matches
octez-client/protocol semantics. Estimated values may shift for mixed batches and unrevealed accounts — revalidate
any brittle assertions. - RPC read consistency finalized:
atExactBlock(...)keeps exact historical pinning;at(..., block)andop.contract()bootstrap from the block
then track head.
Wallet integration
- Fixes wallet connections that could freeze on page load — relay health-check timeouts, automatic recovery from stale/decommissioned servers.
- Beacon SDK types (
NetworkType,BeaconEvent, …) are now re-exported from@tezos-x/octez.js-dapp-wallet— no need to depend on Beacon SDK
packages directly. - Wallet Connect:
getAllExistingSessionKeys()andconfigureWithExistingSessionKey()are now synchronous in the type surface.
See the full release notes for details.
octez.js v1.0.0
Summary
- Bump all octez.js packages to 1.0.0
- Update
@tezos-x/octez.connect-dappdependency to ^1.0.0 - Update
@tezos-x/octez.connect-sdkdependency to ^1.0.0
See the release notes for details.
octez.js v0.9.0
octez.js v0.9.0
Initial release of octez.js, a fork of Taquito.
What is octez.js?
octez.js is a TypeScript library suite for development on the Tezos blockchain. It provides tools to build dApps, interact with smart contracts, and manage wallets.
Migration from Taquito
If you're migrating from Taquito, see the migration guide.
Packages
@tezos-x/octez.js- Main package@tezos-x/octez.js-rpc- RPC client@tezos-x/octez.js-beacon-wallet- Beacon wallet integration@tezos-x/octez.js-ledger-signer- Ledger hardware wallet support- And more...