Releases: stacks-network/stacks-core
Release signer-3.2.0.0.1.1
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
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
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
Release 3.2.0.0.0
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 forwasm32-unknown-unknown
targets via thewasm-web
andwasm-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
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
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 thedifference_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>
toblockstack-cli contract-call
command, that allows to pass a serialized Clarity value by file. - Added a new option
--postcondition-mode [allow, deny]
toblockstack-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 usingblockstack-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
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
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
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
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