- 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
2.1 KiB
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
- Clear Documentation: Update all documentation to specify Go 1.25.3 requirement
- CI/CD Updates: Ensure CI/CD pipelines use Go 1.25.3
- Version Check: Add version validation in build scripts if needed
- Developer Communication: Notify team of version requirement
Implementation Notes
- Update
go.mod:go 1.25.3 - Update
.github/workflows/ci.ymlto useactions/setup-go@v5with version1.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 tidyto ensure dependency compatibility
References
- ADR-0002: Go Version - Superseded by this ADR
- Go 1.25 Release Notes