all: upgrade minimum Go version to 1.25#19167
Closed
Copilot wants to merge 13 commits intoanacrolix/drop-go1.24-mainfrom
Closed
all: upgrade minimum Go version to 1.25#19167Copilot wants to merge 13 commits intoanacrolix/drop-go1.24-mainfrom
Copilot wants to merge 13 commits intoanacrolix/drop-go1.24-mainfrom
Conversation
## Network and Peers - Updated `--v5disc` default value - Added description for `--discovery.parallelism value` and `--discovery.ban-threshold value` ### Options - Updated options --h list with v3.3.7
…ery (#18933) Fixes #18195. This started as an attempt to carefully pull fixes for possible issues with netrestrict to discovering the upstream changes are quite significant. ## Packages synced from go-ethereum The following packages are forked in-tree from `go-ethereum` (synced to v1.16.8): | Erigon package | go-ethereum package | |---|---| | `p2p/` | `p2p/` | | `p2p/discover/` | `p2p/discover/` | | `p2p/discover/v4wire/` | `p2p/discover/v4wire/` | | `p2p/discover/v5wire/` | `p2p/discover/v5wire/` | | `p2p/dnsdisc/` | `p2p/dnsdisc/` | | `p2p/enode/` | `p2p/enode/` | | `p2p/enr/` | `p2p/enr/` | | `p2p/event/` | `event/` | | `p2p/netutil/` | `p2p/netutil/` | | `p2p/rlpx/` | `p2p/rlpx/` | | `common/mclock/` | `common/mclock/` | | `common/lru/` | `common/lru/` | All packages are vendored locally with no `github.com/ethereum/go-ethereum` module dependency. --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
### summary - Change `>=` to `>` in all three `findMergeRange` implementations (Domain, II, History) so that a later file with the same `from` but larger `to` replaces the current best, producing the largest power-of-2-aligned merge in a single pass - Guard `iit.mergeFiles` call in `HistoryRoTx.mergeFiles` with `r.index.needMerge` to avoid panic when only history needs merging (index already merged means `from=0, to=0` which hits the `startTxNum == endTxNum` assert) - Update test expectations and comments to match new behavior ### context - some offline commands like stage_exec or commitment rebuild will produce bunch of smaller files which then need to be merged e,g 0.16, 16-32,32-48, 48-64 - previous logic will merge first 2 files, then the 3 files. - this PR changes that to merge all files directly, reducing amount spent in merging files.
Store BALs in DB, up to reorg depth
Fixes #19076 1. Data race: `SubscribeReceipts` inserted a partially-initialized filter into the shared map via `insertReceiptsFilter`, then set fields like `allTxHashes` after the lock was released. Meanwhile, `distributeReceipt` could read those fields concurrently. Fix: build the filter completely before acquiring the lock and inserting it into the map. 2. Timing issue: `filters.New` spawns a goroutine that calls `ethBackend.SubscribeReceipts`, which blocks eventually stores the `receiptsRequestor`. If a client calls `ff.SubscribeReceipts` before it gets stored, the filter request is silently dropped, and the server never learns about the subscription - so it never sends receipts, and the test hangs forever. Fix: when the requestor is not set, set a `pendingReceiptsUpdate` flag; once `SubscribeReceipts` stores the requestor, it calls the `onReady` callback which checks the flag and sends the deferred filter update.
Fresh commit on a PR cancel test-hive CI jobs triggered by previous commits.
from and to are currently same: ``` INFO[02-12|10:38:04.617] [6/8 Execution] serial starting from=29542423 to=29542422 initialTxNum=202940290 initialBlockTxOffset=0 lastFrozenStep=128 initialCycle=true isForkValidation=false isBlockProduction=false INFO[02-12|10:38:24.619] [6/8 Execution] serial executed blk=29545691 blks=3269 blk/s=163 txs=31.07k tx/s=1.55k gas/s=264.98M tgas/s=0(0) aratio=0.0 tdur=0s trdur=0s(0.00%) rd=0 rd/s=0 buf=166.3MB/512.0MB bdur=4ms ucgas=5.30G alloc=8.1GB sys=24.3GB isForkValidation=false isBlockProduction=false isApplyingBlocks=true INFO[02-12|10:38:44.620] [6/8 Execution] serial executed blk=29549581 blks=3890 blk/s=194 txs=31.54k tx/s=1.57k gas/s=280.92M tgas/s=0(0) aratio=0.0 tdur=0s trdur=0s(0.00%) rd=0 rd/s=0 buf=281.5MB/512.0MB bdur=4ms ucgas=1 ``` - also simplified the if condition when log is printed
3 tasks
This is a rebased version of the Go 1.25 upgrade PR on top of the latest main branch. Changes include: - Bump minimum Go version from 1.24 to 1.25 across go.mod, CI workflows, Dockerfiles, Makefile, and documentation - Remove dead compatibility code for Go versions prior to 1.25: synctest go1.24 shim, node/debug trace fallback (go<1.5), blake2b SSE4-only fallback (go<1.7) - Strip now-redundant //go:build version constraints - Merge synctest versioned files and fix gofmt formatting Co-authored-by: anacrolix <988750+anacrolix@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update minimum Go version to 1.25 across project
all: upgrade minimum Go version to 1.25
Feb 13, 2026
Contributor
|
idiot AI |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps minimum Go version from 1.24 to 1.25 and removes compatibility shims for older versions.
Build configuration
go.mod, CI workflows, Dockerfiles, Makefile to require Go 1.25Removed compatibility code
common/synctest: Merge versioned files, remove go1.24 shim (synctest.Test now available natively)node/debug: Remove trace fallback for go<1.5common/crypto/blake2b: Remove SSE4-only fallback for go<1.7//go:buildversion constraintsBranch history
Rebased onto latest main (2423c3d) to incorporate recent changes.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.