Releases: hzerrad/cronkit
Releases · hzerrad/cronkit
Release list
v0.3.1
Cronkit v0.3.1
Changelog
- 0754b5a Merge pull request #7 from hzerrad/fix/scan-followups
- 20b0ef2 fix: report a file's decode failure once, not once per source
- 57a8cac perf: only stat and sniff files a source recognises
- 8908fb0 refactor: reuse one parser per crontab source
Installation
Homebrew
brew tap hzerrad/cronkit
brew install --cask cronkitAPT (Debian/Ubuntu)
echo "deb [trusted=yes] https://apt.fury.io/hzerrad-dev/ /" | sudo tee /etc/apt/sources.list.d/cronkit.list
sudo apt update && sudo apt install cronkitDNF/YUM (Fedora/RHEL)
sudo tee /etc/yum.repos.d/cronkit.repo >/dev/null <<'EOF'
[cronkit]
name=Cronkit
baseurl=https://yum.fury.io/hzerrad-dev/
enabled=1
gpgcheck=0
EOF
sudo dnf install cronkitPacman/AUR (Arch Linux)
yay -S cronkit-bin
# or
paru -S cronkit-binChangelog
v0.3.0
Cronkit v0.3.0
Changelog
- 4c5bd19 Merge pull request #6 from hzerrad/feat/scan-sources
- dbb00fa feat: format-neutral document tree and path language
- 591c892 feat: git-aware discovery walker
- 1e6d14a feat: inventory item and JSON contract
- d1e90ae feat: k8s, github actions, argo and crontab sources
- 6db833b feat: model interval and reboot schedules
- 0ab8f90 feat: scan command
- 3da742b refactor: analyze inventory items instead of crontab jobs
Installation
Homebrew
brew tap hzerrad/cronkit
brew install --cask cronkitAPT (Debian/Ubuntu)
echo "deb [trusted=yes] https://apt.fury.io/hzerrad-dev/ /" | sudo tee /etc/apt/sources.list.d/cronkit.list
sudo apt update && sudo apt install cronkitDNF/YUM (Fedora/RHEL)
sudo tee /etc/yum.repos.d/cronkit.repo >/dev/null <<'EOF'
[cronkit]
name=Cronkit
baseurl=https://yum.fury.io/hzerrad-dev/
enabled=1
gpgcheck=0
EOF
sudo dnf install cronkitPacman/AUR (Arch Linux)
yay -S cronkit-bin
# or
paru -S cronkit-binChangelog
- 4c5bd19 Merge pull request #6 from hzerrad/feat/scan-sources
- dbb00fa feat: format-neutral document tree and path language
- 591c892 feat: git-aware discovery walker
- 1e6d14a feat: inventory item and JSON contract
- d1e90ae feat: k8s, github actions, argo and crontab sources
- 6db833b feat: model interval and reboot schedules
- 0ab8f90 feat: scan command
- 3da742b refactor: analyze inventory items instead of crontab jobs
v0.2.0
Cronkit v0.2.0
Changelog
- 60b5c61 Merge pull request #5 from hzerrad/fix/next-timezone-assertion
- 6c356fb feat: lane layout math for timeline
- eea477e feat: name the source and window range in the timeline header
- 867bcc0 feat: replace timeline render with lane chart
- 2f1e3c5 feat: tty detection, color/ascii flags for timeline
- fda1a43 fix: cap plot at useful resolution, widen gutter when there is room
- 1eb18f9 fix: put a single expression's description above the chart
- dca37ae fix: truncate lane expr and floor gutter for conflicts label
- eeb4257 refactor: ordered job registry and glyph tables
Installation
Homebrew
brew tap hzerrad/cronkit
brew install --cask cronkitAPT (Debian/Ubuntu)
echo "deb [trusted=yes] https://apt.fury.io/hzerrad-dev/ /" | sudo tee /etc/apt/sources.list.d/cronkit.list
sudo apt update && sudo apt install cronkitDNF/YUM (Fedora/RHEL)
sudo tee /etc/yum.repos.d/cronkit.repo >/dev/null <<'EOF'
[cronkit]
name=Cronkit
baseurl=https://yum.fury.io/hzerrad-dev/
enabled=1
gpgcheck=0
EOF
sudo dnf install cronkitPacman/AUR (Arch Linux)
yay -S cronkit-bin
# or
paru -S cronkit-binChangelog
- 60b5c61 Merge pull request #5 from hzerrad/fix/next-timezone-assertion
- 6c356fb feat: lane layout math for timeline
- eea477e feat: name the source and window range in the timeline header
- 867bcc0 feat: replace timeline render with lane chart
- 2f1e3c5 feat: tty detection, color/ascii flags for timeline
- fda1a43 fix: cap plot at useful resolution, widen gutter when there is room
- 1eb18f9 fix: put a single expression's description above the chart
- dca37ae fix: truncate lane expr and floor gutter for conflicts label
- eeb4257 refactor: ordered job registry and glyph tables
v0.1.2
Cronkit v0.1.2
Changelog
Installation
Homebrew
brew tap hzerrad/cronkit
brew install --cask cronkitAPT (Debian/Ubuntu)
echo "deb [trusted=yes] https://apt.fury.io/hzerrad-dev/ /" | sudo tee /etc/apt/sources.list.d/cronkit.list
sudo apt update && sudo apt install cronkitDNF/YUM (Fedora/RHEL)
sudo tee /etc/yum.repos.d/cronkit.repo >/dev/null <<'EOF'
[cronkit]
name=Cronkit
baseurl=https://yum.fury.io/hzerrad-dev/
enabled=1
gpgcheck=0
EOF
sudo dnf install cronkitPacman/AUR (Arch Linux)
yay -S cronkit-bin
# or
paru -S cronkit-binChangelog
v0.1.1
Cronkit v0.1.1
Changelog
- 9a9554e Merge pull request #2 from hzerrad/fix/humanizer-field-kind
- ea8dcb1 Merge pull request #3 from hzerrad/fix/day-month-field-kinds
- 2207d5e feat: publish deb/rpm to Gemfury for apt/dnf repos
- 60b636b fix: classify field shapes and honour steps when expanding ranges
- fe9a516 fix: correct Gemfury account to hzerrad-dev in repo URLs
- a5d4db2 fix: count same-expression jobs without line numbers as separate
- c60f6db fix: describe stepped day and month fields instead of dropping them
- 48f6b96 fix: explain list and range schedules instead of falling back
- e79e56f refactor: remove dead arg-scanning loop in hygiene check
- 1bc65bc refactor: use fmt.Fprintf over WriteString(fmt.Sprintf) per staticcheck QF1012
Installation
Homebrew
brew tap hzerrad/cronkit
brew install cronkitAPT (Debian/Ubuntu)
echo "deb [trusted=yes] https://apt.fury.io/hzerrad-dev/ /" | sudo tee /etc/apt/sources.list.d/cronkit.list
sudo apt update && sudo apt install cronkitDNF/YUM (Fedora/RHEL)
sudo tee /etc/yum.repos.d/cronkit.repo >/dev/null <<'EOF'
[cronkit]
name=Cronkit
baseurl=https://yum.fury.io/hzerrad-dev/
enabled=1
gpgcheck=0
EOF
sudo dnf install cronkitPacman/AUR (Arch Linux)
yay -S cronkit-bin
# or
paru -S cronkit-binChangelog
- 9a9554e Merge pull request #2 from hzerrad/fix/humanizer-field-kind
- ea8dcb1 Merge pull request #3 from hzerrad/fix/day-month-field-kinds
- 2207d5e feat: publish deb/rpm to Gemfury for apt/dnf repos
- 60b636b fix: classify field shapes and honour steps when expanding ranges
- fe9a516 fix: correct Gemfury account to hzerrad-dev in repo URLs
- a5d4db2 fix: count same-expression jobs without line numbers as separate
- c60f6db fix: describe stepped day and month fields instead of dropping them
- 48f6b96 fix: explain list and range schedules instead of falling back
- e79e56f refactor: remove dead arg-scanning loop in hygiene check
- 1bc65bc refactor: use fmt.Fprintf over WriteString(fmt.Sprintf) per staticcheck QF1012
v0.1.0
Cronkit v0.1.0
Changelog
- 5fb64b0 Add 'list' command to display and summarize cron jobs from crontab files
- d077f97 Add 'next' command to calculate upcoming cron job runs
- a3699b5 Add --fail-on flag to CheckCommand for configurable severity levels
- 9a7606e Add --group-by flag to CheckCommand for issue grouping
- 492affd Add .cursorrules to .gitignore and remove from tracking
- 9a0fed3 Add BDD with Ginkgo tutorial for Cronic CLI project
- a9682fc Add CLAUDE.md to .gitignore and remove from tracking
- 680d0a5 Add ReferenceDate constant for consistent calculations and improve variable initialization
- 6116be2 Add budget command to analyze crontab against concurrency budgets; implement budget analysis logic and reporting
- b9266c1 Add constants for time windows, command limits, and reference dates
- e9ca9d2 Add crontab reader and parser functionality
- 2e00e5f Add edge case tests for humanizer
- 1ac846c Add example crontab files and enhance README documentation
- d916794 Add explain command tests
- 440b810 Add integration tests for explain command
- f265ae9 Add overlap analysis and frequency checks for crontab jobs; enhance documentation and metrics
- 4e8ba02 Add robfig/cron/v3 dependency and project guide
- fa4f7d3 Add templates for bug reports, feature requests, pull requests, and security policy
- 575ad60 Add test fixtures for cron expressions
- db8250f Add tests for budget command and metrics calculations with long time windows
- 5c121ae Add tests for crontab validation and humanization edge cases
- 0e4259d Add tests for user crontab handling and error paths in documentation and statistics commands
- 8dba17d Add timeline command to visualize cron job schedules
- 9802661 Add timeline visualization features with overlap reporting and export options
- 5212d35 Add unit tests for symbol parsing and registry functionality
- 077cf38 Enhance JSON output with timezone and locale fields; add stdin support for crontab commands
- 2c8a3b1 Enhance command-line flags and documentation for crontab operations; improve performance profiling and testing instructions
- f07f304 Enhance cron expression parsing to support locale-specific formatting
- 43c95de Enhance issue reporting with severity levels and diagnostic codes
- f21aa28 Enhance project setup and testing framework
- c723f9f Fix e2e test BeforeSuite placement
- c4c3b67 Fix linting errors for error handling
- 5303832 Fix test state isolation with command factory pattern Replace global command singletons with factory functions that create fresh command instances for each test. This eliminates state pollution between tests without requiring execution order workarounds. Changes: - Add newNextCommand() factory for isolated test instances - Add newExplainCommand() factory for isolated test instances - Update test helper to use factories instead of globals - Remove workarounds (AAAA prefix, simplified assertions) - Restore proper test assertions and validation
- 665ac44 Fix yearly alias humanization
- 567a82f Force GitHub contributors cache refresh
- d1b5a6f Implement cron parser with single-boundary pattern
- 6e62117 Implement explain command
- 76e64ef Implement humanizer with English templates
- 85bf1bc Improve error messages and refactor list command structure for clarity
- 9696e3f Move temporary reference to docs/
- d8d4d06 Refactor Humanizer and Parser to use pointer receivers for Schedule type
- 26ce425 Refactor check command tests to improve error and warning handling; update output expectations
- 5e05cd6 Refactor explain and next commands to use structured command types for improved test isolation and maintainability
- 408cb5f Refactor field structure to use composition for improved parsing and maintainability
- ad8ec6f Refactor issue handling in check command to separate errors, warnings, and info; improve output formatting
- 9a4d140 Refactor output methods in command files to use Printf and Print for consistency
- 55191d0 Refactor time constants and optimize run counting in metrics calculations
- d2fb315 Refer Ginkgo quick tutorial in README.md
- 336c631 Remove deprecated 'type' field from JSON output and related tests; update documentation
- a2eaed2 Remove example command
- 0c406f7 Remove outdated BDD tutorial link from README.md
- 1933b67 Remove temporary refresh file
- 3e20452 Test: verify pre-commit hook enforces code quality
- 2a952a8 Update GitHub Actions
- e2261eb Update GitHub Actions
- ae25e5d Update Makefile
- 695280d Update README.md
- 2265bec Update README.md
- 105216f Update end-to-end tests to reflect changes in error and warning handling; adjust output expectations
- cf3949c Update tests
- 8b4fc03 feat: add AUR configuration for cronic-bin and update installation instructions in README
- 63bb448 feat: add GoReleaser configuration for automated releases and package management
- 4baef09 feat: add git hooks for pre-commit checks and commit message validation
- 4026d56 feat: add scripts for building Debian and RPM packages, and update README with installation instructions
- 8d11bdd feat: enhance humanizer to handle various minute and hour patterns in explanations
- 8965080 feat: enhance tests for job frequency calculations and error handling
- dccbd02 feat: update GoReleaser configuration to rename 'depends' to 'dependencies' and remove unused scripts
- c2a2ee2 initial commit
- ff72379 refactor: update GoReleaser configuration for improved archive naming, fix SSH URL for AUR, and enhance installation instructions
- 1b2bb79 refactor: update GoReleaser configuration for improved archive naming, fix SSH URL for AUR, and enhance installation instructions
- b3786ee refactor: update GoReleaser configuration for improved archive naming, fix SSH URL for AUR, and enhance installation instructions
- d84366f refactor: update GoReleaser configuration for improved archive naming, fix SSH URL for AUR, and enhance installation instructions
- 52f3c33 refactor: update GoReleaser configuration for improved archive naming, fix SSH URL for AUR, and enhance installation instructions
- ad04e1b refactor: update GoReleaser configuration for version 2, adjust file formats, and clean up deprecated fields
- d70eec0 update README.md
Installation
Homebrew
brew tap hzerrad/cronkit
brew install cronkitAPT (Debian/Ubuntu)
wget https://github.com/hzerrad/cronkit/releases/download/v0.1.0/cronkit_0.1.0_linux_amd64.deb
sudo dpkg -i cronkit_0.1.0_linux_amd64.debDNF/YUM (Fedora/RHEL)
wget https://github.com/hzerrad/cronkit/releases/download/v0.1.0/cronkit_0.1.0_linux_amd64.rpm
sudo dnf install cronkit_0.1.0_linux_amd64.rpmPacman/AUR (Arch Linux)
yay -S cronkit-bin
# or
paru -S cronkit-binChangelog
- 5fb64b0 Add 'list' command to display and summarize cron jobs from crontab files
- d077f97 Add 'next' command to calculate upcoming cron job runs
- a3699b5 Add --fail-on flag to CheckCommand for configurable severity levels
- 9a7606e Add --group-by flag to CheckCommand for issue grouping
- 492affd Add .cursorrules to .gitignore and remove from tracking
- 9a0fed3 Add BDD with Ginkgo tutorial for Cronic CLI project
- a9682fc Add CLAUDE.md to .gitignore and remove from tracking
- 680d0a5 Add ReferenceDate constant for c...