Skip to content

Update to go 1.27 - #7

Open
alexeykiselev wants to merge 9 commits into
mainfrom
update-to-go-1.27
Open

alexeykiselev wants to merge 9 commits into
mainfrom
update-to-go-1.27

Conversation

@alexeykiselev

Copy link
Copy Markdown
Contributor

No description provided.

Log messages updated.
GolangCI-lint configuration file updated.
Dependencies updated.

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

API startup failure exits from a worker goroutine and bypasses deferred storage and service cleanup.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Updates the project to Go 1.27 and aligns it with the latest GoWaves APIs and structured logging.

Changes:

  • Upgrades Go and dependencies, including GoWaves protocol APIs.
  • Replaces Zap with slog and adds network logging controls.
  • Updates tests and golangci-lint configuration.
File Description
.golangci-strict.yml Migrates lint configuration to v2.
README.md Documents logging flags.
api/​api.go Migrates API logging to slog.
chains/​linkage.go Adds component-scoped logging.
chains/​linkage_internal_test.go Updates settings and constructor usage.
chains/​storage_internal_test.go Uses the new test settings API.
connection_manager.go Updates networking APIs and loggers.
distributor.go Migrates logging and block-ID messages.
forkdetector.go Configures loggers and application exit handling.
go.mod Sets Go 1.27 and upgrades dependencies.
go.sum Updates dependency checksums.
listener.go Adds structured listener logging.
loading/​loader.go Adds structured loader logging.
loading/​peer_loader.go Adds peer-scoped logging.
loading/​peer_loader_internal_test.go Supplies discard loggers in tests.
loading/​queue_internal_test.go Uses the new test settings API.
parameters.go Adds logging configuration flags.
peers/​peer.go Updates logging and block-ID messages.
peers/​registry.go Injects and propagates registry logging.
respawn.go Adds structured respawn logging.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread api/api.go Outdated

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

API listener failures no longer terminate the process, allowing it to run indefinitely without its HTTP API.

Review effort: Balanced
Findings: 1 High severity

Open (1)
Resolved since last review (1)

Comment thread api/api.go

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

Listener startup failures are not propagated, and the public peer schema documentation is incomplete.

Review effort: Balanced
Findings: 2 High severity · 2 Low severity

Open (4)

Comment thread forkdetector.go
Comment thread peers/peer.go
Comment thread peers/registry.go

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

Legacy configured seeds bypass timestamp migration and can retain invalid last_seen values indefinitely.

Review effort: Balanced
Findings: 1 High severity · 1 Low severity

Open (2)
Resolved since last review (2)
Previously missed (1)

In code that hasn't changed since last review

Medium severity Legacy seeds skip LastSeen backfill and remain inactive

peers/​registry.go:400

Legacy seed records are exempted before the zero-LastSeen migration runs. Because configured seeds are always skipped here, a seed persisted by the previous schema keeps the year-1 timestamp indefinitely and is excluded from ActivePeers whenever disconnected. Backfill LastSeen before applying seed/connection exemptions.

Copilot AI 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.

Copilot review overview

🔵 Needs a closer look

The Go prerequisite and peer-retention exceptions remain inconsistent across the public documentation.

Review effort: Balanced
Findings: None

Resolved since last review (2)
Previously missed (2)

In code that hasn't changed since last review

Low severity Document active and pending connection retention exceptions

api/​swagger/​openapi.yaml:264

This omits two retention exceptions implemented by PruneStalePeers: active and pending connections are also retained. The README already describes all three exceptions, so the OpenAPI contract should match it.

Low severity Update documented Go prerequisite to 1.27

go.mod:3

The documented build prerequisite is now stale: README.md:388 still says Go 1.23 must be installed, while this directive requires Go 1.27. Update the build documentation so users do not attempt the upgrade with an unsupported toolchain.

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.

2 participants