41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
# ADR-0002: Go Version
|
|
|
|
## Status
|
|
Superseded by [ADR-0034: Go Version Upgrade to 1.25.3](./0034-go-version-upgrade.md)
|
|
|
|
## Context
|
|
Go releases new versions regularly with new features, performance improvements, and security fixes. We need to choose a Go version that:
|
|
|
|
- Provides necessary features for the platform
|
|
- Has good ecosystem support
|
|
- Is stable and production-ready
|
|
- Supports required tooling (plugins, etc.)
|
|
|
|
## Decision
|
|
Use **Go 1.24.3** as the minimum required version for the platform.
|
|
|
|
**Rationale:**
|
|
- Latest stable version available
|
|
- Provides all required features for the platform
|
|
- Ensures compatibility with modern Go tooling
|
|
- Supports all planned features (modules, plugins, generics)
|
|
|
|
## Consequences
|
|
|
|
### Positive
|
|
- Access to latest Go features and performance improvements
|
|
- Better security with latest patches
|
|
- Modern tooling support
|
|
|
|
### Negative
|
|
- Requires developers to have Go 1.24.3+ installed
|
|
- CI/CD must use compatible Go version
|
|
- May limit compatibility with some older dependencies (if any)
|
|
|
|
### Implementation Notes
|
|
- Specify in `go.mod`: `go 1.24`
|
|
- Document in `README.md` and CI configuration
|
|
- Update `.github/workflows/ci.yml` to use `actions/setup-go@v5` with version `1.24.3`
|
|
- Add version check script if needed
|
|
|