forked from robfig/cron
-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
breaking-changeBreaking API changes for v2Breaking API changes for v2modernizationGo modernization opportunitiesGo modernization opportunities
Description
Summary
The minimum required Go version has been upgraded from Go 1.12 to Go 1.25, enabling modern language features and better performance.
Why Go 1.25?
Language Features Used
- Generic min/max builtins (Go 1.21+): Cleaner code for comparisons
- slices package (Go 1.21+):
slices.SortFunc,slices.DeleteFuncfor cleaner collection operations - slog package (Go 1.21+): Structured logging adapter
- sync/atomic types (Go 1.19+): Type-safe atomic operations
Benefits
- Performance: Modern Go runtime optimizations
- Security: Latest security patches and hardening
- Maintainability: Cleaner code using modern idioms
- Tooling: Better IDE support and linting
Migration
Check Your Go Version
go version
# Must show go1.25 or higherUpdate Your Project
# Update go.mod
go mod edit -go=1.25
# Update dependencies
go mod tidyCI/CD Updates
Update your CI configuration to use Go 1.25+:
# GitHub Actions
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v5
with:
go-version: '1.25'Version History
| Release | Minimum Go |
|---|---|
| robfig/cron v3 | Go 1.12 |
| netresearch/go-cron v0.5.0 | Go 1.25 |
Related
- Part of v0.5.0 release
- Implemented in PR feat: modernize fork with panic fixes, DST handling, and CI #1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
breaking-changeBreaking API changes for v2Breaking API changes for v2modernizationGo modernization opportunitiesGo modernization opportunities