⚠️ For EE users, before upgrading to v2.6.0 finish existing Temporal workflow runs on v2.5.1
Appsmith is moving to a new workflow engine. Runs that started on the old Temporal engine cannot be relied on to resume or finish after upgrading to v2.6.0.
A run is one execution of a workflow. This includes executions waiting for a person to approve a request, even when they are not actively processing anything.
What to do before upgrading:
- Upgrade to v2.5.1 first if you are on an earlier version.
- Let all runs on Temporal finish, including any waiting for approval. Stop a run only if you are willing to abandon its remaining work.
- In Admin Settings → Instance → Admin central, review and acknowledge the v2.5.0 · Workflow Engine Transition checkpoint. Follow the workflow engine transition guide.
- Upgrade to v2.6.0.
Possible downtime: the upgrade check can prevent the entire Appsmith server from starting if it finds pending approval requests from the old engine. Complete the steps above before upgrading; do not rely on the startup check to find every unfinished run.
If startup is blocked by this checkpoint, return to v2.5.1, finish or deliberately stop the affected runs, complete the checkpoint, and retry the upgrade.
🔐 Brotli security fix (CVE-2026-111497):
Appsmith v2.6.0 includes the fix for a vulnerability in the Node.js Brotli decoder. Processing maliciously crafted Brotli-compressed data can corrupt memory and potentially cause a service crash, expose process memory, or allow remote code execution. Self-hosted customers should upgrade to v2.6.0 to receive the fix. See the Node.js security advisory for details.
⚠️ Important Upgrade Notes
- Customized
docker.envfiles must contain resolved literal values. Shell expressions stop startup with a redacted diagnostic. Move JVM options fromdocker.envto Docker Compose or Helm environment configuration before upgrading.OTEL_*names, including the documented trace exporter endpoints, are now accepted. Generated defaults and Admin Settings values need no changes. (#42225, #42422) - Redis queries must use a static command name. A binding in the command name returns a query configuration error. Binding values stay inside a single argument. (#42465)
- The DynamoDB plugin now uses AWS SDK for Java 2.55.9. A region must contain only letters, digits, and hyphens, and be at most 63 characters. Responses can include additional keys; existing keys and values stay the same. If the server sets
AWS_ENDPOINT_URL,AWS_ENDPOINT_URL_DYNAMODB,AWS_USE_FIPS_ENDPOINT, orAWS_USE_DUALSTACK_ENDPOINT, the plugin now honors them. (#42346)
🔐 Security
- Updated bundled dependencies to address reported vulnerabilities. (#42444, #42449, #42466, #42475, #42492)
- Editor-mode page and layout reads now require edit permission and return the draft. View mode still requires read permission and returns the published page. (#42425)
- Updating an application or datasource now keeps the workspace it was created in. (#42462)
- Creating a workspace now ignores a client-supplied id, policies, and permission groups. The server generates them. ([#42478](http

