Releases: stacks-network/stacks-core
Release 3.1.0.0.2
This release introduces all necessary code changes for SIP-029, as well as tenure-extend to happen which enables miners and signers to tenure-extend every 5 minutes (on average).
This release is compatible with chainstate directories from 3.x.x.x.x.
** All node operators are required to upgrade to this release since it also contains the 3.1 hard fork defined in SIP-029. **
** Epoch 3.1 is set to activate at Bitcoin block 875_000
, around Mon Dec 16 2024 08:47:39 GMT
. **
** Failing to upgrade prior to Bitcoin block 875_000
will require a genesis sync. **
The version of stacks-signer compatible with this release is 3.1.0.0.2.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.2.0.
Added
- SIP-029 consensus rules, activating in epoch 3.1 at block 875,000 (see SIP-029 for details)
- New RPC endpoints
/v2/clarity/marf/:marf_key_hash
/v2/clarity/metadata/:principal/:contract_name/:clarity_metadata_key
- When a proposed block is validated by a node, the block can be validated even when the block version is different than the node's default (#5539)
- A miner will now generate a tenure-extend when at least 70% of the signers have confirmed that they are willing to allow one, via the new timestamp included in block responses. This allows the miner to refresh its budget in between Bitcoin blocks. (#5476)
- Set the epoch to 3.1 in the Clarity DB upon activation.
Changed
- Added tenure extend timestamp to signer block responses
- Added tenure_idle_timeout_secs configuration option for determining when a time-based tenure extend will be accepted
What's Changed
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- Add changlog for epoch 3.1 and revert block version (5538) by @wileyj in #5540
- Release/3.1.0.0.0 by @wileyj in #5546
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: 3.1.0.0.0...3.1.0.0.2
What's Changed
- Add tenure_extend_timestamp to Block Response Accept messages by @jferrant in #5466
- feat: add validation time to block proposal response by @obycode in #5474
- Add timestamp calculation to all block responses by @jferrant in #5470
- Signers: Use tenure extend timestamp to determine if enough time has passed for a tenure extend by @jferrant in #5478
- Ignore bootcode contract call and stx transfer only blocks in processing time calculation by @jferrant in #5488
- feat: use versioned signer message data by @hstove in #5489
- Feat/time based tenure extend merge by @obycode in #5504
- Chore/cache timestamp calc by @jferrant in #5494
- Miner changes for time-based tenure extends by @obycode in #5493
- wip: integration tests for tenure extends by @hstove in #5471
- feat: test for idle extend with active mining by @hstove in #5531
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- fix: when validating a block, clone the blocks version by @hstove in #5539
- fix: revert stack block version change by @hstove in #5538
- Release/3.1.0.0.0 by @wileyj in #5546
- Time based tenure extend by @obycode in #5530
- Fix/stackerdb audit coinfabrik by @jcnelson in #5523
- Feat/SIP029-testnet-heights by @jcnelson in #5537
- Tenure extend changelog by @obycode in #5550
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: 3.1.0.0.0...3.1.0.0.2
What's Changed
- Add tenure_extend_timestamp to Block Response Accept messages by @jferrant in #5466
- feat: add validation time to block proposal response by @obycode in #5474
- Add timestamp calculation to all block responses by @jferrant in #5470
- Signers: Use tenure extend timestamp to determine if enough time has passed for a tenure extend by @jferrant in #5478
- Ignore bootcode contract call and stx transfer only blocks in processing time calculation by @jferrant in #5488
- feat: use versioned signer message data by @hstove in #5489
- Feat/time based tenure extend merge by @obycode in #5504
- Chore/cache timestamp calc by @jferrant in #5494
- Miner changes for time-based tenure extends by @obycode in #5493
- wip: integration tests for tenure extends by @hstove in #5471
- feat: test for idle extend with active mining by @hstove in #5531
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- fix: when validating a block, clone the blocks version by @hstove in #5539
- fix: revert stack block version change by @hstove in #5538
- Release/3.1.0.0.0 by @wileyj in #5546
- Time based tenure extend by @obycode in #5530
- Fix/stackerdb audit coinfabrik by @jcnelson in #5523
- Feat/SIP029-testnet-heights by @jcnelson in #5537
- Tenure extend changelog by @obycode in #5550
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: 3.1.0.0.0...3.1.0.0.2
Release signer-3.1.0.0.2.0
This release introduces all necessary code changes for SIP-029, as well as tenure-extend to happen which enables miners and signers to tenure-extend every 5 minutes (on average).
This release is compatible with chainstate directories from 3.x.x.x.x.
** All node operators are required to upgrade to this release since it also contains the 3.1 hard fork defined in SIP-029. **
** Epoch 3.1 is set to activate at Bitcoin block 875_000
, around Mon Dec 16 2024 08:47:39 GMT
. **
** Failing to upgrade prior to Bitcoin block 875_000
will require a genesis sync. **
The version of stacks-signer compatible with this release is 3.1.0.0.2.0, available at: https://github.com/stacks-network/stacks-core/releases/tag/signer-3.1.0.0.2.0.
Added
- SIP-029 consensus rules, activating in epoch 3.1 at block 875,000 (see SIP-029 for details)
- New RPC endpoints
/v2/clarity/marf/:marf_key_hash
/v2/clarity/metadata/:principal/:contract_name/:clarity_metadata_key
- When a proposed block is validated by a node, the block can be validated even when the block version is different than the node's default (#5539)
- A miner will now generate a tenure-extend when at least 70% of the signers have confirmed that they are willing to allow one, via the new timestamp included in block responses. This allows the miner to refresh its budget in between Bitcoin blocks. (#5476)
- Set the epoch to 3.1 in the Clarity DB upon activation.
Changed
- Added tenure extend timestamp to signer block responses
- Added tenure_idle_timeout_secs configuration option for determining when a time-based tenure extend will be accepted
What's Changed
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- Add changlog for epoch 3.1 and revert block version (5538) by @wileyj in #5540
- Release/3.1.0.0.0 by @wileyj in #5546
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: 3.1.0.0.1...signer-3.1.0.0.2.0
What's Changed
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- Add changlog for epoch 3.1 and revert block version (5538) by @wileyj in #5540
- Release/3.1.0.0.0 by @wileyj in #5546
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: signer-3.1.0.0.0.0...signer-3.1.0.0.2.0
What's Changed
- Add tenure_extend_timestamp to Block Response Accept messages by @jferrant in #5466
- feat: add validation time to block proposal response by @obycode in #5474
- Add timestamp calculation to all block responses by @jferrant in #5470
- Signers: Use tenure extend timestamp to determine if enough time has passed for a tenure extend by @jferrant in #5478
- Ignore bootcode contract call and stx transfer only blocks in processing time calculation by @jferrant in #5488
- feat: use versioned signer message data by @hstove in #5489
- Feat/time based tenure extend merge by @obycode in #5504
- Chore/cache timestamp calc by @jferrant in #5494
- Miner changes for time-based tenure extends by @obycode in #5493
- wip: integration tests for tenure extends by @hstove in #5471
- feat: test for idle extend with active mining by @hstove in #5531
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- fix: when validating a block, clone the blocks version by @hstove in #5539
- fix: revert stack block version change by @hstove in #5538
- Release/3.1.0.0.0 by @wileyj in #5546
- Time based tenure extend by @obycode in #5530
- Fix/stackerdb audit coinfabrik by @jcnelson in #5523
- Feat/SIP029-testnet-heights by @jcnelson in #5537
- Tenure extend changelog by @obycode in #5550
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: signer-3.1.0.0.0.0...signer-3.1.0.0.2.0
What's Changed
- Add tenure_extend_timestamp to Block Response Accept messages by @jferrant in #5466
- feat: add validation time to block proposal response by @obycode in #5474
- Add timestamp calculation to all block responses by @jferrant in #5470
- Signers: Use tenure extend timestamp to determine if enough time has passed for a tenure extend by @jferrant in #5478
- Ignore bootcode contract call and stx transfer only blocks in processing time calculation by @jferrant in #5488
- feat: use versioned signer message data by @hstove in #5489
- Feat/time based tenure extend merge by @obycode in #5504
- Chore/cache timestamp calc by @jferrant in #5494
- Miner changes for time-based tenure extends by @obycode in #5493
- wip: integration tests for tenure extends by @hstove in #5471
- feat: test for idle extend with active mining by @hstove in #5531
- merge Release/3.0.0.0.4 to master by @wileyj in #5528
- fix: when validating a block, clone the blocks version by @hstove in #5539
- fix: revert stack block version change by @hstove in #5538
- Release/3.1.0.0.0 by @wileyj in #5546
- Time based tenure extend by @obycode in #5530
- Fix/stackerdb audit coinfabrik by @jcnelson in #5523
- Feat/SIP029-testnet-heights by @jcnelson in #5537
- Tenure extend changelog by @obycode in #5550
- merge Release/3.1.0.0.1 to master by @wileyj in #5557
Full Changelog: signer-3.1.0.0.0.0...signer-3.1.0.0.2.0
Release 3.0.0.0.4
Release signer-3.0.0.0.4.0
Release 3.0.0.0.3
What's Changed
- chore: remove irrefutable if let by @obycode in #5424
- fix: remove duplicate conditions by @obycode in #5422
- fix: include txid in more failure logs by @janniks in #4396
- test: additional scenarios for empty sortition tenure extends by @obycode in #5415
- merge release branch back to develop by @wileyj in #5428
- Add config option tenure_last_block_proposal_timeout_secs and do not allow reorgs at tenure boundary before it is exceeded by @jferrant in #5425
- Fix: snappy downloader by @jcnelson in #5393
- Fix miner forking by being strict about sortition winners by @jferrant in #5435
- feat: add
block_commit_delay_ms
config option by @obycode in #5420 - Fix logs to use inplace formatting in stacks node by @jferrant in #5419
- feat: add blockhash index to metadata_table Clarity VM table by @hstove in #5436
- Miner can continue mining after an empty tenure followed by empty sortition by @hstove in #5411
- test: reduce flakiness in
microblocks_disabled
by @obycode in #5442 - Replace make_tenure_bitvector debug logs with trace level logs by @jferrant in #5448
- Feat/signer track validation submission with config timeout by @jferrant in #5409
- chore: log if metrics_endpoint but no feature flag by @hstove in #5279
- fix: better error logging with signerdb insert error by @hstove in #5475
- refactor: add
index
method forStacksEpochId
by @obycode in #5350 - Spend down the block budget limit by x% every block by @jferrant in #5450
- Test: Add replay block command for nakamoto blocks by @kantai in #5346
- feat: always broadcast a BlockResponse, even if globally accepted by @hstove in #5454
- move net::api::tests::postblock_proposal::test_try_make_response to p… by @hstove in #5485
- Feat/shadow block tooling by @jcnelson in #5362
- Feature: rpc blockbyheight by @rdeioris in #5445
- Add info logs for adding and removing a neighbor by @ASuciuX in #5459
- Fix/http stall on invalid message by @jcnelson in #5491
- Tenure extend when the previous tenure is bad by @obycode in #5452
- Feat: Shadow block recovery mechanism by @jcnelson in #5296
- Updating changelogs for 3.0.0.0.3 by @wileyj in #5499
New Contributors
Full Changelog: 3.0.0.0.1...3.0.0.0.3
Release signer-3.0.0.0.3.0
What's Changed
- chore: remove irrefutable if let by @obycode in #5424
- fix: remove duplicate conditions by @obycode in #5422
- fix: include txid in more failure logs by @janniks in #4396
- test: additional scenarios for empty sortition tenure extends by @obycode in #5415
- merge release branch back to develop by @wileyj in #5428
- Add config option tenure_last_block_proposal_timeout_secs and do not allow reorgs at tenure boundary before it is exceeded by @jferrant in #5425
- Fix: snappy downloader by @jcnelson in #5393
- Fix miner forking by being strict about sortition winners by @jferrant in #5435
- feat: add
block_commit_delay_ms
config option by @obycode in #5420 - Fix logs to use inplace formatting in stacks node by @jferrant in #5419
- feat: add blockhash index to metadata_table Clarity VM table by @hstove in #5436
- Miner can continue mining after an empty tenure followed by empty sortition by @hstove in #5411
- test: reduce flakiness in
microblocks_disabled
by @obycode in #5442 - Replace make_tenure_bitvector debug logs with trace level logs by @jferrant in #5448
- Feat/signer track validation submission with config timeout by @jferrant in #5409
- chore: log if metrics_endpoint but no feature flag by @hstove in #5279
- fix: better error logging with signerdb insert error by @hstove in #5475
- refactor: add
index
method forStacksEpochId
by @obycode in #5350 - Spend down the block budget limit by x% every block by @jferrant in #5450
- Test: Add replay block command for nakamoto blocks by @kantai in #5346
- feat: always broadcast a BlockResponse, even if globally accepted by @hstove in #5454
- move net::api::tests::postblock_proposal::test_try_make_response to p… by @hstove in #5485
- Feat/shadow block tooling by @jcnelson in #5362
- Feature: rpc blockbyheight by @rdeioris in #5445
- Add info logs for adding and removing a neighbor by @ASuciuX in #5459
- Fix/http stall on invalid message by @jcnelson in #5491
- Tenure extend when the previous tenure is bad by @obycode in #5452
- Feat: Shadow block recovery mechanism by @jcnelson in #5296
- Updating changelogs for 3.0.0.0.3 by @wileyj in #5499
New Contributors
Full Changelog: 3.0.0.0.1...signer-3.0.0.0.3.0
Release 3.0.0.0.2
What's Changed
- chore: remove irrefutable if let by @obycode in #5424
- fix: remove duplicate conditions by @obycode in #5422
- fix: include txid in more failure logs by @janniks in #4396
- test: additional scenarios for empty sortition tenure extends by @obycode in #5415
- merge release branch back to develop by @wileyj in #5428
- Add config option tenure_last_block_proposal_timeout_secs and do not allow reorgs at tenure boundary before it is exceeded by @jferrant in #5425
- Fix: snappy downloader by @jcnelson in #5393
- Updating changelogs for 3.0.0.0.2 by @wileyj in #5438
Full Changelog: 3.0.0.0.1...3.0.0.0.2
Release signer-3.0.0.0.2.0
What's Changed
- chore: remove irrefutable if let by @obycode in #5424
- fix: remove duplicate conditions by @obycode in #5422
- fix: include txid in more failure logs by @janniks in #4396
- test: additional scenarios for empty sortition tenure extends by @obycode in #5415
- merge release branch back to develop by @wileyj in #5428
- Add config option tenure_last_block_proposal_timeout_secs and do not allow reorgs at tenure boundary before it is exceeded by @jferrant in #5425
- Fix: snappy downloader by @jcnelson in #5393
- Updating changelogs for 3.0.0.0.2 by @wileyj in #5438
Full Changelog: 3.0.0.0.1...signer-3.0.0.0.2.0
Release 3.0.0.0.1
What's Changed
- Turn common stale chunk error into a debug with its own message by @jferrant in #5343
- Have get nakamoto headers return only the unique block ids and increase reward cycle length by @jferrant in #5353
- fix: Signer networking setup docs link by @aldur in #5363
- Fix: Conditional logging for 'Proceeding to mine blocks' message #5338 by @Parikalp-Bhardwaj in #5348
- signing_in_0th_tenure_of_reward_cycle fix: only check signers who match signatures on the block by @jferrant in #5368
- Fix/miner forking: increase the reward cycle length to increase liklihood of the test case hitting before reward cycle end by @jferrant in #5372
- Fix min_gap_between_blocks test: Do not use the burn block timestamp when comparing the min gap between blocks by @jferrant in #5371
- docs: explicitly specify burn or stacks block height parameter in clarity get info functions by @hugocaillard in #5374
- Ensure we have a minimum expected gap in flash blocks test by @jferrant in #5378
- Fix miner_recovers_when_broadcast_block_delay_across_tenures_occurs: Do not expect an exact number of signatures by @jferrant in #5380
- Chore/update block proposal timeout default to 10 mins by @jferrant in #5391
- Increment block responses sent all the time by @jferrant in #5387
- Fix/check block state check in validate reject by @jferrant in #5396
- locally_accepted_blocks_overriden_by_global_rejection fix: Store the rejected block in the database in testing directive case by @jferrant in #5390
- Fix miner_recovers_when_broadcast_delay_across_tenures_occurs: Wait for the tip to update before proceeding by @jferrant in #5394
- feat: add pause after block rejections by @obycode in #5406
- Chore: Change block rejection message to generic block response by @jferrant in #5407
- Clippy fix signer and stackslib cli.rs by @jferrant in #5410
- feat: allow pretty print logging in tests by @hstove in #5354
- Use thiserror throughout testnet/stacks-node by @jferrant in #5413
- feat: add index for stacks block id in nakamoto_block_headers by @kantai in #5414
- Fix clippy in stacks node by @jferrant in #5418
- feat: remove panic in DB busy handler by @obycode in #5421
- Update the changelogs by @wileyj in #5426
New Contributors
- @Parikalp-Bhardwaj made their first contribution in #5348
Full Changelog: 3.0.0.0.0...3.0.0.0.1
Release signer-3.0.0.0.1.0
What's Changed
Full Changelog: 3.0.0.0.1-rc1...signer-3.0.0.0.1.0