Releases: stacks-network/stacks-core
Release 3.1.0.0.8
This release contains several bugfixes and improvements in the stacks-node binary, 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.8.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.8.0.
Note for miners
There is a configuration change recommended for all miners in order to retry blocks more quickly:
[miner.block_rejection_timeout_steps]
0 = 180
10 = 90
20 = 45
30 = 0
These recommended values will be the default in a future release.
Added
- Add fee information to transaction log ending with "success" or "skipped", while building a new block
- Add
max_execution_time_secs
to miner config for limiting duration of contract calls - When a miner's config file is updated (ie with a new fee rate), a new block commit is issued using
the new values (#5924) - Add
txindex
configuration option enabling the storage (and querying via api) of transactions. Note: the old STACKS_TRANSACTION_LOG environment var configuration is no longer available.
Changed
- When a miner times out waiting for signatures, it will re-propose the same block instead of building a new block (#5877)
- Improve tenure downloader trace verbosity applying proper logging level depending on the tenure state ("debug" if unconfirmed, "info" otherwise) (#5871)
- Remove warning log about missing UTXOs when a node is configured as
miner
withmock_mining
mode enabled (#5841) - Deprecated the
wait_on_interim_blocks
option in the miner config file. This option is no longer needed, as the miner will always wait for interim blocks to be processed before mining a new block. To wait extra time in between blocks, use themin_time_between_blocks_ms
option instead. (#5979) - Added
empty_mempool_sleep_ms
to the miner config file to control the time to wait in between mining attempts when the mempool is empty. If not set, the default sleep time is 2.5s. (#5997)
Release signer-3.1.0.0.8.0
This release contains several bugfixes and improvements in the stacks-signer binary, ensuring more consistent block production.
This release is compatible with chainstate directories from 3.x.x.x.x.
Changed
- For some rejection reasons, a signer will reconsider a block proposal that it previously rejected (#5880)
[DRAFT] Release 3.1.0.0.8-rc1
Merge pull request #5985 from wileyj/chore/3.1.0.0.8-rc1_versions Chore/3.1.0.0.8 rc1 versions
[DRAFT] Release signer-3.1.0.0.8.0-rc1
Merge pull request #5985 from wileyj/chore/3.1.0.0.8-rc1_versions Chore/3.1.0.0.8 rc1 versions
Release 3.1.0.0.7
This release contains several bugfixes and improvements in the stacks-node binary, 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.7.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.7.0.
Added
- Add
disable_retries
mode for events_observer disabling automatic retry on error
Changed
- Implement faster cost tracker for default cost functions in Clarity
- By default, miners will wait for a new tenure to start for a configurable amount of time after receiving a burn block before
submitting a block commit. This will reduce the amount of RBF transactions miners are expected to need. - Add weight threshold and percentages to
StackerDBListener
logs - Signer will not allow reorg if more than one block in the current tenure has already been globally approved
What's Changed
- Merge 3.1.0.0.5 to master by @wileyj in #5797
- Chore/cleanup multiple miners tests by @jferrant in #5830
- Apply clippy lints
approx_constant
,assertions_on_constants
,assign_op_pattern
, andbool_assert_comparison
by @jferrant in #5745 - feat: add new signer reject codes by @obycode in #5827
- fix bash arithmetic - typo in block-replay.sh contrib script by @wileyj in #5833
- Feat/capitulate reorg by @obycode in #5829
- Feat: Implement faster cost tracker for default cost functions by @kantai in #5859
- Fix flakiness in tenure_extend_with_other_transactions by @jferrant in #5844
- Merge Release/3.1.0.0.6 to master by @jcnelson in #5861
- Merge master to develop by @jcnelson in #5863
- chore: improve logging in
StackerDBListener
by @obycode in #5747 - Fix: signer calculates miner pk with block header by @kantai in #5860
- Fix: enable patient block commits by @kantai in #5835
- Chore: match the error strings in cost errors by @kantai in #5865
- Fix: properly handle decoding older block responses by @hstove in #5867
- Feat/lossy events observer by @rdeioris in #5831
- chore: update versions to 3.1.0.0.6 by @obycode in #5866
- Master to develop by @obycode in #5868
- Feat/tenure boundary heuristic by @rdeioris in #5817
- feat: hot-reload burn_fee_cap in nakamoto by @hstove in #5857
- chore: bump versions to 3.1.0.0.7 by @jcnelson in #5870
Full Changelog: 3.1.0.0.6...3.1.0.0.7
Release signer-3.1.0.0.7.0
This release contains several bugfixes and improvements in the stacks-node binary, ensuring more consistent block production.
This release is compatible with chainstate directories from 3.x.x.x.x.
Changed
- Add new reject codes to the signer response for better visibility into why a block was rejected.
- When allowing a reorg within the
reorg_attempts_activity_timeout_ms
, the signer will now watch the responses from other signers and if >30% of them reject this reorg attempt, then the signer will mark the miner as invalid, reject further attempts to reorg and allow the previous miner to extend their tenure.
Fixed
- The signer runloop no longer relies on pubkey reports from the SignerDB event system. This previously led to improper proposal rejections via #5858.
What's Changed
- Merge 3.1.0.0.5 to master by @wileyj in #5797
- Chore/cleanup multiple miners tests by @jferrant in #5830
- Apply clippy lints
approx_constant
,assertions_on_constants
,assign_op_pattern
, andbool_assert_comparison
by @jferrant in #5745 - feat: add new signer reject codes by @obycode in #5827
- fix bash arithmetic - typo in block-replay.sh contrib script by @wileyj in #5833
- Feat/capitulate reorg by @obycode in #5829
- Feat: Implement faster cost tracker for default cost functions by @kantai in #5859
- Fix flakiness in tenure_extend_with_other_transactions by @jferrant in #5844
- Merge Release/3.1.0.0.6 to master by @jcnelson in #5861
- Merge master to develop by @jcnelson in #5863
- chore: improve logging in
StackerDBListener
by @obycode in #5747 - Fix: signer calculates miner pk with block header by @kantai in #5860
- Fix: enable patient block commits by @kantai in #5835
- Chore: match the error strings in cost errors by @kantai in #5865
- Fix: properly handle decoding older block responses by @hstove in #5867
- Feat/lossy events observer by @rdeioris in #5831
- chore: update versions to 3.1.0.0.6 by @obycode in #5866
- Master to develop by @obycode in #5868
- Feat/tenure boundary heuristic by @rdeioris in #5817
- feat: hot-reload burn_fee_cap in nakamoto by @hstove in #5857
- chore: bump versions to 3.1.0.0.7 by @jcnelson in #5870
Full Changelog: 3.1.0.0.6...signer-3.1.0.0.7.0
Release 3.1.0.0.6
This release contains several bugfixes and improvements in the stacks-node binary, 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.6.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.6.0.
Added
- The
BlockProposal
StackerDB message serialization struct now includes aserver_version
string, which represents the version of the node that the miner is using. (#5803) - Add
vrf_seed
to the/v3/sortitions
rpc endpoint
Changed
- Miner will stop waiting for signatures on a block if the Stacks tip advances (causing the block it had proposed to be invalid).
- Logging improvements:
- P2P logs now includes a reason for dropping a peer or neighbor
- Improvements to how a PeerAddress is logged (human readable format vs hex)
Fixed
- Error responses to /v2/transactions/fees are once again expressed as JSON (#4145).
What's Changed
- Merge 3.1.0.0.5 to develop by @wileyj in #5798
- Add default version to
version_string
function by @hstove in #5399 - CI: Generating the e2e test matrix by @kantai in #5763
- Fix: well-formed JSON error responses on /v2/fees/transaction by @jcnelson in #5793
- chore: extend the default
block_proposal_timeout
to 4 hours by @obycode in #5768 - CI: disable mutants on PRs by @kantai in #5809
- Add reorg_attempts_activity_timeout_ms config option and tenure_activity table to track miner activity by @jferrant in #5755
- Fix flake: shadow recovery by @kantai in #5808
- Fix: Wait until in nakamoto to shutdown 2.x block downloader #5676 by @jcnelson in #5735
- Adding block replay script to contrib/tools folder by @wileyj in #5804
- Feat/vrf seed in get sortition rpc endpoint by @hugocaillard in #5772
- feat: stop waiting for signatures if the chain tip advances by @obycode in #5801
- chore: Apply Clippy lints
derivable_impls
,eq_op
, andexpect_fun_call
by @jbencin in #5773 - Release Signer Alongside Node by @BowTiedDevOps in #5756
- Fix int_plus_one warnings by @jferrant in #5626
- Add DropReason and DropPeer structs to pass reason string to logs about Dropping a Neighbor by @jferrant in #5720
- feat: add versioned and backwards-compatible server version to block proposal by @hstove in #5803
- fix: signerDB index improvements by @hstove in #5811
- feat: add build-time git info by @hstove in #5579
- feat: add
tenure_extend_buffer_secs
signer config option by @obycode in #5816 - Issue tenure extend if incoming miner fails to mine by @jferrant in #5805
- Update release docs/dockerfile fixes by @wileyj in #5824
- fix: update versions.toml after merge by @hstove in #5826
- Add port to DropPeer by @jferrant in #5838
Full Changelog: 3.1.0.0.5...3.1.0.0.6
Release signer-3.1.0.0.6.0
This release contains several bugfixes and improvements in the stacks-node binary, 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.6.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.6.0.
Added
- Introduced the
reorg_attempts_activity_timeout_ms
configuration option for signers which is used to determine the length of time after the last block of a tenure is confirmed that an incoming miner's attempts to reorg it are considered valid miner activity. - Add signer configuration option
tenure_idle_timeout_buffer_secs
to specify the number of seconds of buffer the signer will add to its tenure extend time that it sends to miners. The idea is to allow for some clock skew between the miner and signers, preventing the case where the miner attempts to tenure extend too early.
Changed
- Increase default
block_proposal_timeout_ms
from 10 minutes to 4 hours. Until #5729 is implemented, there is no value in rejecting a late block from a miner, since a late block is better than no block at all. - Signers no longer view any block proposal by a miner in their DB as indicative of valid miner activity.
- Various index improvements to the signer's database to improve performance.
What's Changed
- Merge 3.1.0.0.5 to develop by @wileyj in #5798
- Add default version to
version_string
function by @hstove in #5399 - CI: Generating the e2e test matrix by @kantai in #5763
- Fix: well-formed JSON error responses on /v2/fees/transaction by @jcnelson in #5793
- chore: extend the default
block_proposal_timeout
to 4 hours by @obycode in #5768 - CI: disable mutants on PRs by @kantai in #5809
- Add reorg_attempts_activity_timeout_ms config option and tenure_activity table to track miner activity by @jferrant in #5755
- Fix flake: shadow recovery by @kantai in #5808
- Fix: Wait until in nakamoto to shutdown 2.x block downloader #5676 by @jcnelson in #5735
- Adding block replay script to contrib/tools folder by @wileyj in #5804
- Feat/vrf seed in get sortition rpc endpoint by @hugocaillard in #5772
- feat: stop waiting for signatures if the chain tip advances by @obycode in #5801
- chore: Apply Clippy lints
derivable_impls
,eq_op
, andexpect_fun_call
by @jbencin in #5773 - Release Signer Alongside Node by @BowTiedDevOps in #5756
- Fix int_plus_one warnings by @jferrant in #5626
- Add DropReason and DropPeer structs to pass reason string to logs about Dropping a Neighbor by @jferrant in #5720
- feat: add versioned and backwards-compatible server version to block proposal by @hstove in #5803
- fix: signerDB index improvements by @hstove in #5811
- feat: add build-time git info by @hstove in #5579
- feat: add
tenure_extend_buffer_secs
signer config option by @obycode in #5816 - Issue tenure extend if incoming miner fails to mine by @jferrant in #5805
- Update release docs/dockerfile fixes by @wileyj in #5824
- fix: update versions.toml after merge by @hstove in #5826
- Add port to DropPeer by @jferrant in #5838
Full Changelog: 3.1.0.0.5...signer-3.1.0.0.6.0
[DRAFT] Release 3.1.0.0.6-rc1
Merge pull request #5826 from stacks-network/fix/versions-file fix: update versions.toml after merge
[DRAFT] Release signer-3.1.0.0.6.0-rc1
Merge pull request #5826 from stacks-network/fix/versions-file fix: update versions.toml after merge