Skip to content

Changelog ​

Site — 2026-11-03 ​

  • First public release of the stxer docs: guide, API reference, SDK reference, limits and security pages.

SDK 0.12.0 ​

Execution traces are readable from the SDK, for on-chain and simulated transactions.

  • Added getTransactionTrace({ blockHeight, blockHash, txid }) and getSimulationTrace({ simulationId, txid }), which fetch and decode a trace into a tree of TraceNodes. Ids may carry a 0x prefix. getTransactionTrace throws TraceFetchError; getSimulationTrace throws SimulationError. Both report status === 404 when there is no trace.
  • Added decodeTrace(data, { decompress? }): pure JavaScript, bounds-checked; bad input raises TraceDecodeError with the byte offset.
  • Added flattenTrace, traceContractIds, traceNodeCost and traceNodeSelfCost.
  • Added indexExpressions, parseSpan and sliceSpan to map a node back to source via getContractAST or parseContract.
  • Added txid on CallContractResult.
  • New dependency fzstd; @noble/hashes bumped to ^2.4.0.

SDK 0.11.0 ​

Epoch 4.0 is live on mainnet (burn height 960,230).

  • Changed: addContractDeploy and addSetContractCode default to Clarity 6 (was Clarity 5).
  • Added: post_condition_mode and post_conditions on addContractCall and addContractDeploy, and postConditions on buildUnsignedContractCallHex / callContract. The default stays Allow. addSTXTransfer takes neither: consensus rejects a token transfer carrying post conditions.
  • Fixed: the published package no longer includes test files.

SDK 0.10.0 ​

  • Breaking (types): removed 'Epoch35' from ClarityEpoch. That epoch never activated (the chain went from 3.4 to 4.0) and the API rejects it.

SDK 0.9.0 ​

Adopts Epoch 4.0 and Clarity 6.

  • Added 'Epoch40' to ClarityEpoch and 'Clarity6' to ClarityVersionName; parseContract accepts clarityVersion: '6'.
  • ClarityVersion.Clarity6 accepted by addContractDeploy / addSetContractCode.
  • @stacks/transactions bumped to 7.5.0.

SDK 0.8.0 ​

Pairs with the API release that added AdvanceBlocks, the session tip endpoint and typed 409 / 410 errors.

  • Added: addAdvanceBlocks(request) and the AdvanceBlocks step; getSimulationTip(id).
  • Added: SimulationError with .status, .marker ('simulation_busy' | 'simulation_outdated' | null) and .body, thrown by every session call.
  • Added: session helpers callContract, getStxBalance, getFtBalance, getNonce, readDataVar.
  • Added: transaction builders setSender, buildUnsignedContractCallHex, ftPrincipal.
  • Added: Bitcoin SPV primitives for bridge scenarios (forgeBitcoinTx, buildBitcoinHeader, merkleProof, …).
  • Added: addTenureExtend(cause?) accepts a SIP-034 cause.
  • Changed (breaking): addTenureExtend() emits { TenureExtend: { cause: 'Extended' } }.
  • Changed (breaking): the API now returns real 4xx status codes for busy, outdated and invalid requests instead of 200.
  • Changed (breaking): BatchReadsResult.tip renamed to index_block_hash.
  • Changed (breaking): u64 / u128 fields typed as number | string; use BigInt before arithmetic.
  • Changed (breaking): the string type ClarityVersion renamed to ClarityVersionName.
  • Sessions created before this release answer 410 simulation_outdated:; start a new session.

SDK 0.7.0 and earlier ​

See the SDK repository history.