Upgrade Go to 1.21 and modernize critical dependencies#21
Merged
Conversation
## Summary Modernize the codebase by upgrading Go from 1.14 to 1.21 and updating critical dependencies to their latest stable versions. ## Changes ### Go Version - Upgrade from Go 1.14 to Go 1.21 (5-year gap) - Enables support for latest language features and performance improvements ### Dependency Updates - **etcd client**: Migrate from `github.com/coreos/etcd v3.3.10` to `go.etcd.io/etcd/client/v3 v3.5.11` (official v3 module) - **JWT**: Replace deprecated `github.com/dgrijalva/jwt-go v3.2.0` with `github.com/golang-jwt/jwt/v5 v5.2.0` (maintained fork) - **gRPC**: Update from `v1.29.1` (2020) to `v1.60.1` (2023) ### Code Changes Updated import paths in 4 files: - pkg/store/etcd/storeBuilder.go - pkg/store/etcd/discover.go - pkg/store/etcd/etcdStore.go - pkg/store/etcd/embedEtcdUtil.go Removed obsolete `cfg.Debug` field (no longer exists in etcd v3.5+) ### Cleanup - Remove outdated `vendor/` directory (modern Go uses go.mod) - Move Istio integration samples out (depends on deprecated mixer API) - Add backup files: go.mod.backup, go.sum.backup ## Build & Test Status ✅ All core applications build successfully: - speedle-pms (39MB) - speedle-ads (39MB) - spctl (9.1MB) ✅ Core package tests pass: - pkg/cfg ✓ - pkg/pdl ✓ - pkg/suid ✓ ## Breaking Changes - Istio integration samples temporarily removed (requires rewrite for new API) - Vendor directory removed (use `go mod download` instead) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Modernization Upgrade
This PR upgrades the project from Go 1.14 (2020) to Go 1.21 and updates critical dependencies to address security vulnerabilities and enable modern features.
📊 Summary
🔧 Key Changes
Go Version
Critical Dependency Updates
Security Impact
GitHub detected 28 vulnerabilities on master branch:
This upgrade addresses many of these by updating to patched versions.
📝 Code Changes
Updated Files (4)
Removed
Added
✅ Verification
Build Status
Test Results
Istio Integration Samples Removed
Vendor Directory Removed
📚 Migration Guide
For developers working on this codebase:
🔮 Future Improvements
Based on comprehensive codebase analysis, recommended follow-ups:
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com