14 Commits

Author SHA1 Message Date
3b10d88e6f Merge branch 'main' into feat-ionos-dns-provider-redis
All checks were successful
CI / test (pull_request) Successful in 3m18s
2025-08-25 13:39:04 +02:00
bff59f36a8 chore: fixup go.mod (#49)
All checks were successful
CD / Check changes (push) Successful in 13s
CD / test (push) Successful in 2m22s
CD / Build and push (amd64) (push) Successful in 2m7s
CD / Build and push (arm64) (push) Successful in 7m4s
CD / Create manifest (push) Successful in 8s
- Drop toolchain
- Sync go version with docker image

Reviewed-on: #49
Co-authored-by: t.behrendt <t.behrendt@t00n.de>
Co-committed-by: t.behrendt <t.behrendt@t00n.de>
2025-08-25 12:50:33 +02:00
73615c65ee ci: chore adjust renovate to combine go toolchain and go docker updates (#47)
All checks were successful
CD / Check changes (push) Successful in 11s
CD / test (push) Successful in 14m12s
CD / Build and push (arm64) (push) Has been skipped
CD / Build and push (amd64) (push) Has been skipped
CD / Create manifest (push) Has been skipped
Reviewed-on: #47
Co-authored-by: t.behrendt <t.behrendt@t00n.de>
Co-committed-by: t.behrendt <t.behrendt@t00n.de>
2025-08-20 09:51:02 +02:00
531b5baecd chore(deps): update dependency go to v1.24.6 (#43)
All checks were successful
CD / Check changes (push) Successful in 9s
CD / test (push) Successful in 14m23s
CD / Build and push (amd64) (push) Successful in 1m52s
CD / Build and push (arm64) (push) Successful in 6m28s
CD / Create manifest (push) Successful in 20s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/) ([source](https://github.com/golang/go)) | toolchain | patch | `1.24.5` -> `1.24.6` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41NC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNTQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #43
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-08-07 07:51:56 +02:00
629765985b chore(deps): update dependency go to v1.24.5 (#41)
All checks were successful
CD / Check changes (push) Successful in 6s
CD / test (push) Successful in 3m54s
CD / Build and push (amd64) (push) Successful in 38s
CD / Build and push (arm64) (push) Successful in 2m59s
CD / Create manifest (push) Successful in 9s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [go](https://go.dev/) ([source](https://github.com/golang/go)) | toolchain | patch | `1.24.4` -> `1.24.5` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjMuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI2My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #41
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-07-08 21:38:48 +02:00
99e1214a83 chore(deps): update module github.com/go-co-op/gocron to v2 (#36)
All checks were successful
CD / Check changes (push) Successful in 7s
CD / test (push) Successful in 4m52s
CD / Build and push (amd64) (push) Successful in 46s
CD / Build and push (arm64) (push) Successful in 3m0s
CD / Create manifest (push) Successful in 11s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) | require | major | `v1.37.0` -> `v2.16.2` |

---

### Release Notes

<details>
<summary>go-co-op/gocron (github.com/go-co-op/gocron)</summary>

### [`v2.16.2`](https://github.com/go-co-op/gocron/releases/tag/v2.16.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.16.1...v2.16.2)

#### What's Changed

-   docs: adapt README to the dark theme by [@&#8203;alexandear](https://github.com/alexandear) in https://github.com/go-co-op/gocron/pull/844
-   go 1.23 & golangci-lint v2 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/843
    -   [Go 1.22 and below are end of life](https://endoflife.date/go)
-   Bump golangci/golangci-lint-action from 7.0.0 to 8.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/847
-   chore: document the limitations with the locker design by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/848

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.16.1...v2.16.2

### [`v2.16.1`](https://github.com/go-co-op/gocron/releases/tag/v2.16.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.16.0...v2.16.1)

#### What's Changed

-   Fix [#&#8203;835](https://github.com/go-co-op/gocron/issues/835) and [#&#8203;837](https://github.com/go-co-op/gocron/issues/837) by [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/836

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.16.0...v2.16.1

### [`v2.16.0`](https://github.com/go-co-op/gocron/releases/tag/v2.16.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.15.0...v2.16.0)

#### What's Changed

-   feat:custom-cron interface for own custom cron implimentation by [@&#8203;Dojeto](https://github.com/Dojeto) in https://github.com/go-co-op/gocron/pull/834

#### Bug fixes

-   fixes related to the bug where a job unexpectedly runs twice by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/810
-   fix scheduler restart by [@&#8203;27149chen](https://github.com/27149chen) in https://github.com/go-co-op/gocron/pull/825
-   removes nextRuns in the past when job skipped by locker [#&#8203;828](https://github.com/go-co-op/gocron/issues/828) by [@&#8203;manuelarte](https://github.com/manuelarte) in https://github.com/go-co-op/gocron/pull/829

#### Chores

-   go to 1.21, upgrade deps by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/822
-   replace "golang.org/x/exp" with standard libraries by [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/823
-   Bump golangci/golangci-lint-action from 6.2.0 to 6.3.2 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/827
-   fix err assertion in TestScheduler_RemoveJob by [@&#8203;alexandear](https://github.com/alexandear) in https://github.com/go-co-op/gocron/pull/830
-   Bump golangci/golangci-lint-action from 6.3.2 to 6.5.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/831
-   re-enable goleak detection in ci by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/832
-   chore: add go1.24 to ci by [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/833

#### New Contributors

-   [@&#8203;alexandear](https://github.com/alexandear) made their first contribution in https://github.com/go-co-op/gocron/pull/830
-   [@&#8203;Dojeto](https://github.com/Dojeto) made their first contribution in https://github.com/go-co-op/gocron/pull/834

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.15.0...v2.16.0

### [`v2.15.0`](https://github.com/go-co-op/gocron/releases/tag/v2.15.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.14.2...v2.15.0)

#### What's New

-   New method WithContext supports providing a parent context by [@&#8203;27149chen](https://github.com/27149chen) in https://github.com/go-co-op/gocron/pull/819 & [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/820

```go
// WithContext sets the parent context for the job.
// If you set the first argument of your Task func to be a context.Context,
// gocron will pass in the provided context to the job and will cancel the
// context on shutdown. If you cancel the context the job will no longer be
// scheduled as well. This allows you to both control the job via a context
// and listen for and handle cancellation within your job.
```

-   Job task function now supports passing a ctx if the first argument in your function is a `context.Context` by [@&#8203;27149chen](https://github.com/27149chen) in https://github.com/go-co-op/gocron/pull/819 & [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/820

```go
// NewTask provides the job's task function and parameters.
// If you set the first argument of your Task func to be a context.Context,
// gocron will pass in a context (either the default Job context, or one
// provided via WithContext) to the job and will cancel the context on shutdown.
// This allows you to listen for and handle cancellation within your job.
```

#### Chores

-   Bump golangci/golangci-lint-action from 6.1.1 to 6.2.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/817

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.14.2...v2.15.0

### [`v2.14.2`](https://github.com/go-co-op/gocron/releases/tag/v2.14.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.14.1...v2.14.2)

#### What's Changed

-   feat: allow disabling global distributed locker per job by [@&#8203;seinshah](https://github.com/seinshah) in https://github.com/go-co-op/gocron/pull/811
-   feat(event listener): introduce BeforeJobRunsSkipIfBeforeFuncErrors as a new Eventlistener by [@&#8203;FalcoSuessgott](https://github.com/FalcoSuessgott) in https://github.com/go-co-op/gocron/pull/813

#### New Contributors

-   [@&#8203;seinshah](https://github.com/seinshah) made their first contribution in https://github.com/go-co-op/gocron/pull/811

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.14.1...v2.14.2

### [`v2.14.1`](https://github.com/go-co-op/gocron/releases/tag/v2.14.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.14.0...v2.14.1)

#### What's Changed

-   BUG FIX: creating a new slice in several job options because appending modifies original by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/809

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.14.0...v2.14.1

### [`v2.14.0`](https://github.com/go-co-op/gocron/releases/tag/v2.14.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.13.0...v2.14.0)

#### What's Changed

-   parse time.Time from AtTime by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/806

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.13.0...v2.14.0

### [`v2.13.0`](https://github.com/go-co-op/gocron/releases/tag/v2.13.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.4...v2.13.0)

#### What's Changed

-   Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/801
-   stop timeout timers when no longer needed by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/803
-   feat(monitor): introduce MonitorStatus by [@&#8203;FalcoSuessgott](https://github.com/FalcoSuessgott) in https://github.com/go-co-op/gocron/pull/780

#### New Contributors

-   [@&#8203;FalcoSuessgott](https://github.com/FalcoSuessgott) made their first contribution in https://github.com/go-co-op/gocron/pull/780

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.4...v2.13.0

### [`v2.12.4`](https://github.com/go-co-op/gocron/releases/tag/v2.12.4)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.3...v2.12.4)

#### What's Changed

-   Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/781
-   fix overly greedy panic handler by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/800

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.3...v2.12.4

### [`v2.12.3`](https://github.com/go-co-op/gocron/releases/tag/v2.12.3)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.2...v2.12.3)

#### What's Changed

-   update mocks with latest job/scheduler changes by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/794

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.2...v2.12.3

### [`v2.12.2`](https://github.com/go-co-op/gocron/releases/tag/v2.12.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.1...v2.12.2)

#### What's Changed

-   dailyjob should not allow interval zero by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/791
-   weekly and monthly jobs should not allow zero interval by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/792

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.1...v2.12.2

### [`v2.12.1`](https://github.com/go-co-op/gocron/releases/tag/v2.12.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.0...v2.12.1)

#### What's Changed

-   Fix CPU spike / max-out in One-time job when 2 or more equal times are provided by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/779

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.0...v2.12.1

### [`v2.12.0`](https://github.com/go-co-op/gocron/releases/tag/v2.12.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.11.0...v2.12.0)

#### What's Changed

-   add Rescheduled metric for executor. by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/763
-   handle crontab and return error with invalid day in a month by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/766
-   Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/764
-   fix: cleanup timers by [@&#8203;hayotbisonai](https://github.com/hayotbisonai) in https://github.com/go-co-op/gocron/pull/776

#### New Contributors

-   [@&#8203;hayotbisonai](https://github.com/hayotbisonai) made their first contribution in https://github.com/go-co-op/gocron/pull/776

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.11.0...v2.12.0

### [`v2.11.0`](https://github.com/go-co-op/gocron/releases/tag/v2.11.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.10.1...v2.11.0)

#### Features

-   `WithStopAt` added to `JobOption`'s to allow giving a time for jobs to stop running by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/760

#### Fixes

-   Fix typo in security policy by [@&#8203;deining](https://github.com/deining) in https://github.com/go-co-op/gocron/pull/759

#### Internal

-   internal refactoring by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/761

#### New Contributors

-   [@&#8203;deining](https://github.com/deining) made their first contribution in https://github.com/go-co-op/gocron/pull/759

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.10.1...v2.11.0

### [`v2.10.1`](https://github.com/go-co-op/gocron/releases/tag/v2.10.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.10.0...v2.10.1)

#### What's Changed

-   fix validation of variadic parameters when the type is interfaceby [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/757

#### New Contributors

-   [@&#8203;apocelipes](https://github.com/apocelipes) made their first contribution in https://github.com/go-co-op/gocron/pull/757

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.10.0...v2.10.1

### [`v2.10.0`](https://github.com/go-co-op/gocron/releases/tag/v2.10.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.9.0...v2.10.0)

#### What's Changed

-   issue-677: support task creation with variadic args by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/755

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.9.0...v2.10.0

### [`v2.9.0`](https://github.com/go-co-op/gocron/releases/tag/v2.9.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.8.0...v2.9.0)

#### What's Changed

-   issue-751: speed up rescheduling when time scheduling from is time.Zero by [@&#8203;samuelattwood](https://github.com/samuelattwood) in https://github.com/go-co-op/gocron/pull/752
-   feat: add WithIdentifier() as new job option by [@&#8203;pcfreak30](https://github.com/pcfreak30) in https://github.com/go-co-op/gocron/pull/754

#### New Contributors

-   [@&#8203;samuelattwood](https://github.com/samuelattwood) made their first contribution in https://github.com/go-co-op/gocron/pull/752
-   [@&#8203;pcfreak30](https://github.com/pcfreak30) made their first contribution in https://github.com/go-co-op/gocron/pull/754

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.8.0...v2.9.0

### [`v2.8.0`](https://github.com/go-co-op/gocron/releases/tag/v2.8.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.7.1...v2.8.0)

#### What's Changed

-   issue-747: Provide more details of ErrPanicRecovered by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/749

#### New Contributors

-   [@&#8203;Higan](https://github.com/Higan) made their first contribution in https://github.com/go-co-op/gocron/pull/749

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.7.1...v2.8.0

### [`v2.7.1`](https://github.com/go-co-op/gocron/releases/tag/v2.7.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.7.0...v2.7.1)

#### What's Changed

-   issue-740: ascending time function by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/744
-   fix jobs not starting on scheduler restart when using WithLimitConcurrentJobs by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/745

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.7.0...v2.7.1

### [`v2.7.0`](https://github.com/go-co-op/gocron/releases/tag/v2.7.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.6.0...v2.7.0)

#### Added

-   issue-740: expand oneTimeJob to support multiple times by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/741
    -   [go doc](https://pkg.go.dev/github.com/go-co-op/gocron/v2#OneTimeJobStartDateTimes)

#### Fixed

-   issue-742: bug in `NextRun` by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/743

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.6.0...v2.7.0

### [`v2.6.0`](https://github.com/go-co-op/gocron/releases/tag/v2.6.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.5.0...v2.6.0)

#### Added

-   after lock error listener by [@&#8203;manuelarte](https://github.com/manuelarte) in https://github.com/go-co-op/gocron/pull/734
    -   [go doc](https://pkg.go.dev/github.com/go-co-op/gocron/v2#AfterLockError)
-   Add `AfterJobRunsWithPanic` by [@&#8203;trungdlp-wolffun](https://github.com/trungdlp-wolffun) in https://github.com/go-co-op/gocron/pull/733
    -   [go doc](https://pkg.go.dev/github.com/go-co-op/gocron/v2#AfterJobRunsWithPanic)

#### Fixed

-   issue-738: make withSeconds optional in cron-expression by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/739
-   issue-736: moving validation of one-time to by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/737

#### Misc

-   Bump golangci/golangci-lint-action from 5.3.0 to 6.0.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/730
-   remove circleci config by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/735

#### New Contributors

-   [@&#8203;manuelarte](https://github.com/manuelarte) made their first contribution in https://github.com/go-co-op/gocron/pull/734
-   [@&#8203;trungdlp-wolffun](https://github.com/trungdlp-wolffun) made their first contribution in https://github.com/go-co-op/gocron/pull/733
-   [@&#8203;rbroggi](https://github.com/rbroggi) made their first contribution in https://github.com/go-co-op/gocron/pull/739

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.5.0...v2.6.0

### [`v2.5.0`](https://github.com/go-co-op/gocron/releases/tag/v2.5.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.4.1...v2.5.0)

#### What's Changed

-   adding Job.NextRuns to provide n next run times by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/729
-   Bump golangci/golangci-lint-action from 4.0.0 to 5.3.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/728

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.4.1...v2.5.0

### [`v2.4.1`](https://github.com/go-co-op/gocron/releases/tag/v2.4.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.4.0...v2.4.1)

#### What's Changed

-   fix memory leak with singleton mode where job is sending duplicate reschedule requests by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/723

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.4.0...v2.4.1

### [`v2.4.0`](https://github.com/go-co-op/gocron/releases/tag/v2.4.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.3.0...v2.4.0)

#### What's Changed

-   Added JobsWaitingInQueue in Scheduler by [@&#8203;giri-vsr](https://github.com/giri-vsr) in https://github.com/go-co-op/gocron/pull/721
-   don't trash the incoming slice, match what was done in NewAtTime by [@&#8203;cloudkucooland](https://github.com/cloudkucooland) in https://github.com/go-co-op/gocron/pull/724

#### New Contributors

-   [@&#8203;cloudkucooland](https://github.com/cloudkucooland) made their first contribution in https://github.com/go-co-op/gocron/pull/724

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.3.0...v2.4.0

### [`v2.3.0`](https://github.com/go-co-op/gocron/releases/tag/v2.3.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.10...v2.3.0)

#### What's Changed

-   Add Go 1.22 to test matrix by [@&#8203;evgenymarkov](https://github.com/evgenymarkov) in https://github.com/go-co-op/gocron/pull/714
-   Monitor: IncrementJob in case of skipped job run by [@&#8203;giri-vsr](https://github.com/giri-vsr) in https://github.com/go-co-op/gocron/pull/715
-   fix mocks import path by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/720

#### New Contributors

-   [@&#8203;evgenymarkov](https://github.com/evgenymarkov) made their first contribution in https://github.com/go-co-op/gocron/pull/714

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.10...v2.2.11

### [`v2.2.10`](https://github.com/go-co-op/gocron/releases/tag/v2.2.10)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.9...v2.2.10)

#### What's Changed

-   fix nextRun with singleton mode reporting incorrect time by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/705
-   Added Distributed Locker to JobOptions by [@&#8203;giri-vsr](https://github.com/giri-vsr) in https://github.com/go-co-op/gocron/pull/711

#### New Contributors

-   [@&#8203;giri-vsr](https://github.com/giri-vsr) made their first contribution in https://github.com/go-co-op/gocron/pull/711

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.9...v2.2.10

### [`v2.2.9`](https://github.com/go-co-op/gocron/releases/tag/v2.2.9)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.8...v2.2.9)

#### What's Changed

-   fix case where OneTimeJob with concurrent limit and limited runs fails to run by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/703

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.8...v2.2.9

### [`v2.2.8`](https://github.com/go-co-op/gocron/releases/tag/v2.2.8)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.7...v2.2.8)

#### What's Changed

-   return an error if duration is zero by [@&#8203;moyu-x](https://github.com/moyu-x) in https://github.com/go-co-op/gocron/pull/701
-   properly report lastRun for limit type jobs and RunNow by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/700

#### New Contributors

-   [@&#8203;moyu-x](https://github.com/moyu-x) made their first contribution in https://github.com/go-co-op/gocron/pull/701

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.7...v2.2.8

### [`v2.2.7`](https://github.com/go-co-op/gocron/releases/tag/v2.2.7)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.6...v2.2.7)

#### What's Changed

-   Allow more time for requestJobCtx by [@&#8203;drewgonzales360](https://github.com/drewgonzales360) in https://github.com/go-co-op/gocron/pull/699
-   fix case where job removed causes panic when rescheduling by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/698

#### New Contributors

-   [@&#8203;drewgonzales360](https://github.com/drewgonzales360) made their first contribution in https://github.com/go-co-op/gocron/pull/699

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.6...v2.2.7

### [`v2.2.6`](https://github.com/go-co-op/gocron/releases/tag/v2.2.6)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.5...v2.2.6)

#### What's Changed

-   Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/684
-   elector & locker were failing to send out when not leader by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/688

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.5...v2.2.6

### [`v2.2.5`](https://github.com/go-co-op/gocron/releases/tag/v2.2.5)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.4...v2.2.5)

#### What's Changed

-   remove codecov by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/672
-   Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/675
-   fix cases where default on send out is resulting in job not going out by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/686
    -   This fixes two bugs related to limit mode and singleton mode having jobs stop running

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.4...v2.2.5

### [`v2.2.4`](https://github.com/go-co-op/gocron/releases/tag/v2.2.4)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.3...v2.2.4)

#### What's Changed

-   correct AfterJobRuns doc by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/670

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.3...v2.2.4

### [`v2.2.3`](https://github.com/go-co-op/gocron/releases/tag/v2.2.3)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.2...v2.2.3)

#### What's Changed

-   fix RunNow() when calling from a job returned by Jobs() by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/668

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.2...v2.2.3

### [`v2.2.2`](https://github.com/go-co-op/gocron/releases/tag/v2.2.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.1...v2.2.2)

#### What's Changed

-   Bump github.com/google/uuid from 1.5.0 to 1.6.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/664
-   fix unsafe map usage in singletonMode by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) & [@&#8203;a3sroot](https://github.com/a3sroot) in https://github.com/go-co-op/gocron/pull/665

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.1...v2.2.2

### [`v2.2.1`](https://github.com/go-co-op/gocron/releases/tag/v2.2.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.0...v2.2.1)

#### What's Changed

-   fix monthly jobs when counting days from the end by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/662

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.0...v2.2.1

### [`v2.2.0`](https://github.com/go-co-op/gocron/releases/tag/v2.2.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.1.2...v2.2.0)

#### What's Changed

-   wait for new job to be fully created before returning by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/658
-   BETA FEATURE: Add job monitor interface to allow for collecting job metrics by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/659
    -   This is the first release of the monitor feature - it may be changed as initial implementations are created and feedback comes in

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.1.2...v2.2.0

### [`v2.1.2`](https://github.com/go-co-op/gocron/releases/tag/v2.1.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.1.1...v2.1.2)

#### Fixes

-   fix to handle when next ends up in the past by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/650
-   make the order of the returned jobs slice deterministic by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/652

#### Documentation

-   refactor: fix indent by [@&#8203;leedrum](https://github.com/leedrum) in https://github.com/go-co-op/gocron/pull/649

#### New Contributors

-   [@&#8203;leedrum](https://github.com/leedrum) made their first contribution in https://github.com/go-co-op/gocron/pull/649

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.1.1...v2.1.2

### [`v2.1.1`](https://github.com/go-co-op/gocron/releases/tag/v2.1.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.1.0...v2.1.1)

#### What's Changed

-   [bump golang.org/x/exp](7ee4c50f57)
-   [fixup Job and Scheduler interface docs](a51820e30f)

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.1.0...v2.1.1

### [`v2.1.0`](https://github.com/go-co-op/gocron/releases/tag/v2.1.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.3...v2.1.0)

#### What's Changed

-   add new features, OneTimeJob and Job.RunNow() by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/646

#### Version bumps

-   Bump github/codeql-action from 2 to 3 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/644
-   Bump github.com/google/uuid from 1.4.0 to 1.5.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/645

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.3...v2.1.0

### [`v2.0.3`](https://github.com/go-co-op/gocron/releases/tag/v2.0.3)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.2...v2.0.3)

#### Fixes

-   fix weekly and monthly to handle midnight by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/643 [#&#8203;642](https://github.com/go-co-op/gocron/issues/642)

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.2...v2.0.3

### [`v2.0.2`](https://github.com/go-co-op/gocron/releases/tag/v2.0.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.1...v2.0.2)

#### Fixes

-   fix: check function param length and type by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/638 raised in [#&#8203;637](https://github.com/go-co-op/gocron/issues/637)

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.1...v2.0.2

### [`v2.0.1`](https://github.com/go-co-op/gocron/releases/tag/v2.0.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.0...v2.0.1)

#### Fixes

-   daily job next logic failed to consider 1 midnight attime by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/635

#### Bumps

-   Bump actions/checkout from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/631
-   Bump actions/setup-go from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/630

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.0...v2.0.1

### [`v2.0.0`](https://github.com/go-co-op/gocron/releases/tag/v2.0.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v1.37.0...v2.0.0)

#### v2.0.0

It's here! 🎉  Take a look at the readme and godoc to see how the new version works!

Please give feedback! (Reach out on slack if you're interested in contributing so we can coordinate work 😄 ) And open issues if you find any bugs or have features you'd like to see supported!

#### New Contributors

-   [@&#8203;AlphaNecron](https://github.com/AlphaNecron) made their first contribution in https://github.com/go-co-op/gocron/pull/613

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.0-alpha-1...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI2My4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/realDynDNS/pulls/36
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-06-06 11:53:22 +02:00
29c62a8b1f chore(deps): update golang docker tag to v1.24 (#31)
All checks were successful
CD / Check changes (push) Successful in 39s
CD / test (push) Successful in 48s
CD / Build and push (amd64) (push) Successful in 50s
CD / Build and push (arm64) (push) Successful in 3m7s
CD / Create manifest (push) Successful in 12s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| golang | stage | minor | `1.23-alpine` -> `1.24-alpine` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI2Mi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #31
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-04-29 17:32:19 +02:00
0fdd151e6d ci: fix conditional build condition (#37)
All checks were successful
CD / Check changes (push) Successful in 7s
CD / test (push) Successful in 32s
CD / Build and push (amd64) (push) Has been skipped
CD / Build and push (arm64) (push) Has been skipped
CD / Create manifest (push) Has been skipped
Reviewed-on: #37
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2025-04-13 19:07:41 +02:00
89d965a4d2 chore(deps): update module github.com/go-co-op/gocron to v2 (#35)
All checks were successful
CD / Check changes (push) Successful in 7s
CD / test (push) Successful in 1m6s
CD / Build and push (arm64) (push) Has been skipped
CD / Build and push (amd64) (push) Has been skipped
CD / Create manifest (push) Has been skipped
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) | require | major | `v1.37.0` -> `v2.16.1` |

---

### Release Notes

<details>
<summary>go-co-op/gocron (github.com/go-co-op/gocron)</summary>

### [`v2.16.1`](https://github.com/go-co-op/gocron/releases/tag/v2.16.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.16.0...v2.16.1)

#### What's Changed

-   Fix [#&#8203;835](https://github.com/go-co-op/gocron/issues/835) and [#&#8203;837](https://github.com/go-co-op/gocron/issues/837) by [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/836

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.16.0...v2.16.1

### [`v2.16.0`](https://github.com/go-co-op/gocron/releases/tag/v2.16.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.15.0...v2.16.0)

#### What's Changed

-   feat:custom-cron interface for own custom cron implimentation by [@&#8203;Dojeto](https://github.com/Dojeto) in https://github.com/go-co-op/gocron/pull/834

#### Bug fixes

-   fixes related to the bug where a job unexpectedly runs twice by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/810
-   fix scheduler restart by [@&#8203;27149chen](https://github.com/27149chen) in https://github.com/go-co-op/gocron/pull/825
-   removes nextRuns in the past when job skipped by locker [#&#8203;828](https://github.com/go-co-op/gocron/issues/828) by [@&#8203;manuelarte](https://github.com/manuelarte) in https://github.com/go-co-op/gocron/pull/829

#### Chores

-   go to 1.21, upgrade deps by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/822
-   replace "golang.org/x/exp" with standard libraries by [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/823
-   Bump golangci/golangci-lint-action from 6.2.0 to 6.3.2 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/827
-   fix err assertion in TestScheduler_RemoveJob by [@&#8203;alexandear](https://github.com/alexandear) in https://github.com/go-co-op/gocron/pull/830
-   Bump golangci/golangci-lint-action from 6.3.2 to 6.5.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/831
-   re-enable goleak detection in ci by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/832
-   chore: add go1.24 to ci by [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/833

#### New Contributors

-   [@&#8203;alexandear](https://github.com/alexandear) made their first contribution in https://github.com/go-co-op/gocron/pull/830
-   [@&#8203;Dojeto](https://github.com/Dojeto) made their first contribution in https://github.com/go-co-op/gocron/pull/834

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.15.0...v2.16.0

### [`v2.15.0`](https://github.com/go-co-op/gocron/releases/tag/v2.15.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.14.2...v2.15.0)

#### What's New

-   New method WithContext supports providing a parent context by [@&#8203;27149chen](https://github.com/27149chen) in https://github.com/go-co-op/gocron/pull/819 & [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/820

```go
// WithContext sets the parent context for the job.
// If you set the first argument of your Task func to be a context.Context,
// gocron will pass in the provided context to the job and will cancel the
// context on shutdown. If you cancel the context the job will no longer be
// scheduled as well. This allows you to both control the job via a context
// and listen for and handle cancellation within your job.
```

-   Job task function now supports passing a ctx if the first argument in your function is a `context.Context` by [@&#8203;27149chen](https://github.com/27149chen) in https://github.com/go-co-op/gocron/pull/819 & [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/820

```go
// NewTask provides the job's task function and parameters.
// If you set the first argument of your Task func to be a context.Context,
// gocron will pass in a context (either the default Job context, or one
// provided via WithContext) to the job and will cancel the context on shutdown.
// This allows you to listen for and handle cancellation within your job.
```

#### Chores

-   Bump golangci/golangci-lint-action from 6.1.1 to 6.2.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/817

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.14.2...v2.15.0

### [`v2.14.2`](https://github.com/go-co-op/gocron/releases/tag/v2.14.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.14.1...v2.14.2)

#### What's Changed

-   feat: allow disabling global distributed locker per job by [@&#8203;seinshah](https://github.com/seinshah) in https://github.com/go-co-op/gocron/pull/811
-   feat(event listener): introduce BeforeJobRunsSkipIfBeforeFuncErrors as a new Eventlistener by [@&#8203;FalcoSuessgott](https://github.com/FalcoSuessgott) in https://github.com/go-co-op/gocron/pull/813

#### New Contributors

-   [@&#8203;seinshah](https://github.com/seinshah) made their first contribution in https://github.com/go-co-op/gocron/pull/811

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.14.1...v2.14.2

### [`v2.14.1`](https://github.com/go-co-op/gocron/releases/tag/v2.14.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.14.0...v2.14.1)

#### What's Changed

-   BUG FIX: creating a new slice in several job options because appending modifies original by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/809

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.14.0...v2.14.1

### [`v2.14.0`](https://github.com/go-co-op/gocron/releases/tag/v2.14.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.13.0...v2.14.0)

#### What's Changed

-   parse time.Time from AtTime by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/806

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.13.0...v2.14.0

### [`v2.13.0`](https://github.com/go-co-op/gocron/releases/tag/v2.13.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.4...v2.13.0)

#### What's Changed

-   Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/801
-   stop timeout timers when no longer needed by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/803
-   feat(monitor): introduce MonitorStatus by [@&#8203;FalcoSuessgott](https://github.com/FalcoSuessgott) in https://github.com/go-co-op/gocron/pull/780

#### New Contributors

-   [@&#8203;FalcoSuessgott](https://github.com/FalcoSuessgott) made their first contribution in https://github.com/go-co-op/gocron/pull/780

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.4...v2.13.0

### [`v2.12.4`](https://github.com/go-co-op/gocron/releases/tag/v2.12.4)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.3...v2.12.4)

#### What's Changed

-   Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/781
-   fix overly greedy panic handler by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/800

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.3...v2.12.4

### [`v2.12.3`](https://github.com/go-co-op/gocron/releases/tag/v2.12.3)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.2...v2.12.3)

#### What's Changed

-   update mocks with latest job/scheduler changes by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/794

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.2...v2.12.3

### [`v2.12.2`](https://github.com/go-co-op/gocron/releases/tag/v2.12.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.1...v2.12.2)

#### What's Changed

-   dailyjob should not allow interval zero by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/791
-   weekly and monthly jobs should not allow zero interval by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/792

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.1...v2.12.2

### [`v2.12.1`](https://github.com/go-co-op/gocron/releases/tag/v2.12.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.12.0...v2.12.1)

#### What's Changed

-   Fix CPU spike / max-out in One-time job when 2 or more equal times are provided by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/779

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.12.0...v2.12.1

### [`v2.12.0`](https://github.com/go-co-op/gocron/releases/tag/v2.12.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.11.0...v2.12.0)

#### What's Changed

-   add Rescheduled metric for executor. by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/763
-   handle crontab and return error with invalid day in a month by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/766
-   Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/764
-   fix: cleanup timers by [@&#8203;hayotbisonai](https://github.com/hayotbisonai) in https://github.com/go-co-op/gocron/pull/776

#### New Contributors

-   [@&#8203;hayotbisonai](https://github.com/hayotbisonai) made their first contribution in https://github.com/go-co-op/gocron/pull/776

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.11.0...v2.12.0

### [`v2.11.0`](https://github.com/go-co-op/gocron/releases/tag/v2.11.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.10.1...v2.11.0)

#### Features

-   `WithStopAt` added to `JobOption`'s to allow giving a time for jobs to stop running by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/760

#### Fixes

-   Fix typo in security policy by [@&#8203;deining](https://github.com/deining) in https://github.com/go-co-op/gocron/pull/759

#### Internal

-   internal refactoring by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/761

#### New Contributors

-   [@&#8203;deining](https://github.com/deining) made their first contribution in https://github.com/go-co-op/gocron/pull/759

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.10.1...v2.11.0

### [`v2.10.1`](https://github.com/go-co-op/gocron/releases/tag/v2.10.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.10.0...v2.10.1)

#### What's Changed

-   fix validation of variadic parameters when the type is interfaceby [@&#8203;apocelipes](https://github.com/apocelipes) in https://github.com/go-co-op/gocron/pull/757

#### New Contributors

-   [@&#8203;apocelipes](https://github.com/apocelipes) made their first contribution in https://github.com/go-co-op/gocron/pull/757

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.10.0...v2.10.1

### [`v2.10.0`](https://github.com/go-co-op/gocron/releases/tag/v2.10.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.9.0...v2.10.0)

#### What's Changed

-   issue-677: support task creation with variadic args by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/755

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.9.0...v2.10.0

### [`v2.9.0`](https://github.com/go-co-op/gocron/releases/tag/v2.9.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.8.0...v2.9.0)

#### What's Changed

-   issue-751: speed up rescheduling when time scheduling from is time.Zero by [@&#8203;samuelattwood](https://github.com/samuelattwood) in https://github.com/go-co-op/gocron/pull/752
-   feat: add WithIdentifier() as new job option by [@&#8203;pcfreak30](https://github.com/pcfreak30) in https://github.com/go-co-op/gocron/pull/754

#### New Contributors

-   [@&#8203;samuelattwood](https://github.com/samuelattwood) made their first contribution in https://github.com/go-co-op/gocron/pull/752
-   [@&#8203;pcfreak30](https://github.com/pcfreak30) made their first contribution in https://github.com/go-co-op/gocron/pull/754

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.8.0...v2.9.0

### [`v2.8.0`](https://github.com/go-co-op/gocron/releases/tag/v2.8.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.7.1...v2.8.0)

#### What's Changed

-   issue-747: Provide more details of ErrPanicRecovered by [@&#8203;Higan](https://github.com/Higan) in https://github.com/go-co-op/gocron/pull/749

#### New Contributors

-   [@&#8203;Higan](https://github.com/Higan) made their first contribution in https://github.com/go-co-op/gocron/pull/749

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.7.1...v2.8.0

### [`v2.7.1`](https://github.com/go-co-op/gocron/releases/tag/v2.7.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.7.0...v2.7.1)

#### What's Changed

-   issue-740: ascending time function by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/744
-   fix jobs not starting on scheduler restart when using WithLimitConcurrentJobs by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/745

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.7.0...v2.7.1

### [`v2.7.0`](https://github.com/go-co-op/gocron/releases/tag/v2.7.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.6.0...v2.7.0)

#### Added

-   issue-740: expand oneTimeJob to support multiple times by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/741
    -   [go doc](https://pkg.go.dev/github.com/go-co-op/gocron/v2#OneTimeJobStartDateTimes)

#### Fixed

-   issue-742: bug in `NextRun` by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/743

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.6.0...v2.7.0

### [`v2.6.0`](https://github.com/go-co-op/gocron/releases/tag/v2.6.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.5.0...v2.6.0)

#### Added

-   after lock error listener by [@&#8203;manuelarte](https://github.com/manuelarte) in https://github.com/go-co-op/gocron/pull/734
    -   [go doc](https://pkg.go.dev/github.com/go-co-op/gocron/v2#AfterLockError)
-   Add `AfterJobRunsWithPanic` by [@&#8203;trungdlp-wolffun](https://github.com/trungdlp-wolffun) in https://github.com/go-co-op/gocron/pull/733
    -   [go doc](https://pkg.go.dev/github.com/go-co-op/gocron/v2#AfterJobRunsWithPanic)

#### Fixed

-   issue-738: make withSeconds optional in cron-expression by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/739
-   issue-736: moving validation of one-time to by [@&#8203;rbroggi](https://github.com/rbroggi) in https://github.com/go-co-op/gocron/pull/737

#### Misc

-   Bump golangci/golangci-lint-action from 5.3.0 to 6.0.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/730
-   remove circleci config by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/735

#### New Contributors

-   [@&#8203;manuelarte](https://github.com/manuelarte) made their first contribution in https://github.com/go-co-op/gocron/pull/734
-   [@&#8203;trungdlp-wolffun](https://github.com/trungdlp-wolffun) made their first contribution in https://github.com/go-co-op/gocron/pull/733
-   [@&#8203;rbroggi](https://github.com/rbroggi) made their first contribution in https://github.com/go-co-op/gocron/pull/739

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.5.0...v2.6.0

### [`v2.5.0`](https://github.com/go-co-op/gocron/releases/tag/v2.5.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.4.1...v2.5.0)

#### What's Changed

-   adding Job.NextRuns to provide n next run times by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/729
-   Bump golangci/golangci-lint-action from 4.0.0 to 5.3.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/728

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.4.1...v2.5.0

### [`v2.4.1`](https://github.com/go-co-op/gocron/releases/tag/v2.4.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.4.0...v2.4.1)

#### What's Changed

-   fix memory leak with singleton mode where job is sending duplicate reschedule requests by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/723

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.4.0...v2.4.1

### [`v2.4.0`](https://github.com/go-co-op/gocron/releases/tag/v2.4.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.3.0...v2.4.0)

#### What's Changed

-   Added JobsWaitingInQueue in Scheduler by [@&#8203;giri-vsr](https://github.com/giri-vsr) in https://github.com/go-co-op/gocron/pull/721
-   don't trash the incoming slice, match what was done in NewAtTime by [@&#8203;cloudkucooland](https://github.com/cloudkucooland) in https://github.com/go-co-op/gocron/pull/724

#### New Contributors

-   [@&#8203;cloudkucooland](https://github.com/cloudkucooland) made their first contribution in https://github.com/go-co-op/gocron/pull/724

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.3.0...v2.4.0

### [`v2.3.0`](https://github.com/go-co-op/gocron/releases/tag/v2.3.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.10...v2.3.0)

#### What's Changed

-   Add Go 1.22 to test matrix by [@&#8203;evgenymarkov](https://github.com/evgenymarkov) in https://github.com/go-co-op/gocron/pull/714
-   Monitor: IncrementJob in case of skipped job run by [@&#8203;giri-vsr](https://github.com/giri-vsr) in https://github.com/go-co-op/gocron/pull/715
-   fix mocks import path by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/720

#### New Contributors

-   [@&#8203;evgenymarkov](https://github.com/evgenymarkov) made their first contribution in https://github.com/go-co-op/gocron/pull/714

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.10...v2.2.11

### [`v2.2.10`](https://github.com/go-co-op/gocron/releases/tag/v2.2.10)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.9...v2.2.10)

#### What's Changed

-   fix nextRun with singleton mode reporting incorrect time by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/705
-   Added Distributed Locker to JobOptions by [@&#8203;giri-vsr](https://github.com/giri-vsr) in https://github.com/go-co-op/gocron/pull/711

#### New Contributors

-   [@&#8203;giri-vsr](https://github.com/giri-vsr) made their first contribution in https://github.com/go-co-op/gocron/pull/711

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.9...v2.2.10

### [`v2.2.9`](https://github.com/go-co-op/gocron/releases/tag/v2.2.9)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.8...v2.2.9)

#### What's Changed

-   fix case where OneTimeJob with concurrent limit and limited runs fails to run by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/703

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.8...v2.2.9

### [`v2.2.8`](https://github.com/go-co-op/gocron/releases/tag/v2.2.8)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.7...v2.2.8)

#### What's Changed

-   return an error if duration is zero by [@&#8203;moyu-x](https://github.com/moyu-x) in https://github.com/go-co-op/gocron/pull/701
-   properly report lastRun for limit type jobs and RunNow by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/700

#### New Contributors

-   [@&#8203;moyu-x](https://github.com/moyu-x) made their first contribution in https://github.com/go-co-op/gocron/pull/701

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.7...v2.2.8

### [`v2.2.7`](https://github.com/go-co-op/gocron/releases/tag/v2.2.7)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.6...v2.2.7)

#### What's Changed

-   Allow more time for requestJobCtx by [@&#8203;drewgonzales360](https://github.com/drewgonzales360) in https://github.com/go-co-op/gocron/pull/699
-   fix case where job removed causes panic when rescheduling by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/698

#### New Contributors

-   [@&#8203;drewgonzales360](https://github.com/drewgonzales360) made their first contribution in https://github.com/go-co-op/gocron/pull/699

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.6...v2.2.7

### [`v2.2.6`](https://github.com/go-co-op/gocron/releases/tag/v2.2.6)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.5...v2.2.6)

#### What's Changed

-   Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/684
-   elector & locker were failing to send out when not leader by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/688

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.5...v2.2.6

### [`v2.2.5`](https://github.com/go-co-op/gocron/releases/tag/v2.2.5)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.4...v2.2.5)

#### What's Changed

-   remove codecov by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/672
-   Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/675
-   fix cases where default on send out is resulting in job not going out by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/686
    -   This fixes two bugs related to limit mode and singleton mode having jobs stop running

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.4...v2.2.5

### [`v2.2.4`](https://github.com/go-co-op/gocron/releases/tag/v2.2.4)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.3...v2.2.4)

#### What's Changed

-   correct AfterJobRuns doc by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/670

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.3...v2.2.4

### [`v2.2.3`](https://github.com/go-co-op/gocron/releases/tag/v2.2.3)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.2...v2.2.3)

#### What's Changed

-   fix RunNow() when calling from a job returned by Jobs() by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/668

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.2...v2.2.3

### [`v2.2.2`](https://github.com/go-co-op/gocron/releases/tag/v2.2.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.1...v2.2.2)

#### What's Changed

-   Bump github.com/google/uuid from 1.5.0 to 1.6.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/664
-   fix unsafe map usage in singletonMode by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) & [@&#8203;a3sroot](https://github.com/a3sroot) in https://github.com/go-co-op/gocron/pull/665

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.1...v2.2.2

### [`v2.2.1`](https://github.com/go-co-op/gocron/releases/tag/v2.2.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.2.0...v2.2.1)

#### What's Changed

-   fix monthly jobs when counting days from the end by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/662

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.2.0...v2.2.1

### [`v2.2.0`](https://github.com/go-co-op/gocron/releases/tag/v2.2.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.1.2...v2.2.0)

#### What's Changed

-   wait for new job to be fully created before returning by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/658
-   BETA FEATURE: Add job monitor interface to allow for collecting job metrics by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/659
    -   This is the first release of the monitor feature - it may be changed as initial implementations are created and feedback comes in

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.1.2...v2.2.0

### [`v2.1.2`](https://github.com/go-co-op/gocron/releases/tag/v2.1.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.1.1...v2.1.2)

#### Fixes

-   fix to handle when next ends up in the past by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/650
-   make the order of the returned jobs slice deterministic by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/652

#### Documentation

-   refactor: fix indent by [@&#8203;leedrum](https://github.com/leedrum) in https://github.com/go-co-op/gocron/pull/649

#### New Contributors

-   [@&#8203;leedrum](https://github.com/leedrum) made their first contribution in https://github.com/go-co-op/gocron/pull/649

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.1.1...v2.1.2

### [`v2.1.1`](https://github.com/go-co-op/gocron/releases/tag/v2.1.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.1.0...v2.1.1)

#### What's Changed

-   [bump golang.org/x/exp](7ee4c50f57)
-   [fixup Job and Scheduler interface docs](a51820e30f)

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.1.0...v2.1.1

### [`v2.1.0`](https://github.com/go-co-op/gocron/releases/tag/v2.1.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.3...v2.1.0)

#### What's Changed

-   add new features, OneTimeJob and Job.RunNow() by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/646

#### Version bumps

-   Bump github/codeql-action from 2 to 3 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/644
-   Bump github.com/google/uuid from 1.4.0 to 1.5.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/645

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.3...v2.1.0

### [`v2.0.3`](https://github.com/go-co-op/gocron/releases/tag/v2.0.3)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.2...v2.0.3)

#### Fixes

-   fix weekly and monthly to handle midnight by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/643 [#&#8203;642](https://github.com/go-co-op/gocron/issues/642)

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.2...v2.0.3

### [`v2.0.2`](https://github.com/go-co-op/gocron/releases/tag/v2.0.2)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.1...v2.0.2)

#### Fixes

-   fix: check function param length and type by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/638 raised in [#&#8203;637](https://github.com/go-co-op/gocron/issues/637)

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.1...v2.0.2

### [`v2.0.1`](https://github.com/go-co-op/gocron/releases/tag/v2.0.1)

[Compare Source](https://github.com/go-co-op/gocron/compare/v2.0.0...v2.0.1)

#### Fixes

-   daily job next logic failed to consider 1 midnight attime by [@&#8203;JohnRoesler](https://github.com/JohnRoesler) in https://github.com/go-co-op/gocron/pull/635

#### Bumps

-   Bump actions/checkout from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/631
-   Bump actions/setup-go from 4 to 5 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/go-co-op/gocron/pull/630

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.0...v2.0.1

### [`v2.0.0`](https://github.com/go-co-op/gocron/releases/tag/v2.0.0)

[Compare Source](https://github.com/go-co-op/gocron/compare/v1.37.0...v2.0.0)

#### v2.0.0

It's here! 🎉  Take a look at the readme and godoc to see how the new version works!

Please give feedback! (Reach out on slack if you're interested in contributing so we can coordinate work 😄 ) And open issues if you find any bugs or have features you'd like to see supported!

#### New Contributors

-   [@&#8203;AlphaNecron](https://github.com/AlphaNecron) made their first contribution in https://github.com/go-co-op/gocron/pull/613

**Full Changelog**: https://github.com/go-co-op/gocron/compare/v2.0.0-alpha-1...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI0MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: t.behrendt <t.behrendt@noreply.localhost>
Reviewed-on: https://gitea.t000-n.de/t.behrendt/realDynDNS/pulls/35
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-04-13 18:49:09 +02:00
d4e48c2fbf chore(deps): update docker/build-push-action action to v6 (#32)
All checks were successful
CD / Check changes (push) Successful in 7s
CD / test (push) Successful in 2m49s
CD / Build and push (arm64) (push) Has been skipped
CD / Build and push (amd64) (push) Has been skipped
CD / Create manifest (push) Has been skipped
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/build-push-action](https://github.com/docker/build-push-action) | action | major | `v4` -> `v6` |

---

### Release Notes

<details>
<summary>docker/build-push-action (docker/build-push-action)</summary>

### [`v6`](https://github.com/docker/build-push-action/compare/v5...v6)

[Compare Source](https://github.com/docker/build-push-action/compare/v5...v6)

### [`v5`](https://github.com/docker/build-push-action/compare/v4...v5)

[Compare Source](https://github.com/docker/build-push-action/compare/v4...v5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI0MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #32
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-04-13 18:46:07 +02:00
a34f1f0a9a chore(deps): update docker/setup-buildx-action action to v3 (#34)
All checks were successful
CD / Check changes (push) Successful in 7s
CD / test (push) Successful in 22s
CD / Build and push (amd64) (push) Has been skipped
CD / Build and push (arm64) (push) Has been skipped
CD / Create manifest (push) Has been skipped
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | action | major | `v2` -> `v3` |

---

### Release Notes

<details>
<summary>docker/setup-buildx-action (docker/setup-buildx-action)</summary>

### [`v3`](https://github.com/docker/setup-buildx-action/compare/v2...v3)

[Compare Source](https://github.com/docker/setup-buildx-action/compare/v2...v3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI0MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #34
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-04-13 18:44:33 +02:00
ab150a88ef chore(deps): update docker/login-action action to v3 (#33)
Some checks failed
CD / Check changes (push) Successful in 7s
CD / test (push) Successful in 21s
CD / Build and push (amd64) (push) Has been skipped
CD / Build and push (arm64) (push) Has been cancelled
CD / Create manifest (push) Has been cancelled
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/login-action](https://github.com/docker/login-action) | action | major | `v2` -> `v3` |

---

### Release Notes

<details>
<summary>docker/login-action (docker/login-action)</summary>

### [`v3`](https://github.com/docker/login-action/compare/v2...v3)

[Compare Source](https://github.com/docker/login-action/compare/v2...v3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDAuMSIsInVwZGF0ZWRJblZlciI6IjM5LjI0MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #33
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-04-13 18:43:53 +02:00
f1e863b098 chore: Configure Renovate (#30)
All checks were successful
CD / Check changes (push) Successful in 30s
CD / test (push) Successful in 48s
CD / Build and push (amd64) (push) Has been skipped
CD / Build and push (arm64) (push) Has been skipped
CD / Create manifest (push) Has been skipped
Welcome to [Renovate](https://github.com/renovatebot/renovate)! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.

---
### Detected Package Files

 * `Dockerfile` (dockerfile)
 * `.gitea/workflows/cd.yaml` (github-actions)
 * `.gitea/workflows/ci.yaml` (github-actions)
 * `go.mod` (gomod)

### What to Expect

With your current configuration, Renovate will create 5 Pull Requests:

<details>
<summary>chore(deps): update golang docker tag to v1.24</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/golang-1.x`
  - Merge into: `main`
  - Upgrade golang to `1.24-alpine`

</details>

<details>
<summary>chore(deps): update docker/build-push-action action to v6</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/docker-build-push-action-6.x`
  - Merge into: `main`
  - Upgrade [docker/build-push-action](https://github.com/docker/build-push-action) to `v6`

</details>

<details>
<summary>chore(deps): update docker/login-action action to v3</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/docker-login-action-3.x`
  - Merge into: `main`
  - Upgrade [docker/login-action](https://github.com/docker/login-action) to `v3`

</details>

<details>
<summary>chore(deps): update docker/setup-buildx-action action to v3</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/docker-setup-buildx-action-3.x`
  - Merge into: `main`
  - Upgrade [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) to `v3`

</details>

<details>
<summary>chore(deps): update module github.com/go-co-op/gocron to v2</summary>

  - Schedule: ["at any time"]
  - Branch name: `renovate/github.com-go-co-op-gocron-2.x`
  - Merge into: `main`
  - Upgrade [github.com/go-co-op/gocron](https://github.com/go-co-op/gocron) to `v2.16.1`

</details>

---

 Got questions? Check out Renovate's [Docs](https://docs.renovatebot.com/), particularly the Getting Started section.
If you need any further assistance then you can also [request help here](https://github.com/renovatebot/renovate/discussions).

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

<!--renovate-config-hash:94693a990c975907e7f13da3309b9d56ba02b3983519b41786edf5cf031e457c-->

Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Reviewed-on: #30
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2025-04-13 18:38:14 +02:00
f1458b005b tmp
All checks were successful
CI / test (pull_request) Successful in 1m2s
2025-01-01 12:44:50 +01:00
6 changed files with 75 additions and 10 deletions

View File

@@ -9,6 +9,27 @@ env:
DOCKER_REGISTRY: gitea.t000-n.de
jobs:
check-changes:
name: Check changes
runs-on: ubuntu-latest
outputs:
code: ${{ steps.filter.outputs.code }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get changes
id: filter
uses: dorny/paths-filter@v3
with:
filters: |
code:
- 'go.mod'
- 'go.sum'
- '**/*.go'
- 'config.example.yaml'
- 'Dockerfile'
- 'Makefile'
test:
name: test
runs-on: ubuntu-latest
@@ -49,6 +70,8 @@ jobs:
arch: [amd64, arm64]
needs:
- test
- check-changes
if: ${{ needs.check-changes.outputs.code == 'true' }}
runs-on:
- ubuntu-latest
- linux_${{ matrix.arch }}
@@ -56,9 +79,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Login to Registry
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
@@ -69,7 +92,7 @@ jobs:
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | tr '[:upper:]' '[:lower:]') >> $GITHUB_OUTPUT
echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
@@ -96,7 +119,7 @@ jobs:
echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT
- name: Login to Registry
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}

View File

@@ -1,4 +1,4 @@
FROM golang:1.23-alpine as build
FROM golang:1.24-alpine as build
ARG GOARCH=amd64

7
go.mod
View File

@@ -1,6 +1,6 @@
module realdnydns
go 1.23
go 1.24.0
require (
github.com/go-co-op/gocron v1.37.0
@@ -8,8 +8,11 @@ require (
)
require (
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/redis/go-redis/v9 v9.7.0 // indirect
github.com/robfig/cron/v3 v3.0.1 // indirect
github.com/stretchr/testify v1.8.4 // indirect
github.com/stretchr/testify v1.10.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
)

10
go.sum
View File

@@ -1,7 +1,11 @@
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/go-co-op/gocron v1.37.0 h1:ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0=
github.com/go-co-op/gocron v1.37.0/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -18,6 +22,8 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/redis/go-redis/v9 v9.7.0 h1:HhLSs+B6O021gwzl+locl0zEDnyNkxMtf/Z3NNBMa9E=
github.com/redis/go-redis/v9 v9.7.0/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
@@ -30,8 +36,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=

View File

@@ -3,18 +3,29 @@ package ionosDnsProvider
import (
"errors"
"net"
"realdnydns/model/common"
"realdnydns/pkg/dnsProvider"
ionosAPI "realdnydns/pkg/dnsProvider/ionos/api"
redis "github.com/redis/go-redis/v9"
)
type IONOS struct {
API ionosAPI.IonosAPI
API ionosAPI.IonosAPI
Redis *redis.Client
}
type IONOSConfig struct {
APIKey string `yaml:"api_key"`
BaseURL string `yaml:"base_url"`
Redis *IONOSRedisConfig
}
type IONOSRedisConfig struct {
Address string `yaml:"host"`
Password string `yaml:"password"`
DB int `yaml:"db"`
}
func NewIonos(config *IONOSConfig) (dnsProvider.DNSProvider, error) {
@@ -26,8 +37,18 @@ func NewIonos(config *IONOSConfig) (dnsProvider.DNSProvider, error) {
return nil, errors.New("base_url is required")
}
var redisClient *redis.Client = nil
if config.Redis != nil {
redisClient = redis.NewClient(&redis.Options{
Addr: config.Redis.Address,
Password: config.Redis.Password,
DB: config.Redis.DB,
})
}
return &IONOS{
ionosAPI.New(config.APIKey, config.BaseURL),
redisClient,
}, nil
}

12
renovate.json Normal file
View File

@@ -0,0 +1,12 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"packageRules": [
{
"matchPackageNames": [
"golang",
"go"
],
"groupName": "go version"
}
]
}