# 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](./0002-go-version.md). **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 - [ADR-0002: Go Version](./0002-go-version.md) - Superseded by this ADR - [Go 1.25 Release Notes](https://go.dev/doc/go1.25)