v4.5.6
Dokploy/dokployv4.5.6Jul 21, 2026by github-actions[bot]
AI Summary
A security-focused release that removes shared default credentials for self-hosted deployments and introduces strict authentication requirements for various platform operations.
Key Highlights
- Self-hosted deployments no longer ship shared default credentials
- Explicit browser approval required for CLI and MCP login
- Deployment telemetry now reports readable deployment identifiers
- GitHub App installation callbacks are now single-use
Breaking Changes
- Self-hosted deployments no longer ship shared default credentials; fresh installs generate their own. Set a unique value before upgrading or set ALLOW_INSECURE_DEFAULT_SECRETS=true to keep booting while you migrate.
New Features
- Explicit browser approval for CLI and MCP login with resilient polling
- Deployment telemetry now reports deployment identifier in worker.id attribute
- Helpers to mint and verify deployment-scoped tokens
- Optional request rate limiting for telemetry ingestion endpoints
- Background-worker deployment lookups scoped to authenticated environment
- GitHub App installation callback scoped to own organization
- Schedule and environment-variable writes scoped to caller's project
- Verify compute snapshot callbacks match the request
- Run controllers authenticated with signed, deployment-scoped tokens
- Strict validation for live run and trace subscriptions
- Window-function names validated against allowlist
Full Release Notes
# trigger.dev v4.5.6 ## Upgrade ```sh npx trigger.dev@latest update # npm pnpm dlx trigger.dev@latest update # pnpm yarn dlx trigger.dev@latest update # yarn bunx trigger.dev@latest update # bun ``` Self-hosted Docker image: [`ghcr.io/triggerdotdev/trigger.dev:v4.5.6`](https://github.com/triggerdotdev/trigger.dev/pkgs/container/trigger.dev) ## Release notes Read the full release notes: https://trigger.dev/changelog/v4-5-6 ## What's changed ## Breaking changes - Self-hosted deployments no longer ship shared default credentials; fresh installs generate their own. If yours still uses a previously published default, set a unique value before upgrading, or set `ALLOW_INSECURE_DEFAULT_SECRETS=true` to keep booting while you migrate. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) ## Security patches - Require explicit browser approval for CLI and MCP login, with resilient polling while approval is pending. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Deployed task telemetry now reports the deployment identifier (e.g. `deployment_abc123`) in the `worker.id` attribute, instead of an opaque internal value. Upgrade to get the readable identifier in your own OpenTelemetry exporters. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Prevent prototype pollution when applying run metadata operations or reconstructing nested telemetry attributes, while preserving legitimate `constructor` and `prototype` fields. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Add helpers to mint and verify the deployment-scoped token used to authenticate run controllers to the platform. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Added optional request rate limiting for telemetry ingestion endpoints. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Background-worker deployment lookups are now scoped to the authenticated environment. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Updating a GitHub App installation from the callback flow is now scoped to your own organization, so an installation ID belonging to another organization can no longer be used to refresh that organization's installation record. The GitHub App installation session is also now single-use, so completing an installation callback invalidates its state and it can no longer be replayed. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Scope schedule and environment-variable writes to the caller's project and environment ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Reject compute snapshot callbacks that do not match the snapshot request that created them. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Require secret-key authentication to initialize the session out (agent→client) stream, matching the append route. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Live run and trace subscriptions now validate their identifiers more strictly and only return data from your own organization. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Window-function names in the query compiler are now validated against the allowlist, matching how other function calls are handled. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Authenticate run controllers to the platform with a signed, deployment-scoped token. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) - Verify that worker actions (starting, completing, and continuing a run, and reading its snapshots) target a run belonging to the caller's environment. ([#4316](https://github.com/triggerdotdev/trigger.dev/pull/4316)) ## All packages: v4.5.6 @trigger.dev/build, @trigger.dev/core, @trigger.dev/python, @trigger.dev/react-hooks, @trigger.dev/redis-worker, @trigger.dev/rsc, @trigger.dev/schema-to-json, @trigger.dev/sdk, trigger.dev ## Contributors Chris Arderne, github-actions[bot] **Full changelog**: https://github.com/triggerdotdev/trigger.dev/compare/v4.5.5...v4.5.6