Changelog
What's shipped
freshdock follows Keep a Changelog and Semantic Versioning. This mirrors the project's CHANGELOG.md, the canonical, always-current source. Full release artifacts (binaries, images) are on the releases page.
1.2.1 (16 June 2026)
Other
- Bump
tomlfrom 0.8.23 to 1.1.2 (spec 1.1.0). (#50)
1.2.0 (16 June 2026)
Added
- Credential observability. Surface registry-auth state, and survive rejected tokens instead of failing the whole check. (#45)
Other
- Publish documentation as an mdBook site on GitHub Pages. (#46)
- Add monthly Dependabot for cargo and GitHub Actions. (#47)
- Add a funding option, project logo, and README header. (#41, #44)
1.1.0 (10 June 2026)
Added
- Full environment-variable config coverage, onboarding docs, and node24 release actions. (#39)
1.0.0 (10 June 2026)
First stable release. Same surface as 1.0.0-rc.1, promoted after a homelab beta. watch, read-only check, and the recreate health-gate were verified on Docker, Portainer, and TrueNAS. No functional changes since the candidate.
1.0.0-rc.1 (9 June 2026)
First release candidate. Closes Phases 0 to 7 of the roadmap.
Added
freshdock check: read-only update-status table. Lists opted-in containers, resolves the latest registry digest per unique image (deduped to respect Docker Hub's anonymous rate budget), and reports which have updates. Never mutates state.freshdock recreate <name>: manual single-container update. The sequence is inspect → pull → stop → rename → create → start, health-gated with automatic rollback on failure.freshdock run: scheduler daemon polling opted-in containers on their per-mode cadence (--interval,--tick,--stop-timeout); graceful SIGINT/SIGTERM drain.- Per-container update modes via Docker labels:
live,nightly,weekly,monthly,watch,off. Opt-in by default (freshdock.enable=true). - Per-container cron override (
freshdock.schedule) with a hand-rolled 5-field parser; calendar modes evaluated in system local time with DST-gap handling. - Health-gated rollback: a new container must pass its healthcheck (or a grace period) before the old one is removed; otherwise it is restored.
- Multi-registry digest checks: Docker Hub (anonymous + authenticated), GHCR, Quay.io, lscr.io, and any OCI bearer-token registry.
- Notifications: webhook, Discord, Telegram, and SMTP backends, each subscribable to a subset of the
available/succeeded/failedtriggers. - Image cleanup: remove the superseded image after a healthy update; optional daemon-wide dangling prune.
- Global default mode for enabled containers with no explicit
freshdock.modelabel. - Multi-arch container image (amd64, arm64, armv7) on GHCR and static-musl release binaries for the same three architectures.