# Changelog
## [0.7.1](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.7.0...graphile_worker_crontab_runner-v0.7.1) - 2025-12-31
### Other
- updated the following local packages: graphile_worker_crontab_types, graphile_worker_lifecycle_hooks
## [0.7.0](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.6.2...graphile_worker_crontab_runner-v0.7.0) - 2025-12-25
### Other
- replace manual builders with derive_builder macro
## [0.6.2](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.6.1...graphile_worker_crontab_runner-v0.6.2) - 2025-12-24
### Other
- update Cargo.toml dependencies
## [0.6.1](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.6.0...graphile_worker_crontab_runner-v0.6.1) - 2025-12-22
### Fixed
- resolve crontab_runner infinite loop on clock skew
### Other
- use let-else for cleaner duration handling
- add integration tests for CronRunner with MockClock
## [0.6.0](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.12...graphile_worker_crontab_runner-v0.6.0) - 2025-12-06
### Added
- add lifecycle hooks with native async fn syntax
## [0.5.12](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.11...graphile_worker_crontab_runner-v0.5.12) - 2025-10-31
### Other
- update Cargo.toml dependencies
## [0.5.11](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.10...graphile_worker_crontab_runner-v0.5.11) - 2025-09-19
### Other
- update Cargo.toml dependencies
## [0.5.10](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.9...graphile_worker_crontab_runner-v0.5.10) - 2025-06-10
### Other
- update Cargo.toml dependencies
## [0.5.9](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.8...graphile_worker_crontab_runner-v0.5.9) - 2025-04-24
### Other
- updated the following local packages: graphile_worker_shutdown_signal
## [0.5.8](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.7...graphile_worker_crontab_runner-v0.5.8) - 2025-04-17
### Other
- update Cargo.toml dependencies
## [0.5.7](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.6...graphile_worker_crontab_runner-v0.5.7) - 2025-04-17
### Other
- update Cargo.toml dependencies
## [0.5.6](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.5...graphile_worker_crontab_runner-v0.5.6) - 2024-05-28
### Other
- update Cargo.toml dependencies
## [0.5.5](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.4...graphile_worker_crontab_runner-v0.5.5) - 2024-05-08
### Other
- update Cargo.toml dependencies
## [0.5.4](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.3...graphile_worker_crontab_runner-v0.5.4) - 2024-02-28
### Other
- update Cargo.toml dependencies
## [0.5.3](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.2...graphile_worker_crontab_runner-v0.5.3) - 2024-02-14
### Other
- update Cargo.toml dependencies
## [0.5.2](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.1...graphile_worker_crontab_runner-v0.5.2) - 2024-02-12
### Other
- Add cron test
## [0.5.1](https://github.com/leo91000/graphile_worker_rs/compare/graphile_worker_crontab_runner-v0.5.0...graphile_worker_crontab_runner-v0.5.1) - 2024-02-04
### Other
- update Cargo.toml dependencies
## [0.4.2](https://github.com/leo91000/graphile_worker/releases/tag/archimedes_crontab_runner@0.4.2)
### ✨Features
* feat: Handle job_key & job_key_mode in cron ([faa9d12](https://github.com/leo91000/archimedes/commit/faa9d12))
### 🐛 Fixes
* fix: Fix a bug where jobs would block event loop ([4861dd4](https://github.com/leo91000/archimedes/commit/4861dd4))
### 🧹 chores
* chore(deps): update all non-major dependencies ([554a4c0](https://github.com/leo91000/archimedes/commit/554a4c0))
* chore(deps): update all non-major dependencies ([3731c13](https://github.com/leo91000/archimedes/commit/3731c13))
* chore(deps): update rust crate serde_json to 1.0.96 ([d5ad5ce](https://github.com/leo91000/archimedes/commit/d5ad5ce))
* chore(deps): update rust crate serde to 1.0.160 ([1b17a9e](https://github.com/leo91000/archimedes/commit/1b17a9e))
* chore(deps): update rust crate serde to 1.0.159 ([4691d72](https://github.com/leo91000/archimedes/commit/4691d72))
* chore(deps): update all non-major dependencies ([60d004e](https://github.com/leo91000/archimedes/commit/60d004e))
* chore(deps): update rust crate serde_json to 1.0.95 ([10772ac](https://github.com/leo91000/archimedes/commit/10772ac))
## [0.4.1](https://github.com/leo91000/archimedes/releases/tag/archimedes_crontab_runner@0.4.1)
### 🧹 chores
* chore(release): archimedes_crontab_runner@0.4.1 ([3a5f858](https://github.com/leo91000/archimedes/commit/3a5f858))
* chore(deps): update all non-major dependencies ([85e3b4b](https://github.com/leo91000/archimedes/commit/85e3b4b))
### 🛠 Dev
* dev: Fix release script adding dependencies ([5c7cb61](https://github.com/leo91000/archimedes/commit/5c7cb61))
## 0.4.0
### 🧹 chores
* chore(deps): update all non-major dependencies ([85e3b4b](https://github.com/leo91000/archimedes/commit/85e3b4b))
### 🛠 Dev
* dev: Fix release script adding dependencies ([5c7cb61](https://github.com/leo91000/archimedes/commit/5c7cb61))
## 0.3.0
### ✨Features
* feat: Add release xtask (#32) ([f7fee4d](https://github.com/leo91000/archimedes/commit/f7fee4d))
* feat: Cron runner done ✔️ ([361906e](https://github.com/leo91000/archimedes/commit/361906e))
* feat: Add backfill handling for crontab ([3775f4f](https://github.com/leo91000/archimedes/commit/3775f4f))
* feat: Added utilities for `CrontabFill` ([59bb0cf](https://github.com/leo91000/archimedes/commit/59bb0cf))
### 🐛 Fixes
* fix: Add correct feature flag for sqlx dependency ([15f8330](https://github.com/leo91000/archimedes/commit/15f8330))
* fix: Fix typo in Cargo package keywords ([012d4ee](https://github.com/leo91000/archimedes/commit/012d4ee))
* fix: use modulus instead of substraction for duration remaining ([9ea0a52](https://github.com/leo91000/archimedes/commit/9ea0a52))
### 🧹 chores
* chore(release): archimedes_crontab_runner@0.2.0 ([7d03c47](https://github.com/leo91000/archimedes/commit/7d03c47))
* chore(deps): update rust crate serde to 1.0.158 ([4643dcb](https://github.com/leo91000/archimedes/commit/4643dcb))
* chore(deps): update all non-major dependencies ([629a3dd](https://github.com/leo91000/archimedes/commit/629a3dd))
* chore(deps): update rust crate serde to 1.0.156 ([86685ec](https://github.com/leo91000/archimedes/commit/86685ec))
* chore(deps): update rust crate chrono to 0.4.24 ([5676a7c](https://github.com/leo91000/archimedes/commit/5676a7c))
* chore(deps): update rust crate serde to 1.0.155 ([f98fde2](https://github.com/leo91000/archimedes/commit/f98fde2))
* chore(deps): update rust crate serde to 1.0.154 ([abddcf5](https://github.com/leo91000/archimedes/commit/abddcf5))
* chore(deps): update rust crate serde to 1.0.153 ([374f207](https://github.com/leo91000/archimedes/commit/374f207))
* chore(deps): update rust crate thiserror to 1.0.39 ([0790a3f](https://github.com/leo91000/archimedes/commit/0790a3f))
* chore(deps): update rust crate serde_json to 1.0.94 ([a969360](https://github.com/leo91000/archimedes/commit/a969360))
* chore(deps): update rust crate tokio to 1.26.0 ([9d8cd06](https://github.com/leo91000/archimedes/commit/9d8cd06))
* chore(deps): update rust crate once_cell to 1.17.1 ([9e9d8aa](https://github.com/leo91000/archimedes/commit/9e9d8aa))
* chore(deps): update rust crate serde_json to 1.0.93 ([7eb2054](https://github.com/leo91000/archimedes/commit/7eb2054))
* chore(deps): update all non-major dependencies ([3ecb31d](https://github.com/leo91000/archimedes/commit/3ecb31d))
* chore(deps): update rust crate tokio to 1.25.0 ([b28f180](https://github.com/leo91000/archimedes/commit/b28f180))
* chore(deps): update rust crate tokio to 1.24.2 ([035b7fa](https://github.com/leo91000/archimedes/commit/035b7fa))
* chore(deps): update rust crate tokio to 1.24.1 ([9bc0335](https://github.com/leo91000/archimedes/commit/9bc0335))
* chore(deps): update rust crate tokio to 1.24.0 ([43ebddf](https://github.com/leo91000/archimedes/commit/43ebddf))
* chore(deps): update rust crate tokio to 1.23.1 ([d20c0b6](https://github.com/leo91000/archimedes/commit/d20c0b6))
* chore(deps): update rust crate once_cell to 1.17.0 ([c52bb61](https://github.com/leo91000/archimedes/commit/c52bb61))
* chore(deps): update rust crate serde to 1.0.152 ([a6115cb](https://github.com/leo91000/archimedes/commit/a6115cb))
* chore: Add crontab runner to the worker main run function ([340445a](https://github.com/leo91000/archimedes/commit/340445a))
* chore: Add license field for crontab_runner toml file ([9266308](https://github.com/leo91000/archimedes/commit/9266308))
* chore: Specify version for workspace packages ([8e03f22](https://github.com/leo91000/archimedes/commit/8e03f22))
* chore: Remove keywords and categories from packages metadata ([798bded](https://github.com/leo91000/archimedes/commit/798bded))
* chore: Include https:// in package metadata documentation and homepage ([ebffd12](https://github.com/leo91000/archimedes/commit/ebffd12))
* chore: Prepare packages for publishing ([5d99f5c](https://github.com/leo91000/archimedes/commit/5d99f5c))
* chore: Apply clippy lint ([66e3894](https://github.com/leo91000/archimedes/commit/66e3894))
* chore(deps): update all non-major dependencies ([bdb33af](https://github.com/leo91000/archimedes/commit/bdb33af))
* chore: Clippy fixes ([506f98c](https://github.com/leo91000/archimedes/commit/506f98c))
* chore: Update schedule_crontab_jobs_at signature ([8d5e1e3](https://github.com/leo91000/archimedes/commit/8d5e1e3))
* chore: Refactor folder structure ([df41490](https://github.com/leo91000/archimedes/commit/df41490))
### 🤖 CI
* ci: Update release script ([3614a76](https://github.com/leo91000/archimedes/commit/3614a76))
### 🚧 WIP
* wip: Adds signal handling ([a8d11b2](https://github.com/leo91000/archimedes/commit/a8d11b2))
* wip: first attempts at crontab_runner ([4c59b2e](https://github.com/leo91000/archimedes/commit/4c59b2e))