This release includes 2 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+2 more
ReleasePort's take
Light signalgocron v0.9.12 introduces three breaking changes: --config now requires a file path instead of a directory, SQLite config relocated to a db section, and job routes now use URL-safe slugs. Applications must migrate before upgrading.
Why it matters: Three breaking changes require configuration migration before upgrading: --config expects a file path, SQLite config moved to db section, and job routes use URL-safe slugs. Test in dev first.
Summary
AI summaryThe --config flag now requires a YAML file path and SQLite config moved to db section.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
--config flag now expects direct file path instead of folder path --config flag now expects direct file path instead of folder path Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Breaking | Medium |
SQLite configuration moved under db section with db.location and db.name SQLite configuration moved under db section with db.location and db.name Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Breaking | Medium |
Job detail routes use auto-generated URL-safe slugs instead of raw job names Job detail routes use auto-generated URL-safe slugs instead of raw job names Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Low |
Added configurable SQLite database location and filename via `db` section Added configurable SQLite database location and filename via `db` section Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Feature | Low |
Implemented slug‑based job routes for URL safety and uniqueness enforcement Implemented slug‑based job routes for URL safety and uniqueness enforcement Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Feature | Low |
Added reusable CI workflow and unit tests covering config, buildinfo, and CLI components Added reusable CI workflow and unit tests covering config, buildinfo, and CLI components Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Dependency | Low |
Replaced Codecov with go-coverage-report for code coverage reporting Replaced Codecov with go-coverage-report for code coverage reporting Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Performance | Low |
Updated README to clarify and reorder test instructions for better usability Updated README to clarify and reorder test instructions for better usability Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Deprecation | Low |
Removed deprecated `reuse-go` input from go-coverage-report usage Removed deprecated `reuse-go` input from go-coverage-report usage Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
| Refactor | Low |
Refactored config file path handling logic Refactored config file path handling logic Source: granite4.1:30b@2026-05-24-audit Confidence: low |
— |
Full changelog
Breaking Changes
The --config flag now expects a path to the actual YAML config file, not a config folder. For example, use /path/to/config.yaml instead of /path/to/config or ./config.
Existing setups that relied on the old config-folder flag behavior must update their startup arguments before upgrading.
The SQLite configuration is now defined under a dedicated db section. Database directory is configured with db.location, and database file name is configured with db.name.
Job detail routes now use generated URL-safe slugs instead of raw job names. Slugs are derived automatically from the configured job name and must be unique.
Migration
Update your startup command to point --config directly to the config file.
Move any SQLite path customization into the db section.
To keep the previous default behavior, set db.location to . (the same folder as the config file) and leave db.name as db.sqlite.
Ensure job names produce unique slugs if you use the web UI, since duplicate slugs are now rejected during config loading.
Changes in This Release
- Add reusable CI workflow and unit tests (f343e58) by @flohoss
- Replace Codecov with go-coverage-report (3d4cc33) by @flohoss
- Remove deprecated reuse-go input from go-coverage-report (473e5ae) by @flohoss
- Replace Codecov badge with go-coverage-report badge (b666f66) by @flohoss
- Add unit tests for config, buildinfo and CLI (4c1467f) by @flohoss
- Refactor Config File Path Handling (a8c3729) by @flohoss
- Add Configurable SQLite Database Settings (d16d5e1) by @flohoss
- Add Slug-Based Job Routes (26baabf) by @flohoss
- Clarify and reorder test instructions in README (6a99bbf) by @flohoss
- Merge pull request #54 from flohoss/53-refactor-config-path-handling-and-add-configurable-sqlite-db-namelocation (d86fc18) by @flohoss
- Rename upload-codecov to generate-coverage-report (6fadcde) by @flohoss
Full Changelog: https://github.com/flohoss/gocron/compare/v0.9.11...v0.9.12
Docker Image
docker pull ghcr.io/flohoss/gocron:v0.9.12
docker pull ghcr.io/flohoss/gocron:latest
Binary Downloads
Download one of the attached binaries extracted from the release image:
gocron_<version>_linux_amd64gocron_<version>_linux_arm64
Verify with ./gocron_<version>_linux_<arch> --version.
Image digest:
ghcr.io/flohoss/gocron:v0.9.12@sha256:914f81c74d05623f94d70c021f6c8a8aac94d6f91f3cb3005289c3ff920d61f3
Build Information
- Version:
v0.9.12 - Build Time:
2026-05-11T04:39:31Z - Repository: https://github.com/flohoss/gocron
- Platform:
linux/amd64,linux/arm64 - Attestations: SLSA Provenance, SBOM
Breaking Changes
- --config flag expects a path to the YAML config file instead of a config folder
- SQLite settings relocated under db section; use db.location for directory, db.name for filename
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About gocron
Task scheduler that allows users to specify recurring jobs via a simple YAML configuration file. `MIT` `Docker`
Related context
Related tools
Beta — feedback welcome: [email protected]