Announcement2.3
Release v2.3
Appsmith 2.3 introduces native AI Copilot for Custom Widgets, Card Widget, and improved keyboard navigation, while deprecating Appsmith AI data sources (EOL September 30, 2026). This release also includes major security hardening across datasource authorization, Git imports, and pre-auth endpoints, plus reliability improvements for JDBC, MongoDB, and error handling.
🗑️ Feature Removal - September 30, 2026 - EOL
After upgrading to version 2.3, you will no longer be able to add new Appsmith AI data source connections or queries. Any that you have currently will still continue to work until September 30th, 2026. After that time, any Appsmith AI datasources will stop working - whether you have upgraded or not.
✨ New Features & Enhancements
- Native AI Copilot for Custom Widgets — Added native AI Copilot capabilities to Custom Widgets. (#42063)
- Ask AI for Community Edition — Brought the Ask AI assistant to the Community Edition. (#42065). https://docs.appsmith.com/build-apps/how-to-guides/use-ask-ai
- Card Widget — Added a new Card widget for displaying entities with a composable body canvas. (#42026). More information can be found https://docs.appsmith.com/reference/widgets/card
- Button Widget Label Styling — Added label styling options to the Button widget. (#41998)
- Keyboard Navigation — Added a shared
tabOrderproperty across standard widgets for improved keyboard Tab navigation. (#41895) - HTML Language Attribute — Added support for customizing the HTML
langattribute. (#41593) - Git Repository Checks — Added sanity checks for Git repositories stored in Redis. (#41970)
🤖 AI & Assistant Improvements
- AI Assistant Timeout — Increased the AI Assistant provider timeout to improve reliability. (#42096)
- Custom Widget AI Feedback — Improved feedback and error handling for the Custom Widget AI Assistant. (#42095)
- Ask AI CE Hardening — Hardened the Ask AI Community Edition implementation following CodeRabbit review. (#42092)
- Appsmith AI Deprecation — Blocked creation of new Appsmith AI datasources and added a deprecation banner. (#42015)
🔐 Security
- Datasource Authorization Bypass — Fixed a vulnerability that could allow hidden datasources to be reused during application import and fork operations. (#42066)
- Git Import Path Traversal — Prevented symlink-based path traversal during Git imports that could lead to arbitrary file read/write. (#41993)
- Permission Group Security — Enforced workspace boundaries when assigning permission groups. (#42023)
- Datasource Authorization — Fixed Action create/update authorization to prevent users from exposing another workspace's private datasource for unauthenticated execution. (#42018)
- Datasource Network Access — Restricted datasource access to the instance's own network address. (#41985)
- Frame Ancestors Security — Removed the wildcard
frame-ancestorsdefault to prevent overly permissive embedding policies. (#42012) - Pre-Auth Email Security — Standardized responses from pre-authentication email endpoints and removed unused routes. (#41996)
- Tenant Endpoint Security — Removed internal configuration details from tenant responses for anonymous users. (#42001)
- Login Open Redirect — Prevented open redirects caused by forged
Originheaders during login. (#41995) - Actuator Security — Prevented actuator basic authentication when the internal password is not configured. (#41964)
- SMTP TLS Verification — Improved SMTP TLS verification by validating the hostname while maintaining the connection to the SSRF-validated address. (#42060)
- Caddy Rate Limiting — Improved rate limiting by using trusted client IPs and restricting trusted proxies. (#42071)
- Server & Plugin CVEs — Remediated server and plugin JAR vulnerabilities identified by Docker Scout scans. (#42074)
- npm Security Update — Upgraded npm to 11.18.0 to address the critical
node-tarDoS vulnerability (CVE-2026-59873). (#42064) - tar Security Update — Updated the
tarresolution to^7.5.19to address CVE-2026-59873. (#42034) - Dependency Security Updates — Applied dependency updates addressing multiple reported vulnerabilities. (#42091, #42051, #42049, #41969, #41965)
🔧 Git & Version Control
- Improved Git Error Messages — Updated Git error handling to surface the actual cause of failures instead of displaying a generic message. (#42053)
- Git Import Optimization — Limited sibling-branch entity imports to only the fields required during import. (#41972)
- Git Release Stability — Removed an orphaned legacy Git controller that was causing release issues. (#41974)
🎨 UI & Widget Improvements
- Application Theme Permissions — Required edit permission when reading application themes in edit mode. (#42090)
- Banner Positioning — Fixed the banner offset. (#42073)
- Copy to Application — Fixed dropdown scrolling and improved datasource note visibility in the copy modal. (#42007)
- Table Widget — Fixed the Menu Button column width. (#41948)
- Text Widget Links — Fixed
mailto:,tel:, andftp:links being incorrectly modified. (#41997)
🛠️ Reliability, Testing & Developer Experience
- Cypress API Intercepts — Fixed consolidated API intercept hooks failing because of
cy.log. (#42069) - Filepicker Evaluation — Preserved sibling parameters when Filepicker binary data is passed to an action run. (#42021)
- MSSQL Validation — Rejected MSSQL database names containing connection-string separators. (#42077)
- Intl Linting — Fixed a false
Intl is not definedlint error. (#42080) - JDBC Reliability — Added Hikari keepalive and bounded socket timeouts for JDBC connections. (#41851)
- Email Settings Tests — Improved test reliability by waiting for the email HTML body before continuing. (#41893)
- Client Build CI — Prevented "Argument list too long" errors when determining changed files. (#42050)
- MongoDB Error Handling — Improved handling of repeated MongoDB replica-set errors by waiting for the existing toast to clear before checking again. (#41963)
🏢 Permissions & Configuration
- Auto Commit Authorization — Added authorization checks before reading Auto Commit Pro configuration for target artifacts. (#42083)
- Anonymous Tracking — Ensured the
block-anonymous-trackingflag is consistently honored on both the client and server. (#41973) - Usage Tracking — Preserved the anonymous user ID for usage tracking when Segment is blocked for anonymous users. (PR number not provided)
aisecuritywidgetsgitperformancebreaking
Source: original entry ↗