Releases: go-co-op/gocron
v2.0.0-rc2
What's Changed
- Add codecov by @JohnRoesler in #611
- force
executor
to use attached logger instead of "log" package by @AlphaNecron in #613 - add distributed locker for v2 by @JohnRoesler in #614
New Contributors
- @AlphaNecron made their first contribution in #613
Full Changelog: v2.0.0-rc1...v2.0.0-rc2
v1.36.0
What's Changed
- Exposing job's scheduled unit and interval by @chicknsoup in #606
New Contributors
- @chicknsoup made their first contribution in #606
Full Changelog: v1.35.3...v1.36.0
v2.0.0-rc1
How's v2 coming?
You might notice this is a release candidate! All the intended functionality is documented and tested! Of course, there will likely be more features added as PRs come in or features are requested, but won't hold up getting v2.0.0 released (soon). This is near parity with v1, except for some cleaning up / slimming down of the methods.
What's Changed
- elector test & makefile test coverage by @JohnRoesler in #605
- support go 1.20+ by @JohnRoesler in #608
- test all remaining With*, and test logger by @JohnRoesler in #609
- update docs and add mocks pkg by @JohnRoesler in #610
Full Changelog: https://github.com/go-co-op/gocron/commits/v2.0.0-rc1
v2.0.0-alpha-4
What's Changed
- added the
WithLogger
option on the scheduler - go.mod is set to go 1.21. I don't see a reason for not upgrading Go as the go compatibility promise means your code will run on all future versions of Go
- added more tests (working towards 100% coverage, because it's a library, nothing should be untested)
Full Changelog: v2.0.0-alpha-3...v2.0.0-alpha-4
v2.0.0-alpha-3
What's Changed
- resolved some cases where the scheduler would be blocked when shutting down. Gotta be careful not be blocked when publishing or consuming from a channel.
select
is a good friend! - added a bunch more tests and inline comments to help make it clear to anyone reading the code what's going on
- protected the standard job shutdown waitgroup with a mutex (hopefully that's the only mutex in the project)
Full Changelog: v2.0.0-alpha-2...v2.0.0-alpha-3
v2.0.0-alpha-2
What's Changed
- Cleaned up the redundancy on the job definitions where each one was requiring the task and options, and instead just moved that into the
NewJob
function on the scheduler. - add daily job
- support reschedule and wait modes on job singleton mode
Full Changelog: v2.0.0-alpha-1...v2.0.0-alpha-2
v1.35.3
What's Changed
- main branch renamed to v1 (#593) by @JohnRoesler in #594
- fix: set multi-weekdays bug about issue-590 by @XiXiangFiles in #592
- Avoid allocations with
(*regexp.Regexp).MatchString
by @Juneezee in #602 - Bump github.com/google/uuid from 1.3.1 to 1.4.0 by @dependabot in #604
- fix(scheduler): ensure negative intervals given to
Every
return an immediate error #600 by @husam-e in #603
New Contributors
Full Changelog: v1.35.2...v1.35.3
v2.0.0-alpha-1
gocron v2
This is an early and incomplete release of v2 for gocron. The goal here is to give you all a chance to start playing around with the interfaces and functionality and give feedback.
From the v2 issue:
The main focuses are:
- no more sharing our resources across goroutines and therefore no mutexes!
- redesigning the scheduler to be an interface (to allow for easier testing by users)
- the new job definitions will remove all the potential issues of pairing incompatible types / features together and focus on a complete definition of configuration needed for that particular type of job
- keeping feature parity close to v1 (although might be a few minor losses of un-tenable features)
Quite a few of the main features are implemented and working.
- easier manipulation of time in testing thanks to https://github.com/jonboulle/clockwork
- duration, cron, weekly, monthly, and random jobs
- lots of job and scheduler options (e.g. singleton, limit mode)
The best place to discuss v2 is: #576
Please give feedback! (Reach out on slack if you're interested in contributing so we can coordinate work 😄 )
v1.35.2
What's Changed
- Revert "fix: setting weeks interval greater than 1 with a weekday, scheduling too early by @XiXiangFiles" by @JohnRoesler in #591
- This will require more testing and likely some rework of the week functionality. This change, while some might consider it a fix, broke the current behavior that has been relied upon.
Full Changelog: v1.35.1...v1.35.2
v1.35.1
What's Changed
- fix: setting weeks interval greater than 1 with a weekday, scheduling too early by @XiXiangFiles in #588
- fix concurrent access to jobs map by @JohnRoesler in #589
New Contributors
- @XiXiangFiles made their first contribution in #588
Full Changelog: v1.35.0...v1.35.1