Skip to content

🚀 Release v0.29.3#4372

Open
github-actions[bot] wants to merge 55 commits intomainfrom
canary
Open

🚀 Release v0.29.3#4372
github-actions[bot] wants to merge 55 commits intomainfrom
canary

Conversation

@github-actions
Copy link
Copy Markdown

@github-actions github-actions Bot commented May 9, 2026

This PR promotes changes from canary to main for version v0.29.3.

🔍 Changes Include:

  • Version bump to v0.29.3
  • All changes from canary branch

✅ Pre-merge Checklist:

  • All tests passing
  • Documentation updated
  • Docker images built and tested

🤖 This PR was automatically generated by GitHub Actions

mixelburg and others added 30 commits April 21, 2026 22:03
Allows users to quickly copy the AI-generated log analysis to their
clipboard from the analyze-logs popover, matching the copy UX used in
the deployment and docker logs views.

Made-with: Cursor
- Added a maximum length constraint of 255 characters for the email input field.
- Updated validation schema to include a message for exceeding the maximum length.
…ength

fix: enforce 255-char max length on forgot password email field
Closes #3909

The previous 10s interval triggered a DB query (SELECT 1) 360 times/hour,
keeping Node.js heap under constant pressure and preventing the GC from
reclaiming memory efficiently. Increasing to 30s reduces query load by 3x.
Also adds start-period=60s to avoid false failures during startup.
fix: reduce healthcheck frequency to lower memory pressure
…ture

fix(webhook): return 401 when signature header is missing
Replace permanent (301) redirects with temporary (302) redirects across
all pages that check authentication state in getServerSideProps.

Permanent redirects are cached by the browser indefinitely, causing a
bug where users had to manually refresh after login: the browser would
cache the unauthenticated redirect (dashboard → login page) and replay
it even after a successful login, preventing navigation to the dashboard.

Fixes #4220
fix: use temporary redirects for auth checks in getServerSideProps
Add 10s AbortSignal timeout to all template fetch calls so they fail
cleanly instead of hanging indefinitely when templates.dokploy.com is
unreachable. Add try/catch to getTags endpoint which was missing error
handling, causing a 500 instead of returning an empty list.

Closes #4282
…r-handling

fix(templates): add fetch timeout and handle network errors gracefully
Three stray debug console.log calls had been left in production code paths:

- restore-backup.tsx: logged the full form payload on every backup restore
  submission.
- add-database.tsx: logged the libsql `enableNamespaces` field value from
  inside a `render` callback, firing on every re-render of the parent form.
- project.ts (duplicateProject mutation): logged the freshly-created
  target project/environment row on the server on every duplicate.

No behaviour change; strictly removes log noise.
…igation

fix(sidebar): close mobile sidebar on navigation
Cards with descriptions appeared taller than those without, causing
the 'Created at' and service count text to be misaligned across cards
in the same row.

- Add flex-col and mt-auto to project cards so footer sticks to bottom
- Add h-full to service card Link and Card so they fill the grid cell
….tsx

Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
….tsx

Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
….tsx

Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
….tsx

Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
….tsx

Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
Signed-off-by: Nahidujjaman Hridoy <hridoyboss12@gmail.com>
…ment

fix: align card footers to bottom on project and service cards
Siumauricio and others added 17 commits May 7, 2026 13:46
feat: add copy button to AI log analysis result
fix: remove leftover debug console.log statements
fix: UI Responsiveness for both mobile, Tab and desktop Screens
Fixes #4365 — traefik.me had availability issues. sslip.io uses the same
IP-in-subdomain format, supports both IPv4 and IPv6, and is more reliable.
…ip-io

fix: replace traefik.me with sslip.io for auto-generated domains
Templates using network_mode: host (e.g. cloudflared) can now declare
isolated = false in their [config] section to prevent Dokploy from
injecting networks into the compose, which would cause a Docker error.

Default behavior (isolated = true) is unchanged for all existing templates.

Fixes #4366
…plate

Introduced an optional 'isolated' boolean property in the CompleteTemplate interface to manage isolated deployment settings. Added tests to verify default behavior (isolated=true) and explicit settings (isolated=true/false) in the deployment configuration.

This change enhances template flexibility for deployment configurations.
feat(templates): support isolated = false opt-out in template.toml
…display

- Updated the schedule form schema to include an optional 'description' field.
- Enhanced the form to allow users to input a description for each schedule.
- Modified the schedule display component to show the description if available.
- Added a database migration to include the 'description' column in the schedule table.
feat(schedules): add optional description field
@github-actions github-actions Bot requested a review from Siumauricio as a code owner May 9, 2026 05:28
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label May 9, 2026
Siumauricio and others added 8 commits May 8, 2026 23:50
- Introduced a regex validation for branch names in Bitbucket, Git, Gitea, GitHub, and GitLab provider schemas to ensure valid branch formats.
- Updated the corresponding schemas to include the new validation rule, enhancing input integrity and preventing potential errors.
- Added a utility for branch validation in the server utils.
- Modified the `writeConfigRemote` function to encode the Traefik configuration in base64 before saving it to the remote YAML file.
- This change ensures that the configuration is correctly handled and prevents potential issues with special characters in the config.
- Updated the WebSocket server to encode the log path in base64 before executing the tail command on the remote server.
- Added validation to ensure the directory name adheres to a specified regex pattern, improving input integrity for directory paths.
…schema

- Updated the `destinationPath` field in the upload file schema to include a regex validation, ensuring only alphanumeric characters, dots, dashes, underscores, and forward slashes are allowed.
- Added a corresponding regex check in the `uploadFileToContainer` function to validate the destination path before processing, improving input integrity and preventing errors.
- Introduced a new validation schema for registry URLs, ensuring they conform to a specific format (hostname[:port]) and disallow shell metacharacters.
- Updated the `createSchema`, `apiCreateRegistry`, and `apiTestRegistry` functions to utilize the new registry URL validation.
- Improved security and input integrity for registry URL fields.
- Updated the `removeRegistry` function to escape the registry URL during logout to prevent command injection vulnerabilities.
…ecret handling

- Added a new script `migrate-auth-secret.ts` to facilitate the migration of 2FA secrets when changing the BETTER_AUTH_SECRET.
- Updated `package.json` to include a command for running the migration script.
- Refactored the handling of BETTER_AUTH_SECRET to improve security by removing the hardcoded default and introducing a fallback mechanism using environment variables or Docker secrets.
- Updated the authentication logic to utilize the new `betterAuthSecret` function for retrieving the secret.
fix(security): replace hardcoded BETTER_AUTH_SECRET with Docker secret support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated pr release size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants