Skip to content

Releases: stacks-network/stacks-core

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

Release signer-3.1.0.0.12.0

05 Jun 17:02
ae969ca
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.12, available at: https://github.com/stacks-network/stacks-core/releases/tag/3.1.0.0.12.

Changed

  • Refactor / cleanup signerDB migrations code
  • Signers should not infinitely loop when pushing a block to stacks-node
  • Logging improvements and cleanup

Fixed

  • Fix capitulate_miner_view so stacks-node won't swap between multiple miners
  • Mark current miner as invalid on capitulation
  • Fix flaky miner_recovers_when_broadcast_block_delay_across_tenures_occurs test

Release 3.1.0.0.11

24 May 02:50
2a74b19
Compare
Choose a tag to compare

This is an urgent hotfix release

The bug itself actually goes back to 2020 and has to do with misbehavior in the stacks-node's mempool syncing logic which causes some nodes to return improper messages in response to RPC calls used by normal mempool syncing.
Stacks-nodes who invoke that RPC call have misbehaving logic which causes their networking to become unresponsive, which hasn't been an issue until there was a lot more data getting run through some recent blocks.

A Deeper post-mortem will be released after full resolution as well.

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.11.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.11.0.

Added

  • Hotfix for p2p stack misbehavior in mempool syncing conditions