⚠️ Breaking changes
- feat(record-form): make the record creation form the default path (#25907) by @thomtrp
- [2/5 workflows] Improve workflow classifier configuration (#26291) by @Bonapara
- feat(application): deprecate uploadApplicationFile and drop the CLI multipart fallback (#26379) by @martmull
- feat(files): upload workspace logos and profile pictures with direct upload (#26382) by @martmull
- [BREAKING_CHANGE] refactor(server): compute the application-scoped core schema server-side (#26439) by @prastoin
- Group Card parts under one component (#26654) by @bosiraphael
✨ New features
- feat(usage-limit): cap workspace file storage with a stock limit kind (#26042) by @etiennejouan
- feat: migrate workflow editor and actions to core IDs (#26116) by @thomtrp
- feat(usage-limit): cap workspace records with a stock limit (#26147) by @etiennejouan
- feat(workflow): make core workflow and workflow version syncable so definition changes broadcast (#26158) by @thomtrp
- feat(ai): add evaluation models and a Classify workflow node (#26225) by @FelixMalfait
- feat(usage-limit): gate workflow node runs and logic function executions (#26283) by @etiennejouan
- feat(client-sdk): upload files straight to storage from uploadFile (#26305) by @martmull
- feat(application): deploy app tarballs straight to file storage (#26314) by @martmull
- feat(sharing): unify record access and enable multiplayer chats (#26348) by @FelixMalfait
- feat(ai): execute chat turns as their persisted sender (#26369) by @FelixMalfait
- feat(object-metadata): allow updating readability through the metadata API (#26427) by @martmull
- feat(front-components): share one application token pair per application (#26525) by @prastoin
- feat(ai): separate chat sharing UI from backend rollout (#26581) by @FelixMalfait
- feat(docker): add ClickHouse to twenty-app-dev image (#26598) by @martmull
- feat(workflow): toggle core workflow visibility from the command menu (#26651) by @thomtrp
💅 Improvements & UX
- Add async CSV export server behind a workspace flag (#25987) by @Weiko
- Hard-delete views and their children instead of soft-deleting them (#26002) by @Weiko
- [forms 2/3] Improve record form field presentation (#26031) by @Bonapara
- [2/2 Sidebar] New customization experience (#26037) by @Bonapara
- Bind CSV export downloads to their requesting session (#26052) by @Weiko
- Unify Twenty UI icon buttons (#26071) by @bosiraphael
- Migrate Twenty UI headings (#26085) by @bosiraphael
- Replace Twenty UI Modal with Dialog (#26087) by @bosiraphael
- Migrate tooltips to Base UI (#26088) by @bosiraphael
- [3/3 Sidebar] Bulk object metadata updates (#26105) by @Bonapara
- Import missing dependency in create-twenty-app (#26133) by @martmull
- Fix UI builds without Monaco (#26134) by @bosiraphael
- Restore banner button colors (#26135) by @bosiraphael
- Migrate Twenty UI tab navigation (#26142) by @bosiraphael
- Migrate light icon buttons and groups (#26144) by @bosiraphael
- AI chat: tool calls render as widgets named by the tool (#26179) by @FelixMalfait
- Only write audit log events for workspaces entitled to audit logs (#26182) by @neo773
- Scope application variable reads and updates to the calling application and workspace (#26192) by @prastoin
- Add SettingsRow and migrate legacy rows (#26200) by @bosiraphael
- Separate Twenty UI primitives and components (#26207) by @bosiraphael
- Migrate picker rows to ListItem (#26211) by @bosiraphael
- Unify icon buttons with elevated styling (#26213) by @bosiraphael
- Defer slow workspace migration actions to a worker job (#26222) by @charlesBochet
- Upgrade react-router to 7.18.4 (#26232) by @charlesBochet
- Flag missing required application variables on the app settings page (#26270) by @martmull
- Consolidate animated buttons (#26276) by @bosiraphael
- Let apps report their own configuration state with defineHealthCheck (#26277) by @martmull
- Print export reasons in the pull report (#26288) by @Weiko
- Remove unused Twenty UI buttons (#26293) by @bosiraphael
- Migrate dropdown menu rows to ListItem (#26297) by @bosiraphael
- Let apps declare several settings menu items with defineSettingsMenuItem (#26302) by @martmull
- Secure front component media capture (#26303) by @bosiraphael
- Rename recording tabs to Transcript (#26318) by @ehconitin
- [3/4] Attach and detach conversations on a record (#26330) by @FelixMalfait
- Give message campaigns their own send rate limit counters (#26331) by @neo773
- Load limits on view groups (#26349) by @Bonapara
- Rename workflow AI Agent to Agent and align node presentation (#26363) by @thomtrp
- Add the shared Dropdown foundation (#26383) by @bosiraphael
- Migrate independent Dropdown action menus (#26432) by @bosiraphael
- Serve backend HTML with startup config and workspace iframe settings (#26459) by @FelixMalfait
- Consolidate resize handle interactions (#26463) by @bosiraphael
- Use radio groups for segmented settings (#26465) by @bosiraphael
- Put the record creation form back behind a feature flag (#26472) by @thomtrp
- Remove react-router dependency from twenty-ui (#26477) by @bosiraphael
- Migrate Select, pickers and filter menus to the shared Dropdown (#26483) by @bosiraphael
- Command menu sections (#26488) by @Bonapara
- Replace responsive hooks with native media queries (#26532) by @bosiraphael
- Expose selected object metadata and keep unchanged context values stable (#26596) by @bosiraphael
- Migrate sort and editor toolbar dropdowns (#26599) by @bosiraphael
- Remove message and calendar target read rollout flag (#26625) by @FelixMalfait
- Document remaining Twenty UI primitives (#26649) by @bosiraphael
- Restore tab and menu icon stroke weight (#26670) by @Bonapara
- Remove the per-campaign recipient cap (#26675) by @neo773
- Remove the unused sendEmailViaEmailingDomain mutation (#26676) by @neo773
🐛 Bug fixes
- fix(client-sdk): externalize all Node builtins in Vite lib build (#26234) by @AyeshaWaseemAhmad
- fix: separate connected account disconnect from deletion (#26347) by @neo773
- fix(shared): reject scheme-relative backslash urls in isSafeUrl (#26397) by @Belkouche
- fix: display app permission flags and reset saved role changes (#26450) by @Weiko
- fix: fill scaffolded app page viewport (#26464) by @Weiko
- fix(sdk): write the CLI config file with owner-only permissions (#26548) by @Weiko
🔧 Developer & API
- Fix API ALLCAPS case to Pascal case in server tests (#26411) by @BOHEUS
- Consolidate the public theme API (#26482) by @bosiraphael
🏗️ Internal changes (4)
- chore(usage-limit): remove the API rate limit v2 feature flag (#26169) by @etiennejouan
- chore(usage-limit): remove the quota engine credit bound feature flag (#26174) by @etiennejouan
- chore: remove IS_APP_CLAIMING_ENABLED feature flag (#26205) by @martmull
- refactor: return API-relative paths for CSV export downloads (#26603) by @Weiko
🎉 New contributors
- @Maharsh17 made their first contribution in #26118
- @mdminhazulhaque made their first contribution in #26097
- @Atharva0222 made their first contribution in #25989
- @minnibaevB made their first contribution in #25991
- @alamin284 made their first contribution in #24327
- @longshaww made their first contribution in #24349
- @mini0n-ai made their first contribution in #25809
- @Belkouche made their first contribution in #26397
- @thisispr made their first contribution in #26357
- @rollecode made their first contribution in #24932
- @M3BIONIX made their first contribution in #23787
- @suparikoli made their first contribution in #24165
- @Thomas4390 made their first contribution in #25544
- @sagarithm made their first contribution in #25448
- @LouisDelbosc made their first contribution in #25844
- @fcporto-nature made their first contribution in #26176
- @Mateidslx made their first contribution in #26490
- @Taldres made their first contribution in #26610
Full changelog (89 PRs)
- feat(record-form): make the record creation form the default path (#25907) by @thomtrp
- Add async CSV export server behind a workspace flag (#25987) by @Weiko
- Hard-delete views and their children instead of soft-deleting them (#26002) by @Weiko
- [forms 2/3] Improve record form field presentation (#26031) by @Bonapara
- [2/2 Sidebar] New customization experience (#26037) by @Bonapara
- feat(usage-limit): cap workspace file storage with a stock limit kind (#26042) by @etiennejouan
- Bind CSV export downloads to their requesting session (#26052) by @Weiko
- Unify Twenty UI icon buttons (#26071) by @bosiraphael
- Migrate Twenty UI headings (#26085) by @bosiraphael
- Replace Twenty UI Modal with Dialog (#26087) by @bosiraphael
- Migrate tooltips to Base UI (#26088) by @bosiraphael
- chore: bump version to 2.42.0 (#26100) by @twenty-pr
- [3/3 Sidebar] Bulk object metadata updates (#26105) by @Bonapara
- feat: migrate workflow editor and actions to core IDs (#26116) by @thomtrp
- Import missing dependency in create-twenty-app (#26133) by @martmull
- Fix UI builds without Monaco (#26134) by @bosiraphael
- Restore banner button colors (#26135) by @bosiraphael
- Migrate Twenty UI tab navigation (#26142) by @bosiraphael
- Migrate light icon buttons and groups (#26144) by @bosiraphael
- feat(usage-limit): cap workspace records with a stock limit (#26147) by @etiennejouan
- feat(workflow): make core workflow and workflow version syncable so definition changes broadcast (#26158) by @thomtrp
- chore(usage-limit): remove the API rate limit v2 feature flag (#26169) by @etiennejouan
- chore(usage-limit): remove the quota engine credit bound feature flag (#26174) by @etiennejouan
- AI chat: tool calls render as widgets named by the tool (#26179) by @FelixMalfait
- Only write audit log events for workspaces entitled to audit logs (#26182) by @neo773
- Scope application variable reads and updates to the calling application and workspace (#26192) by @prastoin
- Add SettingsRow and migrate legacy rows (#26200) by @bosiraphael
- chore: remove IS_APP_CLAIMING_ENABLED feature flag (#26205) by @martmull
- Separate Twenty UI primitives and components (#26207) by @bosiraphael
- Migrate picker rows to ListItem (#26211) by @bosiraphael
- Unify icon buttons with elevated styling (#26213) by @bosiraphael
- Defer slow workspace migration actions to a worker job (#26222) by @charlesBochet
- feat(ai): add evaluation models and a Classify workflow node (#26225) by @FelixMalfait
- Upgrade react-router to 7.18.4 (#26232) by @charlesBochet
- fix(client-sdk): externalize all Node builtins in Vite lib build (#26234) by @AyeshaWaseemAhmad
- Flag missing required application variables on the app settings page (#26270) by @martmull
- Consolidate animated buttons (#26276) by @bosiraphael
- Let apps report their own configuration state with defineHealthCheck (#26277) by @martmull
- feat(usage-limit): gate workflow node runs and logic function executions (#26283) by @etiennejouan
- Print export reasons in the pull report (#26288) by @Weiko
- [2/5 workflows] Improve workflow classifier configuration (#26291) by @Bonapara
- Remove unused Twenty UI buttons (#26293) by @bosiraphael
- Migrate dropdown menu rows to ListItem (#26297) by @bosiraphael
- Let apps declare several settings menu items with defineSettingsMenuItem (#26302) by @martmull
- Secure front component media capture (#26303) by @bosiraphael
- feat(client-sdk): upload files straight to storage from uploadFile (#26305) by @martmull
- feat(application): deploy app tarballs straight to file storage (#26314) by @martmull
- Rename recording tabs to Transcript (#26318) by @ehconitin
- [3/4] Attach and detach conversations on a record (#26330) by @FelixMalfait
- Give message campaigns their own send rate limit counters (#26331) by @neo773
- fix: separate connected account disconnect from deletion (#26347) by @neo773
- feat(sharing): unify record access and enable multiplayer chats (#26348) by @FelixMalfait
- Load limits on view groups (#26349) by @Bonapara
- Rename workflow AI Agent to Agent and align node presentation (#26363) by @thomtrp
- feat(ai): execute chat turns as their persisted sender (#26369) by @FelixMalfait
- feat(application): deprecate uploadApplicationFile and drop the CLI multipart fallback (#26379) by @martmull
- feat(files): upload workspace logos and profile pictures with direct upload (#26382) by @martmull
- Add the shared Dropdown foundation (#26383) by @bosiraphael
- fix(shared): reject scheme-relative backslash urls in isSafeUrl (#26397) by @Belkouche
- Fix API ALLCAPS case to Pascal case in server tests (#26411) by @BOHEUS
- feat(object-metadata): allow updating readability through the metadata API (#26427) by @martmull
- Migrate independent Dropdown action menus (#26432) by @bosiraphael
- [BREAKING_CHANGE] refactor(server): compute the application-scoped core schema server-side (#26439) by @prastoin
- fix: display app permission flags and reset saved role changes (#26450) by @Weiko
- Serve backend HTML with startup config and workspace iframe settings (#26459) by @FelixMalfait
- Consolidate resize handle interactions (#26463) by @bosiraphael
- fix: fill scaffolded app page viewport (#26464) by @Weiko
- Use radio groups for segmented settings (#26465) by @bosiraphael
- chore: bump version to 2.43.0 (#26468) by @twenty-pr
- Put the record creation form back behind a feature flag (#26472) by @thomtrp
- Remove react-router dependency from twenty-ui (#26477) by @bosiraphael
- Consolidate the public theme API (#26482) by @bosiraphael
- Migrate Select, pickers and filter menus to the shared Dropdown (#26483) by @bosiraphael
- Command menu sections (#26488) by @Bonapara
- feat(front-components): share one application token pair per application (#26525) by @prastoin
- Replace responsive hooks with native media queries (#26532) by @bosiraphael
- fix(sdk): write the CLI config file with owner-only permissions (#26548) by @Weiko
- feat(ai): separate chat sharing UI from backend rollout (#26581) by @FelixMalfait
- Expose selected object metadata and keep unchanged context values stable (#26596) by @bosiraphael
- feat(docker): add ClickHouse to twenty-app-dev image (#26598) by @martmull
- Migrate sort and editor toolbar dropdowns (#26599) by @bosiraphael
- refactor: return API-relative paths for CSV export downloads (#26603) by @Weiko
- Remove message and calendar target read rollout flag (#26625) by @FelixMalfait
- Document remaining Twenty UI primitives (#26649) by @bosiraphael
- feat(workflow): toggle core workflow visibility from the command menu (#26651) by @thomtrp
- Group Card parts under one component (#26654) by @bosiraphael
- Restore tab and menu icon stroke weight (#26670) by @Bonapara
- Remove the per-campaign recipient cap (#26675) by @neo773
- Remove the unused sendEmailViaEmailingDomain mutation (#26676) by @neo773
Full Changelog: sdk/v2.41.0...sdk/v2.43.0