-
Notifications
You must be signed in to change notification settings - Fork 742
Lower the go version to 1.18 #575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThe Go toolchain version in go.mod was changed from 1.23 to 1.18. No module path, dependencies, or code were altered. No exported or public declarations were modified. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
go.mod (4)
3-3
: Run tidy and lock sums under Go 1.18.To avoid accidental drift caused by newer toolchains, ensure
go.mod
/go.sum
are regenerated using Go 1.18 in CI (e.g., a matrix job) and committed if they change.
3-3
: CI matrix: keep latest stable alongside 1.18.Recommend testing against Go 1.18 (min), the latest stable, and optionally the previous stable to catch forward- and backward-compat issues early.
3-3
: Docs sync: advertise the new minimum.Update README/CONTRIBUTING/release notes to state “Minimum supported Go version: 1.18” and add a checkmark in the PR template for min-Go changes going forward.
I can draft the doc blurb or a CI job that enforces the dependency Go-version guard shown above. Want me to open a follow-up?
3-3
: Add CI check to enforce Go ≤1.18 for all dependencies. Verified no transitive modules declare ago
directive >1.18 and no usage of stdlib APIs introduced after Go 1.18 was found. Introduce a CI step (e.g., runninggo list -m -json all | jq …
) that fails if any dependency’sgo
version exceeds 1.18.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
go.sum
is excluded by!**/*.sum
📒 Files selected for processing (1)
go.mod
(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-06-30T07:13:17.052Z
Learnt from: ezynda3
PR: mark3labs/mcp-go#461
File: server/sampling.go:22-26
Timestamp: 2025-06-30T07:13:17.052Z
Learning: In the mark3labs/mcp-go project, the MCPServer.capabilities field is a struct value (serverCapabilities), not a pointer, so it cannot be nil and doesn't require nil checking. Only pointer fields within the capabilities struct should be checked for nil.
Applied to files:
go.mod
this version is not supported anymore: https://go.dev/doc/devel/release#policy |
Description
Lower Go version requirement from 1.23 to 1.18 to improve project compatibility and accessibility. This change will allow more existing projects using lower Go versions to reference and use this library without requiring them to upgrade their Go environment.
Type of Change
Changes Made
go.mod
to require Go 1.18 instead of Go 1.23Rationale
Checklist
Compatibility Notes
Additional Information
This change is a backward-compatible improvement that won't affect existing users but will significantly improve project accessibility for developers and projects using lower Go versions. Go 1.18 is still an actively supported version and contains all important features needed for modern Go development.
Summary by CodeRabbit