Skip to content

Releases: stacks-network/stacks-core

Release 3.2.0.0.2

07 Oct 19:14
bd9ee63
Compare
Choose a tag to compare

This release resolves a critical vulnerability and all node operators are strongly encouraged to upgrade

This release contains several bugfixes and improvements in the stacks-node and stacks-signer binaries, ensuring more consistent block production.

This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-signer compatible with this release is 3.2.0.0.2.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.2.0.0.2.0.

Note: blockstack-cli binary has been renamed to stacks-cli from this release forward.

Added

  • Renamed clarity-serialization to clarity-types.
  • Add stackerdb_timeout_secs to miner config for limiting duration of StackerDB HTTP requests.
  • When determining a global transaction replay set, the state evaluator now uses a longest-common-prefix algorithm to find a replay set in the case where a single replay set has less than 70% of signer weight.
  • New endpoints /v3/tenures/blocks/, /v3/tenures/blocks/hash, /v3/tenures/blocks/height allowing retrieving the list of stacks blocks from a burn block
  • New authenticated endpoint /v3/block/replay to replay the execution of any Nakamoto block in the chain (useful for validation, simulation, getting events...)
  • Creates epoch 3.3 and costs-4 in preparation for a hardfork to activate Clarity 4
  • Adds support for new Clarity 4 builtins (not activated until epoch 3.3):
    • contract-hash?
    • current-contract
    • block-time
    • to-ascii?
  • Added contract_cost_limit_percentage to the miner config file — sets the percentage of a block’s execution cost at which, if a large non-boot contract call would cause a BlockTooBigError, the miner will stop adding further non-boot contract calls and only include STX transfers and boot contract calls for the remainder of the block.

Changed

  • Clarity errors pertaining to syntax binding errors have been made more
    expressive (#6337)
  • Removed affirmation maps logic throughout, upgrading chainstate DB schema to 11 and burnchain DB schema to 3 (#6314)

Fixed

  • When running stacks-inspect decode-tx, print the correct version of the address (mainnet or testnet) based on the transaction passed in
  • When a contract deploy is analyzed, it will no longer throw a CostError when the contract contains an undefined top-level variable. Instead, it will throw a UndefinedVariable error.

Release signer-3.2.0.0.2.0

07 Oct 19:14
bd9ee63
Compare
Choose a tag to compare

This release resolves a critical vulnerability and all node operators are strongly encouraged to upgrade

This release contains several bugfixes and improvements in the stacks-node and stacks-signer binaries, ensuring more consistent block production.

This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-node compatible with this release is 3.2.0.0.2, available at: https://github.com/stacks-network/stacks-core/releases/tag/3.2.0.0.2.

Added

  • Added two-phase commit to signer block responses ensuring signers only issue a signature in a BlockResponse when a majority threshold number have pre-committed to sign a proposed Naka block
  • When determining a global transaction replay set, the state evaluator now uses a longest-common-prefix algorithm to find a replay set in the case where a single replay set has less than 70% of signer weight.

Changed

  • Database schema updated to version 17

Release signer-3.2.0.0.1.1

22 Aug 20:03
66289dd
Compare
Choose a tag to compare

This hotfix release adds a new configuration option stackerdb_timeout_secs, which sets the maximum time the stacks-signer binary will wait for requests to complete (default is 120s).

This release resolves an issue where the stacks-signer binary would wait indefinitely for StackerDB HTTP requests if the remote peer does not close the connection.

The version of stacks-node compatible with this release is 3.2.0.0.1, available at: https://github.com/stacks-network/stacks-core/releases/tag/3.2.0.0.1.

Added

  • Introduced stackerdb_timeout_secs: config option to set the maximum time (in seconds) the signer will wait for StackerDB HTTP requests to complete.

Release 3.2.0.0.1

14 Aug 10:09
4a7dfc2
Compare
Choose a tag to compare

This release contains several bugfixes and improvements in the stacks-node and stacks-signer binaries, ensuring more consistent block production.

This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-signer compatible with this release is 3.2.0.0.1.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.2.0.0.1.0.

This is a highly recommended upgrade for signers

Added

  • Adds node-config-docsgen to automatically create config documentation (#6227)

Fixed

  • Fixed a typo in the metrics_identifier route from /v2/stackedb/:principal/:contract_name/replicas to /v2/stackerdb/:principal/:contract_name/replicas. Note: This may be a breaking change for systems relying on the incorrect route. Please update any metrics tools accordingly.

Release signer-3.2.0.0.1.0

14 Aug 10:10
4a7dfc2
Compare
Choose a tag to compare

This release contains several bugfixes and improvements in the stacks-node and stacks-signer binaries, ensuring more consistent block production.

This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-node compatible with this release is 3.2.0.0.1, available at: https://github.com/stacks-network/stacks-core/releases/tag/3.2.0.0.1.

This is a highly recommended upgrade for signers

Changed

  • Repurposes the capitulate_miner_view timeout to prevent needlessly checking for capitulation when blocks are globally accepted (#6307)
  • Consider the local state machine update regardless of local vs global paths (#6325)
  • Use the local supported version by default if no consensus is found (#6341)

Release 3.2.0.0.0

24 Jul 14:48
6c76963
Compare
Choose a tag to compare

This release implements the 3.2 Stacks consensus rules which activates at Bitcoin block 907,740. For more details see SIP-031.

This is a required upgrade

  • Activation is estimated for July 29th, 2025 around 1800 UTC, or Bitcoin block 907,740.
  • Upgrading after Bitcoin block 907,740 will require a genesis sync.

This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-signer compatible with this release is 3.2.0.0.0.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.2.0.0.0.0.

Added

  • Added the clarity-serialization crate: A lightweight crate for serializing and deserializing Clarity values. This crate decouples core data types from the Clarity VM, making it easier to build off-chain tooling, and other applications that interact with Clarity data. It includes support for wasm32-unknown-unknown targets via the wasm-web and wasm-deterministic features.
  • Added /v3/contracts/fast-call-read/:principal/:contract_name/:func_name api endpoint. It allows to run read-only calls faster by disabling the cost and memory trackers. This endpoint requires authentication.
  • SIP-031 consensus rules, activating in epoch 3.2 at block 907_740

Changed

  • The HTTP Date header in responses now strictly follows RFC7231.
  • When a previous block commit is unable to be RBFed, the miner will now just wait for it to be confirmed instead of submitting a new block commit which breaks the miner's UTXO chain.
  • When mining, only log new block proposal responses, not duplicates.

Fixed

  • Fixed tenure downloader logic on reward cycle boundaries (#6234).
  • Do not send events to event observers for stale StackerDB chunks.

Release signer-3.2.0.0.0.0

24 Jul 14:48
6c76963
Compare
Choose a tag to compare

This release implements the 3.2 Stacks consensus rules which activates at Bitcoin block 907,740. For more details see SIP-031.

This is a required upgrade

  • Activation is estimated for July 29th, 2025 around 1800 UTC, or Bitcoin block 907,740.
  • Upgrading after Bitcoin block 907,740 will require a genesis sync.

This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-node compatible with this release is 3.2.0.0.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/3.2.0.0.0.

Note: This version of the stacks-signer (3.2.0.0.0.0) requires stacks-node 3.2.0.0.0 as it contains a DB schema change.

Added

  • Added info logs to the signer to provide more visibility into the block approval/rejection status
  • Introduced capitulate_miner_view_timeout_secs: the duration (in seconds) for the signer to wait between updating the local state machine viewpoint and capitulating to other signers' miner views.
  • Added codepath to enable signers to evaluate block proposals and miner activity against global signer state for improved consistency and correctness. Currently feature gated behind the SUPPORTED_SIGNER_PROTOCOL_VERSION

Changed

  • Do not count both a block acceptance and a block rejection for the same signer/block. Also ignore repeated responses (mainly for logging purposes).
  • Database schema updated to version 16

Release 3.1.0.0.13

02 Jul 17:56
8a79aaa
Compare
Choose a tag to compare

This release contains several bugfixes and improvements to the stacks-node and stacks-signer binaries, ensuring more consistent block production.
This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-signer compatible with this release is 3.1.0.0.13.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.13.0.

Added

  • Added a new RPC endpoint /v3/health to query the node's health status. The endpoint returns a 200 status code with relevant synchronization information (including the node's current Stacks tip height, the maximum Stacks tip height among its neighbors, and the difference between these two). A user can use the difference_from_max_peer value to decide what is a good threshold for them before considering the node out of sync. The endpoint returns a 500 status code if the query cannot retrieve viable data.
    - Improve prometheus metrics to gain more insights into the current state of the mempool
    - stacks_node_miner_stop_reason_total: Counts the number of times the miner stopped mining due to various reasons.
  • Always report the number of transactions mined in the last attempt, even if there were 0
  • Added a new option --hex-file <file_path> to blockstack-cli contract-call command, that allows to pass a serialized Clarity value by file.
  • Added a new option --postcondition-mode [allow, deny] to blockstack-cli publish command, to set the post-condition mode to allow or deny on the transaction (default is deny)

Changed

  • Changed default mempool walk strategy to NextNonceWithHighestFeeRate

Fixed

  • Fixed an issue that prevented the correct usage of anchor mode options (--microblock-only, --block-only) when using blockstack-cli publish command.
  • Fix several bugs in the mock-miner that caused it to fail to mine blocks in certain conditions

Release signer-3.1.0.0.13.0

02 Jul 17:57
8a79aaa
Compare
Choose a tag to compare

This release contains several bugfixes and improvements to the stacks-signer binary, ensuring more consistent block production.
This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-node compatible with this release is 3.1.0.0.13, available at: https://github.com/stacks-network/stacks-core/releases/tag/3.1.0.0.13.

Note: This version of the stacks-signer (3.1.0.0.13.0) requires stacks-node 3.1.0.0.13 as it contains a DB schema change and is not backwards compatible with previous releases.

Changed

  • Database schema update (requires stacks-node >= 3.1.0.0.13)

Release 3.1.0.0.12

05 Jun 17:02
ae969ca
Compare
Choose a tag to compare

This release contains several bugfixes and improvements to the stacks-node and stacks-signer binaries, ensuring more consistent block production.
This release is compatible with chainstate directories from 3.x.x.x.x.

The version of stacks-signer compatible with this release is 3.1.0.0.12.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.12.0.

Added

  • Document missing config structs
  • Document MinerConfig parameters
  • Document BurnchainConfig parameters
  • Document NodeConfig parameters

Changed

  • get_fresh_random_neighbors to include allowed neigbors
  • Logging improvements and cleanup
  • Move serde serializers to stacks_common
  • Depend on clarity backing store interface
  • Updated ./docs/event-dispacher.md

Fixed

  • Handle Bitcoin reorgs during Stacks tenure extend