What's Changed
- feat(scheduler): WithStartAtGrace opt-in tolerance for late first-run dispatch by @JohnRoesler in https://github.com/go-co-op/gocron/pull/945
- fix(executor,scheduler): use injected clock for job timing and guard reschedule loop by @JohnRoesler in https://github.com/go-co-op/gocron/pull/946
- fix(executor): attribute scheduling delay to the tick that actually fired by @JohnRoesler in https://github.com/go-co-op/gocron/pull/948
- refactor(scheduler): extract shared first-run logic from selectNewJob/selectStart by @JohnRoesler in https://github.com/go-co-op/gocron/pull/947
- build(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in https://github.com/go-co-op/gocron/pull/949
- build(deps): bump actions/setup-python from 6 to 7 by @dependabot[bot] in https://github.com/go-co-op/gocron/pull/950
- ci: updating golangci-lint to 2.13.1 to support go 1.27 by @manuelarte in https://github.com/go-co-op/gocron/pull/954
- Exclude stable Go version in CI workflow by @JohnRoesler in https://github.com/go-co-op/gocron/pull/968
- docs: removing retired go report badge by @manuelarte in https://github.com/go-co-op/gocron/pull/952
- build(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.1 by @dependabot[bot] in https://github.com/go-co-op/gocron/pull/955
- fix: validate fixed argument count for variadic tasks by @jakezwang in https://github.com/go-co-op/gocron/pull/958
- fix(executor): complete singleton reschedule cleanup on cancellation by @H-XX-D in https://github.com/go-co-op/gocron/pull/959
- fix(job): deduplicate equivalent one-time run times by @x0Lazarus in https://github.com/go-co-op/gocron/pull/960
- build(deps): bump https://github.com/golangci/golangci-lint from v2.12.2 to 2.14.0 by @dependabot[bot] in https://github.com/go-co-op/gocron/pull/961
- fix(job): respect cron calendar constraints during DST adjustment by @pranavpk404 in https://github.com/go-co-op/gocron/pull/963
- fix(scheduler): preserve jobs when update validation fails by @Grivn in https://github.com/go-co-op/gocron/pull/964
- fix(job): return the run start time from LastRunStartedAt by @spicysharkco in https://github.com/go-co-op/gocron/pull/967
- fix(job): preserve calendar dates across midnight DST by @Aryangupta-05 in https://github.com/go-co-op/gocron/pull/966
- fix(scheduler): drop stale next runs when the scheduler restarts by @spicysharkco in https://github.com/go-co-op/gocron/pull/969
- fix(job): stop MonthlyJob searching forever when no month has the day by @spicysharkco in https://github.com/go-co-op/gocron/pull/970
- fix(executor): drop stale next runs when the elector skips a run by @spicysharkco in https://github.com/go-co-op/gocron/pull/971
New Contributors
- @jakezwang made their first contribution in https://github.com/go-co-op/gocron/pull/958
- @H-XX-D made their first contribution in https://github.com/go-co-op/gocron/pull/959
- @x0Lazarus made their first contribution in https://github.com/go-co-op/gocron/pull/960
- @pranavpk404 made their first contribution in https://github.com/go-co-op/gocron/pull/963
- @Grivn made their first contribution in https://github.com/go-co-op/gocron/pull/964
- @spicysharkco made their first contribution in https://github.com/go-co-op/gocron/pull/967
- @Aryangupta-05 made their first contribution in https://github.com/go-co-op/gocron/pull/966
Full Changelog: https://github.com/go-co-op/gocron/compare/v2.22.0...v2.23.0