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.5.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.5.0.
Added
- Add miner configuration option
tenure_extend_cost_threshold
to specify the percentage of the tenure budget that must be spent before a time-based tenure extend is attempted - Add
dry_run
configuration option tostacks-signer
config toml. Dry run mode will
run the signer binary as if it were a registered signer. Instead of broadcasting
StackerDB
messages, it logsINFO
messages. Other interactions with thestacks-node
behave normally (e.g., submitting validation requests, submitting finished blocks). A
dry run signer will error out if the supplied key is actually a registered signer.
Changed
- Miner will include other transactions in blocks with tenure extend transactions (#5760)
- Add
block_rejection_timeout_steps
to miner configuration for defining rejections-based timeouts while waiting for signers response (#5705) - Miner will not issue a tenure extend until at least half of the block budget has been spent (#5757)
Fixed
- Miners who restart their nodes immediately before a winning tenure now correctly detect that
they won the tenure after their nodes restart (#5750).
What's Changed
- chore: don't log the contract source on deploy error by @obycode in #5736
- chore: Apply Clippy
vec_init_then_push
,map_clone
,map_entry
, anditer_*
lints by @jbencin in #5656 - Test: attempt to reduce flakiness in miner-forking test by @kantai in #5722
- chore: Apply Clippy lint
redundant_clone
by @jbencin in #5713 - Fix clippy::needless_borrow throughout stackslib by @jferrant in #5651
- fix:
cargo clippy-stacks
errors by @jbencin in #5746 - fixed race condition in tests assuming TEST_EVENT_OBSERVER_SKIP_RETRY… by @rdeioris in #5669
- chore: Apply Clippy lint
match_like_matches_macro
by @jbencin in #5744 - Apply
clippy::unnecesary_to_owned
andclippy::unwrap_or_default
fixes throughout stacks core by @jferrant in #5741 - chore: Apply Clippy lint
manual_inspect
by @jbencin in #5748 - chore(stacks-common): Remove unused imports and enable warning by @jbencin in #5633
- chore: Apply Clippy lint
collection_is_never_used
by @jbencin in #5654 - feat: allow other transactions with tenure extends by @obycode in #5760
- fix: always send pending block validation after receiving a block validation result by @hstove in #5766
- feat: implement dry-run mode for signer by @kantai in #5680
- deps: fix crate vulnerabilities by @rex4539 in #5730
- Fix: better win detection on restart by @kantai in #5752
- Test: fix some test flake in partial_tenure_forking by @kantai in #5769
- feat: do not issue a time-based tenure extend earlier than needed by @obycode in #5787
- fix: Disable flaky test
flash_blocks_on_epoch_3
by @jbencin in #5785 - Test: Refactor block waits by @kantai in #5784
- chore: Apply Clippy lints
single_match
andredundant_pattern_matching
by @jbencin in #5740 - Feat/block rejections timeout heuristic by @rdeioris in #5731
- update changelog for 3.1.0.0.5 by @wileyj in #5791
New Contributors
Full Changelog: 3.1.0.0.4...3.1.0.0.5