Skip to content

v0.31.0

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Nov 09:42
3ac1c8f

What's Changed

  • fix: resolve 6 critical Dependabot alerts by @narcisonunez in #5351
  • fix(ui): standardize settings layout widths to full width by @imrja8 in #5406
  • fix(auth): prefetch SSO state in SSR to prevent layout flash by @imrja8 in #5407
  • feat: transfer services between servers by @Siumauricio in #5396
  • feat(compose): pull latest images on deploy toggle by @Siumauricio in #5410
  • fix(compose): move Fresh Volumes into a Danger Zone with typed confirmation by @Siumauricio in #5411
  • fix(vault): read Infisical secrets pulled in through an import by @aspatari in #5414
  • chore(ci): update GitHub Actions to latest versions and harden workflows by @maks-oleksyuk in #5364
  • feat: added missing Railpack versions by @KingIronMan2011 in #5358
  • fix(notifications): add missing newline to ntfy database backup message by @RezaRahemtola in #5350
  • feat(compose): support models in Compose specification by @EgerDev in #5418
  • fix(deps): bump next to 16.3.4 to patch critical RCE advisories by @narcisonunez in #5416
  • fix(billing): pick a plan for the trial and warn before it expires by @Siumauricio in #5477
  • fix(billing): allow switching billing interval during trial by @Siumauricio in #5515
  • fix(cloud): load HubSpot chat widget for startup plan users by @Siumauricio in #5538
  • fix: prevent add-invitation form from resetting on submission error by @imrja8 in #5498
  • fix: preserve application status when saving provider settings by @roshanasingh4 in #5455
  • feat(ui): enhance deployments layout and fix visual jumping by @imrja8 in #5429
  • fix(ui): unify tab header styles across backups, schedules, volume backups and patches by @y4aniv in #5535
  • fix: accept deploy webhook payloads up to 25 MB by @Souvik-Cyclic in #5543
  • fix: preserve compose status when saving provider settings by @roshanasingh4 in #5544
  • fix: count only physical disks in host Block I/O stats by @Souvik-Cyclic in #5540
  • fix: redact S3 credentials in backup logs regardless of shell quoting by @Souvik-Cyclic in #5527
  • fix: kill deployment log tail when the client disconnects early by @Souvik-Cyclic in #5529
  • fix: mark session cookie as Secure when served over HTTPS by @Souvik-Cyclic in #5022
  • feat(ai): add Perplexity integration attribution by @qirh in #5482
  • feat: account deletion for Dokploy Cloud by @Siumauricio in #5463
  • Revert "fix(ui): standardize settings layout widths to full width" by @imrja8 in #5561
  • fix(terminal): prevent terminal from collapsing on zoom by @imrja8 in #5582
  • fix(ui): resolve tooltips overlapping open modals on remote servers page by @imrja8 in #5575
  • fix(libsql): validate appName like the other database kinds by @cevheri in #5584
  • feat(dns): add optional zone to OVH provider by @tomron in #5614
  • feat(enterprise): dual-mode branding with separate light/dark theme logos by @imrja8 in #5649
  • fix(gitlab): share one token refresh between concurrent callers by @ahmedisam99 in #5655
  • feat(ui): make projects card clickable on home dashboard by @Totopo27 in #5657
  • fix(ui): wrap and clamp service card description on environment page by @Totopo27 in #5656
  • fix(backups): preserve service name when changing database type by @olivier-drieux in #5654
  • feat(logs-and-metrics): ship container logs and metrics to external providers via Vector by @narcisonunez in #5624
  • fix(server): let members list servers in server pickers by @narcisonunez in #5613
  • fix(templates): cap visible tags so the Create button stays visible by @manozzo in #5661
  • Dependabots alerts fixes by @narcisonunez in #5517
  • chore(deps): fix high-severity Dependabot alerts in emails lockfile by @narcisonunez in #5684
  • feat(permissions): add AI module to enterprise custom roles by @imrja8 in #5489
  • fix(settings): confine Traefik file read/write to the Traefik config directory by @bunlongheng in #5070
  • fix(billing): guard loadStripe behind key check for self-hosted instances by @imrja8 in #5693
  • fix: escape HTML and truncate long messages in Telegram notifications by @imrja8 in #5694
  • fix(ui): prevent service header overflow on mobile by @GlebsonS4ntos in #5590
  • fix: decode Route53 octal escapes in record names by @Souvik-Cyclic in #5553
  • fix: stop leaking secrets through ExecError and bind container terminal to its service by @narcisonunez in #5733
  • fix(security): pass registry passwords to docker login via stdin by @Gabrielgvl in #5701
  • fix(monitoring): let members with service access see container monitoring by @Gourav224 in #5716
  • refactor(wss): reuse findServiceAppName from container-ownership by @imrja8 in #5741
  • chore: bump Node.js to 24.22.1 (security release) by @imrja8 in #5738
  • fix(monitoring): gate host monitoring on docker access and let docker readers see disk usage by @imrja8 in #5742
  • fix(deploy): preserve remote serverId in webhook deployment jobs by @Totopo27 in #5732
  • fix: register cloud schedules without a timezone by @Siumauricio in #5748
  • fix(ai): hide AI actions for users without ai.read by @imrja8 in #5749
  • fix: prevent Radix Select from clearing form values on reset by @Siumauricio in #5745
  • fix: resolve YAML merge keys when rewriting compose files by @Siumauricio in #5753
  • chore(deps): bump dependencies flagged by Dependabot by @narcisonunez in #5754
  • fix: security issues by @narcisonunez in #5752
  • Fix/2fa password manager autofill by @imrja8 in #5735
  • feat(enterprise): custom forgot password flow in whitelabeling settings by @imrja8 in #5648
  • feat(traefik): add version check and safe update, bump to v3.7.16 by @imrja8 in #5756
  • fix: keep service labels on application deploy by @moataz-hjaiji in #5631
  • fix(monitoring): stop docker stats polling when the socket closes during auth by @narcisonunez in #5762
  • feat(backups): add optional custom name for backup files by @narcisonunez in #4964
  • fix(previews): use the configured build server and registry by @narcisonunez in #5765
  • fix(traefik): disable the swarm provider on swarm worker servers by @narcisonunez in #5764
  • fix(cron): register cron jobs on a fresh install before the owner exists by @narcisonunez in #5763
  • feat: allow download backups by @narcisonunez in #5260
  • fix(server): fail fast when update is triggered without a dokploy docker resource by @mudravadev in #5676
  • fix(compose): default deleteVolumes to false on compose.delete by @1sakshm in #5666
  • fix(encryption): keep env vars readable after leaving the legacy auth secret by @narcisonunez in #5779
  • fix(environment): keep saved env in the editor after save by @narcisonunez in #5777
  • fix(cluster): load saved replicas and registry in cluster settings by @narcisonunez in #5778
  • fix(deploy): skip untagged GHCR package events in docker webhook by @ituzov in #5682
  • fix(logs): return empty result when readLogs search has no matches by @1sakshm in #5667
  • fix(traefik): serialize concurrent writes to an app's domain config by @narcisonunez in #5790
  • fix(mounts): write file mounts as files on create by @narcisonunez in #5791
  • fix(logs): virtualize log viewer rows by @narcisonunez in #5802
  • fix(requests): read the access log backwards from the newest entry by @narcisonunez in #5801
  • fix(deployments): fail remote deploys when the server dies mid-deploy by @narcisonunez in #5803
  • feat(audit-logs): export filtered logs as CSV, TSV or JSON by @imrja8 in #5797
  • fix(audit-logs): include the whole end day in the date range filter by @imrja8 in #5798
  • chore(deps): bump dependencies flagged by Dependabot by @narcisonunez in #5809
  • chore(deps): bump @hono/node-server to 2.x and systeminformation for Dependabot alerts by @narcisonunez in #5812
  • feat(compose): add "Delete volumes" option to individual service delete on project page by @imrja8 in #5774
  • fix(mounts): show the file on disk in the File Mount editor by @imrja8 in #5782
  • chore: bump version to v0.30.11 by @Siumauricio in #5813
  • chore: merge main into canary by @Siumauricio in #5817
  • fix(webhooks): match Bitbucket watch paths against the whole push by @narcisonunez in #5818
  • fix(templates): substitute variables in every key of [[config.env]] tables by @cevheri in #5583
  • fix(forms): trim email inputs before validating by @narcisonunez in #5819
  • fix(backups): skip cloned .git directories in web-server backups by @narcisonunez in #5820
  • fix(volume-backups): accept tar exit 1 when backing up live volumes by @Souvik-Cyclic in #5800
  • fix(docker): don't prune a stopped dokploy-traefik during cleanup by @narcisonunez in #5821
  • fix(compose): keep dokploy-network on services whose domain is disabled by @narcisonunez in #5822
  • feat(cloud): PostHog analytics for trial conversion by @Siumauricio in #5825
  • fix(deps): bump follow-redirects, glob and minimatch to patched versions by @narcisonunez in #5844
  • fix(deps): bump bcrypt to 6 to drop vulnerable minimatch 3 by @narcisonunez in #5845
  • fix(vault): strip pasted auth prefix from Phase service account token by @rafa-acioly in #5512
  • fix(docker): wait for Swarm image pulls before cleanup by @narcisonunez in #5848
  • fix(deploy): fail the deploy when Swarm can't schedule the new task by @narcisonunez in #5846
  • fix(security): harden HTTP security headers and hide X-Powered-By by @narcisonunez in #5857
  • feat(security): server security section for remote servers by @Siumauricio in #5866
  • chore: bump version to v0.31.0 by @Siumauricio in #5868
  • chore(ci): sync OpenAPI to mcp and cli via PR by @Siumauricio in #5843
  • fix: turn on 2FA for users with a leftover setup row by @imrja8 in #5871
  • chore(ci): sync MCP repository through pull requests by @Siumauricio in #5870
  • feat(panel): add toggle functionality for panel port with recovery co… by @Siumauricio in #5833
  • 🚀 Release v0.31.0 by @github-actions[bot] in #5869

New Contributors

Full Changelog: v0.30.10...v0.31.0