Files
goplt/docs/content/adr/0034-go-version-upgrade.md
0x1d fbc3fc37e4
Some checks failed
CI / Test (pull_request) Successful in 36s
CI / Lint (pull_request) Failing after 3s
CI / Build (pull_request) Successful in 16s
CI / Format Check (pull_request) Successful in 2s
feat: upgrade to Go 1.25.3 and update build to include api-gateway
- Create ADR-0034 documenting Go version upgrade to 1.25.3
- Mark ADR-0002 as superseded by ADR-0034
- Update CI workflow to use Go 1.25.3
- Update Makefile to build both platform and api-gateway binaries
- Update CI workflow to build and upload both binaries
- Update documentation (ADR README and mkdocs.yml) to include ADR-0034
2025-11-06 09:41:47 +01:00

2.1 KiB

ADR-0034: Go Version Upgrade to 1.25.3

Status

Accepted

Context

ADR-0002 established Go 1.24.3 as the minimum required version. Since then:

  • Go 1.25.3 has been released with new features, performance improvements, and security fixes
  • The project requires access to newer language features and tooling improvements
  • Dependencies may benefit from Go 1.25.3 optimizations
  • The development team has Go 1.25.3 available and working

Decision

Upgrade from Go 1.24.3 to Go 1.25.3 as the minimum required version for the platform.

This decision supersedes ADR-0002: Go Version.

Rationale:

  • Access to latest Go features and performance improvements
  • Better security with latest patches
  • Improved tooling support and compiler optimizations
  • Ensures compatibility with latest ecosystem dependencies
  • Supports all planned features (modules, plugins, generics) with enhanced capabilities

Consequences

Positive

  • Access to latest Go features and performance improvements
  • Better security with latest patches
  • Modern tooling support with improved compiler optimizations
  • Better compatibility with latest dependency versions
  • Enhanced performance characteristics

Negative

  • Requires developers to upgrade to Go 1.25.3+
  • CI/CD must be updated to use Go 1.25.3
  • May require dependency updates for compatibility
  • Slightly higher barrier for developers still on older versions

Mitigations

  1. Clear Documentation: Update all documentation to specify Go 1.25.3 requirement
  2. CI/CD Updates: Ensure CI/CD pipelines use Go 1.25.3
  3. Version Check: Add version validation in build scripts if needed
  4. Developer Communication: Notify team of version requirement

Implementation Notes

  • Update go.mod: go 1.25.3
  • Update .github/workflows/ci.yml to use actions/setup-go@v5 with version 1.25.3
  • Update ADR-0002 to mark as Superseded
  • Update README.md and other documentation to reflect Go 1.25.3 requirement
  • Run go mod tidy to ensure dependency compatibility

References