Releases: Dokploy/dokploy
v0.29.6
What's Changed
- 🚀 Release v0.21.8 by @github-actions[bot] in #1785
- 🚀 Release v0.22.0 by @github-actions[bot] in #1824
- 🚀 Release v0.22.1 by @github-actions[bot] in #1828
- 🚀 Release v0.22.2 by @github-actions[bot] in #1836
- 🚀 Release v0.22.3 by @github-actions[bot] in #1847
- 🚀 Release v0.22.4 by @github-actions[bot] in #1871
- 🚀 Release v0.22.5 by @github-actions[bot] in #1911
- 🚀 Release v0.22.6 by @github-actions[bot] in #1920
- 🚀 Release v0.22.7 by @github-actions[bot] in #1965
- 🚀 Release v0.23.0 by @github-actions[bot] in #2061
- 🚀 Release v0.23.1 by @github-actions[bot] in #2063
- 🚀 Release v0.23.2 by @github-actions[bot] in #2068
- 🚀 Release v0.23.3 by @github-actions[bot] in #2070
- 🚀 Release v0.23.4 by @github-actions[bot] in #2091
- 🚀 Release v0.23.5 by @github-actions[bot] in #2103
- 🚀 Release v0.23.6 by @github-actions[bot] in #2114
- 🚀 Release v0.23.7 by @github-actions[bot] in #2126
- 🚀 Release v0.24.0 by @github-actions[bot] in #2143
- 🚀 Release v0.24.1 by @github-actions[bot] in #2183
- 🚀 Release v0.24.2 by @github-actions[bot] in #2191
- 🚀 Release v0.24.3 by @github-actions[bot] in #2193
- 🚀 Release v0.24.4 by @github-actions[bot] in #2219
- 🚀 Release v0.24.5 by @github-actions[bot] in #2253
- 🚀 Release v0.24.6 by @github-actions[bot] in #2303
- 🚀 Release v0.24.7 by @github-actions[bot] in #2323
- 🚀 Release v0.24.8 by @github-actions[bot] in #2324
- 🚀 Release v0.24.9 by @github-actions[bot] in #2354
- 🚀 Release v0.24.10 by @github-actions[bot] in #2360
- 🚀 Release v0.24.11 by @github-actions[bot] in #2390
- 🚀 Release v0.24.12 by @github-actions[bot] in #2408
- 🚀 Release v0.25.0 by @github-actions[bot] in #2483
- 🚀 Release v0.25.1 by @github-actions[bot] in #2557
- 🚀 Release v0.25.2 by @github-actions[bot] in #2612
- 🚀 Release v0.25.3 by @github-actions[bot] in #2658
- 🚀 Release v0.25.4 by @github-actions[bot] in #2721
- 🚀 Release v0.25.5 by @github-actions[bot] in #2765
- 🚀 Release v0.25.6 by @github-actions[bot] in #2901
- 🚀 Release v0.25.7 by @github-actions[bot] in #3043
- 🚀 Release v0.25.8 by @github-actions[bot] in #3055
- 🚀 Release v0.25.9 by @github-actions[bot] in #3063
- 🚀 Release v0.25.10 by @github-actions[bot] in #3072
- 🚀 Release v0.25.11 by @github-actions[bot] in #3114
- 🚀 Release v0.26.0 by @github-actions[bot] in #3166
- 🚀 Release v0.26.1 by @github-actions[bot] in #3211
- 🚀 Release v0.26.2 by @github-actions[bot] in #3254
- 🚀 Release v0.26.3 by @github-actions[bot] in #3312
- 🚀 Release v0.26.4 by @github-actions[bot] in #3442
- 🚀 Release v0.26.5 by @github-actions[bot] in #3456
- 🚀 Release v0.26.6 by @github-actions[bot] in #3499
- 🚀 Release v0.26.7 by @github-actions[bot] in #3570
- 🚀 Release v0.27.0 by @github-actions[bot] in #3604
- refactor(deployments): enhance deployment worker and queue handling f… by @Siumauricio in #3668
- 🚀 Release v0.27.1 by @github-actions[bot] in #3682
- 🚀 Release v0.28.0 by @github-actions[bot] in #3805
- 🚀 Release v0.28.1 by @github-actions[bot] in #3825
- 🚀 Release v0.28.2 by @github-actions[bot] in #3845
- 🚀 Release v0.28.3 by @github-actions[bot] in #3875
- 🚀 Release v0.28.4 by @github-actions[bot] in #3907
- 🚀 Release v0.28.5 by @github-actions[bot] in #3938
- 🚀 Release v0.28.6 by @github-actions[bot] in #3965
- 🚀 Release v0.28.7 by @github-actions[bot] in #4020
- 🚀 Release v0.28.8 by @github-actions[bot] in #4029
- 🚀 Release v0.29.0 by @github-actions[bot] in #4155
- 🚀 Release v0.29.1 by @github-actions[bot] in #4261
- 🚀 Release v0.29.2 by @github-actions[bot] in #4299
- 🚀 Release v0.29.3 by @github-actions[bot] in #4372
- 🚀 Release v0.29.4 by @github-actions[bot] in #4381
- 🚀 Release v0.29.5 by @github-actions[bot] in #4475
- chore(deps): upgrade next to 16.2.6 by @jasael in #4477
- feat: add self-hosted enterprise restrictions (remote-servers-only, enforce-sso) by @Siumauricio in #4511
- fix: member SSH keys create/delete access by @Siumauricio in #4512
- fix: use create permission for basic auth delete by @Siumauricio in #4513
- fix: wrap long server names and keep actions menu visible on settings/servers by @pparage in #4434
- fix: preserve HOME in compose deploy so --with-registry-auth can read docker config by @youcefzemmar in #4485
New Contributors
- @jasael made their first contribution in #4477
- @pparage made their first contribution in #4434
- @youcefzemmar made their first contribution in #4485
Full Changelog: v0.29.5...v0.29.6
v0.29.5
What's Changed
- fix(migrate-auth-secret): exit cleanly when there are no 2FA records by @ngenohkevin in #4394
- feat(compose): add import from base64 in create service dropdown by @Siumauricio in #4395
- feat(settings): add copy button to server IP in web server settings by @Siumauricio in #4397
- fix: copy Dokploy server IP when clicking server badge by @vadamk in #4390
- fix: responsive layout by @nhridoy in #4391
- fix: lowercase username in registery creation and build/update by @Baker in #4382
- fix: allow square brackets in zip path validation for Next.js dynamic routes by @Siumauricio in #4468
- fix: prevent webhook deploy crash on commits without modified files by @Siumauricio in #4470
- fix: add type="button" to TooltipTrigger in form components by @mixelburg in #4422
- fix: enable comment toggle shortcut in env variable editor (#4402) by @Siumauricio in #4473
- fix: add tls=true label for domains when certificateType is none (#4018) by @Siumauricio in #4474
New Contributors
- @ngenohkevin made their first contribution in #4394
- @vadamk made their first contribution in #4390
- @Baker made their first contribution in #4382
Full Changelog: v0.29.4...v0.29.5
v0.29.4
What's Changed
- fix(wss): add colon to directory validation regex to fix deployment logs loading by @Siumauricio in #4380
Full Changelog: v0.29.3...v0.29.4
v0.29.3
Security
A security vulnerability was identified in Dokploy. To patch your self-hosted instance, before you run this command please upgrade your instance to 0.29.3 and then run the following command:
curl -sSL https://dokploy.com/security/0.29.3.sh | bashWhat's Changed
- fix: enforce 255-char max length on forgot password email field by @Siumauricio in #4323
- fix: reduce healthcheck frequency to lower memory pressure by @Siumauricio in #4325
- fix(webhook): return 401 when signature header is missing by @mixelburg in #4278
- fix: use temporary redirects for auth checks in getServerSideProps by @Siumauricio in #4335
- fix(templates): add fetch timeout and handle network errors gracefully by @Siumauricio in #4336
- fix(sidebar): close mobile sidebar on navigation by @Siumauricio in #4341
- fix: align card footers to bottom on project and service cards by @amit-y11 in #4345
- feat: add copy button to AI log analysis result by @berkay-digital in #4294
- fix: remove leftover debug console.log statements by @BradPerbs in #4338
- fix: UI Responsiveness for both mobile, Tab and desktop Screens by @nhridoy in #4358
- fix: replace traefik.me with sslip.io for auto-generated domains by @Siumauricio in #4368
- feat(templates): support isolated = false opt-out in template.toml by @Siumauricio in #4370
- feat(schedules): add optional description field by @Siumauricio in #4371
- fix(security): replace hardcoded BETTER_AUTH_SECRET with Docker secret support by @Siumauricio in #4374
New Contributors
- @amit-y11 made their first contribution in #4345
- @berkay-digital made their first contribution in #4294
- @BradPerbs made their first contribution in #4338
- @nhridoy made their first contribution in #4358
Full Changelog: v0.29.2...v0.29.3
v0.29.2
What's Changed
- fix(schedule): add authz checks for server and host-level schedules by @Siumauricio in #4279
- Fix/ghsa f8wj 5c4w frhg cross org idor by @Siumauricio in #4298
- fix: drop .zip deployment - isDate is not a function by @NomisCZ in #4129
- feat: implement invitation email functionality for organization creation by @Siumauricio in #4302
- fix: stop leaking Drizzle SQL queries in webhook error responses (#4276) by @sajdakabir in #4281
- fix: filter requests by hostname instead of path by @manalkaff in #4255
- fix: fallback to DownstreamStatus when OriginStatus is 0 in requests table by @Siumauricio in #4303
New Contributors
- @NomisCZ made their first contribution in #4129
- @sajdakabir made their first contribution in #4281
Full Changelog: v0.29.1...v0.29.2
v0.29.1
What's Changed
- style: Fix typo in custom entrypoint description by @sancho1952007 in #4241
- feat: add dashboard home page by @Siumauricio in #4244
- fix: preview deployments broken on v0.29.0 — postgres 100-arg limit by @colocated in #4257
New Contributors
- @sancho1952007 made their first contribution in #4241
- @colocated made their first contribution in #4257
Full Changelog: v0.29.0...v0.29.1
v0.29.0
Features
AI Log & Build Error Analysis
Debugging deployments just got a lot easier. Dokploy now includes AI-powered analysis for container logs and build errors directly from the dashboard. When a deployment fails or a container is misbehaving, you can trigger an AI analysis that reads through the logs and gives you a clear summary of what went wrong and how to fix it.
MCP Server & CLI
The https://github.com/Dokploy/mcp exposes 508 tools across 49 categories, allowing any MCP-compatible client to interact with your Dokploy instance. Works with Claude Desktop, Cursor, VS Code, Windsurf, Zed, and more.
The CLI https://github.com/Dokploy/cli provides 449 commands to manage your Dokploy server from the terminal. Install it globally and authenticate with your API key to get started.
Shared Git Providers
Managing git providers across teams has always required each member to configure their own credentials. With v0.29.0, administrators can now share their git providers (GitHub, GitLab, Gitea, Bitbucket) with the entire organization.
Enterprise Features
- Assign Specific Git Providers to specific users
- Enterprise users can now assign specific remote servers to individual team members. This gives administrators granular control over which servers each user can deploy to, improving security and resource isolation across your organization.
Non-Root Multi Server Support
Setting up remote servers previously required connecting as the root user. With this release, Dokploy now supports non-root users with passwordless sudo access for multi-server setups.
New Libsql Database
We've added LibSQL as a new first-class database type in Dokploy. LibSQL is the open-source fork of SQLite designed for server use cases, and now you can deploy and manage it just like any other database in Dokploy.
What's Changed
- feat: enhance web server update process with health checks by @Siumauricio in #4033
- feat: expose drop deployment endpoint in public API by @fdarian in #3923
- feat(ui): Add Vercel-style breadcrumb navigation with project and service switchers by @imran-vz in #3716
- fix: prevent unhandled rejection in trustedOrigins on DB failure by @RchrdHndrcks in #4004
- feat: add project tags for organizing services by @cucumber-sp in #3706
- feat: add libSQL database by @OliverGeneser in #2601
- feat: add automatic Rancher Desktop support for Docker socket detection by @sueffuenfelf in #2681
- feat(servers): enhance server setup and validation for user privileges by @Siumauricio in #4059
- feat: add mattermost notification provider by @hoootan in #2728
- feat(docker): implement container removal functionality by @Siumauricio in #4065
- fix: Remove .sql for mongo backup file name by @MichalMaciejKowal in #2753
- feat(destinations): add additionalFlags field for destination settings by @Siumauricio in #4092
- feat(notification): add volumeBackup parameter to notification creati… by @Siumauricio in #4093
- refactor(traefik): improve config removal logic and error handling by @Siumauricio in #4115
- feat[notifications]: Add Dokploy Backup notification type support by @WalidDevIO in #2907
- feat(git-provider): enhance sharing and permissions management by @Siumauricio in #4135
- fix: sort schedules by name in list query by @dpulpeiro in #4125
- fix(subscriptions): set done=true when deployment/restore completes so the while loop can exit by @mixelburg in #4128
- Update gitea.ts by @impcyber in #4067
- fix(git-provider): use internal URLs for Gitea and GitLab repository … by @Siumauricio in #4136
- fix: typos, grammar, spelling, style & format by @nktnet1 in #4104
- feat(certificates): enhance certificate view by @faytranevozter in #3287
- feat: add support for custom entry point by @KarpachMarko in #2863
- feat: add password manager compatible OTP input component by @leofilmon in #2953
- Feat : Fix backup file naming for Windows 11 compatibility (#2955) by @Harikrishnan1367709 in #2956
- feat: Add web UI file upload to Docker containers (#2920) by @Harikrishnan1367709 in #2959
- feat: add grid/table view toggle for domains page by @quochuydev in #3159
- feat(dashboard): enhance monitoring charts with new Docker disk usage… by @Siumauricio in #4142
- feat: be able to bookmark templates by @Bima42 in #2936
- fix: update regex to allow number at the end of app name by @Bima42 in #3348
- feat: be able to edit certificate by @Bima42 in #3350
- feat(database-credentials): add password update functionality for Mar… by @Siumauricio in #4144
- chore(databases): update mongodb version, to patch latest cve by @stripsior in #3386
- feat: add configurable middlewares for domains by @david-dev-de in #3374
- fix(postgres): add default StopGracePeriod to prevent WAL corruption by @OthmanHaba in #3607
- Feat/application icon upload by @Statsly-org in #3611
- feat(swarm): add container breakdown by node with live metrics by @physikal in #3633
- feat: add credentials-based user provisioning alongside invitation flow by @mhbdev in #3687
- fix: use event.code instead of event.key for keyboard shortcuts by @xob0t in #3748
- feat: classify logs based on HTTP statusCode by @difagume in #3764
- fix: resolve OpenAPI 500 error caused by BigInt serialization by @vcode-sh in #3794
- fix: set FailureAction=rollback for swarm services default UpdateConfig by @jaimehgb in #3810
- fix: Replace tooltip trigger button for help icon (provider compose ui) by @naturedamends in #3902
- feat: add accessedServers permission handling and server access valid… by @Siumauricio in #4156
- feat: add isEnterpriseCloud field and update billing logic by @Siumauricio in #4158
- fix: Broken install instructions by @AlexDev404 in #3937
- feat: show only used disk space in server monitoring chart by @lasseveenliese in #3949
- feat: add RHEL flavors to server setup script by @snitramodranoel in #4037
- fix: validate invitation email matches signup email by @Siumauricio in #4159
- fix: extractImageTag misidentifies registry port as tag by @Siumauricio in #4160
- fix: compose patches overwritten by domain injection by @Siumauricio in #4161
- fix: actions in slack notification by @vincent-tarrit in #4054
- fix: replace deprecated Slack actions with mrkdwn link field by @Siumauricio in #4163
- fix: correct permission checks for compose loadServices and env editing by @Siumauricio in #4164
- fix: surface actual error message in ntfy test connection by @Siumauricio in #4165
- feat: add tooltip to Daily Docker Cleanup toggle by @Siumauricio in #4166
- fix: add authSource and directConnection params to MongoDB connection URLs by @manalkaff in #4112
- fix: start server listener before initialization to prevent...
v0.28.8
What's Changed
- feat: update apikey schema and relationships by @Siumauricio in #4028
Full Changelog: v0.28.7...v0.28.8
v0.28.7
What's Changed
- fix: invalidate notification.one query cache on update by @desen94 in #3967
- chore: update better-auth dependencies to version 1.5.4 and refactor … by @Siumauricio in #3969
- feat: add comprehensive permission tests and enhance permission check… by @Siumauricio in #4009
- fix: prevent Watch Paths tooltip button from submitting the form by @azizbecha in #3977
- 3979 collapsed sidebar state has usability and visual issues by @Siumauricio in #4012
- feat: add optional dockerImage field to database schemas by @Siumauricio in #4013
- fix: exclude volume-backups from web server backup rsync command by @Siumauricio in #4015
- fix: handle optional authConfig in mechanizeDockerContainer function by @Siumauricio in #4016
- fix(volume-backups): restart container before S3 upload in volume backup by @WalidDevIO in #4001
- fix: truncate error message in backup notifications to 1010 characters by @Siumauricio in #4023
New Contributors
- @desen94 made their first contribution in #3967
- @azizbecha made their first contribution in #3977
- @WalidDevIO made their first contribution in #4001
Full Changelog: v0.28.6...v0.28.7
v0.28.6
What's Changed
- Feat/add new whitelabeling by @Siumauricio in #3959
- feat: add support for 'labeled' action in GitHub deployment handler by @Siumauricio in #3960
- feat: update Docker configuration to use DOKPLOY environment variables by @Siumauricio in #3962
- feat(deployments): Add option to copy webhook url by clicking on it by @jirkavrba in #3952
Full Changelog: v0.28.5...v0.28.6