Skip to content

fix: invalid replacement placeholder in redirect form - #5050

Merged
Siumauricio merged 1 commit into
canaryfrom
fix/redirect-placeholder-encoding
Aug 12, 2026
Merged

Siumauricio merged 1 commit into
canaryfrom
fix/redirect-placeholder-encoding

Conversation

@Siumauricio

@Siumauricio Siumauricio commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #5047

Placeholder in the replacement field of the redirect form used $${1} (invalid regex group reference), which caused the resulting redirect URL to be URL-encoded. Changed to $1, matching the fix already applied to add-redirect.tsx in #717.

Greptile Summary

Corrects the redirect replacement-field placeholder so it demonstrates the valid $1 regex capture-group syntax.

  • Replaces the invalid $${1} example with http://mydomain/$1.
  • Does not alter form submission, validation, or redirect-processing behavior.

Confidence Score: 5/5

The PR appears safe to merge with no identified blocking or non-blocking issues.

The change only corrects instructional placeholder text from an invalid capture-group example to $1; submitted values and runtime redirect behavior are unchanged.

Reviews (1): Last reviewed commit: "fix: invalid replacement placeholder in ..." | Re-trigger Greptile

@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Aug 12, 2026
@Siumauricio
Siumauricio merged commit 3fbd67f into canary Aug 12, 2026
6 checks passed
@Siumauricio
Siumauricio deleted the fix/redirect-placeholder-encoding branch August 12, 2026 02:23
github-actions Bot pushed a commit to Bl4ckBl1zZ/dokploy that referenced this pull request Oct 12, 2026
# [0.42.0](v0.41.1...v0.42.0) (2026-10-12)

### Bug Fixes

* accept deploy webhook payloads up to 25 MB ([4396451](4396451))
* account for all style end-tag variants like </style/> ([13bb1ac](13bb1ac))
* account for whitespace in style tag regex to prevent XSS ([5606a2b](5606a2b))
* add clipboard addon to docker container terminal ([65198f6](65198f6)), closes [Dokploy#5065](https://github.com/Bl4ckBl1zZ/dokploy/issues/5065)
* add createEnvFile toggle to Compose, mirroring Application ([5c862f7](5c862f7))
* add env -i PATH prefix to fresh volumes down command ([c668f6c](c668f6c))
* add sourceType to apiCreateCompose and apiCreateApplication ([30c408b](30c408b))
* add unzip to arch server set up ([f21931d](f21931d))
* address PR feedback (SVG helper & AddOrganization crash) ([4877c4f](4877c4f))
* allow docker compose command chaining ([ac57e22](ac57e22))
* allow Option/Alt composed characters in terminals on macOS ([b203489](b203489))
* **api:** configurable body size limits for OpenAPI catch-all route ([d11735d](d11735d))
* **api:** reject non-integer body size env vars ([529f54e](529f54e))
* **api:** validate OpenAPI body size limits against Greptile findings ([8144e1a](8144e1a))
* **application:** remove preview deployments when deleting an application ([f6b0700](f6b0700))
* apply compose file patches in preview and domain injection ([bc935ae](bc935ae))
* apply watch path negations as a pattern set ([abc2439](abc2439))
* assign tags created from the project dialog ([0ea7de7](0ea7de7)), closes [Dokploy#5117](https://github.com/Bl4ckBl1zZ/dokploy/issues/5117)
* **auth:** block passkey authentication and email signup when SSO is enforced ([5f10ed6](5f10ed6))
* **auth:** enforce SSO on server-side sign-in endpoints ([b839e6d](b839e6d)), closes [Dokploy#5288](https://github.com/Bl4ckBl1zZ/dokploy/issues/5288)
* **auth:** enforce SSO on server-side sign-in endpoints ([Dokploy#5291](https://github.com/Bl4ckBl1zZ/dokploy/issues/5291)) ([5c0d3b8](5c0d3b8)), closes [Dokploy#5288](https://github.com/Bl4ckBl1zZ/dokploy/issues/5288)
* **auth:** link SCIM-provisioned users through SSO and surface sign-in errors ([a1a672b](a1a672b)), closes [Dokploy#4973](https://github.com/Bl4ckBl1zZ/dokploy/issues/4973)
* **auth:** prefetch SSO state in SSR to prevent layout flash ([9cae609](9cae609))
* **billing:** allow switching billing interval during trial ([c453ac3](c453ac3))
* **billing:** one reminder at 1 day, guarded by an advisory lock ([0372304](0372304))
* **billing:** pick a plan for the trial and warn before it expires ([95b2712](95b2712))
* **billing:** stop the reminder claim from rewriting stale metadata ([14e0597](14e0597))
* **billing:** update server inclusion descriptions for clarity ([e369541](e369541))
* **build:** exclude CLI-only auth config from server dist build ([d92de5a](d92de5a))
* **ci:** create release tags on the pushed commit instead of default branch ([98af5a2](98af5a2))
* **ci:** create release tags on the pushed commit instead of default branch ([472ebed](472ebed))
* **ci:** deploy postgres/mongo instead of start ([2643ae0](2643ae0))
* **ci:** generate OpenAPI spec from the release commit in sync-version ([ff9fa74](ff9fa74))
* **ci:** handle both old (flat) and new (nested) project.create response formats ([f29a1a1](f29a1a1))
* **ci:** pin pnpm and strip v prefix in sync-version job ([b6190ff](b6190ff))
* **ci:** push hotfix cherry-picks with PAT to satisfy branch rules ([06b67d4](06b67d4))
* **ci:** raise floor to v0.29.4, require environmentId from project.create ([f59f114](f59f114))
* **ci:** run dokploy install.sh as root, install version A directly via DOKPLOY_VERSION ([ade7a79](ade7a79))
* clear stale stack log container selection ([c77f6d8](c77f6d8))
* close terminal websocket when local container shell exits ([1053743](1053743))
* **cloud:** load HubSpot chat widget for startup plan users ([c231c29](c231c29))
* **cloud:** remove HubSpot chat widget when dashboard unmounts ([382fdfc](382fdfc))
* **compose:** clean domain labels across services ([67fa8e4](67fa8e4))
* **compose:** clean up mapping domain labels ([f14f12c](f14f12c))
* **compose:** move Fresh Volumes into a Danger Zone with typed confirmation ([38d157a](38d157a))
* **compose:** Preserve raw remote mounts ([e43d99e](e43d99e)), closes [Dokploy#4794](https://github.com/Bl4ckBl1zZ/dokploy/issues/4794)
* **compose:** regenerate mapping domain labels ([5ceb88b](5ceb88b))
* **compose:** remove stale labels for disabled domains ([37c8d64](37c8d64))
* correct add-invitation form reset logic and select state ([143dfca](143dfca))
* correct log-tail server resolution, drop unrelated Networks gating ([95b1afc](95b1afc))
* correct network monitoring chart labels and units ([a822db5](a822db5)), closes [Dokploy#5115](https://github.com/Bl4ckBl1zZ/dokploy/issues/5115)
* correct switch thumb translate-x for checked state ([76c2416](76c2416)), closes [Dokploy#5120](https://github.com/Bl4ckBl1zZ/dokploy/issues/5120)
* count only physical disks in host Block I/O stats ([Dokploy#5540](https://github.com/Bl4ckBl1zZ/dokploy/issues/5540)) ([0d3a396](0d3a396))
* deploy monitoring as a swarm service instead of a standalone container ([Dokploy#5055](https://github.com/Bl4ckBl1zZ/dokploy/issues/5055)) ([3848fa9](3848fa9))
* **deps:** bump next to 16.3.4 to patch critical RCE advisories ([4cd4b83](4cd4b83))
* detect billing plan across all active Stripe subscriptions ([e79239a](e79239a))
* detect network delete/recreate by Docker ID during sync ([63efbff](63efbff)), closes [Dokploy#5179](https://github.com/Bl4ckBl1zZ/dokploy/issues/5179)
* disable delete/unlink user button while mutation is pending ([fee0071](fee0071)), closes [Dokploy#5063](https://github.com/Bl4ckBl1zZ/dokploy/issues/5063)
* disable minimumReleaseAge (broke builds on unrelated AWS SDK deps) ([9412b52](9412b52)), closes [Dokploy#4679](https://github.com/Bl4ckBl1zZ/dokploy/issues/4679)
* disable recharts animation on monitoring charts ([bd7fb8f](bd7fb8f))
* **dns:** apply content normalization in upsert match logic to prevent duplicates ([df0986b](df0986b))
* **dns:** do not report a restored OVH record as lost ([2311f34](2311f34)), closes [Dokploy#5258](https://github.com/Bl4ckBl1zZ/dokploy/issues/5258)
* **dns:** extract and normalize prio for porkbun MX/SRV records to prevent duplicates ([94cd503](94cd503))
* **dns:** fallback to data fields comparison for cloudflare structured SRV/CAA records ([ea1c6fc](ea1c6fc))
* **dns:** keep the record table on a valid page while filtering ([130be40](130be40))
* **dns:** match apex records stored under any apex spelling ([be4a5da](be4a5da)), closes [Dokploy#5257](https://github.com/Bl4ckBl1zZ/dokploy/issues/5257)
* **dns:** match record content in upsertRecord to prevent overwriting existing records ([91db4e6](91db4e6))
* **dns:** paginate the documented Infomaniak products endpoint ([59a7484](59a7484)), closes [Dokploy#5257](https://github.com/Bl4ckBl1zZ/dokploy/issues/5257)
* **dns:** preserve every value of a Route53 record set ([38e855b](38e855b))
* **dns:** report an OVH zone refresh failure for what it is ([28f71e7](28f71e7)), closes [Dokploy#5258](https://github.com/Bl4ckBl1zZ/dokploy/issues/5258)
* **dns:** represent the Infomaniak apex as a root dot ([2bc22c5](2bc22c5))
* **dns:** restore the original OVH record when a type change fails ([80a6baf](80a6baf)), closes [Dokploy#5258](https://github.com/Bl4ckBl1zZ/dokploy/issues/5258)
* **dns:** send SRV and CAA values to Cloudflare as structured data ([db2eb4f](db2eb4f))
* **dns:** spell out the OVH right that lists zones ([f83097b](f83097b)), closes [Dokploy#5258](https://github.com/Bl4ckBl1zZ/dokploy/issues/5258)
* docker cleanup hangs silently on false-positive busy-wait match ([Dokploy#5051](https://github.com/Bl4ckBl1zZ/dokploy/issues/5051)) ([34c5b68](34c5b68)), closes [Dokploy#5044](https://github.com/Bl4ckBl1zZ/dokploy/issues/5044)
* domain validation false negative on servers with multiple IPs ([9761616](9761616)), closes [Dokploy#4658](https://github.com/Bl4ckBl1zZ/dokploy/issues/4658)
* **domain:** allow single-label hostnames without a TLD ([5d231bf](5d231bf))
* **domains:** add status tooltip to table ([92b628c](92b628c))
* **domains:** don't fetch AddDomain queries until the dialog opens ([0f28775](0f28775)), closes [Dokploy#5279](https://github.com/Bl4ckBl1zZ/dokploy/issues/5279)
* **domains:** include server interface addresses in validation ([e79ed76](e79ed76))
* don't auto-run Health diagnostics on mount ([c741ff3](c741ff3))
* don't cancel schedule deployments running outside the panel process on restart ([Dokploy#5053](https://github.com/Bl4ckBl1zZ/dokploy/issues/5053)) ([f12ecc3](f12ecc3)), closes [Dokploy#4986](https://github.com/Bl4ckBl1zZ/dokploy/issues/4986)
* don't leak git provider secrets to non-owner org members ([a426140](a426140))
* don't quote .env values for stack deploys ([d183018](d183018)), closes [Dokploy#4694](https://github.com/Bl4ckBl1zZ/dokploy/issues/4694) [Dokploy#5096](https://github.com/Bl4ckBl1zZ/dokploy/issues/5096) [Dokploy#5110](https://github.com/Bl4ckBl1zZ/dokploy/issues/5110)
* **editor:** consistent YAML auto-indent on newline ([7ca96f6](7ca96f6)), closes [Dokploy#4650](https://github.com/Bl4ckBl1zZ/dokploy/issues/4650)
* eliminate FOUC for whitelabeling across all pages ([26d716b](26d716b))
* enable tailwindDirectives in biome css parser ([ae2edc7](ae2edc7))
* enhance error handling and directory management in updateFileMount function ([e4012d8](e4012d8))
* escape env values written to the Compose .env file so $, #, and quotes survive literally ([ff39cb5](ff39cb5))
* exclude node_modules/.next from biome scanner, bump to 2.5.7 ([dced797](dced797))
* Fix server card title overflow for responsiveness ([f904a7b](f904a7b))
* **github-webhook:** apply preview limit only to new previews ([98dbc59](98dbc59)), closes [Dokploy#4074](https://github.com/Bl4ckBl1zZ/dokploy/issues/4074)
* **gitlab:** handle missing expires_in in OAuth token response ([fc5b8d0](fc5b8d0)), closes [Dokploy#4362](https://github.com/Bl4ckBl1zZ/dokploy/issues/4362)
* honour metaName for page titles and show a loading state in requests ([6204415](6204415))
* improve mount path warning for PostgreSQL by handling multiple data mounts ([c0694eb](c0694eb))
* improve responsive layout for application logs page ([24cc455](24cc455))
* invalid replacement placeholder in redirect form ([Dokploy#5050](https://github.com/Bl4ckBl1zZ/dokploy/issues/5050)) ([3fbd67f](3fbd67f))
* invalidate railpack build cache when env changes ([7da9681](7da9681))
* keep native log container id in sync when Swarm/compose replaces it ([cf0e8d2](cf0e8d2)), closes [Dokploy#5134](https://github.com/Bl4ckBl1zZ/dokploy/issues/5134)
* kill deployment log tail when the client disconnects early ([7b89d1f](7b89d1f))
* **libsql:** validate appName like the other database kinds ([06b3bb2](06b3bb2))
* **lint:** clear Biome 2.5.7 errors inherited from upstream canary ([9e4c4ee](9e4c4ee))
* list stack containers across swarm nodes via docker stack ps ([1f73ebd](1f73ebd))
* lock sidebar-inset scroll while a modal is open ([dc9c671](dc9c671)), closes [Dokploy#5064](https://github.com/Bl4ckBl1zZ/dokploy/issues/5064)
* **logs:** don't classify explicit non-error key/values as error ([faf600b](faf600b)), closes [Dokploy#4538](https://github.com/Bl4ckBl1zZ/dokploy/issues/4538)
* **logs:** require complete no-error values in colon pairs ([60112d8](60112d8))
* **logs:** respect log level explicitly declared by structured loggers ([dc2fc40](dc2fc40))
* make fallback og image url absolute for social scrapers ([15bf663](15bf663))
* mark session cookie as Secure when served over HTTPS ([f5c21db](f5c21db)), closes [Dokploy#4709](https://github.com/Bl4ckBl1zZ/dokploy/issues/4709)
* mkdir parent dir before writing file mount updates ([3a8fad5](3a8fad5)), closes [Dokploy#5152](https://github.com/Bl4ckBl1zZ/dokploy/issues/5152)
* **monitoring:** remove legacy container and default empty cronJob ([bee6918](bee6918))
* normalize email argument before lookup in reset-password ([8db39a8](8db39a8))
* **notifications:** add missing newline to ntfy database backup message ([341f38b](341f38b))
* **notifications:** send server threshold alerts through email, resend, gotify and ntfy channels ([3638c7b](3638c7b))
* **notifications:** use real server name in remote threshold alerts ([e19dd43](e19dd43))
* only pin --project-directory when compose has mounts ([ec8e645](ec8e645)), closes [Dokploy#5181](https://github.com/Bl4ckBl1zZ/dokploy/issues/5181) [Dokploy#5230](https://github.com/Bl4ckBl1zZ/dokploy/issues/5230) [Dokploy#5242](https://github.com/Bl4ckBl1zZ/dokploy/issues/5242) [Dokploy#5235](https://github.com/Bl4ckBl1zZ/dokploy/issues/5235) [Dokploy#5230](https://github.com/Bl4ckBl1zZ/dokploy/issues/5230) [Dokploy#5242](https://github.com/Bl4ckBl1zZ/dokploy/issues/5242)
* only sum currentPriceAmount from the identified plan subscription ([3f6dfba](3f6dfba))
* open deployments tab when opening a service from the deployments list ([60ad782](60ad782))
* parse Block I/O and Network I/O stats to numeric MB so monitoring charts render ([b3e7a8a](b3e7a8a))
* parse deploy webhook bodies in the handler so the size limit can be configured ([1c6d333](1c6d333))
* pass timezone when removing repeatable schedule job ([4e38925](4e38925))
* persist serverThreshold for gotify/ntfy and guard teams dispatch ([4730807](4730807))
* pin traefik routing to the isolated network when isolated deployment is enabled ([a8c35f7](a8c35f7))
* preserve ${VAR} interpolation in .env files ([452b7aa](452b7aa)), closes [Dokploy#5151](https://github.com/Bl4ckBl1zZ/dokploy/issues/5151)
* preserve application status when saving provider settings ([0d6e984](0d6e984))
* preserve compose status when saving provider settings ([Dokploy#5544](https://github.com/Bl4ckBl1zZ/dokploy/issues/5544)) ([560e790](560e790))
* preserve parameter expansion (${VAR:-default}) in .env interpolation ([b67519e](b67519e))
* preserve selected log container on refetch ([d7c152a](d7c152a))
* preserve selected stack log container ([a5b8626](a5b8626))
* preserve server schedule failures through tee pipeline ([eb80f79](eb80f79))
* preserve stack log selection on fetch failures ([2221b8a](2221b8a))
* prevent deployment commit hash overflow on mobile ([d6ec4bd](d6ec4bd))
* prevent Postgres 100-argument limit crash and restore data parity for restricted-member project access ([2cb499f](2cb499f))
* prevent unsaved organization form fields from resetting on window focus ([f46cd46](f46cd46))
* **preview-deployment:** refetch github provider before authenticating ([30e8d9b](30e8d9b)), closes [Dokploy#4898](https://github.com/Bl4ckBl1zZ/dokploy/issues/4898)
* reap HEALTHCHECK zombies by running tini as PID 1 ([dec05ac](dec05ac))
* redact S3 credentials in backup logs regardless of shell quoting ([6215c7f](6215c7f))
* redact S3 credentials in backup logs regardless of shell quoting ([Dokploy#5527](https://github.com/Bl4ckBl1zZ/dokploy/issues/5527)) ([916bb50](916bb50))
* remove empty routers/services traefik config instead of writing invalid yaml ([032e804](032e804)), closes [Dokploy#5189](https://github.com/Bl4ckBl1zZ/dokploy/issues/5189)
* remove Route53 endpoint override and pin AWS SDK to an aged version ([02edd6a](02edd6a))
* replace metaTitle with ogImageUrl in reset payloads ([13b043e](13b043e))
* report remote-node containers correctly in stack monitoring ([0efe7fe](0efe7fe))
* **requests:** guard RequestHost before filtering to avoid crash on malformed logs ([314a31d](314a31d))
* reset stack log selection when switching modes ([60612b0](60612b0))
* resolve @ to the zone's apex domain before sending it to the provider ([37f0bba](37f0bba))
* resolve 6 critical Dependabot alerts ([1958969](1958969))
* resolve environment variables on application rollback ([2739690](2739690))
* resolve relative bind mounts against code dir for git-based compose deploys ([87b9149](87b9149)), closes [Dokploy#5181](https://github.com/Bl4ckBl1zZ/dokploy/issues/5181)
* resolve security vulnerabilities in whitelabeling ([6282b6e](6282b6e))
* resolve SVG unicode base64 encoding error and image upload race conditions ([8806d4e](8806d4e))
* **restore:** drop USE/CREATE DATABASE statements so mysql/mariadb restores target the selected database ([2505c34](2505c34))
* return a valid docker host for docker desktop ([3e11897](3e11897))
* run database dump once per backup and clean up partial uploads on failure ([f633d4b](f633d4b))
* run Railpack install with sudo during remote deploy ([679dbf9](679dbf9)), closes [Dokploy#5007](https://github.com/Bl4ckBl1zZ/dokploy/issues/5007)
* satisfy HttpRouter type in traefik config test ([22450ab](22450ab))
* **schedule:** return deployment metadata from runManually and fail early on missing container ([cbb3450](cbb3450))
* **security:** escape compose domain error message to prevent command injection ([a83b202](a83b202))
* **security:** update Traefik from v3.6.7 to v3.6.20 ([cee6742](cee6742))
* **security:** update Traefik to v3.6.25 ([36db6f5](36db6f5))
* **server-health:** detect custom default-address-pools via docker info ([ea3f9f3](ea3f9f3)), closes [Dokploy#5383](https://github.com/Bl4ckBl1zZ/dokploy/issues/5383)
* **server:** allow plus, at, and valid path characters in readValidDirectory ([bd8ba12](bd8ba12))
* **server:** sanitize sshd config values in security audit JSON output ([09ea766](09ea766))
* **setup:** use Docker 29.4.2 on Ubuntu 26.04 to fix install failure ([b9a8064](b9a8064)), closes [Dokploy#4327](https://github.com/Bl4ckBl1zZ/dokploy/issues/4327) [Dokploy#4349](https://github.com/Bl4ckBl1zZ/dokploy/issues/4349) [Dokploy#4501](https://github.com/Bl4ckBl1zZ/dokploy/issues/4501)
* sort imports in domain.ts (biome) ([286938b](286938b))
* **sso:** trust admin-configured SSO providers for account linking ([67f6890](67f6890)), closes [Dokploy#5099](https://github.com/Bl4ckBl1zZ/dokploy/issues/5099)
* strip git provider secrets from compose.one response ([6239073](6239073))
* surface native stack inspection failures ([49055a0](49055a0))
* surface the error state instead of "No results." when the log query fails ([7e9b77e](7e9b77e))
* sync pnpm-lock.yaml with nanoid 3.3.18 ([ad00669](ad00669))
* sync terminal size with backend PTY, avoid connecting with placeholder container ID ([ff275fe](ff275fe)), closes [Dokploy#5092](https://github.com/Bl4ckBl1zZ/dokploy/issues/5092) [xtermjs/xterm.js#5011](xtermjs/xterm.js#5011)
* **terminal:** prevent terminal from collapsing on zoom ([5c19d1b](5c19d1b))
* tooltip incorrectly lists volumes among Daily Cleanup targets ([4032895](4032895)), closes [Dokploy#3267](https://github.com/Bl4ckBl1zZ/dokploy/issues/3267)
* **traefik:** skip empty service reconnect ([ede4626](ede4626))
* **typecheck:** fix twoFactorRedirect typescript error ([f23b5b9](f23b5b9))
* **ui:** align close button in web server update modal ([0c19973](0c19973))
* **ui:** change filter layout breakpoint to lg to prevent overflow on tablets ([1e9873b](1e9873b))
* **ui:** expose isStaticSpa toggle for nixpacks + publish directory ([94098b2](94098b2)), closes [Dokploy#4993](https://github.com/Bl4ckBl1zZ/dokploy/issues/4993)
* **ui:** keep dropdown menus open on window blur ([081cf3f](081cf3f))
* **ui:** persist trigger type selection in GitHub provider forms ([15bc4b5](15bc4b5))
* **ui:** prevent collapsed avatar clipping ([9999f0a](9999f0a)), closes [Dokploy#4946](Dokploy#4946)
* **ui:** prevent layout shift in log counter using tabular-nums ([bb0c59f](bb0c59f))
* **ui:** prevent tooltips from getting stuck when server modals close ([35d26a8](35d26a8))
* **ui:** remove early return to render theme-aware favicon immediately ([689ae51](689ae51))
* **ui:** resolve tooltips overlapping open modals on remote servers page ([a4a13b9](a4a13b9))
* **ui:** scope deployment delete loading ([268ec1f](268ec1f))
* **ui:** show real status code on error page ([325c2a4](325c2a4))
* **ui:** standardize settings layout widths to full width ([a6c1f30](a6c1f30))
* **ui:** structurally resolve unclickable watch path badges ([ae95485](ae95485))
* **ui:** track concurrent deployment deletes ([6e79270](6e79270))
* **ui:** truncate organization name properly in sidebar without clipping descenders ([bbca400](bbca400))
* **ui:** unify tab header styles across backups, schedules, volume backups and patches ([3951247](3951247))
* **ui:** update favicon dynamically based on app theme ([9be96d4](9be96d4)), closes [Dokploy#4100](https://github.com/Bl4ckBl1zZ/dokploy/issues/4100)
* **ui:** vertically align enable submodules and improve watchpath button a11y ([a94f8b9](a94f8b9))
* **ui:** widen restore backup dialog to match other backup dialogs ([5ae289c](5ae289c))
* use dockerode API instead of shell docker ps for changePassword container lookup ([41d355c](41d355c)), closes [Dokploy#5108](https://github.com/Bl4ckBl1zZ/dokploy/issues/5108)
* use lazy initializer for useState with function calls ([43f9f54](43f9f54))
* use proper linting ([f3c7edc](f3c7edc))
* use updateJob to replace repeatable schedule job on update in cloud ([91bcf88](91bcf88)), closes [Dokploy#5233](https://github.com/Bl4ckBl1zZ/dokploy/issues/5233)
* **vault:** expand Infisical secret references when listing secrets ([6e760da](6e760da))
* **vault:** read Infisical secrets pulled in through an import ([0c1dfe9](0c1dfe9)), closes [Dokploy#5413](https://github.com/Bl4ckBl1zZ/dokploy/issues/5413)
* verify server ownership before running IP detection ([4b7a629](4b7a629)), closes [Dokploy#5214](https://github.com/Bl4ckBl1zZ/dokploy/issues/5214)
* verify swarm task convergence before marking db deploys done ([5624dff](5624dff))
* **volume-backups:** preserve backup failure status ([c6ab76f](c6ab76f))
* **volume-backups:** restart services after backup failure ([2598a62](2598a62))
* warn when the postgres image implies a data directory that mismatches the mounted volume ([6a10923](6a10923))
* **webhook:** include added and removed files in watchPaths validation ([2df02f5](2df02f5))
* write remote traefik config via SFTP instead of exec+base64 ([68a0555](68a0555))

### Features

* account deletion for Dokploy Cloud ([a87a5c0](a87a5c0))
* add "Deploy with Fresh Volumes" button for Docker Compose projects ([36ba9fc](36ba9fc))
* add @aws-sdk/client-secrets-manager dependency to pnpm-lock.yaml ([fada032](fada032))
* add AWS Secrets Manager client dependency ([be9c826](be9c826))
* add baseUrl to github provider to support github enterprise url ([1cf81e3](1cf81e3))
* add DNS provider integration (Cloudflare, AWS Route53) ([4d58f39](4d58f39))
* add Docker events tab to docker dashboard ([daba2d7](daba2d7))
* add Docker Health diagnostics tab ([4bf6dff](4bf6dff))
* add drag-and-drop logo upload for organizations ([0393c26](0393c26))
* add dynamic open graph metadata for enterprise whitelabeling ([b5c3d86](b5c3d86))
* add dynamic open graph metadata for link previews ([Dokploy#5348](https://github.com/Bl4ckBl1zZ/dokploy/issues/5348)) ([2d5a6ef](2d5a6ef))
* add go-to-page input to Docker events pagination ([3be9cdf](3be9cdf))
* add Images and Disk Usage tabs to docker dashboard ([c2071bb](c2071bb))
* add Infomaniak DNS provider support ([ff3ebef](ff3ebef))
* add OpenPanel analytics to cloud version ([2f7f50a](2f7f50a))
* add Overview dashboard (Services, Backups & Domains tabs) ([046a608](046a608))
* add OVHcloud DNS provider support ([e629248](e629248))
* add Porkbun DNS provider support ([74d2d41](74d2d41))
* add session management page (list active sessions + revoke) ([7728e5e](7728e5e))
* add sorting and pagination to Docker events table ([fa7a54b](fa7a54b))
* add target_version input, replace extra_pairs field ([a504449](a504449))
* add upgrade integration test workflow (manual, matrix-based) ([55704ff](55704ff))
* add user filtering to session management and update search functionality ([a2329ae](a2329ae))
* add volumes section and file explorer for containers and volumes ([d0eb6ef](d0eb6ef))
* **ai:** add Perplexity integration attribution ([f2ba262](f2ba262))
* allow reset-password script to target a specific user by email ([dada304](dada304))
* **auth:** add passkey support via better-auth ([7b0bcee](7b0bcee))
* bulk import secrets from vault providers ([50acb79](50acb79))
* **ci:** add hotfix cherry-pick and release workflows ([2f8af90](2f8af90))
* cloud onboarding wizard, billing trial card, and post-checkout server setup ([2e2e0c8](2e2e0c8))
* **compose:** add pull latest images on deploy toggle ([49b8214](49b8214))
* **compose:** support AI models in Compose specification ([29cdc81](29cdc81))
* consecutive upgrade pairs, drop curated pair and extra_pairs input ([eaec680](eaec680))
* **dns:** rework provider management and support all record types ([9c4ad14](9c4ad14))
* **domains:** add enable/disable toggle for domains ([ee802cd](ee802cd))
* **domains:** show redeploy hint on all compose domain actions ([898af1f](898af1f))
* enable Google Tag Manager on cloud version only ([aedb35b](aedb35b))
* enhance vault provider access control and environment variable handling ([9747e83](9747e83))
* enhance vault provider management and environment variable resolution ([f662242](f662242))
* implement session management with filtering and sorting capabilities ([f6c1e77](f6c1e77))
* implement utility functions to streamline owner selection for backups and domains ([d770e3c](d770e3c))
* integrate vault provider management and environment variable resolution ([b8822a1](b8822a1))
* interactive feature showcase on the signup panel ([ac9ad72](ac9ad72))
* list associated services in delete server modal ([0276021](0276021))
* make organization selector larger and searchable ([Dokploy#5052](https://github.com/Bl4ckBl1zZ/dokploy/issues/5052)) ([3cad115](3cad115)), closes [Dokploy#5043](https://github.com/Bl4ckBl1zZ/dokploy/issues/5043)
* move deployments into an overview page tab ([518ee44](518ee44))
* **networks:** add MTU option to network creation ([69a5615](69a5615))
* **organization:** allow setting a default role for new members ([aaf8d7e](aaf8d7e))
* **permissions:** add server.terminal to decouple server access from root SSH ([bbde5eb](bbde5eb))
* refactor serviceColumns for project access and enhance data retrieval ([479e8bb](479e8bb))
* remove unnecesary checks for ip and comments ([14be318](14be318))
* restrict self-service account deletion to cloud organization owners ([318ad36](318ad36))
* track cloud sign_up event in dataLayer ([d8b7c1e](d8b7c1e))
* **transfer:** move services between servers with their volumes, mounts and config ([9dcdb53](9dcdb53))
* **trial-banner:** add trial banner component to display trial status in sidebar ([988f5b6](988f5b6))
* **trial-notifications:** add email notification for expiring trials and integrate with webhook ([a0e1001](a0e1001))
* **ui:** inline deployments filter bar and fix layout jumping ([26317e9](26317e9))
* **ui:** smart truncation tooltips, org name limits, and logo UI polish ([Dokploy#5345](https://github.com/Bl4ckBl1zZ/dokploy/issues/5345)) ([1a29694](1a29694))
* update icons for Sessions and S3 Destinations in the sidebar menu ([c61163d](c61163d))
* upgrade to TypeScript 7 and Next.js 16.3 ([71521f2](71521f2))
* **vault:** add AWS Parameter Store provider ([1d26fdd](1d26fdd))
* **vault:** add Phase.dev secrets provider ([80859dc](80859dc)), closes [Dokploy#5122](https://github.com/Bl4ckBl1zZ/dokploy/issues/5122)
* **vault:** add Scaleway Secret Manager provider ([f238347](f238347))
* **vault:** address an Infisical folder from the reference ([5611662](5611662))

### Performance Improvements

* **dns:** filter Infomaniak records server-side when upserting ([8409b8c](8409b8c)), closes [Dokploy#5257](https://github.com/Bl4ckBl1zZ/dokploy/issues/5257)

### Reverts

* go back to a literal 25mb body limit for deploy webhooks ([82545bf](82545bf))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Redirect placeholder is incorrect

1 participant