Skip to content

Levelrail v0.1.0

Released as a pre-release. View on GitHub. All releases.

0.1.0 (2026-09-09)

Features

  • actionable restart-required toast for health check and resource limit saves (e21390c)
  • actionable restart-required toast for health check and resource limit saves (e7112c9)
  • add a restart action for apps (99f4873)
  • add a restart action for apps (4a8287d)
  • add age-based backup retention alongside count-based retention (#194) (64db57e)
  • add backup targets settings page (c2a0619)
  • add build.base_directory for monorepo subdirectory builds (#139) (afb0a53)
  • add CLI support for deploying a Docker Compose file (#109) (0eb9b35)
  • add cloudflare-tunnel CLI subcommands (#188) (a1cc9c6)
  • add CPU/memory quick-stat cards to app overview (#163) (4160094)
  • add dashboard home page at / (4bd810d)
  • add developer-view raw text editor for env vars (4300911)
  • add Dokploy as a migrate CLI source (#135) (dcef119)
  • add Dragonfly and ClickHouse as managed database engines (#145) (b75a7d2)
  • add editable port control to app overview page (8c5bd1e)
  • add environment-level shared env var tier between project and app (#195) (0fede7b)
  • add fullscreen size variant to dialog primitive (4b57d39)
  • add fullscreen toggle to the create resource wizard (3106621)
  • add GET .../secrets and POST .../secrets/{key}/lock endpoints (7aa3c46)
  • add interactive wizard mode to apps create (#239) (0207202)
  • add interactive wizard mode to databases create (#245) (106cd53)
  • add levelrail-cli doctor command for local preflight health checks (#265) (91d20db)
  • add list_audit_log MCP tool (#285) (4eb5ca5)
  • add loading states across dashboard routes and data-fetching components (#248) (a91e388)
  • add MariaDB and KeyDB managed database engines (#141) (01716bc)
  • add MCP server, extract shared internal/apiclient package (#121) (e354a10)
  • add migrate caprover CLI command (#191) (910081d)
  • add Network tab showing live traffic path from domain to container (#148) (f29d827)
  • add nodes CLI subcommands (#192) (abea231)
  • add non-interactive exec endpoint for running commands in app containers (c5c86f8)
  • add organization-level shared env var tier above projects (#193) (59d737b)
  • add periodic OS package-update check per node (#220) (0d1a1d8)
  • add projects CRUD, project env vars, and project membership to the CLI (#250) (e804735)
  • add reversible per-secret lock to the store layer (bf808e5)
  • add secret key listing and lock mutation hooks (97136ce)
  • add settings sub-sidebar and fix stale route tree (#222) (428a5df)
  • add SetValueGuarded, ListKeys, SetLocked to secrets.Manager (996ed50)
  • add structured issue templates and type-specific PR templates (#77) (729a4ea)
  • add System status dashboard page (#324) (b20f380)
  • add test-connection action for backup targets (#307) (5d94dc0)
  • admin recovery email, general email capability, forgot-password flow (b384f35)
  • admin recovery email, general email capability, forgot-password flow (backend) (2d8b8d0)
  • alert on repeated scheduled task failures (#290) (ed20b7d)
  • allow clickhouse as an app.yaml database engine (#186) (5b957b5)
  • allow pinning a service's host port (#170) (f861ea1)
  • App Clone (78cf10e)
  • App Clone (aed12f5)
  • app detail screen polish - deploy history, grouped nav, build hints, convergence (ceddf79)
  • App Overview hero+checklist, batched Apps list status (7e10b6e)
  • App Overview hero+checklist, batched Apps list status (9fdc4e5)
  • app volume backups (backend, API, CLI, and web UI) (#311) (9dccec3)
  • app-detail polish - deploy columns, grouped nav, convergence badge, build-log hints (fa81b98)
  • app-level scheduled tasks (#140) (fb66f24)
  • apply resource limit changes to running containers live (#242) (c8f33cb)
  • apps deploy/status/logs and databases commands for the CLI (89e0143)
  • apps restart/rollback CLI subcommands (6f0f6b3)
  • apps restart/rollback CLI subcommands (6932e10)
  • apps table + read-path for multi-service app support (stage 1) (#61) (5cd187f)
  • attribute audit log entries to their client and add retention (#316) (7bbe9c7)
  • audit log CSV export via API, dashboard, and CLI (#277) (9dc536d)
  • audit log for write/deploy/root-tier requests (#125) (665cb0c)
  • auto-generate and persist master key on first boot (#60) (72265b0)
  • auto-verify scheduled backups right after they complete (#280) (51722a8)
  • backup file download to browser (3d6e8e9)
  • backup file download to browser (6599a88)
  • backup integrity verification (#273) (162dd0e)
  • backup target onboarding, connect an S3-compatible bucket (25fab52)
  • bounded health check and opt-in ufw setup in install.sh (#323) (060408f)
  • breadcrumb and hierarchical navigation for org/project/environment/app (#173) (145ab27)
  • browse and deploy from the curated service-template catalog (#119) (ccecb1f)
  • build Docker Compose services with build: directives (#190) (fbaa87e)
  • build pack selector and branch picker for git app creation (94d80c6)
  • build pack selector and branch picker for git app creation (97aeeac)
  • build.type: image, deploy a prebuilt registry image with no build (#124) (5e41b5e)
  • built-in container registry (#366) (56dc8d6)
  • BYO TLS certificate upload for domains (#363) (86a1e6d)
  • centralized Domains page with ACME settings and app-domain list (5e6a421)
  • changed-line coverage gate for PRs (#350) (2062874)
  • CLI and dashboard wiring for organizations and environments (#169) (5ee8706)
  • CLI CRUD for backup targets and registry credentials (#251) (1bba14d)
  • CLI device login flow (auth login --device) (#319) (97ac63a)
  • CLI exec, auth login/whoami, tokens, domains, backups commands (ae3c606)
  • CLI exec, auth, tokens, domains, and backups commands (f2a9b48)
  • CLI output formats and JMESPath query filtering (#318) (d94ea5b)
  • CLI support for app-level scheduled tasks (#144) (d27f0f5)
  • ClickHouse and Dragonfly backup/restore support (#157) (39689e9)
  • close git provider capability gaps (GitLab branches, GitHub webhooks, aggregated status) (#228) (f16833a)
  • Cloudflare Tunnel integration for outbound-only ingress (#138) (d235fc5)
  • collect and surface node disk space as a real telemetry metric (#185) (b2064f3)
  • connect a GitHub App for private-repo access and repo browsing (25e3952)
  • connect a GitHub App for private-repo access and repo browsing (1a5fbe5)
  • containers page and master key rotation UI, feature catalog doc (#358) (27a038c)
  • Coolify migration CLI (levelrail-cli migrate coolify) (#45) (b980659)
  • copyable DNS record rows and better layout for domain check (#63) (489e542)
  • curated named roles (admin/operator/viewer) over the ability model (#240) (eff9f9a)
  • curated service-template catalog and read-only browsing API (#117) (cc5581f)
  • custom Docker labels escape hatch on spec.Service (6b03e8b)
  • custom Docker labels escape hatch on spec.Service (0ef3331)
  • dashboard empty states for alerts, deploy history, and log search (#238) (090dbde)
  • dashboard home page at / (73e130f)
  • database backups to S3-compatible storage, with restore (c34c67e)
  • database publicly-accessible toggle + host port (78fb42f)
  • database publicly-accessible toggle + host port (71b2a46)
  • delete pruned scheduled-backup objects from their bucket (a76e782)
  • delete pruned scheduled-backup objects from their bucket (f24d563)
  • deploy comparison view (#272) (144976f)
  • deploy-outcome notifications (6fc9cca)
  • deploy-outcome notifications (c1bd571)
  • deterministic resource right-sizing suggestions (#279) (ab7c147)
  • dismissible dashboard nudge to enable platform-wide alert rules (#300) (aa23b42)
  • docker compose as a deploy target (#97) (b67064b)
  • draft autosave and guided defaults for create-resource forms (#260) (005830f)
  • editable port control on app overview (41b6741)
  • empty states and inline field guidance (0118b1e)
  • empty states and inline field guidance (97a7a22)
  • enforce frontend bundle size budget in CI (#299) (331bd52)
  • env var tier provenance and audit activity panel in EnvEditor (#261) (3be751f)
  • env/secrets developer view (frontend) (f771abe)
  • expand MCP server tool coverage to nodes, previews, alerts, metrics, rollback (#252) (85f1bda)
  • explicit Stop/Start action for apps (b460919)
  • explicit Stop/Start action for apps (4d81635)
  • extend resource right-sizing recommendations to databases (#288) (0c68dc3)
  • fan out git push webhook deploys to sibling app-group services (#172) (b6998ff)
  • feature flags with live evaluation via existing API tokens (#262) (6047a4b)
  • fill CLI gaps for app lifecycle, database delete, secrets, git-source (#247) (01451be)
  • forgot-password flow and email settings pages (frontend) (3da9466)
  • forward app logs to an external HTTP or syslog sink (#137) (3ecc436)
  • framework-aware guided deploy picker (9591ee4)
  • framework-aware guided deploy picker (d2042e5)
  • full-screen presentation for the create resource wizard (b33764b)
  • fullscreen log viewer toggle and finish-aware auto-scroll (#226) (e5296b4)
  • general per-actor rate limit on the authenticated API surface (#284) (9a47287)
  • generic OIDC SSO as a third login provider (#160) (e398b88)
  • GitHub Enterprise Server and Bitbucket Cloud git provider support (#221) (aaa03e2)
  • GitLab App integration (#127) (91a0cc2)
  • global notification channels settings page (ec520db)
  • global notification channels settings page (e28ca4e)
  • guided domain add flow with inline TLS status (9a5a818)
  • guided domain add flow with inline TLS status (50bc930)
  • guided domain DNS check (d03dafe)
  • guided domain DNS check (9333eee)
  • guided first-run onboarding flow for zero-app instances (#266) (db8b7a1)
  • HTTP Basic Auth protection for domains, with helpful no-domain UX (#162) (7c1c4ea)
  • IAM policies dashboard page (#322) (e43ea76)
  • IAM-style resource-scoped policy engine (#317) (6be11f5)
  • implement database dump mechanism for backup targets (61acbb9)
  • implement database restore from backup (f405544)
  • implement Redis backup restore (8e6cad3)
  • implement Redis backup restore (e080529)
  • implement rolling deploy strategy (#171) (2b6c679)
  • ingress settings and domains API endpoints (189e9b3)
  • ingress_settings store for ACME toggle and primary domain (2d3e226)
  • land on the live build log after triggering a build (#67) (080a67e)
  • let operators pick between CNAME, A, and AAAA for domain setup (#189) (6229630)
  • levelrail-cli version command and CHANGELOG (#301) (947f147)
  • lightweight non-RBAC Projects grouping (96f5c23)
  • lightweight non-RBAC Projects grouping (b49ca26)
  • list every container on a node, not just Levelrail-managed apps (#326) (73d0f17)
  • list secret keys with reversible lock toggle in SecretsEditor (5cf50a5)
  • live per-node alert status for patch_status, node_disk_space, node_resource_usage (#304) (94caeed)
  • live SSE log broadcaster and stream endpoint for app containers (ab4670f)
  • live-tailing terminal viewer for app container logs (1989c77)
  • log export as a downloadable text file (#276) (758097a)
  • make the New resource wizard friendlier to non-technical users (#70) (a692ae5)
  • managed database logs and metrics (#225) (2d882ab)
  • manual Docker disk/image/volume pruning (6577add)
  • manual Docker disk/image/volume pruning (93ef2a2)
  • manual GitHub App connect flow, domain disclaimer on automated setup (#104) (97e242b)
  • master key rotation for envelope-encrypted secrets (#295) (592b779)
  • MCP tools for feature flags, doctor, webhook deliveries, backup verification, deploy compare, notification deliveries (#274) (3b84bc8)
  • memory/CPU resource limits for databases (f4a3b9f)
  • memory/CPU resource limits for databases (d21df63)
  • MongoDB as a managed database engine (#120) (f33de88)
  • multi-service apps stage 2 (deploy fan-out + per-app Docker networking) (#75) (db6e96e)
  • multi-service support in apps create --interactive (#349) (31c78aa)
  • multi-user sessions, OAuth sign-in (Google/GitHub), users management (8a39531)
  • multi-user sessions, OAuth sign-in, users management API (b555e67)
  • named credentials profiles (--profile / APP_PROFILE) (#315) (f90903b)
  • named-volume support for ordinary application services (#76) (6ba605f)
  • node CPU/memory alert rule (node_resource_usage) (#297) (ca49158)
  • node-level resource dashboard (224e8fb)
  • node-level resource dashboard (e23c57f)
  • non-interactive one-off exec in app containers (d37e3a0)
  • notification channel test-send delivery history and CLI/UI wiring (#267) (470f2ff)
  • OAuth sign-in UI, OAuth and Users settings pages (8f554c6)
  • PagerDuty and Microsoft Teams notification channels (#151) (93409d1)
  • paginate backup execution history (#143) (cb3686f)
  • per-domain maintenance mode (#360) (6610745)
  • per-user RBAC, extending the existing ability system to sessions (#131) (6d76d9d)
  • persisted per-app git source + multi-app GitHub webhook (531afd4)
  • persisted per-app git source + multi-app GitHub webhook (fd49569)
  • persistent restart-required signal for env var changes (#263) (d51f5fa)
  • post GitHub PR comments and commit statuses for preview deploys (#361) (2afbafb)
  • pre/post-deploy hook commands (#362) (a296cb3)
  • preview environments per pull request (#246) (0417adb)
  • proactive alerting for certificate expiry (#283) (c57381e)
  • proactive domain_health alert rule kind (#308) (6b9f241)
  • proactive node disk space alerting (#293) (11b089c)
  • proactive node patch status alerting (#289) (0781c20)
  • promote an app's image across environments in the same project (#278) (eb9883d)
  • protected environments with confirm-to-deploy friction gate (#282) (c91eef6)
  • Pushover notification channel (#126) (47cf081)
  • Railpack auto-detection for Node.js and Go builds (ba9d15b)
  • Railpack auto-detection for Node.js and Go builds (3f296c5)
  • read-only dashboard visibility for static sites (8040079)
  • read-only deploy failure and crashloop diagnosis (#268) (eba61a9)
  • real ACME issuer option in ingress config builder (dd3e709)
  • real ACME issuer, platform primary domain, and centralized Domains page (8192230)
  • real app-to-database attachment (#146) (f6cee9d)
  • real deploy history, rollback, and build-log persistence (272c104)
  • real deploy history, rollback, and build-log persistence (841a419)
  • real multi-marker deploy history on the metrics chart (3655449)
  • real multi-marker deploy history on the metrics chart (01c7406)
  • real S3-compatible upload client for backup targets (fef6b4b)
  • real-time deploy stage timeline and in-progress banner (#158) (59f61ba)
  • real-time live log streaming for app containers (7f37281)
  • redesign deploy detail page with metadata card and collapsible stages (#165) (453b610)
  • redesign New Resource picker into a categorized, searchable modal (#110) (6ae5aa6)
  • registry credentials for pulling private images (#130) (fbc1bb2)
  • relabel git-source wizard card, elevate Railpack, add connect-GitHub CTA and domain field (#68) (1bbf90e)
  • replace one-off empty states with shared EmptyState component (#164) (2a998d4)
  • replace single-admin store with multi-user users table (65bda2b)
  • required-check CI gate, CodeQL path filtering, label taxonomy and auto-labeler (#95) (116d50f)
  • resolve SERVICE_FQDN_* magic vars to a service's own assigned domain (#113) (8a1465a)
  • resolve template SERVICE_ magic vars in compose deploys (#108) (3198c84)
  • restore a backup into a brand-new database, alongside in-place restore (#310) (0ab0e33)
  • restore app volume backups as a new, standalone volume (#313) (2b5c60a)
  • reuse GitRepoSourcePicker in GitSourceCard (#229) (d75549f)
  • scheduled database backup configuration UI and CLI (#174) (cae179e)
  • scheduled/cron backups (0d5f370)
  • scheduled/cron backups (ab41a3c)
  • scope new-resource picker to the caller's intent (#254) (9228977)
  • secret key list/lock API + scope deploy trigger card to Overview/Deploys (35601c6)
  • service templates, team invites, deploy comparison, notification channels, and MCP tools (b71b9bd)
  • settings hub, global search, updates page, and ingress DNS transparency (#111) (cd9c327)
  • shared/group env vars at the project level (7078159)
  • shared/group env vars at the project level (f451f00)
  • shell completion for levelrail-cli (bash, zsh, fish) (#270) (cdc18f4)
  • splice generated secrets into composite env values (#118) (3120457)
  • storage as an app resource (R2/S3) (6964d72)
  • storage as an app resource (R2/S3) (18d2a4e)
  • surface compose restart: and networks: as non-blocking notices (#287) (002bd8f)
  • surface deploy strategy and replicas on the app screen (2878e9b)
  • surface deploy strategy and replicas on the app screen (925e9e6)
  • surface Docker daemon reachability as a dashboard-wide health check (#259) (9276ff2)
  • swap memory and CPU pinning (cpuset) resource limits (#233) (2e2a09b)
  • test registry credentials before deploy relies on them (#291) (f4c8721)
  • thread ingress settings into the ingress reconciler (96f984d)
  • TOTP two-factor authentication for admin login (#114) (55ec280)
  • track commit sha and trigger source on deploy attempts (8894f40)
  • translate compose healthcheck blocks into readiness probes (#286) (888c221)
  • trigger and track a real database backup (e93c88c)
  • trigger and track database backups from the database page (600b294)
  • unify git provider connect flow, fix missing git-source and build bugs (#227) (b13deaa)
  • unify webhook-triggered and manual multi-service deploys (#241) (669ede6)
  • v1 install script, systemd unit, release build workflow (#44) (567af6e)
  • webhook delivery history and replay (#269) (5776a64)
  • wildcard domain support via Cloudflare DNS-01 (#152) (afae9c7)
  • wire alert rules to global notification channels (bdc2b1d)
  • wire alert rules to global notification channels (df4a033)
  • wire developer-view toggle into the Environment section (4216271)
  • wire Dockerfile build args through app spec, API, CLI, and UI (#155) (9367d6c)
  • wire IAM policy resource-scoped enforcement into apps/databases routes (#321) (f0482a3)
  • wire mesh DNS server into container creation (73b5377)
  • wire mesh DNS server into container creation (d6fefdd)
  • wire OAuth secrets, update recover-admin for multi-user store (6e171d7)
  • wire prebuilt-image build type into CLI, UI, and git-source validation (#129) (9903572)

Bug Fixes

  • accessibility gaps in git picker, log terminal, and nav sidebars (#232) (5f206a8)
  • accessible names for placeholder-only domain/env form inputs (0888368)
  • accessible names for placeholder-only domain/env form inputs (c9d40ad)
  • adapt notification_channel.go to the email.Sender interface (efc055c)
  • add accessible names to per-row feature flag toggle and rollout input (#275) (a0edb7f)
  • add missing --json support to three CLI clear commands (#271) (50bac91)
  • add TTL fallback sweep for preview environments across all git providers (#281) (e0db26e)
  • allow railpack build type through apps create (#147) (c53543d)
  • async build trigger, private repo auth, and ability-gated token minting (#64) (f6ca950)
  • avoid BuildKit MergeOp deadlock in Railpack deploy image assembly (#149) (f9d3158)
  • clear stored secrets when disconnecting a GitHub App (4055351)
  • close forgot-password rate-limit bypass, remove dead admin-email frontend code (fe52150)
  • close no-auth confirmation gap for KeyDB/Dragonfly, polish secrets CLI help (#303) (3d7d129)
  • close pre-existing AppDetail test-fixture typecheck gaps (#264) (0c9e76a)
  • correct misleading test name/comment on a secrets test (49191f0)
  • crashloop alert's view-logs link goes to a dead same-page anchor (#218) (3ed2889)
  • don't show a redundant inline error while the overwrite-confirm dialog is open (6dbad34)
  • drop stale preview-envs docs claim, skip live Docker tests in short mode (#314) (f0a052e)
  • eliminate race in TestHandleTriggerBuild_RecordsDeployAttempt_Succeeded (#298) (6094a5b)
  • explain why the live logs tail is empty, don't just wait forever (#161) (d90a2ea)
  • feed persisted build logs to diagnose for build-phase failures (#292) (b1a98b6)
  • fix overflowing create-resource picker, add category filter (#255) (b73c49d)
  • force 0.1.0 as release-please's first proposed version (#372) (bf5ad96)
  • gate one-off container exec at AbilityRoot, not AbilityDeploy (c2cb301)
  • generate routeTree.gen.ts before web lint, trim test duplication (#116) (5bc54e9)
  • get the main frontend bundle under the 500kB warning threshold (fe49363)
  • get the main frontend bundle under the 500kB warning threshold (397e45d)
  • guard ClickHouse restore live test against entrypoint's temp-server handoff (#312) (807a297)
  • image-sourced deploys show a clear no-build-output message (914a5ee)
  • image-sourced deploys show a clear no-build-output message instead of hanging on 'Waiting for log output...' (0ac7e1f)
  • land signed-in users on the dashboard, not /apps (#66) (9820068)
  • live deploy log stream stuck on zero output (f365ad7)
  • live deploy log stream stuck on zero output (b52572f)
  • make password-reset token single-use atomic, tidy go.mod, trim comments (df72b84)
  • mark orphaned deploy attempts as failed on startup (#159) (af04e62)
  • move showDeployTrigger's useRouterState above the early-return (faaf90e)
  • pin cel-go back to 0.28.1, incompatible with pinned Caddy version (#134) (be72bc2)
  • pin golangci-lint-action to a commit SHA, suppress a false-positive Sonar finding (#352) (fd6aeb0)
  • point install.sh at the real first-run registration path (#325) (d4840af)
  • poll for post-stop/remove state on CI's daemon (4847f8a)
  • poll for stopped state in Stop/Remove live test (2a4ae1b)
  • poll for stopped state in Stop/Remove live test instead of asserting immediately (7824a79)
  • pre-fill and suggest commands in the exec panel (#327) (a3fc79d)
  • raise internal/api CI test timeout to fix false-failure panics on main (908bea4)
  • raise internal/api's CI test timeout to 25m (2670e8f)
  • re-ensure a container's network before restarting it (#150) (180bf63)
  • record a deploy attempt when an app is created with a real image (#154) (189ae19)
  • record deploy attempts for compose deploys and image-changing updates (#256) (67065ee)
  • recreate a container whose Start fails even after EnsureNetwork (#153) (30af32a)
  • reduce SonarCloud duplication flagged after #228 merged (#231) (ae21dbd)
  • reject ACME contact emails with a display name (f55714f)
  • renumber cloudflare-tunnel migration to 0049, collided with 0047 (#142) (20bbaf2)
  • renumber deploy_attempts_commit_source migration to 0025 (84a30a0)
  • renumber domain-basic-auth migration to 0053, collided with 0052 (#166) (3107714)
  • renumber github app connection migration to 0029 (da478e0)
  • renumber ingress_settings migration to 0024 (df671a9)
  • renumber migration to 0028 (0027 claimed by service_labels) (a48c436)
  • renumber migration to 0030 (0029 claimed by service_git_sources) (f93c3c6)
  • renumber migrations past 0030_service_storage_target.sql (89b2f0e)
  • renumber oidc-provider migration to 0054, collided with 0053 (#168) (448d960)
  • renumber secret-lock migration to 0038 (0037 collision with PR #56) (27c275a)
  • renumber users migration to 0035, dedupe nullableString helper (3ca070a)
  • require MySQL readiness probe to hold twice before proceeding (96442a9)
  • resolve duplicate migration version 0052 (#167) (1bf10f1)
  • resolve migration 0030 number collision (github-app vs storage-target) (8b11236)
  • resolve migration 0030 number collision between github-app and storage-target (47ecc8c)
  • restore docker/docker + go-connections to versions internal/build/build.go's ImageLoadWithQuiet call needs (#100) (4d36c69)
  • restore frontend checks in the pre-commit hook (#72) (e5e3887)
  • restore main build and resolve SonarCloud findings on multi-service apps (#99) (3416514)
  • restrict git branch listing to http/https schemes (0436b01)
  • revert docker/docker, docker/go-connections, cel-go bumps (#98) (e4a0dc2)
  • revert typescript to 6.0.x, main is broken for npm ci (#96) (aedf340)
  • rework forgot-password and admin-email for the multi-user model (159e068)
  • satisfy golangci-lint (revive, unparam) and fix dangling doc refs (a54dcd1)
  • scope deploy trigger card to Overview and Deploys sections (1f79a92)
  • scope MongoDB restore to drop non-system databases first (#309) (19d0323)
  • set explicit Content-Type on remaining webhook-derived response bodies (#249) (1bd2238)
  • small UX polish bundle (git-source validation, stale doc comment, database status dots) (#223) (a86503b)
  • stop bundling zod into the eager main chunk via reset-password validateSearch (#230) (4a5cc80)
  • stop clipping browse-templates category headers in a nested scroll box (#257) (c29ecf9)
  • subscribe GitLab and Bitbucket webhooks to pull request events (#253) (2eacc2f)
  • suppress SonarCloud false-positive on the intentional unconditional backfill UPDATE (#132) (4e45748)
  • surface swap and CPU pinning limits on the app overview (#234) (ecfcae5)
  • TestValidateDatabaseResource's unknown-engine case used mongodb, now a real engine (#122) (52492b9)
  • unlock build fields after a failed build trigger in git app wizard (#224) (491e47c)
  • unstick finished-attempt deploy log SSE connection status (ef97298)
  • unstick finished-attempt deploy log SSE connection status (3acb273)
  • update Docker client call sites deprecated by the docker/docker 28.x bump (#103) (0933d50)
  • use localeCompare when sorting env var keys in dev view (#351) (534393d)
  • verify github app installation status live against github, not just the local row (#294) (d54e05d)
  • warn on missing secrets master key before database creation (3a113f8)
  • warn on missing secrets master key before database creation (25a0305)
  • widen TestCertStorage_TouchLock_KeepsItFresh's timing margin (#356) (dc55f2d)
  • wire Dragonfly into app.yaml spec and database URL resolution (#187) (d5d6e58)

Performance Improvements

  • scan only new log lines for build-log hints (36453f7)

Released under the Apache 2.0 License.