Skip to content

gocron

Developer Productivity

A lightweight, distributed cron‑like task scheduler written in Go that replaces Linux crontab with web UI and HA features

Go Latest v1.6.1 · 27d ago Security brief →

Features

  • Web interface for intuitive task management
  • Second‑level precision Crontab expressions
  • High availability via database‑lock leader election
  • Configurable retry policies for failed tasks
  • Task dependency configuration

Recent releases

View all 44 releases →
v1.6.1 Bug fix

Fixed PostgreSQL compatibility by removing MySQL-only column types and modifying column operations.

Full changelog

Changelog

Bug Fixes

  • 933d33a99f08087868d30093d2f2a3cbfcbb0d21 fix(db): drop MySQL-only column types from GORM tags for PG compat #161
  • 8d5ca4dc31c20a1fb56c030e904f5dd7c2aa2824 fix(db): replace MySQL-only MODIFY COLUMN with GORM Migrator API
  • 884a5873bc9f2572dbdfcd0e0d05aa1a4b517fae fix(docker): pin pnpm to v10 to match CI Node 20 base image

Others

  • f335eada2adf777f56d15411647c55ae2424db5c chore: bump version to 1.6.1
v1.6.0 Security relevant
Security fixes
  • Upgrade pgx to v5.9.0 resolves a critical memory‑safety vulnerability (CVE not listed).
Notable features
  • Audit log for tracking user operations
  • Change diff detail added to task update audit logs
  • Cron expression live preview and i18n cron validator errors
Full changelog

Changelog

New Features

  • b1cadfc5413a455c0a6a212668792a49479e26e5 feat: add audit log for tracking user operations
  • 180a441efdb3e46204e4decf76d75a801fc94a15 feat: add change diff detail to task update audit log
  • 02fdd43aa4b09e4b8186bd027aafa832b9c5890c feat: add cron expression live preview and i18n cron validator errors
  • 52f889332a87f873d53b8ff799b5631abf40d3fa feat: add cron preview to template edit page for consistency with task edit
  • 06b3e4e18bfb80b768f57a47086eef4ec0ebc04b feat: template management and script versioning

Bug Fixes

  • f3aa207db43b9732786fac5737be7e8a25fb5f5d fix(db): use GORM map conditions for cross-dialect column quoting
  • c8bb46e9357e12318ba2c98379058d7e30bf5a80 fix(i18n): remove password policy hint from login page (EN)
  • 03e18f086ea5d3b5a5dfe2e7ef44fff407ef8f4b fix(task): preserve notify_status=0 and multi=0 on task creation
  • 22dc889ee12d9df759533d69fd01daca4de156fa fix: add audit log entry to global sidebar navigation
  • c9f7afa963f34b36dfa16e04b82e7d3afd3def17 fix: center align all columns in audit log table
  • c9a630227610e4aa20c6312263bdd24537f2d4fd fix: improve audit detail dialog with table layout
  • a0f210a8ff7b8a7a28be9a5562f5bc5c3b36c665 fix: read correct data key in audit log page
  • ebbb07cf767d5f87fdd9e8fe222a60e11389792e fix: resolve target name and id from POST body in audit middleware
  • 46533e4d4a5edcec0eba745872f2419065a0afad fix: upgrade pgx to v5.9.0 to resolve critical memory-safety vulnerability

Others

  • 44c5082bd8cbe22e0f109d1062deea7d338eda1c chore: add .vite cache to gitignore
  • 5484c611dda95db1a70439573624116086c73445 chore: add CLAUDE.md project guidelines
  • f9ada35b77ea21b3d35d2c3400105793709e9bfd chore: bump Go to 1.26.2 and pgx to v5.9.1 to patch stdlib and driver CVEs
  • 57d8e3b2cfa0d843256c0c942a7d568db3869eac chore: link audit log feature to #136
  • a17053072d58a40b2f60aeca328cbdba18148d43 chore: update gitignore
  • 4b3e700f6bdde18fdfcaee6c34f4af00c276f29b chore:format code
  • c39d5523f205da43cc2069b6ff3ea2f3f4f71417 refactor: fix concurrency, error handling, and input validation issues across backend
  • 0e9f93bf099698968c85bd280f5139f8d4a191cc refactor: harden agent registration, trim verbose scheduler logs, and silence Gin route dump
  • 20466dfca1f6ffdc0eefeab6de445752db6a8e61 refactor: trim redundant scheduler logs to reduce per-task and startup noise
v1.5.9 New feature
Notable features
  • Add HTTP task support for POST body, custom headers, and response assertions.
  • Add timezone selector for cron expressions and upgrade cron library to v0.1.3.
  • Implement multi‑tag support, per‑task log cleanup, and configurable log retention.
Full changelog

Changelog

New Features

  • fb6c8cfef213f759f62f7b6c3f14c363e0068946 feat: add HTTP task enhancements — POST body, custom headers, response assertion
  • a08f7723ca57960b7ff072e51c3f68f1fe15d419 feat: add timezone selector for cron expressions and upgrade cron to v0.1.3 #130
  • f8b1f45c136fbd4f5a439b3f983eebecd42907fd feat: multi-tag support, per-task log cleanup, task-level log retention (#122)
  • 6b696bdc59d05fa28e51fa40710dcc56683b1c0f feat: release v1.5.1
  • a49f06f9ca0b2ad5613dc9ec9781c6d9315f5922 feat: update test case
  • e89e7afe0cf8ec56aefa75314bd5b93695fa3c76 feat:replace CGO sqlite with pure Go driver and add automated release workflow

Bug Fixes

  • 83ce1b014f68799999c56604e6cc791659db16a5 fix(ci): migrate eslint to flat config and add frontend dist placeholder for go build
  • 94ab5c615dabed401ffc13b22ef61c69c6f63ef3 fix(ci): resolve async logger data race and go toolchain version mismatch
  • 518c309fb115ded92d10a2c295cce5682cca946c fix(i18n): escape curly braces in placeholder strings to fix production build
  • 4a50b36fe6dbd8e2be0aa8d96d99cb16778f7369 fix(lint): resolve empty catch block error in task edit form
  • fd5ac78a77535de1d5a1f38886d6ca82fcea0e4d fix(test): set MaxOpenConns(1) for SQLite in-memory DB in leader election tests
  • 95c82eacbbf2d2afa9813f6eb1a21e9821644205 fix: add nil check for serviceCron in log cleanup to prevent panic on followe nodes
  • 5c0a32bae88d0748d4053c341f98b3816bbd0518 fix: add tzdata to Docker image to fix timezone parsing panic #132
  • 735ce8a44faaa6c999a6d94c6c92472ea40d5bf9 fix: compact JSON before success_pattern matching for whitespace tolerance
  • 22c31bea066ac188e8cc50863fccc61d64ad05cb fix: exclude go test binaries from go-build dev environment detection
  • 60ab6dddc87e1a93881ce015792550cc7b482478 fix: quote reserved keyword 'key' in SQL to fix MySQL deployment (#129)
  • 0d84a00d3decda7f9d27e67e9dc4fb4a7c36250d fix: remove NOT NULL constraint on TEXT fields to fix MySQL table creation #129
  • 3ebe46f61cc1c51b4637956f8bf1d6c6b996e20d fix: remove cron(v0.1.2)
  • 76758622c4d39cb18f62ca38088e6174bf1af3b4 fix: set executable permission on husky hooks
  • 7461c5257c56eb200fb195579781596a2907a48a fix: start scheduler after install and prevent nil panic on log cleanup #129
  • eaef3fc749a5e943e87462d49ae09402e1d7b1c0 fix: upgrade frontend dependencies to resolve 13 Dependabot security alerts
  • f1d1788abb6a8f76bc99de50491aea440e5035ba fix: upgrade frontend dependencies to resolve 13 Dependabot security alerts

Others

  • 36183820b185c8d5b2c46c86ae92add4d14ffd3e Merge pull request #123 from gocronx-team/feat/multi-tag-log-cleanup-retention
  • ed0b38d572215975a215b35c933a1a30e349252e Merge pull request #124 from gocronx-team/feat/multi-tag-log-cleanup-retention
  • 384a6a0fea3e9a531f7a9a84d57f9e1f5965370f chore: format code
  • 63917fa6d899a80b58a1e942ee601caa013e9663 chore: link pure Go SQLite and release workflow to #133
  • 6bc16a289faed3dd441d7a1925edc32cb0faa286 chore: rename file name
  • 8a42956a8b2044e01398892219ee74057653ba75 chore: resolve Dockerfile conflict — keep tzdata, drop sqlite-libs
  • a48046d10c0824e3058d24cd0be82e4451dd4c4c chore: update release notes for v1.5.2
1.5.2 Feature
Notable features
  • Multi‑tag support with comma‑separated storage and el‑select multi‑picker (GET /api/task/tags)
  • Per‑task log cleanup via POST /api/task/log/clear/:id including batch delete, admin‑only
  • Task‑level log retention using log_retention_days field; excludes custom tasks from global cleanup
Full changelog

feat: multi-tag support, comma-separated storage, el-select multi-picker, GET /api/task/tags
feat: per-task log cleanup, POST /api/task/log/clear/:id, batch delete, admin-only
feat: task-level log retention, log_retention_days field, excludes custom tasks from global cleanup
fix: go run AppDir detection for dev environment
fix: el-alert \n literal rendering, use v-html with

chore: bump to v1.5.8 with migration 158

1.5.1 Feature
Notable features
  • Cron performance improvements (allocs -85%, ns/op -73%)
  • Web UI displays a progress bar for requests
Full changelog

feat: support high availability deployment by @gocronx
feat: update cron version (allocs -85%, ns/op -73%) by @gocronx
feat(web): display a progress bar for web requests by @WShihan

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.

About

Stars
767
Forks
52
Languages
Go Vue Shell

Install & Platforms

Install via
docker binary
Platforms
linux macos

Alternative to

Linux-crontab

Beta — feedback welcome: [email protected]