github appsmithorg/appsmith v2.4
Release v2.4🌈

3 hours ago

πŸ—‘οΈ Feature Removal Reminder - September 30, 2026 - EOL

Appsmith AI reaches end of life on September 30th, 2026 β€” three weeks after this release.

As announced in v2.3, you can no longer add new Appsmith AI data source connections or queries. Any that you currently have will continue to work until September 30th, 2026. After that date, all Appsmith AI datasources will stop working β€” whether or not you have upgraded.

Migrate any remaining Appsmith AI queries to a direct provider datasource (OpenAI, Anthropic, or Google AI) before that date. This release refreshes the available model lists for all three providers, so the current models are available to migrate onto. (#42114)

⚠️ Important Upgrade Notes

  • Admin Settings secrets β€” Sensitive values returned by GET /api/v1/admin/env are now masked, and the editable MongoDB and Redis URL fields are replaced by read-only connection status. Update any scripts or automation that read those values from the admin API. Submitting a masked value back is treated as "unchanged", so existing configuration is preserved. (#42169)
  • AI datasource responses β€” OpenAI, Anthropic, and Google AI datasources now list current models. Saved Anthropic queries using manually entered modern model IDs may require binding updates if they read completion. (#42114)

✨ New Features & Enhancements

  • Appsmith MCP Server (BETA) β€” An opt-in, embedded Model Context Protocol server that lets compatible AI clients build and edit Appsmith applications through a structured tool API. Agents never author raw widget DSL, SQL, JS, or {{ }} bindings β€” they call tools that the server compiles under the caller's own permissions. Set up the MCP server β†’ (#42185, #42187, #42190, #42193, #42208, #42210, #42212)
    • Off by default, on new installs and upgrades alike β€” upgrading to v2.4 does not expose an agent endpoint. Self-hosted: Admin Settings β†’ Instances β†’ MCP Server (BETA) β†’ enable β†’ Save & Restart. Appsmith Cloud accounts with a custom organization name enable it under Organizations instead.
    • Per-user keys under Admin Settings β†’ Profile β†’ MCP keys. A key authenticates the client as that user and grants no additional permissions. Keys expire in 30/60/90/180/365 days (default 30) and are capped at 10 un-revoked keys per user; the secret is shown only once, at creation or rotation. Disabling the server rejects existing keys but does not revoke them.
    • Destructive operations require human approval through a prepare_* β†’ confirm_* handshake with a one-time confirmation bound to the target and its current content revision.
    • Git-connected apps are gated. Mutations must name the app's current branch and fail closed if git state cannot be read. Agents commit only within the reserved mcp/ branch namespace, and every agent commit carries a non-strippable [mcp] prefix.
    • Operator note: creating an mcp/ branch or confirming a commit pushes to your git remote using the instance deploy key, so remote CI and webhooks watching branch pushes will fire on mcp/* refs.
  • MSSQL read-only connections β€” Added read-only mode with ApplicationIntent=ReadOnly, including readable-secondary routing for SQL Server Always On deployments. (#41668)
  • Evaluated value helper β€” Improved popup placement and added a persistent compact collapsed view. (#42128)

πŸ€– AI Improvements

  • Updated OpenAI, Anthropic, and Google AI datasource model discovery for current GPT, Claude, and Gemini models. (#42114)

🎨 UI & Widget Improvements

  • Removed stale JavaScript lint errors after clearing widget events. (#42130)
  • Prevented null values in Custom ECharts configurations from breaking page evaluation. (#42145)
  • Prevented large Custom Widget JavaScript syntax errors from crashing the builder. (#42198)
  • Restored required-field markers on legacy Select, MultiSelect, and Tree Select widgets. (#41927)
  • Kept the β€œAllow all users to signup” Form Login label consistent when toggled. (#42167)

πŸ› οΈ Reliability

  • Moved blocking datasource operations away from shared server threads and added bounded SMTP and SSH timeouts. (#42159)
  • Removed duplicate datasource lookups and policy updates during action validation. (#42138)

πŸ” Security

  • Derived shared Custom JavaScript Library identifiers server-side and enforced application read permission before returning library manifests. (#42108, #42131)
  • Prevented application update requests from enabling credential-inclusive export or fork behavior. (#42113)
  • Enforced application read permission before Git routes resolve applications or use stored Git credentials. (#42121)
  • Prevented OAuth datasource flows from redirecting to origins that do not match the request host. (#42146)
  • Strengthened restricted-host checks for alternate IPv4, IPv6, and IPv4-in-IPv6 representations. (#42132)
  • Updated client, server, observability, bundled tooling, and base-image dependencies to address reported vulnerabilities. (#42103, #42110, #42075, #42154, #42183, #42200)

πŸ”§ Git, Deployment & Configuration

  • Improved Redis-backed Git branch synchronization for repositories without local branches. (#42176)
  • Allowed replica-set startup checks to accept newer MongoDB URI options such as serverMonitoringMode=poll. (#42188)

Don't miss a new appsmith release

NewReleases is sending notifications on new releases.