Changelog
What's new in JustRun
Every feature, fix, and improvement we ship. Follow along as we build the cron service we always wanted.
v0.9.1
Escalation Policies, Teams, Advanced Job Config & More
- Multi-phase escalation policies with AI diagnosis — alert phase 1, escalate to phase 2 after N retries, AI-written findings at phase 3
- Escalation AI Wizard — 3 questions generates your entire escalation policy
- 3-tier escalation inheritance: global default → space → job override
- Alert rules engine — 5 rule types: on failure, N consecutive failures, slow response, uptime below %, body change
- Job chains now execute: trigger job B after A succeeds, fails, matches status code, or body contains string
- Dead letter queue — permanently failed jobs surface on dashboard with Retry/Dismiss
- Team collaboration — invite members by email, owner/admin/member roles, shared job visibility
- Weekly AI audit — Claude Haiku audits your job configuration twice a week, insights on dashboard
- CLI tool — npx @justrun/cli: login, list jobs, create, run, pause, delete from terminal
- Advanced job config — auth type (Bearer/Basic/API key), success criteria, pause until, concurrent run protection, catch-up, slow alert threshold, jitter, signing secret
- Response time chart with uptime % in job detail panel
- Badge monitoring — SVG status badges for READMEs, private by default with token-based access
- Column sorting on dashboard — click headers to sort by name, last run, status, response time, next run
- Dashboard stats from dedicated /jobs/stats endpoint — always accurate regardless of page/filter
- Escalation policies page with phase builder and AI Wizard modal
- 30 competitor comparison pages and 19 migration guides
- AES-256-GCM encryption at rest for all sensitive fields (webhook URLs, auth tokens, signing secrets)
- DNS rebinding protection — dual-pass URL validation with TTL check
- Badge tokens — private by default, generate shareable token per job
- OAuth redirect_uri allowlist, CORS restricted to justrun.sh, atomic AI quota increments
v0.9.0
Brand Redesign + New Pricing
- Complete dark-first redesign with emerald accent palette, new typography system, and ambient glow effects across every page
- Overhauled pricing structure: Hobby $3/mo, Maker $7/mo, Pro $19/mo, Scale $49/mo — all plans include AI diagnostics
- Free tier expanded from 5 to 10 jobs with 5-minute minimum intervals and 1-day execution history retention
- Added 30 pre-built job templates across 13 categories including WordPress, monitoring, DevOps, e-commerce, analytics, and more
- New stack comparison section on landing page showing architecture differences vs legacy cron services (Hono vs PHP, NATS vs MySQL polling)
- Redesigned pricing cards with highlighted "Popular" badge and feature breakdowns per tier
v0.8.0
API Keys, MCP Server & Webhooks
- API key generation and management UI — keys are SHA-256 hashed before storage, only shown once on creation
- MCP (Model Context Protocol) server for Claude, Cursor, and other AI agents to create, list, pause, and manage cron jobs programmatically
- Webhook alert delivery on job failures with support for Slack incoming webhooks, Discord webhook URLs, and generic signed HTTP webhooks
- All outgoing webhook payloads are signed with HMAC-SHA256 using a per-user secret for verification
- Comprehensive API documentation at /docs with 30+ endpoints, request/response examples, and authentication guide
- New API key scopes: read-only, execute, and full-access with per-key rate limits
v0.7.0
Security Hardening
- SSRF protection on all outbound job requests — blocks private IP ranges (10.x, 172.16-31.x, 192.168.x), link-local addresses, and cloud metadata endpoints (169.254.169.254)
- Rate limiting across all API endpoints: 100 requests/minute for general use, 10 requests/minute for job executions, with sliding window counters
- Plan-based limit enforcement on job creation — attempting to exceed your plan quota returns a clear upgrade prompt
- Security headers added to all responses: Content-Security-Policy, Strict-Transport-Security (HSTS), X-Frame-Options, X-Content-Type-Options
- Batched scheduler queries reduce database load by 60% — jobs are fetched in time-windowed batches instead of individual lookups
- Input validation hardened with Zod schemas on every API route, rejecting malformed cron expressions and invalid URLs at the edge
v0.6.0
Dashboard Overhaul
- Execution sparklines on job cards showing the last 20 runs as a mini success/failure graph — green for 2xx, red for errors, gray for pending
- Public status badges (SVG) for any job — embed in GitHub READMEs, docs, or status pages to show real-time job health
- CSV export for execution history — download filtered results with timestamps, status codes, response times, and error messages
- Dark mode as default with light mode toggle, persisted to localStorage and applied before first paint to prevent flash
- Command palette (Cmd+K / Ctrl+K) for instant navigation — search jobs, spaces, settings, and actions without leaving the keyboard
- Active nav highlighting in the sidebar based on current route, with smooth transition animations
- New onboarding flow for first-time users: guided tour of dashboard, job creation, and alert setup with dismissible tooltips
- Bulk select and actions — pause, resume, delete, move to space, and tag multiple jobs at once with shift-click and Cmd+A support
v0.5.0
Migration & Templates
- One-click import from EasyCron — paste your EasyCron API key and all jobs, schedules, and settings are migrated automatically
- One-click import from cron-job.org — export your jobs as JSON and upload directly into JustRun with schedule mapping
- 12 starter job templates covering WordPress (wp-cron, backup, update check), uptime monitoring (HTTP, SSL, DNS), DevOps (deploy hooks, cache purge, log rotation), and more
- Job editing in a slide-out panel — click any job card to open a detail drawer with inline editing, execution history, and quick actions
- Spaces management with grouped stats — create workspaces for different projects, see aggregate success rates and job counts per space
- Tags and filtering system — assign color-coded tags to jobs, filter the dashboard by tag, space, status, or schedule frequency
v0.4.0
Jobs Actually Run
- Real HTTP execution engine — jobs now make actual outbound requests with configurable methods (GET, POST, PUT, DELETE), headers, and request bodies
- Automatic retries with configurable strategy: exponential backoff (default), linear, or fixed interval with up to 5 retry attempts
- Execution history table showing status codes, response times (ms), response body previews, retry counts, and timestamps for every run
- Run Now button on every job card triggers immediate execution outside the normal schedule — useful for testing and debugging
- Scheduler daemon starts on application boot with a 1-second tick loop, checking the priority queue for due jobs and dispatching them to the execution worker
- Timeout handling — jobs that exceed the 30-second response limit are marked as failed with a timeout error and trigger retry logic
v0.3.0
The Foundation
- Hono API framework with typed routes for jobs CRUD, spaces management, billing endpoints, API key operations, and health checks
- Next.js 15 frontend with App Router, React Server Components, and Supabase Auth (email/password + GitHub OAuth)
- Interactive cron expression builder on the landing page — select frequency, time, and day with a visual UI that outputs valid cron syntax
- Supabase PostgreSQL database with Row Level Security (RLS) policies ensuring users can only access their own jobs, spaces, and execution history
- Drizzle ORM schema with 8 tables: users, jobs, executions, spaces, api_keys, alerts, tags, and job_tags with proper foreign keys and indexes
- Monorepo structure with Turborepo — apps/web (Next.js), apps/api (Hono), packages/db (Drizzle schema), packages/shared (types and utilities)
- CI pipeline with GitHub Actions: lint, type-check, and build on every push to main