v0.8.7 Aug 7, 2026
Scheduler page loads again
-
Fixed
Operator Scheduler page no longer crashes when the latest reliability job is still only queued.
v0.8.6 Aug 6, 2026
In-flight work visibility and stuck database backup alerts
-
New
Operator Scheduler lists queued and running deploys, migrations, database moves, and proxy reconciles by workspace and project.
-
Fixed
Database backups stuck as Running are marked failed after 30 minutes, stop stacking new runs, and open a backup alert for the workspace.
-
Improved
Operator Scheduler shows a Backups health panel for databases whose scheduled backups never succeeded, with tenant and project context.
v0.8.5 Aug 6, 2026
Security scanner freshness on operator console
-
New
Operator Security page now shows installed scanner CLI versions and flags stale Grype DB or missing tools.
-
Improved
Daily security job inventories OSV, GuardDog, and other scanner versions even when Grype DB update fails.
-
New
Monthly pin-check script compares Dockerfile.security scanner versions against latest upstream releases.
v0.8.4 Aug 4, 2026
Faster dashboard loads and Postgres database moves
-
New
Move a managed Postgres database to another server in the workspace or to external hosted Postgres (BYO credentials) from the Database Move tab, API, or MCP.
-
Improved
Dashboard health content is cached briefly and metrics lookups only fetch the latest sample, so repeat loads hit the database far less.
-
Improved
Production API runs two workers so one slow page no longer freezes the whole control plane.
-
Improved
Old server and database metrics snapshots are pruned more aggressively so history tables stay bounded.
-
Fixed
Platform unhealthy on the dashboard now matches real red badges (unhealthy servers, routes, apps, or databases) instead of overdue probes or a failed deploy alone.
-
Fixed
Switching workspaces no longer leaves you on another workspace's application or resource page — you return to the dashboard instead.
-
Improved
Slow request logs now include the top slow SQL snippets so production lag is easier to diagnose.
v0.8.3 Aug 4, 2026
Clearer loading feedback while pages finish loading
-
Improved
Deferred sidebar and dashboard sections now show animated skeleton placeholders instead of blank space while data loads.
-
Improved
The top progress bar and Working indicator stay visible until all lazy-loaded sections have finished.
v0.8.2 Aug 4, 2026
Faster workspace switching across the product
-
Improved
Switching workspaces keeps you on the same page instead of always reloading the dashboard.
-
Improved
The sidebar and dashboard load in stages by default so workspace changes feel much snappier.
-
Improved
Workspace lists are cached briefly so the switcher does not re-query every tenant on each page load.
v0.8.1 Aug 4, 2026
More responsive control plane on modest VPS hosts
-
Improved
Control-plane deploys cap memory per container and run background workers with lower concurrency so the API stays responsive under load.
-
Improved
Scheduler background jobs now share the main worker process, reducing container overhead and faster recovery after a reboot.
v0.8.0 Aug 2, 2026
Faster dashboards, alerts, and routes across the product
-
Improved
Alerts and Routes load about 25–33% faster with fewer database round-trips on every visit.
-
Improved
Alert filter chips stay snappy on repeat visits thanks to short-lived server-side caching.
-
Improved
Production logs now include query counts and database time on slow requests so performance issues are easier to spot.
-
Improved
Server memory pressure diagnostics show a real percentage instead of unknown when host metrics are available.
v0.7.8 Jul 27, 2026
Stop apps from sharing another tenant's API on the same server
-
Fixed
Apps on the same server no longer resolve Docker DNS for api or web to another tenant's containers on the shared Traefik network.
-
Fixed
Web+API apps always use split edge routing so public API paths go straight to the correct API container.
-
Improved
Routing health checks now verify the API path returns a real API response, not just a healthy login page.
-
Fixed
Saving application health settings via the API no longer drops the deep health path or custom routing probes.
v0.7.7 Jul 15, 2026
Protect production during long compose builds on small hosts
-
Improved
Compose builds now run at lower CPU priority and abort when host pressure stays high, so production traffic is less likely to time out during long builds.
-
Improved
Deploy logs warn when a build has been silent for five minutes, and small-host apps show a persistent warning on the Deploys tab.
-
Fixed
Stale-deploy cleanup now kills orphaned detached build jobs when a build step times out.
v0.7.6 Jul 14, 2026
Fix GitHub App clone with SSH repository URLs
-
Fixed
Deploys using GitHub App auth no longer fail with publickey denied when the repository URL is git@github.com format — clones now use HTTPS with the installation token.
v0.7.5 Jul 14, 2026
Fix GitHub App Manifest rejected events
-
Fixed
Create GitHub App no longer fails with Invalid configuration — removed installation events GitHub does not allow in Manifests.
v0.7.4 Jul 14, 2026
Make GitHub App creation a one-click review, not a blank form
-
Fixed
Create GitHub App now posts the pre-filled Manifest even when browser JS is blocked — so GitHub shows a review page instead of an empty form.
-
Improved
Integrations and the handoff page explain: do not fill GitHub fields yourself; scroll and click Create.
v0.7.3 Jul 14, 2026
Accept GitHub org URLs when creating a workspace App
-
Fixed
Pasting https://github.com/org into GitHub organization login no longer breaks Create GitHub App (GitHub showed a generic error page).
-
Improved
Integrations hint and client-side normalize strip URLs down to the org login before redirect.
v0.7.2 Jul 14, 2026
Fix Create GitHub App redirect to your org
-
Fixed
Create GitHub App now returns from GitHub with a valid workspace handshake (state on the register URL).
-
Improved
Integrations asks for your GitHub organization login so the App is created where your repos live.
v0.7.1 Jul 14, 2026
Each workspace creates its own GitHub App
-
Changed
GitHub App setup is per workspace via Create GitHub App (App Manifest) — not a shared platform App under super-admin.
-
Improved
Integrations walks you through creating and installing your workspace App on your org or account.
-
Fixed
Tests and deploy hints match private-clone guidance after the per-tenant App rework.
v0.7.0 Jul 13, 2026
Clone private GitHub repos without deploy keys
-
New
Install the NoMoreJoel GitHub App once per workspace to clone private repos — even when orgs block deploy keys.
-
New
Integrations, app setup, and Settings guide teams to App install (or deploy keys) with clear auth preferences.
-
Improved
GitHub App install/uninstall and suspended states stay in sync via webhooks so private clones cannot silently break.
-
Improved
Public repos no longer look blocked in setup before credentials exist; private clones still require App or deploy key at deploy time.
v0.6.26 Jul 13, 2026
Self-healing disk pressure during self-deploys
-
Improved
Deploys automatically reclaim unused Docker images and build cache when disk usage is high, instead of failing and requiring a manual cleanup and retry.
-
Fixed
The disk safety check no longer uses a stale reading after cleanup runs during a deploy — it re-checks live disk usage before deciding whether to block.
v0.6.25 Jul 13, 2026
Fix self-deploy rollback dying mid-restore when it recreates its own worker container
-
Fixed
Fixed a rollback self-kill bug on operator self-deploy: restoring the last-good stack ran `docker compose up -d` inline over a blocking SSH call, which recreates the `worker` service — the exact container executing the rollback's own Celery task. The moment Docker replaced that container, the rollback process died mid-flight, leaving the restored stack stuck in `Created` with nothing left to repair, verify, or clean up (production outage, dep_5eb0519e7a0a4e56). The restore now runs as a detached host script (same pattern as build/publish), decoupled from the SSH channel and container lifetime, so it completes even if the orchestrating worker container is replaced partway through.
v0.6.24 Jul 13, 2026
Enable Traefik logging so routing incidents leave forensic evidence
-
Improved
Traefik's static config now enables INFO-level logging and JSON access logs, bounded by the existing log-rotation limits. A recent CP self-deploy routing incident left zero trace of what Traefik actually did during a persistent 404 because logging was completely off by default — future incidents will have real evidence to diagnose from.
v0.6.23 Jul 13, 2026
Fix rollback verification passing vacuously with zero live containers
-
Fixed
Fixed a rollback safety-net bug where the post-restore verification step reported success even when Docker Compose silently produced zero containers for the restored run, because its health-check loop had nothing to iterate over and never noticed. The check now explicitly fails when no containers are found instead of passing by default.
-
Fixed
Fixed the missing-service repair pass sometimes recreating nothing at all when a different (failed) deploy run's stopped container was still occupying that service's slot under the same Compose project; the repair pass now removes that stale conflicting container before bringing the intended service back up.
v0.6.22 Jul 13, 2026
Fix required routing-audit probes false-failing on a brief post-flip-over 404
-
Fixed
Fixed deploys sometimes failing right after a healthy flip-over because the routing-audit health check treated a brief edge-router propagation delay (HTTP 404) as a hard failure instead of retrying like it already does for 502/503.
v0.6.21 Jul 13, 2026
Fix rollback silently running the failed build's image under the restored run
-
Fixed
Fixed a self-deploy rollback bug where the restored last-good containers could silently run the newly failed build's image instead of the previous verified one, because the app image tag is shared across deploy runs.
v0.6.20 Jul 13, 2026
Harden self-deploy rollback against Compose recreate failures
-
Fixed
Fixed a rollback bug where a failed self-deploy could leave a service's container removed without being recreated; rollback now retries properly and repairs any service Docker Compose silently drops.
-
Fixed
Fixed false Docker-unhealthy alerts on all servers by installing the missing docker CLI into the metrics agent.
v0.6.19 Jul 13, 2026
Fix a self-deploy rollback bug that could leave zero containers running
-
Fixed
Auto-rollback after a failed deploy now only removes the failing containers once the restored stack is confirmed healthy, instead of removing them first and hoping the restore works.
-
Fixed
An alerting hiccup (e.g. a Redis reconnect blip) during deploy-failure handling can no longer mask the real error or skip cleanup.
-
Fixed
The failed-deploy artifact cleanup added recently no longer runs on post-publish step failures, where it could have deleted a still-serving deployment.
v0.6.18 Jul 12, 2026
Auto-deploy circuit breaker and disk-storm hardening after the RS-BL-S1 outage
-
New
Auto-deploy now pauses itself after 3 consecutive failed attempts on the same commit, instead of retrying forever and filling the server's disk.
-
Improved
Disk-space checks before a deploy publish now run a live check on the server instead of trusting an hourly snapshot.
-
Improved
Failed deploys immediately clean up their build artifacts instead of waiting for the next scheduled disk sweep.
-
Improved
When a whole server goes unreachable, you now get one alert naming every affected app instead of a separate alert per app.
-
Fixed
Fixed a false-positive Docker unhealthy alert caused by the metrics agent missing the docker CLI.
v0.6.17 Jul 10, 2026
Host guardrails keep failed deploys from taking down the box
-
New
Deploy detail now explains why a run is queued (waiting on another deploy, worker queue, or orphaned).
-
New
Small servers get swap and Traefik hardening so one heavy build is less likely to starve every app.
-
Improved
Failed or cancelled deploys kill orphaned remote builds; the host watchdog can restart Traefik and reap stuck jobs.
-
Improved
Deploys on small hosts are serialized, and builds wait or abort when the server is overloaded.
v0.6.16 Jul 8, 2026
Split edge routing works for non-DFA apps
-
Fixed
Split web+api routing no longer health-checks the API on the web login path, which was marking API backends down and returning 502 on /v1.
-
Fixed
Routing audits for split apps probe /v1/health (or deepPath) instead of assuming /v1/cards exists.
-
Improved
Publish-time routing probes briefly retry on 502/503 while Traefik warms the new API backend.
v0.6.15 Jul 8, 2026
Fewer false degraded route badges
-
Fixed
Routes no longer show Degraded when only optional health paths like /health return 404 while your configured health check and app traffic are fine.
-
Improved
Routing audits probe your configured health path and explicit routing checks only, not automatic sibling paths.
v0.6.14 Jul 8, 2026
Clearer app status and sidebar navigation
-
Improved
Application detail header status now matches route health — Degraded shows when routes are degraded, not only Running.
-
Improved
Sidebar drops the duplicate Databases section; linked databases stay under each deployment row.
-
Fixed
Server status dots are visible again in the sidebar Servers list.