Skip to content

Commit a743b24

Browse files
committed
Merge branch 'develop' into feat/tenure_boundary_heuristic
2 parents fcfe7a0 + 11912b6 commit a743b24

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4596
-770
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
77

88
## [Unreleased]
99

10-
### Added
10+
## Added
1111

12+
- The `BlockProposal` StackerDB message serialization struct now includes a `server_version` string, which represents the version of the node that the miner is using. ([#5803](https://github.com/stacks-network/stacks-core/pull/5803))
1213
- Add `vrf_seed` to the `/v3/sortitions` rpc endpoint
1314

1415
### Changed
1516

1617
- Miner will stop waiting for signatures on a block if the Stacks tip advances (causing the block it had proposed to be invalid).
18+
- Logging improvements:
19+
- P2P logs now includes a reason for dropping a peer or neighbor
20+
- Improvements to how a PeerAddress is logged (human readable format vs hex)
1721

1822
### Fixed
1923

@@ -24,12 +28,14 @@ and this project adheres to the versioning scheme outlined in the [README.md](RE
2428
### Added
2529

2630
- 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
31+
- Add miner configuration option `tenure_extend_wait_timeout_ms` to specify the time to wait before trying to continue a tenure because the next miner did not produce blocks
2732

2833
### Changed
2934

3035
- Miner will include other transactions in blocks with tenure extend transactions (#5760)
3136
- Add `block_rejection_timeout_steps` to miner configuration for defining rejections-based timeouts while waiting for signers response (#5705)
3237
- Miner will not issue a tenure extend until at least half of the block budget has been spent (#5757)
38+
- Miner will issue a tenure extend if the incoming miner has failed to produce a block (#5729)
3339

3440
### Fixed
3541

Dockerfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM rust:alpine as build
1+
FROM rust:bookworm AS build
22

33
ARG STACKS_NODE_VERSION="No Version Info"
44
ARG GIT_BRANCH='No Branch Info'
@@ -8,15 +8,13 @@ WORKDIR /src
88

99
COPY . .
1010

11-
RUN apk add --no-cache musl-dev
12-
1311
RUN mkdir /out
1412

1513
RUN cargo build --features monitoring_prom,slog_json --release
1614

1715
RUN cp target/release/stacks-node /out
1816

19-
FROM alpine
17+
FROM debian:bookworm-slim
2018

2119
COPY --from=build /out/ /bin/
2220

Dockerfile.debian

Lines changed: 0 additions & 21 deletions
This file was deleted.

Dockerfile.memtest renamed to contrib/tools/Dockerfile.memtest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM rust:latest
22

3-
WORKDIR /src/blockstack-core
3+
WORKDIR /src/stacks-core
44

55
RUN apt-get update
66
RUN apt-get install valgrind heaptrack -y

contrib/tools/block-replay.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,6 @@ usage() {
375375
echo " ${COLBOLD}${0}${COLRESET}"
376376
echo " ${COLYELLOW}--testing${COLRESET}: only check a small number of blocks"
377377
echo " ${COLYELLOW}-t|--terminal${COLRESET}: more terminal friendly output"
378-
echo " ${COLYELLOW}-u|--upload${COLRESET}: upload results to s3"
379378
echo " ${COLYELLOW}-n|--network${COLRESET}: run block replay against specific network (default: mainnet)"
380379
echo " ${COLYELLOW}-b|--branch${COLRESET}: branch of stacks-core to build stacks-inspect from (default: develop)"
381380
echo " ${COLYELLOW}-r|--reserved${COLRESET}: how many cpu cores to reserve for system tasks"
@@ -387,7 +386,7 @@ usage() {
387386

388387

389388
## install missing dependencies
390-
for cmd in curl tmux git wget tar gzip grep cargo pgrep aws; do
389+
for cmd in curl tmux git wget tar gzip grep cargo pgrep; do
391390
command -v "${cmd}" >/dev/null 2>&1 || {
392391
case "${cmd}" in
393392
"cargo")
@@ -396,9 +395,6 @@ for cmd in curl tmux git wget tar gzip grep cargo pgrep aws; do
396395
"pgrep")
397396
package="procps"
398397
;;
399-
"aws")
400-
package="awscli"
401-
;;
402398
*)
403399
package="${cmd}"
404400
;;

docs/release-process.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
Normal releases in this repository that add new features are released on a monthly schedule.
1717
The currently staged changes for such releases are in the [develop branch](https://github.com/stacks-network/stacks-core/tree/develop).
1818
It is generally safe to run a `stacks-node` from that branch, though it has received less rigorous testing than release tags or the [master branch](https://github.com/stacks-network/stacks-core/tree/master).
19-
If bugs are found in the `develop` branch, please do [report them as issues](https://github.com/stacks-network/stacks-core/issues) on this repository.
19+
If bugs are found in the `develop` branch, please do [report them as issues](https://github.com/stacks-network/stacks-core/issues) in this repository.
2020

2121
For fixes that impact the correct functioning or liveness of the network, _hotfixes_ may be issued.
22-
These are patches to the main branch which are backported to the develop branch after merging.
22+
These are patches to the default branch which are backported to the develop branch after merging.
2323
These hotfixes are categorized by priority according to the following rubric:
2424

2525
- **High Priority**. Any fix for an issue that could deny service to the network as a whole, e.g., an issue where a particular kind of invalid transaction would cause nodes to stop processing requests or shut down unintentionally. Any fix for an issue that could cause honest miners to produce invalid blocks.
@@ -58,27 +58,33 @@ The timing of the next Stacking cycle can be found [here](https://stx.eco/dao/to
5858

5959
- A label should be applied to each such issue/PR as `X.Y.Z.A.n-blocker`.
6060

61-
3. Since development is continuing in the `develop` branch, it may be necessary to cherry-pick some commits into the release branch.
61+
3. Perform a [block-replay](../contrib/tools/block-replay.sh) using an existing chainstate, or sync from genesis
62+
63+
4. Since development is continuing in the `develop` branch, it may be necessary to cherry-pick some commits into the release branch or open a PR against the release branch.
6264

6365
- Create a feature branch from `release/X.Y.Z.A.n`, ex: `feat/X.Y.Z.A.n-pr_number`.
6466
- Add cherry-picked commits to the `feat/X.Y.Z.A.n-pr_number` branch
6567
- Merge `feat/X.Y.Z.A.n-pr_number` into `release/X.Y.Z.A.n`.
6668

67-
4. Open a PR to update the [CHANGELOG](../CHANGELOG.md) in the `release/X.Y.Z.A.n` branch.
69+
5. If necessary, open a PR to update the [CHANGELOG](../CHANGELOG.md) in the `release/X.Y.Z.A.n` branch.
6870

6971
- Create a chore branch from `release/X.Y.Z.A.n`, ex: `chore/X.Y.Z.A.n-changelog`.
72+
- Update [versions.toml](../versions.toml) to match this release:
73+
- Update the `stacks_node_version` string to match this release version.
74+
- Update the `stacks_signer_version` string to match `stacks_node_version`, with an appending `0` for this release version.
7075
- Add summaries of all Pull Requests to the `Added`, `Changed` and `Fixed` sections.
71-
- Update the `stacks_node_version` string in [versions.toml](../versions.toml) to match this release.
7276

7377
- Pull requests merged into `develop` can be found [here](https://github.com/stacks-network/stacks-core/pulls?q=is%3Apr+is%3Aclosed+base%3Adevelop+sort%3Aupdated-desc).
7478

7579
**Note**: GitHub does not allow sorting by _merge time_, so, when sorting by some proxy criterion, some care should be used to understand which PR's were _merged_ after the last release.
7680

77-
5. Once `chore/X.Y.Z.A.n-changelog` has merged, a build may be started by manually triggering the [`CI` workflow](../.github/workflows/ci.yml) against the `release/X.Y.Z.A.n` branch.
81+
- This PR must be merged before continuing to the next steps
82+
83+
6. A build may be started by manually triggering the [`CI` workflow](../.github/workflows/ci.yml) against the `release/X.Y.Z.A.n` branch.
7884

79-
6. Once the release candidate has been built and binaries are available, ecosystem participants shall be notified to test the tagged release on various staging infrastructure.
85+
- **Note**: A `stacks-signer` release will also be produced when this workflow is run
8086

81-
7. The release candidate will test that it successfully syncs with the current chain from genesis both in testnet and mainnet.
87+
7. Once the release candidate has been built and binaries are available, ecosystem participants shall be notified to test the tagged release on various staging infrastructure.
8288

8389
8. If bugs or issues emerge from the rollout on staging infrastructure, the release will be delayed until those regressions are resolved.
8490

@@ -90,7 +96,7 @@ The timing of the next Stacking cycle can be found [here](https://stx.eco/dao/to
9096

9197
10. Finally, the following merges will happen to complete the release process:
9298
- Release branch `release/X.Y.Z.A.n` will be merged into the `master` branch.
93-
- Then, `master` will be merged into `develop`.
99+
- Then, `release/X.Y.Z.A.n` will be merged into `develop`.
94100

95101
## Consensus Breaking Release Process
96102

0 commit comments

Comments
 (0)