Skip to content

Release v2.9.0#2295

Merged
kamuikatsurgi merged 17 commits into
masterfrom
kamuikatsurgi/valencia-v2.9.0
Jul 2, 2026
Merged

Release v2.9.0#2295
kamuikatsurgi merged 17 commits into
masterfrom
kamuikatsurgi/valencia-v2.9.0

Conversation

@kamuikatsurgi

Copy link
Copy Markdown
Member

Public release v2.9.0 - Valencia hardfork.

Post-rollout merge-back of the private security release (v2.9.0-priv). Activation: Amoy 40,776,000 / Mainnet 89,531,000.

@kamuikatsurgi kamuikatsurgi marked this pull request as ready for review July 2, 2026 15:05
Copilot AI review requested due to automatic review settings July 2, 2026 15:05

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release v2.9.0 merge-back introducing the Valencia hardfork activation across configs and adding several safety/performance hardening changes in RPC execution, witness serving, and Bor state-sync handling.

Changes:

  • Wire up ValenciaBlock (Amoy 40,776,000, Mainnet 89,531,000) across runtime presets, CLI chain presets, genesis files, forkid, and config banner/tests.
  • Add Valencia+ state-sync size budgeting and miner-side block-size reservation to prevent oversized/non-propagating sprint-start blocks.
  • Harden RPC and WIT: replace RPC workerpool with a semaphore-based limiter (with tests), cap WIT request element counts, and add framing-aware response size checks / uncached witness reads; add singleflight for concurrent GetRootHash cache misses.

Reviewed changes

Copilot reviewed 33 out of 34 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
rpc/execution_pool.go Replace worker pool with semaphore-based concurrency limiter; metrics reporting updates
rpc/execution_pool_test.go New tests for pool sizing, ChangeSize behavior, and shedding semantics
params/version.go Bump version to v2.9.0
params/protocol_params.go Introduce Valencia state-sync byte budget constants
params/config.go Add ValenciaBlock to Bor config, presets, and banner output
params/config_test.go Tests for Valencia banner output and IsValencia gating
node/rpcstack.go Wire HTTP/WS RPC server execution pool size from config
node/rpcstack_test.go Test that RPC/WS pools are sized from config
node/node.go Pass HTTP execution pool size into HTTP server config
miner/worker.go Reserve block-size budget for Valencia state-sync system tx at sprint start
miner/worker_test.go Tests for txFitsSize w/ reservation and stateSyncReserveFor gating
internal/cli/server/server_test.go Make developer-mode mining test more robust to timing
internal/cli/server/chains/mainnet.go Add ValenciaBlock to mainnet CLI chain preset
internal/cli/server/chains/amoy.go Add ValenciaBlock to amoy CLI chain preset
go.mod Drop workerpool dependency; add singleflight dependency
go.sum Remove workerpool/deque sums and update deps
eth/protocols/wit/request_rlp.go Add bounded DecodeRLP implementations to cap list element counts
eth/protocols/wit/protocol.go Define MaxWitnessServe / MaxWitnessMetadataServe constants
eth/protocols/wit/peer.go Enforce request limits client-side for witness requests
eth/protocols/wit/peer_test.go Tests for over-limit witness request rejection
eth/protocols/wit/handlers.go Enforce request limits server-side in WIT handlers
eth/protocols/wit/handlers_test.go Tests for DecodeRLP bounds enforcement
eth/handler_wit.go Bound witness serving by request counts, memory, and encoded response size; avoid cache pollution
eth/handler_wit_test.go Tests for page cap, memory budget, and response-size bound
core/types/bor_extra_test.go Tests for raw TxDependency decode optimization + Valencia gate behavior
core/types/block.go Avoid TxDependency expansion for header verification; add combined accessor; Valencia gate for txdep validation
core/forkid/forkid.go Include ValenciaBlock in forkid fork gathering
core/blockchain_reader.go Add GetWitnessUncached to serve peers without cache insertion
consensus/bor/bor.go Use combined extra accessor; add Valencia state-sync per-block budget enforcement
consensus/bor/bor_test.go Tests for state-sync budgeting behavior and guarantees
consensus/bor/api.go Collapse concurrent GetRootHash cache misses via singleflight
consensus/bor/api_roothash_concurrency_test.go Concurrency regression test for singleflight behavior
builder/files/genesis-mainnet-v1.json Add valenciaBlock to mainnet genesis
builder/files/genesis-amoy.json Add valenciaBlock to amoy genesis

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread rpc/execution_pool.go
Comment thread eth/protocols/wit/handlers.go
@kamuikatsurgi kamuikatsurgi merged commit 920556e into master Jul 2, 2026
11 of 14 checks passed
@kamuikatsurgi kamuikatsurgi deleted the kamuikatsurgi/valencia-v2.9.0 branch July 2, 2026 15:14
@sonarqubecloud

sonarqubecloud Bot commented Jul 2, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants