twenty/v2.43.0
hkjarral/AVA-AI-Voice-Agent-for-Asterisktwenty/v2.43.0Sep 28, 2026by twenty-pr[bot]
Upgrading?
AI Summary
The Twenty application release aligning with SDK v2.43.0, focusing on Teams integration, core workflow sync, and record sharing.
Key Highlights
- Teams app package scaffolding
- Core workflow sync for definition changes
- Unified record access and multiplayer chats
- Usage limits for workflows and email sends
Breaking Changes
- Record creation form is now the default path
- File upload API changes
- Server-side computation of application-scoped core schema
New Features
- Teams integration and Bot Connector
- Core workflow sync
- Record sharing unification
- Usage limits for workflows and emails
Full Release Notes
<!-- generated-release-notes v1 --> ## ⚠️ Breaking changes - feat(record-form): make the record creation form the default path ([#25907](https://github.com/twentyhq/twenty/pull/25907)) by @thomtrp - [2/5 workflows] Improve workflow classifier configuration ([#26291](https://github.com/twentyhq/twenty/pull/26291)) by @Bonapara - feat(application): deprecate uploadApplicationFile and drop the CLI multipart fallback ([#26379](https://github.com/twentyhq/twenty/pull/26379)) by @martmull - feat(files): upload workspace logos and profile pictures with direct upload ([#26382](https://github.com/twentyhq/twenty/pull/26382)) by @martmull - [BREAKING_CHANGE] refactor(server): compute the application-scoped core schema server-side ([#26439](https://github.com/twentyhq/twenty/pull/26439)) by @prastoin - chore(workflow): match the core workflow show page header to the workspace one ([#26552](https://github.com/twentyhq/twenty/pull/26552)) by @thomtrp - Group Card parts under one component ([#26654](https://github.com/twentyhq/twenty/pull/26654)) by @bosiraphael ## ✨ New features - feat(twenty-front): show secondary links in workflow action ([#24486](https://github.com/twentyhq/twenty/pull/24486)) by @Amit91848 - feat(view): land on the initial object view and hide the index view behind the flag ([#25682](https://github.com/twentyhq/twenty/pull/25682)) by @thomtrp - feat(slack): per-channel rules for the assistant ([#26016](https://github.com/twentyhq/twenty/pull/26016)) by @abdulrahmancodes - feat(usage-limit): cap workspace file storage with a stock limit kind ([#26042](https://github.com/twentyhq/twenty/pull/26042)) by @etiennejouan - feat(workflow): core-id native workflow API — reads and writes ([#26068](https://github.com/twentyhq/twenty/pull/26068)) by @thomtrp - feat: add serviceAccount support to Helm chart ([#26097](https://github.com/twentyhq/twenty/pull/26097)) by @mdminhazulhaque - feat(workflow): core-only workflow execution and background processing ([#26098](https://github.com/twentyhq/twenty/pull/26098)) by @thomtrp - feat: migrate workflow editor and actions to core IDs ([#26116](https://github.com/twentyhq/twenty/pull/26116)) by @thomtrp - feat(auth): refuse API access for suspended workspaces ([#26127](https://github.com/twentyhq/twenty/pull/26127)) by @etiennejouan - feat(ai): click the chat title in the page header to rename the thread ([#26146](https://github.com/twentyhq/twenty/pull/26146)) by @FelixMalfait - feat(usage-limit): cap workspace records with a stock limit ([#26147](https://github.com/twentyhq/twenty/pull/26147)) by @etiennejouan - feat(server): give the message object a standard record page layout ([#26153](https://github.com/twentyhq/twenty/pull/26153)) by @FelixMalfait - feat: expose queue job progress ([#26157](https://github.com/twentyhq/twenty/pull/26157)) by @Weiko - feat(workflow): make core workflow and workflow version syncable so definition changes broadcast ([#26158](https://github.com/twentyhq/twenty/pull/26158)) by @thomtrp - feat(workflow): consume core workflow events on the core workflow surfaces ([#26159](https://github.com/twentyhq/twenty/pull/26159)) by @thomtrp - feat(apps): run application lifecycle hooks on a dedicated queue ([#26166](https://github.com/twentyhq/twenty/pull/26166)) by @martmull - feat(teams): scaffold the Microsoft Teams app package ([#26185](https://github.com/twentyhq/twenty/pull/26185)) by @abdulrahmancodes - feat(teams): add the Bot Connector client and inbound activity verification ([#26186](https://github.com/twentyhq/twenty/pull/26186)) by @abdulrahmancodes - feat(workflow): migrate MCP tools and bundled app consumers to core workflow IDs ([#26189](https://github.com/twentyhq/twenty/pull/26189)) by @thomtrp - feat(ai): add evaluation models and a Classify workflow node ([#26225](https://github.com/twentyhq/twenty/pull/26225)) by @FelixMalfait - feat: private workflows on the core schema ([#26243](https://github.com/twentyhq/twenty/pull/26243)) by @FelixMalfait - feat(usage-limit): gate workflow node runs and logic function executions ([#26283](https://github.com/twentyhq/twenty/pull/26283)) by @etiennejouan - feat(client-sdk): upload files straight to storage from uploadFile ([#26305](https://github.com/twentyhq/twenty/pull/26305)) by @martmull - feat(application): deploy app tarballs straight to file storage ([#26314](https://github.com/twentyhq/twenty/pull/26314)) by @martmull - feat(teams): add feature settings foundation ([#26345](https://github.com/twentyhq/twenty/pull/26345)) by @ehconitin - feat(sharing): unify record access and enable multiplayer chats ([#26348](https://github.com/twentyhq/twenty/pull/26348)) by @FelixMalfait - feat(view): land on the kanban for opportunities and a list for campaigns ([#26360](https://github.com/twentyhq/twenty/pull/26360)) by @thomtrp - feat(teams): consolidate transcript OAuth into Teams ([#26362](https://github.com/twentyhq/twenty/pull/26362)) by @ehconitin - feat(ai): execute chat turns as their persisted sender ([#26369](https://github.com/twentyhq/twenty/pull/26369)) by @FelixMalfait - feat(usage-limit): cap email sends with a quota limit ([#26378](https://github.com/twentyhq/twenty/pull/26378)) by @etiennejouan - feat(object-metadata): allow updating readability through the metadata API ([#26427](https://github.com/twentyhq/twenty/pull/26427)) by @martmull - feat(server): require a user session on the calendar timeline ([#26440](https://github.com/twentyhq/twenty/pull/26440)) by @prastoin - feat(server): require a user session on account-level operations ([#26441](https://github.com/twentyhq/twenty/pull/26441)) by @prastoin - feat(teams): require a Teams endorsement on the activity signing key ([#26444](https://github.com/twentyhq/twenty/pull/26444)) by @abdulrahmancodes - feat(workflow): require a core parent on every workflow version (2.43) ([#26451](https://github.com/twentyhq/twenty/pull/26451)) by @thomtrp - feat(usage-limit): consume quota on app charges ([#26461](https://github.com/twentyhq/twenty/pull/26461)) by @etiennejouan - feat(usage-limit): let only an operator replace an instance default ([#26476](https://github.com/twentyhq/twenty/pull/26476)) by @etiennejouan - feat(front-components): share one application token pair per application ([#26525](https://github.com/twentyhq/twenty/pull/26525)) by @prastoin - feat(last-contact): add a health check and run the backfill synchronously (1.6.0) ([#26526](https://github.com/twentyhq/twenty/pull/26526)) by @martmull - feat(usage-limit): ship a default daily email quota per workspace ([#26535](https://github.com/twentyhq/twenty/pull/26535)) by @etiennejouan - feat(event-logs): log record restores and permanent deletes ([#26538](https://github.com/twentyhq/twenty/pull/26538)) by @martmull - feat(ai): link chat threads to workspace members (expand step) ([#26564](https://github.com/twentyhq/twenty/pull/26564)) by @FelixMalfait - feat(ai): make chat threads an attachment target ([#26565](https://github.com/twentyhq/twenty/pull/26565)) by @FelixMalfait - feat(ai): separate chat sharing UI from backend rollout ([#26581](https://github.com/twentyhq/twenty/pull/26581)) by @FelixMalfait - feat(docker): add ClickHouse to twenty-app-dev image ([#26598](https://github.com/twentyhq/twenty/pull/26598)) by @martmull - feat(workflow): toggle core workflow visibility from the command menu ([#26651](https://github.com/twentyhq/twenty/pull/26651)) by @thomtrp - feat(usage): meter common API calls in complexity points ([#26671](https://github.com/twentyhq/twenty/pull/26671)) by @etiennejouan ## 💅 Improvements & UX - Allow configuring the SMTP EHLO hostname ([#24932](https://github.com/twentyhq/twenty/pull/24932)) by @rollecode - Fix horizontal bar chart left axis labels always truncated to 10 characters ([#25544](https://github.com/twentyhq/twenty/pull/25544)) by @Thomas4390 - Granola 8/8: Add Granola listing copy and setup documentation ([#25577](https://github.com/twentyhq/twenty/pull/25577)) by @ehconitin - Settle call recordings whose Recall media expired ([#25795](https://github.com/twentyhq/twenty/pull/25795)) by @ehconitin - Slide the side panel with transform instead of animating its width ([#25844](https://github.com/twentyhq/twenty/pull/25844)) by @LouisDelbosc - Enable async CSV export progress behind a workspace flag ([#25968](https://github.com/twentyhq/twenty/pull/25968)) by @Weiko - Add async CSV export server behind a workspace flag ([#25987](https://github.com/twentyhq/twenty/pull/25987)) by @Weiko - feat localized legal links ([#25991](https://github.com/twentyhq/twenty/pull/25991)) by @minnibaevB - Hard-delete row-level permission predicates instead of soft-deleting them ([#25992](https://github.com/twentyhq/twenty/pull/25992)) by @Weiko - Hard-delete views and their children instead of soft-deleting them ([#26002](https://github.com/twentyhq/twenty/pull/26002)) by @Weiko - [forms 2/3] Improve record form field presentation ([#26031](https://github.com/twentyhq/twenty/pull/26031)) by @Bonapara - [2/2 Sidebar] New customization experience ([#26037](https://github.com/twentyhq/twenty/pull/26037)) by @Bonapara - Bind CSV export downloads to their requesting session ([#26052](https://github.com/twentyhq/twenty/pull/26052)) by @Weiko - [forms 3/4] Submit record creation forms with Command or Control Enter ([#26064](https://github.com/twentyhq/twenty/pull/26064)) by @Bonapara - Split installed app detail page into settings tabs ([#26065](https://github.com/twentyhq/twenty/pull/26065)) by @martmull - Unify Twenty UI icon buttons ([#26071](https://github.com/twentyhq/twenty/pull/26071)) by @bosiraphael - Unpin creation commands while records are selected ([#26075](https://github.com/twentyhq/twenty/pull/26075)) by @Bonapara - Make call recorder imports resumable with deterministic jobs ([#26080](https://github.com/twentyhq/twenty/pull/26080)) by @ehconitin - Migrate Twenty UI headings ([#26085](https://github.com/twentyhq/twenty/pull/26085)) by @bosiraphael - Replace Twenty UI Modal with Dialog ([#26087](https://github.com/twentyhq/twenty/pull/26087)) by @bosiraphael - Migrate tooltips to Base UI ([#26088](https://github.com/twentyhq/twenty/pull/26088)) by @bosiraphael - [forms 4/4] Name the record creation callback arguments ([#26101](https://github.com/twentyhq/twenty/pull/26101)) by @Bonapara - [3/3 Sidebar] Bulk object metadata updates ([#26105](https://github.com/twentyhq/twenty/pull/26105)) by @Bonapara - Send Slack files to the assistant agent as attachments ([#26106](https://github.com/twentyhq/twenty/pull/26106)) by @abdulrahmancodes - Skip missing Microsoft messages instead of resetting the mailbox sync ([#26107](https://github.com/twentyhq/twenty/pull/26107)) by @neo773 - Tidy navigation typing and remove dead drag state ([#26109](https://github.com/twentyhq/twenty/pull/26109)) by @Bonapara - Follow Graph pagination when discovering Microsoft mail folders ([#26118](https://github.com/twentyhq/twenty/pull/26118)) by @Maharsh17 - Match the floating text editor width to its field on record pages ([#26124](https://github.com/twentyhq/twenty/pull/26124)) by @charlesBochet - Fail a record export when a page fetch fails instead of truncating it ([#26125](https://github.com/twentyhq/twenty/pull/26125)) by @charlesBochet - Hide native spinner on number inputs ([#26126](https://github.com/twentyhq/twenty/pull/26126)) by @etiennejouan - fix(billing) - update billing plan CTAs from the plan and interval grid ([#26129](https://github.com/twentyhq/twenty/pull/26129)) by @etiennejouan - Group the command menu into sections ([#26130](https://github.com/twentyhq/twenty/pull/26130)) by @Bonapara - Move the unpin creation commands upgrade command to 2.42 and use the legacy path ([#26132](https://github.com/twentyhq/twenty/pull/26132)) by @prastoin - Import missing dependency in create-twenty-app ([#26133](https://github.com/twentyhq/twenty/pull/26133)) by @martmull - Fix UI builds without Monaco ([#26134](https://github.com/twentyhq/twenty/pull/26134)) by @bosiraphael - Restore banner button colors ([#26135](https://github.com/twentyhq/twenty/pull/26135)) by @bosiraphael - Treat the current upgrade version directory as previous once its tag exists ([#26137](https://github.com/twentyhq/twenty/pull/26137)) by @prastoin - Differentiate impromptu Fathom recording titles ([#26138](https://github.com/twentyhq/twenty/pull/26138)) by @ehconitin - Declare navigation menu items as children of object, view and page layout so their cache follows deletions ([#26141](https://github.com/twentyhq/twenty/pull/26141)) by @prastoin - Migrate Twenty UI tab navigation ([#26142](https://github.com/twentyhq/twenty/pull/26142)) by @bosiraphael - v1.8.4 — Partners app: keep the company name out of marketplace brief names ([#26143](https://github.com/twentyhq/twenty/pull/26143)) by @ijreilly - Migrate light icon buttons and groups ([#26144](https://github.com/twentyhq/twenty/pull/26144)) by @bosiraphael - Backfill when switching from 1.4.0 to =1.4.0 ([#26149](https://github.com/twentyhq/twenty/pull/26149)) by @martmull - Call recorder: Pause recording when the workspace has no credits ([#26151](https://github.com/twentyhq/twenty/pull/26151)) by @ehconitin - Show email thread messages when participants are missing ([#26155](https://github.com/twentyhq/twenty/pull/26155)) by @neo773 - Move twenty-partners app to twentyhq/twenty-eng ([#26161](https://github.com/twentyhq/twenty/pull/26161)) by @ijreilly - Report PDL enrichment failures and stop batches on rejected keys ([#26168](https://github.com/twentyhq/twenty/pull/26168)) by @bosiraphael - Align the Granola settings with Twenty's native settings design ([#26172](https://github.com/twentyhq/twenty/pull/26172)) by @ehconitin - Declare call recorder billing: usage label and marketplace pricing ([#26173](https://github.com/twentyhq/twenty/pull/26173)) by @ehconitin - Backfill the missing index of app-owned system relation legs ([#26175](https://github.com/twentyhq/twenty/pull/26175)) by @charlesBochet - Add Base Adresse Nationale as an address autocomplete driver ([#26176](https://github.com/twentyhq/twenty/pull/26176)) by @fcporto-nature - AI chat: tool calls render as widgets named by the tool ([#26179](https://github.com/twentyhq/twenty/pull/26179)) by @FelixMalfait - Sync message channels from webhooks without the cron hand-off ([#26180](https://github.com/twentyhq/twenty/pull/26180)) by @neo773 - Load sync cron channels with one query per tick ([#26181](https://github.com/twentyhq/twenty/pull/26181)) by @neo773 - Only write audit log events for workspaces entitled to audit logs ([#26182](https://github.com/twentyhq/twenty/pull/26182)) by @neo773 - Keep ClickHouse stalls from freezing the timeline queue ([#26183](https://github.com/twentyhq/twenty/pull/26183)) by @neo773 - Reduce subscription quantity sync delay from 24h to 6h ([#26190](https://github.com/twentyhq/twenty/pull/26190)) by @etiennejouan - Restrict front component token pair and renewal to sessions ([#26191](https://github.com/twentyhq/twenty/pull/26191)) by @prastoin - Scope application variable reads and updates to the calling application and workspace ([#26192](https://github.com/twentyhq/twenty/pull/26192)) by @prastoin - Add default likelihood settings for PDL enrichment ([#26195](https://github.com/twentyhq/twenty/pull/26195)) by @bosiraphael - Add last contact backfill button ([#26197](https://github.com/twentyhq/twenty/pull/26197)) by @martmull - Only fetch visible junction relations on record index queries ([#26198](https://github.com/twentyhq/twenty/pull/26198)) by @charlesBochet - Add SettingsRow and migrate legacy rows ([#26200](https://github.com/twentyhq/twenty/pull/26200)) by @bosiraphael - Update doc ([#26204](https://github.com/twentyhq/twenty/pull/26204)) by @martmull - Separate Twenty UI primitives and components ([#26207](https://github.com/twentyhq/twenty/pull/26207)) by @bosiraphael - Point Fathom website to fathom.ai and bump to 1.1.0 ([#26209](https://github.com/twentyhq/twenty/pull/26209)) by @ehconitin - Migrate picker rows to ListItem ([#26211](https://github.com/twentyhq/twenty/pull/26211)) by @bosiraphael - Unify icon buttons with elevated styling ([#26213](https://github.com/twentyhq/twenty/pull/26213)) by @bosiraphael - Bind the application claim OAuth state to the browser that started it ([#26214](https://github.com/twentyhq/twenty/pull/26214)) by @martmull - Defer slow workspace migration actions to a worker job ([#26222](https://github.com/twentyhq/twenty/pull/26222)) by @charlesBochet - Upgrade react-router to 7.18.4 ([#26232](https://github.com/twentyhq/twenty/pull/26232)) by @charlesBochet - [1/5] Enforce SYSTEM record visibility for event delivery ([#26244](https://github.com/twentyhq/twenty/pull/26244)) by @FelixMalfait - [2/5] Register five protected agent history workspace objects ([#26245](https://github.com/twentyhq/twenty/pull/26245)) by @FelixMalfait - [3/5] Route agent history through workspace-aware persistence ([#26246](https://github.com/twentyhq/twenty/pull/26246)) by @FelixMalfait - [4/5] Add verified, resumable agent-history migration ([#26247](https://github.com/twentyhq/twenty/pull/26247)) by @FelixMalfait - [5/5] Activate agent-history workspace storage through versioned upgrades ([#26248](https://github.com/twentyhq/twenty/pull/26248)) by @FelixMalfait - Fix blank record panels caused by tab stylesheet order ([#26254](https://github.com/twentyhq/twenty/pull/26254)) by @FelixMalfait - Fix workspace AI history reads and stream coordination ([#26259](https://github.com/twentyhq/twenty/pull/26259)) by @FelixMalfait - Stop the default domain from bouncing users back to their last workspace ([#26260](https://github.com/twentyhq/twenty/pull/26260)) by @Bonapara - Scaffold Teams Transcripts app ([#26264](https://github.com/twentyhq/twenty/pull/26264)) by @ehconitin - Show app url setting only in advanced mode ([#26265](https://github.com/twentyhq/twenty/pull/26265)) by @martmull - Add Microsoft Teams OAuth connection ([#26266](https://github.com/twentyhq/twenty/pull/26266)) by @ehconitin - Flag missing required application variables on the app settings page ([#26270](https://github.com/twentyhq/twenty/pull/26270)) by @martmull - Call recorder: resume bot-less recordings when the event payload carries an empty bot id ([#26272](https://github.com/twentyhq/twenty/pull/26272)) by @ehconitin - Always show the add step button on the last workflow node ([#26273](https://github.com/twentyhq/twenty/pull/26273)) by @Bonapara - Add Granola app gallery covers ([#26274](https://github.com/twentyhq/twenty/pull/26274)) by @ehconitin - Consolidate animated buttons ([#26276](https://github.com/twentyhq/twenty/pull/26276)) by @bosiraphael - Let apps report their own configuration state with defineHealthCheck ([#26277](https://github.com/twentyhq/twenty/pull/26277)) by @martmull - Set Granola to 1.0.0 for its first release ([#26278](https://github.com/twentyhq/twenty/pull/26278)) by @ehconitin - Fix Kanban queries with many fields ([#26279](https://github.com/twentyhq/twenty/pull/26279)) by @bosiraphael - Build a strict schema for agent structured output ([#26281](https://github.com/twentyhq/twenty/pull/26281)) by @ehconitin - Print export reasons in the pull report ([#26288](https://github.com/twentyhq/twenty/pull/26288)) by @Weiko - Export vertical-list widgets without the deprecated position form ([#26290](https://github.com/twentyhq/twenty/pull/26290)) by @Weiko - Remove unused Twenty UI buttons ([#26293](https://github.com/twentyhq/twenty/pull/26293)) by @bosiraphael - Migrate dropdown menu rows to ListItem ([#26297](https://github.com/twentyhq/twenty/pull/26297)) by @bosiraphael - Fix Kanban group-by queries with a record field or long column names ([#26300](https://github.com/twentyhq/twenty/pull/26300)) by @bosiraphael - Let apps declare several settings menu items with defineSettingsMenuItem ([#26302](https://github.com/twentyhq/twenty/pull/26302)) by @martmull - Secure front component media capture ([#26303](https://github.com/twentyhq/twenty/pull/26303)) by @bosiraphael - Keep preferences-page unsubscribes scoped to the unticked topics ([#26308](https://github.com/twentyhq/twenty/pull/26308)) by @neo773 - Keep table rows still on focus ([#26309](https://github.com/twentyhq/twenty/pull/26309)) by @bosiraphael - Update website app mockup to the current product design ([#26313](https://github.com/twentyhq/twenty/pull/26313)) by @Bonapara - Mention apps in the credit limit banner ([#26316](https://github.com/twentyhq/twenty/pull/26316)) by @ehconitin - Rename recording tabs to Transcript ([#26318](https://github.com/twentyhq/twenty/pull/26318)) by @ehconitin - Fix live-query date filters throwing on DATE_TIME record values ([#26321](https://github.com/twentyhq/twenty/pull/26321)) by @thomtrp - Hide workflows from side panel search and favorites when the core index flag is on ([#26323](https://github.com/twentyhq/twenty/pull/26323)) by @thomtrp - [1/4] Register agentChatThreadTarget as a standard workspace object ([#26328](https://github.com/twentyhq/twenty/pull/26328)) by @FelixMalfait - [2/4] Provision agentChatThreadTarget into existing workspaces ([#26329](https://github.com/twentyhq/twenty/pull/26329)) by @FelixMalfait - [3/4] Attach and detach conversations on a record ([#26330](https://github.com/twentyhq/twenty/pull/26330)) by @FelixMalfait - Give message campaigns their own send rate limit counters ([#26331](https://github.com/twentyhq/twenty/pull/26331)) by @neo773 - Price campaign emails at $0.90 per 1,000 ([#26333](https://github.com/twentyhq/twenty/pull/26333)) by @neo773 - Add actor field to any filter ([#26334](https://github.com/twentyhq/twenty/pull/26334)) by @BOHEUS - Fix permissions issue with search any field ([#26339](https://github.com/twentyhq/twenty/pull/26339)) by @BOHEUS - Run application upgrades as per-workspace jobs on a dedicated queue ([#26341](https://github.com/twentyhq/twenty/pull/26341)) by @martmull - Fix dark mode dropdown scrollbars ([#26344](https://github.com/twentyhq/twenty/pull/26344)) by @bosiraphael - Load limits on view groups ([#26349](https://github.com/twentyhq/twenty/pull/26349)) by @Bonapara - fix(workspace cleaning) - Enqueue suspended workspace destruction instead of running it inside the cron ([#26354](https://github.com/twentyhq/twenty/pull/26354)) by @etiennejouan - Add REDIS_QUEUE_PREFIX so BullMQ works on clustered Redis (hash-tagged keys) ([#26357](https://github.com/twentyhq/twenty/pull/26357)) by @thisispr - Rename workflow AI Agent to Agent and align node presentation ([#26363](https://github.com/twentyhq/twenty/pull/26363)) by @thomtrp - Recover and retry deferred workspace migration actions ([#26371](https://github.com/twentyhq/twenty/pull/26371)) by @charlesBochet - perf(clickhouse) - partition objectEvent by month in ClickHouse ([#26372](https://github.com/twentyhq/twenty/pull/26372)) by @etiennejouan - Standardize `twenty-front` module filename ([#26373](https://github.com/twentyhq/twenty/pull/26373)) by @BOHEUS - Fix the language switcher on docs.twenty.com ([#26374](https://github.com/twentyhq/twenty/pull/26374)) by @Bonapara - Standardize `twenty-server` module filename ([#26375](https://github.com/twentyhq/twenty/pull/26375)) by @BOHEUS - Add standardized rule ([#26376](https://github.com/twentyhq/twenty/pull/26376)) by @BOHEUS - Add the shared Dropdown foundation ([#26383](https://github.com/twentyhq/twenty/pull/26383)) by @bosiraphael - Add AI-assisted DNS setup for email group domains ([#26392](https://github.com/twentyhq/twenty/pull/26392)) by @neo773 - Pace call recorder recovery jobs to stay under Recall's rate limit ([#26418](https://github.com/twentyhq/twenty/pull/26418)) by @ehconitin - [Forms 1/5] Rename record creation from New to Create and keep it pinned ([#26419](https://github.com/twentyhq/twenty/pull/26419)) by @Bonapara - [Forms 2/5] Keep the record creation form open when creation fails ([#26422](https://github.com/twentyhq/twenty/pull/26422)) by @Bonapara - [Forms 3/5] Take currency amounts in units in record forms ([#26423](https://github.com/twentyhq/twenty/pull/26423)) by @Bonapara - [Forms 4/5] Let Tab move through form text inputs ([#26425](https://github.com/twentyhq/twenty/pull/26425)) by @Bonapara - Migrate independent Dropdown action menus ([#26432](https://github.com/twentyhq/twenty/pull/26432)) by @bosiraphael - Mark the Marketplace tab as beta in Applications settings ([#26433](https://github.com/twentyhq/twenty/pull/26433)) by @Bonapara - Trigger backfill when publishing 1.5.0 ([#26434](https://github.com/twentyhq/twenty/pull/26434)) by @martmull - Fix app-scoped schema generation for relations targeting another application's object ([#26436](https://github.com/twentyhq/twenty/pull/26436)) by @prastoin - Refuse schema migrations while deferred index builds are in flight ([#26446](https://github.com/twentyhq/twenty/pull/26446)) by @charlesBochet - Reload the enterprise validity token in the server process ([#26449](https://github.com/twentyhq/twenty/pull/26449)) by @ijreilly - Skip AI catalog entries the server cannot read instead of serving none ([#26452](https://github.com/twentyhq/twenty/pull/26452)) by @FelixMalfait - Make email group sends free for paying customers, with rate limits ([#26455](https://github.com/twentyhq/twenty/pull/26455)) by @neo773 - Bump version to 1.1.0 ([#26456](https://github.com/twentyhq/twenty/pull/26456)) by @martmull - Serve backend HTML with startup config and workspace iframe settings ([#26459](https://github.com/twentyhq/twenty/pull/26459)) by @FelixMalfait - Fix the useToast import in RecordCreationFormProvider ([#26460](https://github.com/twentyhq/twenty/pull/26460)) by @thomtrp - Consolidate resize handle interactions ([#26463](https://github.com/twentyhq/twenty/pull/26463)) by @bosiraphael - Use radio groups for segmented settings ([#26465](https://github.com/twentyhq/twenty/pull/26465)) by @bosiraphael - Stop provisioning navigation commands for SYSTEM-readable objects ([#26469](https://github.com/twentyhq/twenty/pull/26469)) by @martmull - Put the record creation form back behind a feature flag ([#26472](https://github.com/twentyhq/twenty/pull/26472)) by @thomtrp - Remove react-router dependency from twenty-ui ([#26477](https://github.com/twentyhq/twenty/pull/26477)) by @bosiraphael - Move ObjectMetadata and FieldMetadata onto the workspace-scoped repository ([#26479](https://github.com/twentyhq/twenty/pull/26479)) by @prastoin - Migrate Select, pickers and filter menus to the shared Dropdown ([#26483](https://github.com/twentyhq/twenty/pull/26483)) by @bosiraphael - Only let paying customers send or schedule campaigns ([#26486](https://github.com/twentyhq/twenty/pull/26486)) by @neo773 - Command menu sections ([#26488](https://github.com/twentyhq/twenty/pull/26488)) by @Bonapara - Move campaign deliveries and suppressions into the workspace schema ([#26491](https://github.com/twentyhq/twenty/pull/26491)) by @neo773 - Stop a Slack content-type mismatch claiming a missing files:read scope ([#26509](https://github.com/twentyhq/twenty/pull/26509)) by @abdulrahmancodes - Make People Data Labs likelihood settings user configurable ([#26512](https://github.com/twentyhq/twenty/pull/26512)) by @bosiraphael - Add a static cache version query param to the client-config request ([#26513](https://github.com/twentyhq/twenty/pull/26513)) by @prastoin - Surface the deferred action conflict as a conflict error ([#26521](https://github.com/twentyhq/twenty/pull/26521)) by @charlesBochet - Allow raw HTML blocks in workflow email bodies ([#26528](https://github.com/twentyhq/twenty/pull/26528)) by @neo773 - Replace responsive hooks with native media queries ([#26532](https://github.com/twentyhq/twenty/pull/26532)) by @bosiraphael - Defer foreign key validation for join columns ([#26534](https://github.com/twentyhq/twenty/pull/26534)) by @charlesBochet - Preserve record access before chat metadata is provisioned ([#26536](https://github.com/twentyhq/twenty/pull/26536)) by @FelixMalfait - Let Escape close the side panel from form fields ([#26540](https://github.com/twentyhq/twenty/pull/26540)) by @thomtrp - Rename attachment target column to "Attached to" and add an attachment record page with inline preview ([#26549](https://github.com/twentyhq/twenty/pull/26549)) by @FelixMalfait - Center icon buttons on Kanban and calendar cards ([#26550](https://github.com/twentyhq/twenty/pull/26550)) by @Bonapara - Retire EmailingDomain and MessageFolder from the workspace-scoped exemption list ([#26563](https://github.com/twentyhq/twenty/pull/26563)) by @prastoin - Subscribe to created Outlook mail notifications only ([#26569](https://github.com/twentyhq/twenty/pull/26569)) by @neo773 - Remove the deferred workspace migration actions design doc ([#26591](https://github.com/twentyhq/twenty/pull/26591)) by @charlesBochet - Revert "Slide the side panel with transform instead of animating its width" ([#26592](https://github.com/twentyhq/twenty/pull/26592)) by @charlesBochet - Move ApplicationEntity onto the workspace-scoped repository ([#26595](https://github.com/twentyhq/twenty/pull/26595)) by @prastoin - Expose selected object metadata and keep unchanged context values stable ([#26596](https://github.com/twentyhq/twenty/pull/26596)) by @bosiraphael - Migrate sort and editor toolbar dropdowns ([#26599](https://github.com/twentyhq/twenty/pull/26599)) by @bosiraphael - Move translations to a settings page with one row per language ([#26605](https://github.com/twentyhq/twenty/pull/26605)) by @Bonapara - Fix activity targets after initial company assignment ([#26613](https://github.com/twentyhq/twenty/pull/26613)) by @FelixMalfait - Remove message and calendar target read rollout flag ([#26625](https://github.com/twentyhq/twenty/pull/26625)) by @FelixMalfait - Repair missing company activity history during the 2.43 upgrade ([#26631](https://github.com/twentyhq/twenty/pull/26631)) by @FelixMalfait - Fix view permission integration test helper references ([#26633](https://github.com/twentyhq/twenty/pull/26633)) by @FelixMalfait - Stop hidden advanced settings from adding space between sections ([#26647](https://github.com/twentyhq/twenty/pull/26647)) by @Bonapara - Document remaining Twenty UI primitives ([#26649](https://github.com/twentyhq/twenty/pull/26649)) by @bosiraphael - Restore columns when resetting view grouping ([#26656](https://github.com/twentyhq/twenty/pull/26656)) by @bosiraphael - Use default domain for marketplace app share link ([#26666](https://github.com/twentyhq/twenty/pull/26666)) by @martmull - Restore tab and menu icon stroke weight ([#26670](https://github.com/twentyhq/twenty/pull/26670)) by @Bonapara - Keep upgrade command code in its version folder ([#26672](https://github.com/twentyhq/twenty/pull/26672)) by @FelixMalfait - Remove the per-campaign recipient cap ([#26675](https://github.com/twentyhq/twenty/pull/26675)) by @neo773 - Remove the unused sendEmailViaEmailingDomain mutation ([#26676](https://github.com/twentyhq/twenty/pull/26676)) by @neo773 - Serve agent history from workspace storage only ([#26678](https://github.com/twentyhq/twenty/pull/26678)) by @FelixMalfait - Scope application tokens to their own application ([#26681](https://github.com/twentyhq/twenty/pull/26681)) by @prastoin - Require a user session to change application registration ownership ([#26684](https://github.com/twentyhq/twenty/pull/26684)) by @prastoin - Truncate ClickHouse tables on database reset ([#26687](https://github.com/twentyhq/twenty/pull/26687)) by @martmull - Fix frontend routing for dotted navigation paths ([#26711](https://github.com/twentyhq/twenty/pull/26711)) by @FelixMalfait - Fix invitation E2E revoking the shared login session ([#26712](https://github.com/twentyhq/twenty/pull/26712)) by @FelixMalfait ## 🐛 Bug fixes - fix(server): normalize deprecated IANA timezone aliases before they reach SQL ([#23787](https://github.com/twentyhq/twenty/pull/23787)) by @M3BIONIX - fix(twenty-server): honor the identity provider's advertised id_token signing algorithm ([#24165](https://github.com/twentyhq/twenty/pull/24165)) by @suparikoli - fix: respect RLS predicate groups for select options ([#24327](https://github.com/twentyhq/twenty/pull/24327)) by @alamin284 - fix(view-permissions): recognize application principal in view access checks ([#24349](https://github.com/twentyhq/twenty/pull/24349)) by @longshaww - fix: ignore inherited Object keys when validating locales and normalize the x-locale header ([#24919](https://github.com/twentyhq/twenty/pull/24919)) by @guillaume-flambard - fix(front): keep legacy null phone subfields from being dropped ([#25420](https://github.com/twentyhq/twenty/pull/25420)) by @abhinavapasok - fix(view): keep view sorts in creation order in the flat view cache ([#25448](https://github.com/twentyhq/twenty/pull/25448)) by @sagarithm - fix(twenty-shared): honor underscore wildcard in string like and ilike filters ([#25489](https://github.com/twentyhq/twenty/pull/25489)) by @hktitof - fix(twenty-shared): honor wildcard parity in rich text ilike filter ([#25505](https://github.com/twentyhq/twenty/pull/25505)) by @hktitof - fix(twenty-shared): honor SQL percent wildcards in array containsIlike (#25247) ([#25551](https://github.com/twentyhq/twenty/pull/25551)) by @claxman - fix(security): enforce object-level role permissions on system object writes (#24309) ([#25809](https://github.com/twentyhq/twenty/pull/25809)) by @mini0n-ai - fix(workflow): match select filter options by exact value, not substring ([#25828](https://github.com/twentyhq/twenty/pull/25828)) by @breken-ai - fix(tool): make help center search resilient and its failures readable ([#25989](https://github.com/twentyhq/twenty/pull/25989)) by @Atharva0222 - fix(workflow): never freeze a null core workflow link on version mirror ([#26076](https://github.com/twentyhq/twenty/pull/26076)) by @thomtrp - fix(last-contact): batch API writes so a mailbox sync stays inside the rate limit ([#26110](https://github.com/twentyhq/twenty/pull/26110)) by @martmull - fix(front): reorder view fields from the rendered list instead of shifted indices ([#26112](https://github.com/twentyhq/twenty/pull/26112)) by @charlesBochet - fix(billing): wrap modal action buttons in flex slots instead of a child selector ([#26136](https://github.com/twentyhq/twenty/pull/26136)) by @etiennejouan - fix(call-recording): show terminal empty transcript states ([#26140](https://github.com/twentyhq/twenty/pull/26140)) by @ehconitin - fix(rich-text): normalize tiptap rich text written by workflow record steps ([#26156](https://github.com/twentyhq/twenty/pull/26156)) by @thomtrp - fix(ai): degrade unsupported runAgent attachments instead of failing the run ([#26177](https://github.com/twentyhq/twenty/pull/26177)) by @abdulrahmancodes - fix(server): correct misclassified structural exemptions in prefer-workspace-scoped-repository ([#26202](https://github.com/twentyhq/twenty/pull/26202)) by @prastoin - fix(docker): copy twenty-oxlint-rules manifest into server-deps stage ([#26231](https://github.com/twentyhq/twenty/pull/26231)) by @charlesBochet - fix(client-sdk): externalize all Node builtins in Vite lib build ([#26234](https://github.com/twentyhq/twenty/pull/26234)) by @AyeshaWaseemAhmad - fix(workflow): keep runs alive for if/else and skip edges across the continuation boundary ([#26271](https://github.com/twentyhq/twenty/pull/26271)) by @thomtrp - fix(usage-limit): key stock counters by their limit value ([#26275](https://github.com/twentyhq/twenty/pull/26275)) by @etiennejouan - fix(workflow): evict the cron trigger cache when a workflow version is deleted ([#26280](https://github.com/twentyhq/twenty/pull/26280)) by @thomtrp - fix(workflow): dispatch an iterator loop body listed in the iterator nextStepIds ([#26301](https://github.com/twentyhq/twenty/pull/26301)) by @thomtrp - fix: filter Firefox iOS YouTube script errors from Sentry ([#26324](https://github.com/twentyhq/twenty/pull/26324)) by @charlesBochet - fix: wait for workflow version before refreshing content ([#26340](https://github.com/twentyhq/twenty/pull/26340)) by @charlesBochet - fix(server): stop workspace commands retaining every visited workspace in memory ([#26342](https://github.com/twentyhq/twenty/pull/26342)) by @martmull - fix: separate connected account disconnect from deletion ([#26347](https://github.com/twentyhq/twenty/pull/26347)) by @neo773 - fix(ai-chat): stop Bedrock cache points from stacking across AI SDK steps ([#26355](https://github.com/twentyhq/twenty/pull/26355)) by @etiennejouan - fix: classify logic function rate limits as expected errors ([#26365](https://github.com/twentyhq/twenty/pull/26365)) by @charlesBochet - fix(oauth): provision the Twenty CLI OAuth client on non-seeded servers ([#26389](https://github.com/twentyhq/twenty/pull/26389)) by @martmull - fix(server): clarify email domain ownership conflict ([#26393](https://github.com/twentyhq/twenty/pull/26393)) by @neo773 - fix(server): allow transactional email without unsubscribe hostname ([#26395](https://github.com/twentyhq/twenty/pull/26395)) by @neo773 - fix(shared): reject scheme-relative backslash urls in isSafeUrl ([#26397](https://github.com/twentyhq/twenty/pull/26397)) by @Belkouche - fix(shared): escape regex metacharacters in raw json like filters ([#26398](https://github.com/twentyhq/twenty/pull/26398)) by @Belkouche - fix(front): keep additional phones and country code when importing a phone without calling code ([#26399](https://github.com/twentyhq/twenty/pull/26399)) by @Belkouche - fix(front): import a single multi-select value that parses as a JSON scalar ([#26400](https://github.com/twentyhq/twenty/pull/26400)) by @Belkouche - fix(front): strip float noise from percentage draft values ([#26401](https://github.com/twentyhq/twenty/pull/26401)) by @Belkouche - fix(server): compare gmail sync cursors numerically ([#26402](https://github.com/twentyhq/twenty/pull/26402)) by @Belkouche - fix(server): match blocklist entries case-insensitively ([#26403](https://github.com/twentyhq/twenty/pull/26403)) by @Belkouche - fix(server): evaluate workflow number and array filters on empty and JSON-like values ([#26404](https://github.com/twentyhq/twenty/pull/26404)) by @Belkouche - fix(server): keep a workflow run alive when resuming a leaf step while another branch is pending ([#26405](https://github.com/twentyhq/twenty/pull/26405)) by @Belkouche - fix(server): merge every readable field regardless of the mutation selection ([#26406](https://github.com/twentyhq/twenty/pull/26406)) by @Belkouche - fix(front): keep the record currency when a currency cell edit starts by typing ([#26407](https://github.com/twentyhq/twenty/pull/26407)) by @Belkouche - fix(server): lowercase calendar participant handles on import ([#26408](https://github.com/twentyhq/twenty/pull/26408)) by @Belkouche - fix(server): mint auto-login tokens with the caller's auth provider ([#26409](https://github.com/twentyhq/twenty/pull/26409)) by @Belkouche - fix(front): keep the calendar day when importing a date without time ([#26410](https://github.com/twentyhq/twenty/pull/26410)) by @Belkouche - fix(slack): honour silent channel rules outside the assistant path ([#26417](https://github.com/twentyhq/twenty/pull/26417)) by @abdulrahmancodes - fix(billing): serialize stripe subscription webhook per customer ([#26431](https://github.com/twentyhq/twenty/pull/26431)) by @etiennejouan - fix(workflow): unblock 2.42 workflow execution backfill on legacy workspaces ([#26435](https://github.com/twentyhq/twenty/pull/26435)) by @thomtrp - fix(workflow): delete orphan core workflows left by deleted workflows ([#26437](https://github.com/twentyhq/twenty/pull/26437)) by @thomtrp - fix(server): resolve server routes by primary key, fall back to the legacy identifier ([#26438](https://github.com/twentyhq/twenty/pull/26438)) by @prastoin - fix(server): intersect the calling application role in every settings permission check ([#26442](https://github.com/twentyhq/twenty/pull/26442)) by @prastoin - fix(upgrade): tolerate missing fields when creating message record pages ([#26447](https://github.com/twentyhq/twenty/pull/26447)) by @FelixMalfait - fix: display app permission flags and reset saved role changes ([#26450](https://github.com/twentyhq/twenty/pull/26450)) by @Weiko - fix(workflow): skip orphan core workflows in the 2.42 published pointer check ([#26458](https://github.com/twentyhq/twenty/pull/26458)) by @thomtrp - fix: fill scaffolded app page viewport ([#26464](https://github.com/twentyhq/twenty/pull/26464)) by @Weiko - fix(workflow): show remote edits on the open workflow canvas ([#26471](https://github.com/twentyhq/twenty/pull/26471)) by @thomtrp - fix(workflow): fall back to the last published version before the newest one ([#26474](https://github.com/twentyhq/twenty/pull/26474)) by @thomtrp - fix(usage-limit): register the quota filter on the logic function resolver ([#26478](https://github.com/twentyhq/twenty/pull/26478)) by @etiennejouan - fix(ai): keep message writes compatible during workspace upgrades ([#26487](https://github.com/twentyhq/twenty/pull/26487)) by @FelixMalfait - fix(metadata): guard view field group mutations with VIEWS and LAYOUTS permissions ([#26490](https://github.com/twentyhq/twenty/pull/26490)) by @Mateidslx - fix(workflow): create missing core workflows in the 2.42 execution backfill ([#26511](https://github.com/twentyhq/twenty/pull/26511)) by @thomtrp - fix(workflow): resolve the workspace version when a core version has no alias yet ([#26515](https://github.com/twentyhq/twenty/pull/26515)) by @thomtrp - fix(sharing): enforce upgraded metadata before sharing rollout ([#26520](https://github.com/twentyhq/twenty/pull/26520)) by @FelixMalfait - fix(command-menu-item): require LAYOUTS permission for command menu item mutations ([#26523](https://github.com/twentyhq/twenty/pull/26523)) by @addyCooks - fix(event-logs): don't skip rows that share a millisecond when paginating ([#26537](https://github.com/twentyhq/twenty/pull/26537)) by @martmull - fix(application): throttle failed application token renewals by session ([#26544](https://github.com/twentyhq/twenty/pull/26544)) by @prastoin - fix(ai): stop creating per-workspace foreign keys to core tables for agent history ([#26547](https://github.com/twentyhq/twenty/pull/26547)) by @FelixMalfait - fix(sdk): write the CLI config file with owner-only permissions ([#26548](https://github.com/twentyhq/twenty/pull/26548)) by @Weiko - fix(logic-function): backfill missing file rows of logic function files ([#26554](https://github.com/twentyhq/twenty/pull/26554)) by @martmull - fix(email): keep line breaks when opening a synced draft in the composer ([#26556](https://github.com/twentyhq/twenty/pull/26556)) by @ijreilly - fix(mcp): make the discovery guidance consistent across every surface ([#26558](https://github.com/twentyhq/twenty/pull/26558)) by @etiennejouan - fix: download CSV exports on the authenticated API origin ([#26567](https://github.com/twentyhq/twenty/pull/26567)) by @Weiko - fix: preserve API path prefixes in CSV export downloads ([#26568](https://github.com/twentyhq/twenty/pull/26568)) by @Weiko - fix(sharing): correct activation upgrade ordering ([#26579](https://github.com/twentyhq/twenty/pull/26579)) by @FelixMalfait - fix(file-storage): create the missing file row when copying a file by path ([#26582](https://github.com/twentyhq/twenty/pull/26582)) by @martmull - fix: drain metadata notifications before command shutdown ([#26585](https://github.com/twentyhq/twenty/pull/26585)) by @FelixMalfait - fix(apps): do not fan out auto upgrades to workspaces behind the app's required server version ([#26608](https://github.com/twentyhq/twenty/pull/26608)) by @charlesBochet - fix(docker): add AUTH_GOOGLE_ENABLED to docker-compose example ([#26610](https://github.com/twentyhq/twenty/pull/26610)) by @Taldres - fix(docker): force libexpat 2.8.5-r0 to clear CVE-2026-93990 ([#26615](https://github.com/twentyhq/twenty/pull/26615)) by @charlesBochet - fix(server): call makeMetadataApiRequest in the application view access test ([#26618](https://github.com/twentyhq/twenty/pull/26618)) by @martmull - fix(sso): insert SAML identity providers instead of saving on a client-supplied id ([#26623](https://github.com/twentyhq/twenty/pull/26623)) by @prastoin - fix(server): call makeMetadataApiRequest in the command menu item update test ([#26634](https://github.com/twentyhq/twenty/pull/26634)) by @charlesBochet - fix(workflow): stop reconciling workflows to core on the created event ([#26648](https://github.com/twentyhq/twenty/pull/26648)) by @thomtrp - fix(metrics): count directly executed GraphQL operations ([#26653](https://github.com/twentyhq/twenty/pull/26653)) by @charlesBochet - fix(workflow): repair core version parents and skip runs of deleted versions in the 2.42 execution backfill ([#26661](https://github.com/twentyhq/twenty/pull/26661)) by @thomtrp ## ⚡ Performance - perf(server): read the OTLP metrics export interval from OTEL_METRIC_EXPORT_INTERVAL, default 30s ([#26443](https://github.com/twentyhq/twenty/pull/26443)) by @etiennejouan - perf(server): resolve workspace default role from flat entity cache ([#26484](https://github.com/twentyhq/twenty/pull/26484)) by @charlesBochet - perf(slack): cache the installed Slack team id ([#26494](https://github.com/twentyhq/twenty/pull/26494)) by @abdulrahmancodes - perf(server): mark per-pod metrics with a pod attribute ([#26542](https://github.com/twentyhq/twenty/pull/26542)) by @etiennejouan - perf(search): read search results from the replica database ([#26551](https://github.com/twentyhq/twenty/pull/26551)) by @ijreilly - perf(server): index core foreign keys that cascade from workspace and application deletes ([#26655](https://github.com/twentyhq/twenty/pull/26655)) by @charlesBochet ## 🔧 Developer & API - Skip webhook and trigger fan-out jobs when nothing listens to the event ([#26184](https://github.com/twentyhq/twenty/pull/26184)) by @neo773 - Report workspace command failures through the CLI exit status ([#26263](https://github.com/twentyhq/twenty/pull/26263)) by @FelixMalfait - chore(log) - log one line per API request with actor, endpoint and trace ids ([#26269](https://github.com/twentyhq/twenty/pull/26269)) by @etiennejouan - Fix API ALLCAPS case to Pascal case in server tests ([#26411](https://github.com/twentyhq/twenty/pull/26411)) by @BOHEUS - Consolidate the public theme API ([#26482](https://github.com/twentyhq/twenty/pull/26482)) by @bosiraphael - Stop webhook subscriptions when transferring connected account ownership ([#26571](https://github.com/twentyhq/twenty/pull/26571)) by @neo773 - Let disconnect succeed when stopping webhook subscriptions fails ([#26572](https://github.com/twentyhq/twenty/pull/26572)) by @neo773 - Only create missing webhook subscriptions for syncing channels ([#26573](https://github.com/twentyhq/twenty/pull/26573)) by @neo773 - Prefer claude-opus-5-5 for the self-host Extra Smart rung ([#26590](https://github.com/twentyhq/twenty/pull/26590)) by @twenty-pr-author <details> <summary>🏗️ Internal changes (13)</summary> - docs(apps): declare both sides of a relation to a standard object ([#26113](https://github.com/twentyhq/twenty/pull/26113)) by @charlesBochet - chore(usage-limit): remove the API rate limit v2 feature flag ([#26169](https://github.com/twentyhq/twenty/pull/26169)) by @etiennejouan - chore(usage-limit): remove the quota engine credit bound feature flag ([#26174](https://github.com/twentyhq/twenty/pull/26174)) by @etiennejouan - chore: remove IS_APP_CLAIMING_ENABLED feature flag ([#26205](https://github.com/twentyhq/twenty/pull/26205)) by @martmull - test(apps): cover owner-workspace scope on application registration variables ([#26208](https://github.com/twentyhq/twenty/pull/26208)) by @prastoin - chore(people-data-labs): remove the workflow seeding that never ran ([#26262](https://github.com/twentyhq/twenty/pull/26262)) by @thomtrp - docs: correct the AI FAQ on using your own models when self-hosting ([#26306](https://github.com/twentyhq/twenty/pull/26306)) by @ijreilly - docs(billing): document usage limits ([#26457](https://github.com/twentyhq/twenty/pull/26457)) by @etiennejouan - docs: correct Delay workflow credit cost ([#26467](https://github.com/twentyhq/twenty/pull/26467)) by @FelixMalfait - chore: prepare twenty CLI package placeholder ([#26473](https://github.com/twentyhq/twenty/pull/26473)) by @Weiko - chore(billing): clean up the leftovers of the credit allowance migration ([#26475](https://github.com/twentyhq/twenty/pull/26475)) by @etiennejouan - refactor(file-storage): make copy private and drop dead copy/folder code ([#26593](https://github.com/twentyhq/twenty/pull/26593)) by @etiennejouan - refactor: return API-relative paths for CSV export downloads ([#26603](https://github.com/twentyhq/twenty/pull/26603)) by @Weiko </details> ## 🎉 New contributors - @Maharsh17 made their first contribution in https://github.com/twentyhq/twenty/pull/26118 - @mdminhazulhaque made their first contribution in https://github.com/twentyhq/twenty/pull/26097 - @Atharva0222 made their first contribution in https://github.com/twentyhq/twenty/pull/25989 - @minnibaevB made their first contribution in https://github.com/twentyhq/twenty/pull/25991 - @alamin284 made their first contribution in https://github.com/twentyhq/twenty/pull/24327 - @longshaww made their first contribution in https://github.com/twentyhq/twenty/pull/24349 - @mini0n-ai made their first contribution in https://github.com/twentyhq/twenty/pull/25809 - @Belkouche made their first contribution in https://github.com/twentyhq/twenty/pull/26397 - @thisispr made their first contribution in https://github.com/twentyhq/twenty/pull/26357 - @rollecode made their first contribution in https://github.com/twentyhq/twenty/pull/24932 - @M3BIONIX made their first contribution in https://github.com/twentyhq/twenty/pull/23787 - @suparikoli made their first contribution in https://github.com/twentyhq/twenty/pull/24165 - @Thomas4390 made their first contribution in https://github.com/twentyhq/twenty/pull/25544 - @sagarithm made their first contribution in https://github.com/twentyhq/twenty/pull/25448 - @LouisDelbosc made their first contribution in https://github.com/twentyhq/twenty/pull/25844 - @fcporto-nature made their first contribution in https://github.com/twentyhq/twenty/pull/26176 - @Mateidslx made their first contribution in https://github.com/twentyhq/twenty/pull/26490 - @Taldres made their first contribution in https://github.com/twentyhq/twenty/pull/26610 <details> <summary>Full changelog (392 PRs)</summary> - fix(server): normalize deprecated IANA timezone aliases before they reach SQL ([#23787](https://github.com/twentyhq/twenty/pull/23787)) by @M3BIONIX - fix(twenty-server): honor the identity provider's advertised id_token signing algorithm ([#24165](https://github.com/twentyhq/twenty/pull/24165)) by @suparikoli - fix: respect RLS predicate groups for select options ([#24327](https://github.com/twentyhq/twenty/pull/24327)) by @alamin284 - fix(view-permissions): recognize application principal in view access checks ([#24349](https://github.com/twentyhq/twenty/pull/24349)) by @longshaww - feat(twenty-front): show secondary links in workflow action ([#24486](https://github.com/twentyhq/twenty/pull/24486)) by @Amit91848 - fix: ignore inherited Object keys when validating locales and normalize the x-locale header ([#24919](https://github.com/twentyhq/twenty/pull/24919)) by @guillaume-flambard - Allow configuring the SMTP EHLO hostname ([#24932](https://github.com/twentyhq/twenty/pull/24932)) by @rollecode - fix(front): keep legacy null phone subfields from being dropped ([#25420](https://github.com/twentyhq/twenty/pull/25420)) by @abhinavapasok - fix(view): keep view sorts in creation order in the flat view cache ([#25448](https://github.com/twentyhq/twenty/pull/25448)) by @sagarithm - fix(twenty-shared): honor underscore wildcard in string like and ilike filters ([#25489](https://github.com/twentyhq/twenty/pull/25489)) by @hktitof - fix(twenty-shared): honor wildcard parity in rich text ilike filter ([#25505](https://github.com/twentyhq/twenty/pull/25505)) by @hktitof - Fix horizontal bar chart left axis labels always truncated to 10 characters ([#25544](https://github.com/twentyhq/twenty/pull/25544)) by @Thomas4390 - fix(twenty-shared): honor SQL percent wildcards in array containsIlike (#25247) ([#25551](https://github.com/twentyhq/twenty/pull/25551)) by @claxman - Granola 8/8: Add Granola listing copy and setup documentation ([#25577](https://github.com/twentyhq/twenty/pull/25577)) by @ehconitin - feat(view): land on the initial object view and hide the index view behind the flag ([#25682](https://github.com/twentyhq/twenty/pull/25682)) by @thomtrp - Settle call recordings whose Recall media expired ([#25795](https://github.com/twentyhq/twenty/pull/25795)) by @ehconitin - fix(security): enforce object-level role permissions on system object writes (#24309) ([#25809](https://github.com/twentyhq/twenty/pull/25809)) by @mini0n-ai - fix(workflow): match select filter options by exact value, not substring ([#25828](https://github.com/twentyhq/twenty/pull/25828)) by @breken-ai - Slide the side panel with transform instead of animating its width ([#25844](https://github.com/twentyhq/twenty/pull/25844)) by @LouisDelbosc - feat(record-form): make the record creation form the default path ([#25907](https://github.com/twentyhq/twenty/pull/25907)) by @thomtrp - Enable async CSV export progress behind a workspace flag ([#25968](https://github.com/twentyhq/twenty/pull/25968)) by @Weiko - Add async CSV export server behind a workspace flag ([#25987](https://github.com/twentyhq/twenty/pull/25987)) by @Weiko - fix(tool): make help center search resilient and its failures readable ([#25989](https://github.com/twentyhq/twenty/pull/25989)) by @Atharva0222 - feat localized legal links ([#25991](https://github.com/twentyhq/twenty/pull/25991)) by @minnibaevB - Hard-delete row-level permission predicates instead of soft-deleting them ([#25992](https://github.com/twentyhq/twenty/pull/25992)) by @Weiko - Hard-delete views and their children instead of soft-deleting them ([#26002](https://github.com/twentyhq/twenty/pull/26002)) by @Weiko - feat(slack): per-channel rules for the assistant ([#26016](https://github.com/twentyhq/twenty/pull/26016)) by @abdulrahmancodes - [forms 2/3] Improve record form field presentation ([#26031](https://github.com/twentyhq/twenty/pull/26031)) by @Bonapara - [2/2 Sidebar] New customization experience ([#26037](https://github.com/twentyhq/twenty/pull/26037)) by @Bonapara - feat(usage-limit): cap workspace file storage with a stock limit kind ([#26042](https://github.com/twentyhq/twenty/pull/26042)) by @etiennejouan - Bind CSV export downloads to their requesting session ([#26052](https://github.com/twentyhq/twenty/pull/26052)) by @Weiko - [forms 3/4] Submit record creation forms with Command or Control Enter ([#26064](https://github.com/twentyhq/twenty/pull/26064)) by @Bonapara - Split installed app detail page into settings tabs ([#26065](https://github.com/twentyhq/twenty/pull/26065)) by @martmull - feat(workflow): core-id native workflow API — reads and writes ([#26068](https://github.com/twentyhq/twenty/pull/26068)) by @thomtrp - Unify Twenty UI icon buttons ([#26071](https://github.com/twentyhq/twenty/pull/26071)) by @bosiraphael - Unpin creation commands while records are selected ([#26075](https://github.com/twentyhq/twenty/pull/26075)) by @Bonapara - fix(workflow): never freeze a null core workflow link on version mirror ([#26076](https://github.com/twentyhq/twenty/pull/26076)) by @thomtrp - Make call recorder imports resumable with deterministic jobs ([#26080](https://github.com/twentyhq/twenty/pull/26080)) by @ehconitin - Migrate Twenty UI headings ([#26085](https://github.com/twentyhq/twenty/pull/26085)) by @bosiraphael - Replace Twenty UI Modal with Dialog ([#26087](https://github.com/twentyhq/twenty/pull/26087)) by @bosiraphael - Migrate tooltips to Base UI ([#26088](https://github.com/twentyhq/twenty/pull/26088)) by @bosiraphael - feat: add serviceAccount support to Helm chart ([#26097](https://github.com/twentyhq/twenty/pull/26097)) by @mdminhazulhaque - feat(workflow): core-only workflow execution and background processing ([#26098](https://github.com/twentyhq/twenty/pull/26098)) by @thomtrp - chore: bump version to 2.42.0 ([#26100](https://github.com/twentyhq/twenty/pull/26100)) by @twenty-pr - [forms 4/4] Name the record creation callback arguments ([#26101](https://github.com/twentyhq/twenty/pull/26101)) by @Bonapara - [3/3 Sidebar] Bulk object metadata updates ([#26105](https://github.com/twentyhq/twenty/pull/26105)) by @Bonapara - Send Slack files to the assistant agent as attachments ([#26106](https://github.com/twentyhq/twenty/pull/26106)) by @abdulrahmancodes - Skip missing Microsoft messages instead of resetting the mailbox sync ([#26107](https://github.com/twentyhq/twenty/pull/26107)) by @neo773 - Tidy navigation typing and remove dead drag state ([#26109](https://github.com/twentyhq/twenty/pull/26109)) by @Bonapara - fix(last-contact): batch API writes so a mailbox sync stays inside the rate limit ([#26110](https://github.com/twentyhq/twenty/pull/26110)) by @martmull - fix(front): reorder view fields from the rendered list instead of shifted indices ([#26112](https://github.com/twentyhq/twenty/pull/26112)) by @charlesBochet - docs(apps): declare both sides of a relation to a standard object ([#26113](https://github.com/twentyhq/twenty/pull/26113)) by @charlesBochet - feat: migrate workflow editor and actions to core IDs ([#26116](https://github.com/twentyhq/twenty/pull/26116)) by @thomtrp - Follow Graph pagination when discovering Microsoft mail folders ([#26118](https://github.com/twentyhq/twenty/pull/26118)) by @Maharsh17 - chore: sync AI model catalog ([#26121](https://github.com/twentyhq/twenty/pull/26121)) by @github-actions - Match the floating text editor width to its field on record pages ([#26124](https://github.com/twentyhq/twenty/pull/26124)) by @charlesBochet - Fail a record export when a page fetch fails instead of truncating it ([#26125](https://github.com/twentyhq/twenty/pull/26125)) by @charlesBochet - Hide native spinner on number inputs ([#26126](https://github.com/twentyhq/twenty/pull/26126)) by @etiennejouan - feat(auth): refuse API access for suspended workspaces ([#26127](https://github.com/twentyhq/twenty/pull/26127)) by @etiennejouan - fix(billing) - update billing plan CTAs from the plan and interval grid ([#26129](https://github.com/twentyhq/twenty/pull/26129)) by @etiennejouan - Group the command menu into sections ([#26130](https://github.com/twentyhq/twenty/pull/26130)) by @Bonapara - Move the unpin creation commands upgrade command to 2.42 and use the legacy path ([#26132](https://github.com/twentyhq/twenty/pull/26132)) by @prastoin - Import missing dependency in create-twenty-app ([#26133](https://github.com/twentyhq/twenty/pull/26133)) by @martmull - Fix UI builds without Monaco ([#26134](https://github.com/twentyhq/twenty/pull/26134)) by @bosiraphael - Restore banner button colors ([#26135](https://github.com/twentyhq/twenty/pull/26135)) by @bosiraphael - fix(billing): wrap modal action buttons in flex slots instead of a child selector ([#26136](https://github.com/twentyhq/twenty/pull/26136)) by @etiennejouan - Treat the current upgrade version directory as previous once its tag exists ([#26137](https://github.com/twentyhq/twenty/pull/26137)) by @prastoin - Differentiate impromptu Fathom recording titles ([#26138](https://github.com/twentyhq/twenty/pull/26138)) by @ehconitin - fix(call-recording): show terminal empty transcript states ([#26140](https://github.com/twentyhq/twenty/pull/26140)) by @ehconitin - Declare navigation menu items as children of object, view and page layout so their cache follows deletions ([#26141](https://github.com/twentyhq/twenty/pull/26141)) by @prastoin - Migrate Twenty UI tab navigation ([#26142](https://github.com/twentyhq/twenty/pull/26142)) by @bosiraphael - v1.8.4 — Partners app: keep the company name out of marketplace brief names ([#26143](https://github.com/twentyhq/twenty/pull/26143)) by @ijreilly - Migrate light icon buttons and groups ([#26144](https://github.com/twentyhq/twenty/pull/26144)) by @bosiraphael - feat(ai): click the chat title in the page header to rename the thread ([#26146](https://github.com/twentyhq/twenty/pull/26146)) by @FelixMalfait - feat(usage-limit): cap workspace records with a stock limit ([#26147](https://github.com/twentyhq/twenty/pull/26147)) by @etiennejouan - Backfill when switching from 1.4.0 to =1.4.0 ([#26149](https://github.com/twentyhq/twenty/pull/26149)) by @martmull - Call recorder: Pause recording when the workspace has no credits ([#26151](https://github.com/twentyhq/twenty/pull/26151)) by @ehconitin - feat(server): give the message object a standard record page layout ([#26153](https://github.com/twentyhq/twenty/pull/26153)) by @FelixMalfait - Show email thread messages when participants are missing ([#26155](https://github.com/twentyhq/twenty/pull/26155)) by @neo773 - fix(rich-text): normalize tiptap rich text written by workflow record steps ([#26156](https://github.com/twentyhq/twenty/pull/26156)) by @thomtrp - feat: expose queue job progress ([#26157](https://github.com/twentyhq/twenty/pull/26157)) by @Weiko - feat(workflow): make core workflow and workflow version syncable so definition changes broadcast ([#26158](https://github.com/twentyhq/twenty/pull/26158)) by @thomtrp - feat(workflow): consume core workflow events on the core workflow surfaces ([#26159](https://github.com/twentyhq/twenty/pull/26159)) by @thomtrp - Move twenty-partners app to twentyhq/twenty-eng ([#26161](https://github.com/twentyhq/twenty/pull/26161)) by @ijreilly - feat(apps): run application lifecycle hooks on a dedicated queue ([#26166](https://github.com/twentyhq/twenty/pull/26166)) by @martmull - Report PDL enrichment failures and stop batches on rejected keys ([#26168](https://github.com/twentyhq/twenty/pull/26168)) by @bosiraphael - chore(usage-limit): remove the API rate limit v2 feature flag ([#26169](https://github.com/twentyhq/twenty/pull/26169)) by @etiennejouan - Align the Granola settings with Twenty's native settings design ([#26172](https://github.com/twentyhq/twenty/pull/26172)) by @ehconitin - Declare call recorder billing: usage label and marketplace pricing ([#26173](https://github.com/twentyhq/twenty/pull/26173)) by @ehconitin - chore(usage-limit): remove the quota engine credit bound feature flag ([#26174](https://github.com/twentyhq/twenty/pull/26174)) by @etiennejouan - Backfill the missing index of app-owned system relation legs ([#26175](https://github.com/twentyhq/twenty/pull/26175)) by @charlesBochet - Add Base Adresse Nationale as an address autocomplete driver ([#26176](https://github.com/twentyhq/twenty/pull/26176)) by @fcporto-nature - fix(ai): degrade unsupported runAgent attachments instead of failing the run ([#26177](https://github.com/twentyhq/twenty/pull/26177)) by @abdulrahmancodes - AI chat: tool calls render as widgets named by the tool ([#26179](https://github.com/twentyhq/twenty/pull/26179)) by @FelixMalfait - Sync message channels from webhooks without the cron hand-off ([#26180](https://github.com/twentyhq/twenty/pull/26180)) by @neo773 - Load sync cron channels with one query per tick ([#26181](https://github.com/twentyhq/twenty/pull/26181)) by @neo773 - Only write audit log events for workspaces entitled to audit logs ([#26182](https://github.com/twentyhq/twenty/pull/26182)) by @neo773 - Keep ClickHouse stalls from freezing the timeline queue ([#26183](https://github.com/twentyhq/twenty/pull/26183)) by @neo773 - Skip webhook and trigger fan-out jobs when nothing listens to the event ([#26184](https://github.com/twentyhq/twenty/pull/26184)) by @neo773 - feat(teams): scaffold the Microsoft Teams app package ([#26185](https://github.com/twentyhq/twenty/pull/26185)) by @abdulrahmancodes - feat(teams): add the Bot Connector client and inbound activity verification ([#26186](https://github.com/twentyhq/twenty/pull/26186)) by @abdulrahmancodes - chore: sync AI model catalog ([#26187](https://github.com/twentyhq/twenty/pull/26187)) by @github-actions - feat(workflow): migrate MCP tools and bundled app consumers to core workflow IDs ([#26189](https://github.com/twentyhq/twenty/pull/26189)) by @thomtrp - Reduce subscription quantity sync delay from 24h to 6h ([#26190](https://github.com/twentyhq/twenty/pull/26190)) by @etiennejouan - Restrict front component token pair and renewal to sessions ([#26191](https://github.com/twentyhq/twenty/pull/26191)) by @prastoin - Scope application variable reads and updates to the calling application and workspace ([#26192](https://github.com/twentyhq/twenty/pull/26192)) by @prastoin - Add default likelihood settings for PDL enrichment ([#26195](https://github.com/twentyhq/twenty/pull/26195)) by @bosiraphael - Add last contact backfill button ([#26197](https://github.com/twentyhq/twenty/pull/26197)) by @martmull - Only fetch visible junction relations on record index queries ([#26198](https://github.com/twentyhq/twenty/pull/26198)) by @charlesBochet - Add SettingsRow and migrate legacy rows ([#26200](https://github.com/twentyhq/twenty/pull/26200)) by @bosiraphael - fix(server): correct misclassified structural exemptions in prefer-workspace-scoped-repository ([#26202](https://github.com/twentyhq/twenty/pull/26202)) by @prastoin - Update doc ([#26204](https://github.com/twentyhq/twenty/pull/26204)) by @martmull - chore: remove IS_APP_CLAIMING_ENABLED feature flag ([#26205](https://github.com/twentyhq/twenty/pull/26205)) by @martmull - Separate Twenty UI primitives and components ([#26207](https://github.com/twentyhq/twenty/pull/26207)) by @bosiraphael - test(apps): cover owner-workspace scope on application registration variables ([#26208](https://github.com/twentyhq/twenty/pull/26208)) by @prastoin - Point Fathom website to fathom.ai and bump to 1.1.0 ([#26209](https://github.com/twentyhq/twenty/pull/26209)) by @ehconitin - Migrate picker rows to ListItem ([#26211](https://github.com/twentyhq/twenty/pull/26211)) by @bosiraphael - Unify icon buttons with elevated styling ([#26213](https://github.com/twentyhq/twenty/pull/26213)) by @bosiraphael - Bind the application claim OAuth state to the browser that started it ([#26214](https://github.com/twentyhq/twenty/pull/26214)) by @martmull - chore: sync AI model catalog ([#26221](https://github.com/twentyhq/twenty/pull/26221)) by @github-actions - Defer slow workspace migration actions to a worker job ([#26222](https://github.com/twentyhq/twenty/pull/26222)) by @charlesBochet - feat(ai): add evaluation models and a Classify workflow node ([#26225](https://github.com/twentyhq/twenty/pull/26225)) by @FelixMalfait - fix(docker): copy twenty-oxlint-rules manifest into server-deps stage ([#26231](https://github.com/twentyhq/twenty/pull/26231)) by @charlesBochet - Upgrade react-router to 7.18.4 ([#26232](https://github.com/twentyhq/twenty/pull/26232)) by @charlesBochet - fix(client-sdk): externalize all Node builtins in Vite lib build ([#26234](https://github.com/twentyhq/twenty/pull/26234)) by @AyeshaWaseemAhmad - chore: sync AI model catalog ([#26237](https://github.com/twentyhq/twenty/pull/26237)) by @github-actions - feat: private workflows on the core schema ([#26243](https://github.com/twentyhq/twenty/pull/26243)) by @FelixMalfait - [1/5] Enforce SYSTEM record visibility for event delivery ([#26244](https://github.com/twentyhq/twenty/pull/26244)) by @FelixMalfait - [2/5] Register five protected agent history workspace objects ([#26245](https://github.com/twentyhq/twenty/pull/26245)) by @FelixMalfait - [3/5] Route agent history through workspace-aware persistence ([#26246](https://github.com/twentyhq/twenty/pull/26246)) by @FelixMalfait - [4/5] Add verified, resumable agent-history migration ([#26247](https://github.com/twentyhq/twenty/pull/26247)) by @FelixMalfait - [5/5] Activate agent-history workspace storage through versioned upgrades ([#26248](https://github.com/twentyhq/twenty/pull/26248)) by @FelixMalfait - Fix blank record panels caused by tab stylesheet order ([#26254](https://github.com/twentyhq/twenty/pull/26254)) by @FelixMalfait - chore: sync AI model catalog ([#26256](https://github.com/twentyhq/twenty/pull/26256)) by @github-actions - Fix workspace AI history reads and stream coordination ([#26259](https://github.com/twentyhq/twenty/pull/26259)) by @FelixMalfait - Stop the default domain from bouncing users back to their last workspace ([#26260](https://github.com/twentyhq/twenty/pull/26260)) by @Bonapara - chore(people-data-labs): remove the workflow seeding that never ran ([#26262](https://github.com/twentyhq/twenty/pull/26262)) by @thomtrp - Report workspace command failures through the CLI exit status ([#26263](https://github.com/twentyhq/twenty/pull/26263)) by @FelixMalfait - Scaffold Teams Transcripts app ([#26264](https://github.com/twentyhq/twenty/pull/26264)) by @ehconitin - Show app url setting only in advanced mode ([#26265](https://github.com/twentyhq/twenty/pull/26265)) by @martmull - Add Microsoft Teams OAuth connection ([#26266](https://github.com/twentyhq/twenty/pull/26266)) by @ehconitin - chore(log) - log one line per API request with actor, endpoint and trace ids ([#26269](https://github.com/twentyhq/twenty/pull/26269)) by @etiennejouan - Flag missing required application variables on the app settings page ([#26270](https://github.com/twentyhq/twenty/pull/26270)) by @martmull - fix(workflow): keep runs alive for if/else and skip edges across the continuation boundary ([#26271](https://github.com/twentyhq/twenty/pull/26271)) by @thomtrp - Call recorder: resume bot-less recordings when the event payload carries an empty bot id ([#26272](https://github.com/twentyhq/twenty/pull/26272)) by @ehconitin - Always show the add step button on the last workflow node ([#26273](https://github.com/twentyhq/twenty/pull/26273)) by @Bonapara - Add Granola app gallery covers ([#26274](https://github.com/twentyhq/twenty/pull/26274)) by @ehconitin - fix(usage-limit): key stock counters by their limit value ([#26275](https://github.com/twentyhq/twenty/pull/26275)) by @etiennejouan - Consolidate animated buttons ([#26276](https://github.com/twentyhq/twenty/pull/26276)) by @bosiraphael - Let apps report their own configuration state with defineHealthCheck ([#26277](https://github.com/twentyhq/twenty/pull/26277)) by @martmull - Set Granola to 1.0.0 for its first release ([#26278](https://github.com/twentyhq/twenty/pull/26278)) by @ehconitin - Fix Kanban queries with many fields ([#26279](https://github.com/twentyhq/twenty/pull/26279)) by @bosiraphael - fix(workflow): evict the cron trigger cache when a workflow version is deleted ([#26280](https://github.com/twentyhq/twenty/pull/26280)) by @thomtrp - Build a strict schema for agent structured output ([#26281](https://github.com/twentyhq/twenty/pull/26281)) by @ehconitin - feat(usage-limit): gate workflow node runs and logic function executions ([#26283](https://github.com/twentyhq/twenty/pull/26283)) by @etiennejouan - Print export reasons in the pull report ([#26288](https://github.com/twentyhq/twenty/pull/26288)) by @Weiko - Export vertical-list widgets without the deprecated position form ([#26290](https://github.com/twentyhq/twenty/pull/26290)) by @Weiko - [2/5 workflows] Improve workflow classifier configuration ([#26291](https://github.com/twentyhq/twenty/pull/26291)) by @Bonapara - Remove unused Twenty UI buttons ([#26293](https://github.com/twentyhq/twenty/pull/26293)) by @bosiraphael - Migrate dropdown menu rows to ListItem ([#26297](https://github.com/twentyhq/twenty/pull/26297)) by @bosiraphael - Fix Kanban group-by queries with a record field or long column names ([#26300](https://github.com/twentyhq/twenty/pull/26300)) by @bosiraphael - fix(workflow): dispatch an iterator loop body listed in the iterator nextStepIds ([#26301](https://github.com/twentyhq/twenty/pull/26301)) by @thomtrp - Let apps declare several settings menu items with defineSettingsMenuItem ([#26302](https://github.com/twentyhq/twenty/pull/26302)) by @martmull - Secure front component media capture ([#26303](https://github.com/twentyhq/twenty/pull/26303)) by @bosiraphael - feat(client-sdk): upload files straight to storage from uploadFile ([#26305](https://github.com/twentyhq/twenty/pull/26305)) by @martmull - docs: correct the AI FAQ on using your own models when self-hosting ([#26306](https://github.com/twentyhq/twenty/pull/26306)) by @ijreilly - Keep preferences-page unsubscribes scoped to the unticked topics ([#26308](https://github.com/twentyhq/twenty/pull/26308)) by @neo773 - Keep table rows still on focus ([#26309](https://github.com/twentyhq/twenty/pull/26309)) by @bosiraphael - Update website app mockup to the current product design ([#26313](https://github.com/twentyhq/twenty/pull/26313)) by @Bonapara - feat(application): deploy app tarballs straight to file storage ([#26314](https://github.com/twentyhq/twenty/pull/26314)) by @martmull - Mention apps in the credit limit banner ([#26316](https://github.com/twentyhq/twenty/pull/26316)) by @ehconitin - Rename recording tabs to Transcript ([#26318](https://github.com/twentyhq/twenty/pull/26318)) by @ehconitin - Fix live-query date filters throwing on DATE_TIME record values ([#26321](https://github.com/twentyhq/twenty/pull/26321)) by @thomtrp - Hide workflows from side panel search and favorites when the core index flag is on ([#26323](https://github.com/twentyhq/twenty/pull/26323)) by @thomtrp - fix: filter Firefox iOS YouTube script errors from Sentry ([#26324](https://github.com/twentyhq/twenty/pull/26324)) by @charlesBochet - [1/4] Register agentChatThreadTarget as a standard workspace object ([#26328](https://github.com/twentyhq/twenty/pull/26328)) by @FelixMalfait - [2/4] Provision agentChatThreadTarget into existing workspaces ([#26329](https://github.com/twentyhq/twenty/pull/26329)) by @FelixMalfait - [3/4] Attach and detach conversations on a record ([#26330](https://github.com/twentyhq/twenty/pull/26330)) by @FelixMalfait - Give message campaigns their own send rate limit counters ([#26331](https://github.com/twentyhq/twenty/pull/26331)) by @neo773 - Price campaign emails at $0.90 per 1,000 ([#26333](https://github.com/twentyhq/twenty/pull/26333)) by @neo773 - Add actor field to any filter ([#26334](https://github.com/twentyhq/twenty/pull/26334)) by @BOHEUS - chore: sync AI model catalog ([#26335](https://github.com/twentyhq/twenty/pull/26335)) by @github-actions - Fix permissions issue with search any field ([#26339](https://github.com/twentyhq/twenty/pull/26339)) by @BOHEUS - fix: wait for workflow version before refreshing content ([#26340](https://github.com/twentyhq/twenty/pull/26340)) by @charlesBochet - Run application upgrades as per-workspace jobs on a dedicated queue ([#26341](https://github.com/twentyhq/twenty/pull/26341)) by @martmull - fix(server): stop workspace commands retaining every visited workspace in memory ([#26342](https://github.com/twentyhq/twenty/pull/26342)) by @martmull - Fix dark mode dropdown scrollbars ([#26344](https://github.com/twentyhq/twenty/pull/26344)) by @bosiraphael - feat(teams): add feature settings foundation ([#26345](https://github.com/twentyhq/twenty/pull/26345)) by @ehconitin - fix: separate connected account disconnect from deletion ([#26347](https://github.com/twentyhq/twenty/pull/26347)) by @neo773 - feat(sharing): unify record access and enable multiplayer chats ([#26348](https://github.com/twentyhq/twenty/pull/26348)) by @FelixMalfait - Load limits on view groups ([#26349](https://github.com/twentyhq/twenty/pull/26349)) by @Bonapara - fix(workspace cleaning) - Enqueue suspended workspace destruction instead of running it inside the cron ([#26354](https://github.com/twentyhq/twenty/pull/26354)) by @etiennejouan - fix(ai-chat): stop Bedrock cache points from stacking across AI SDK steps ([#26355](https://github.com/twentyhq/twenty/pull/26355)) by @etiennejouan - Add REDIS_QUEUE_PREFIX so BullMQ works on clustered Redis (hash-tagged keys) ([#26357](https://github.com/twentyhq/twenty/pull/26357)) by @thisispr - feat(view): land on the kanban for opportunities and a list for campaigns ([#26360](https://github.com/twentyhq/twenty/pull/26360)) by @thomtrp - feat(teams): consolidate transcript OAuth into Teams ([#26362](https://github.com/twentyhq/twenty/pull/26362)) by @ehconitin - Rename workflow AI Agent to Agent and align node presentation ([#26363](https://github.com/twentyhq/twenty/pull/26363)) by @thomtrp - fix: classify logic function rate limits as expected errors ([#26365](https://github.com/twentyhq/twenty/pull/26365)) by @charlesBochet - feat(ai): execute chat turns as their persisted sender ([#26369](https://github.com/twentyhq/twenty/pull/26369)) by @FelixMalfait - Recover and retry deferred workspace migration actions ([#26371](https://github.com/twentyhq/twenty/pull/26371)) by @charlesBochet - perf(clickhouse) - partition objectEvent by month in ClickHouse ([#26372](https://github.com/twentyhq/twenty/pull/26372)) by @etiennejouan - Standardize `twenty-front` module filename ([#26373](https://github.com/twentyhq/twenty/pull/26373)) by @BOHEUS - Fix the language switcher on docs.twenty.com ([#26374](https://github.com/twentyhq/twenty/pull/26374)) by @Bonapara - Standardize `twenty-server` module filename ([#26375](https://github.com/twentyhq/twenty/pull/26375)) by @BOHEUS - Add standardized rule ([#26376](https://github.com/twentyhq/twenty/pull/26376)) by @BOHEUS - feat(usage-limit): cap email sends with a quota limit ([#26378](https://github.com/twentyhq/twenty/pull/26378)) by @etiennejouan - feat(application): deprecate uploadApplicationFile and drop the CLI multipart fallback ([#26379](https://github.com/twentyhq/twenty/pull/26379)) by @martmull - feat(files): upload workspace logos and profile pictures with direct upload ([#26382](https://github.com/twentyhq/twenty/pull/26382)) by @martmull - Add the shared Dropdown foundation ([#26383](https://github.com/twentyhq/twenty/pull/26383)) by @bosiraphael - fix(oauth): provision the Twenty CLI OAuth client on non-seeded servers ([#26389](https://github.com/twentyhq/twenty/pull/26389)) by @martmull - Add AI-assisted DNS setup for email group domains ([#26392](https://github.com/twentyhq/twenty/pull/26392)) by @neo773 - fix(server): clarify email domain ownership conflict ([#26393](https://github.com/twentyhq/twenty/pull/26393)) by @neo773 - fix(server): allow transactional email without unsubscribe hostname ([#26395](https://github.com/twentyhq/twenty/pull/26395)) by @neo773 - fix(shared): reject scheme-relative backslash urls in isSafeUrl ([#26397](https://github.com/twentyhq/twenty/pull/26397)) by @Belkouche - fix(shared): escape regex metacharacters in raw json like filters ([#26398](https://github.com/twentyhq/twenty/pull/26398)) by @Belkouche - fix(front): keep additional phones and country code when importing a phone without calling code ([#26399](https://github.com/twentyhq/twenty/pull/26399)) by @Belkouche - fix(front): import a single multi-select value that parses as a JSON scalar ([#26400](https://github.com/twentyhq/twenty/pull/26400)) by @Belkouche - fix(front): strip float noise from percentage draft values ([#26401](https://github.com/twentyhq/twenty/pull/26401)) by @Belkouche - fix(server): compare gmail sync cursors numerically ([#26402](https://github.com/twentyhq/twenty/pull/26402)) by @Belkouche - fix(server): match blocklist entries case-insensitively ([#26403](https://github.com/twentyhq/twenty/pull/26403)) by @Belkouche - fix(server): evaluate workflow number and array filters on empty and JSON-like values ([#26404](https://github.com/twentyhq/twenty/pull/26404)) by @Belkouche - fix(server): keep a workflow run alive when resuming a leaf step while another branch is pending ([#26405](https://github.com/twentyhq/twenty/pull/26405)) by @Belkouche - fix(server): merge every readable field regardless of the mutation selection ([#26406](https://github.com/twentyhq/twenty/pull/26406)) by @Belkouche - fix(front): keep the record currency when a currency cell edit starts by typing ([#26407](https://github.com/twentyhq/twenty/pull/26407)) by @Belkouche - fix(server): lowercase calendar participant handles on import ([#26408](https://github.com/twentyhq/twenty/pull/26408)) by @Belkouche - fix(server): mint auto-login tokens with the caller's auth provider ([#26409](https://github.com/twentyhq/twenty/pull/26409)) by @Belkouche - fix(front): keep the calendar day when importing a date without time ([#26410](https://github.com/twentyhq/twenty/pull/26410)) by @Belkouche - Fix API ALLCAPS case to Pascal case in server tests ([#26411](https://github.com/twentyhq/twenty/pull/26411)) by @BOHEUS - chore: sync AI model catalog ([#26416](https://github.com/twentyhq/twenty/pull/26416)) by @github-actions - fix(slack): honour silent channel rules outside the assistant path ([#26417](https://github.com/twentyhq/twenty/pull/26417)) by @abdulrahmancodes - Pace call recorder recovery jobs to stay under Recall's rate limit ([#26418](https://github.com/twentyhq/twenty/pull/26418)) by @ehconitin - [Forms 1/5] Rename record creation from New to Create and keep it pinned ([#26419](https://github.com/twentyhq/twenty/pull/26419)) by @Bonapara - [Forms 2/5] Keep the record creation form open when creation fails ([#26422](https://github.com/twentyhq/twenty/pull/26422)) by @Bonapara - [Forms 3/5] Take currency amounts in units in record forms ([#26423](https://github.com/twentyhq/twenty/pull/26423)) by @Bonapara - [Forms 4/5] Let Tab move through form text inputs ([#26425](https://github.com/twentyhq/twenty/pull/26425)) by @Bonapara - feat(object-metadata): allow updating readability through the metadata API ([#26427](https://github.com/twentyhq/twenty/pull/26427)) by @martmull - fix(billing): serialize stripe subscription webhook per customer ([#26431](https://github.com/twentyhq/twenty/pull/26431)) by @etiennejouan - Migrate independent Dropdown action menus ([#26432](https://github.com/twentyhq/twenty/pull/26432)) by @bosiraphael - Mark the Marketplace tab as beta in Applications settings ([#26433](https://github.com/twentyhq/twenty/pull/26433)) by @Bonapara - Trigger backfill when publishing 1.5.0 ([#26434](https://github.com/twentyhq/twenty/pull/26434)) by @martmull - fix(workflow): unblock 2.42 workflow execution backfill on legacy workspaces ([#26435](https://github.com/twentyhq/twenty/pull/26435)) by @thomtrp - Fix app-scoped schema generation for relations targeting another application's object ([#26436](https://github.com/twentyhq/twenty/pull/26436)) by @prastoin - fix(workflow): delete orphan core workflows left by deleted workflows ([#26437](https://github.com/twentyhq/twenty/pull/26437)) by @thomtrp - fix(server): resolve server routes by primary key, fall back to the legacy identifier ([#26438](https://github.com/twentyhq/twenty/pull/26438)) by @prastoin - [BREAKING_CHANGE] refactor(server): compute the application-scoped core schema server-side ([#26439](https://github.com/twentyhq/twenty/pull/26439)) by @prastoin - feat(server): require a user session on the calendar timeline ([#26440](https://github.com/twentyhq/twenty/pull/26440)) by @prastoin - feat(server): require a user session on account-level operations ([#26441](https://github.com/twentyhq/twenty/pull/26441)) by @prastoin - fix(server): intersect the calling application role in every settings permission check ([#26442](https://github.com/twentyhq/twenty/pull/26442)) by @prastoin - perf(server): read the OTLP metrics export interval from OTEL_METRIC_EXPORT_INTERVAL, default 30s ([#26443](https://github.com/twentyhq/twenty/pull/26443)) by @etiennejouan - feat(teams): require a Teams endorsement on the activity signing key ([#26444](https://github.com/twentyhq/twenty/pull/26444)) by @abdulrahmancodes - Refuse schema migrations while deferred index builds are in flight ([#26446](https://github.com/twentyhq/twenty/pull/26446)) by @charlesBochet - fix(upgrade): tolerate missing fields when creating message record pages ([#26447](https://github.com/twentyhq/twenty/pull/26447)) by @FelixMalfait - Reload the enterprise validity token in the server process ([#26449](https://github.com/twentyhq/twenty/pull/26449)) by @ijreilly - fix: display app permission flags and reset saved role changes ([#26450](https://github.com/twentyhq/twenty/pull/26450)) by @Weiko - feat(workflow): require a core parent on every workflow version (2.43) ([#26451](https://github.com/twentyhq/twenty/pull/26451)) by @thomtrp - Skip AI catalog entries the server cannot read instead of serving none ([#26452](https://github.com/twentyhq/twenty/pull/26452)) by @FelixMalfait - Make email group sends free for paying customers, with rate limits ([#26455](https://github.com/twentyhq/twenty/pull/26455)) by @neo773 - Bump version to 1.1.0 ([#26456](https://github.com/twentyhq/twenty/pull/26456)) by @martmull - docs(billing): document usage limits ([#26457](https://github.com/twentyhq/twenty/pull/26457)) by @etiennejouan - fix(workflow): skip orphan core workflows in the 2.42 published pointer check ([#26458](https://github.com/twentyhq/twenty/pull/26458)) by @thomtrp - Serve backend HTML with startup config and workspace iframe settings ([#26459](https://github.com/twentyhq/twenty/pull/26459)) by @FelixMalfait - Fix the useToast import in RecordCreationFormProvider ([#26460](https://github.com/twentyhq/twenty/pull/26460)) by @thomtrp - feat(usage-limit): consume quota on app charges ([#26461](https://github.com/twentyhq/twenty/pull/26461)) by @etiennejouan - Consolidate resize handle interactions ([#26463](https://github.com/twentyhq/twenty/pull/26463)) by @bosiraphael - fix: fill scaffolded app page viewport ([#26464](https://github.com/twentyhq/twenty/pull/26464)) by @Weiko - Use radio groups for segmented settings ([#26465](https://github.com/twentyhq/twenty/pull/26465)) by @bosiraphael - docs: correct Delay workflow credit cost ([#26467](https://github.com/twentyhq/twenty/pull/26467)) by @FelixMalfait - chore: bump version to 2.43.0 ([#26468](https://github.com/twentyhq/twenty/pull/26468)) by @twenty-pr - Stop provisioning navigation commands for SYSTEM-readable objects ([#26469](https://github.com/twentyhq/twenty/pull/26469)) by @martmull - fix(workflow): show remote edits on the open workflow canvas ([#26471](https://github.com/twentyhq/twenty/pull/26471)) by @thomtrp - Put the record creation form back behind a feature flag ([#26472](https://github.com/twentyhq/twenty/pull/26472)) by @thomtrp - chore: prepare twenty CLI package placeholder ([#26473](https://github.com/twentyhq/twenty/pull/26473)) by @Weiko - fix(workflow): fall back to the last published version before the newest one ([#26474](https://github.com/twentyhq/twenty/pull/26474)) by @thomtrp - chore(billing): clean up the leftovers of the credit allowance migration ([#26475](https://github.com/twentyhq/twenty/pull/26475)) by @etiennejouan - feat(usage-limit): let only an operator replace an instance default ([#26476](https://github.com/twentyhq/twenty/pull/26476)) by @etiennejouan - Remove react-router dependency from twenty-ui ([#26477](https://github.com/twentyhq/twenty/pull/26477)) by @bosiraphael - fix(usage-limit): register the quota filter on the logic function resolver ([#26478](https://github.com/twentyhq/twenty/pull/26478)) by @etiennejouan - Move ObjectMetadata and FieldMetadata onto the workspace-scoped repository ([#26479](https://github.com/twentyhq/twenty/pull/26479)) by @prastoin - Consolidate the public theme API ([#26482](https://github.com/twentyhq/twenty/pull/26482)) by @bosiraphael - Migrate Select, pickers and filter menus to the shared Dropdown ([#26483](https://github.com/twentyhq/twenty/pull/26483)) by @bosiraphael - perf(server): resolve workspace default role from flat entity cache ([#26484](https://github.com/twentyhq/twenty/pull/26484)) by @charlesBochet - Only let paying customers send or schedule campaigns ([#26486](https://github.com/twentyhq/twenty/pull/26486)) by @neo773 - fix(ai): keep message writes compatible during workspace upgrades ([#26487](https://github.com/twentyhq/twenty/pull/26487)) by @FelixMalfait - Command menu sections ([#26488](https://github.com/twentyhq/twenty/pull/26488)) by @Bonapara - fix(metadata): guard view field group mutations with VIEWS and LAYOUTS permissions ([#26490](https://github.com/twentyhq/twenty/pull/26490)) by @Mateidslx - Move campaign deliveries and suppressions into the workspace schema ([#26491](https://github.com/twentyhq/twenty/pull/26491)) by @neo773 - perf(slack): cache the installed Slack team id ([#26494](https://github.com/twentyhq/twenty/pull/26494)) by @abdulrahmancodes - chore: sync AI model catalog ([#26508](https://github.com/twentyhq/twenty/pull/26508)) by @github-actions - Stop a Slack content-type mismatch claiming a missing files:read scope ([#26509](https://github.com/twentyhq/twenty/pull/26509)) by @abdulrahmancodes - fix(workflow): create missing core workflows in the 2.42 execution backfill ([#26511](https://github.com/twentyhq/twenty/pull/26511)) by @thomtrp - Make People Data Labs likelihood settings user configurable ([#26512](https://github.com/twentyhq/twenty/pull/26512)) by @bosiraphael - Add a static cache version query param to the client-config request ([#26513](https://github.com/twentyhq/twenty/pull/26513)) by @prastoin - fix(workflow): resolve the workspace version when a core version has no alias yet ([#26515](https://github.com/twentyhq/twenty/pull/26515)) by @thomtrp - fix(sharing): enforce upgraded metadata before sharing rollout ([#26520](https://github.com/twentyhq/twenty/pull/26520)) by @FelixMalfait - Surface the deferred action conflict as a conflict error ([#26521](https://github.com/twentyhq/twenty/pull/26521)) by @charlesBochet - i18n - translations ([#26522](https://github.com/twentyhq/twenty/pull/26522)) by @github-actions - fix(command-menu-item): require LAYOUTS permission for command menu item mutations ([#26523](https://github.com/twentyhq/twenty/pull/26523)) by @addyCooks - feat(front-components): share one application token pair per application ([#26525](https://github.com/twentyhq/twenty/pull/26525)) by @prastoin - feat(last-contact): add a health check and run the backfill synchronously (1.6.0) ([#26526](https://github.com/twentyhq/twenty/pull/26526)) by @martmull - i18n - translations ([#26527](https://github.com/twentyhq/twenty/pull/26527)) by @github-actions - Allow raw HTML blocks in workflow email bodies ([#26528](https://github.com/twentyhq/twenty/pull/26528)) by @neo773 - i18n - translations ([#26529](https://github.com/twentyhq/twenty/pull/26529)) by @github-actions - i18n - translations ([#26531](https://github.com/twentyhq/twenty/pull/26531)) by @github-actions - Replace responsive hooks with native media queries ([#26532](https://github.com/twentyhq/twenty/pull/26532)) by @bosiraphael - Defer foreign key validation for join columns ([#26534](https://github.com/twentyhq/twenty/pull/26534)) by @charlesBochet - feat(usage-limit): ship a default daily email quota per workspace ([#26535](https://github.com/twentyhq/twenty/pull/26535)) by @etiennejouan - Preserve record access before chat metadata is provisioned ([#26536](https://github.com/twentyhq/twenty/pull/26536)) by @FelixMalfait - fix(event-logs): don't skip rows that share a millisecond when paginating ([#26537](https://github.com/twentyhq/twenty/pull/26537)) by @martmull - feat(event-logs): log record restores and permanent deletes ([#26538](https://github.com/twentyhq/twenty/pull/26538)) by @martmull - Let Escape close the side panel from form fields ([#26540](https://github.com/twentyhq/twenty/pull/26540)) by @thomtrp - i18n - translations ([#26541](https://github.com/twentyhq/twenty/pull/26541)) by @github-actions - perf(server): mark per-pod metrics with a pod attribute ([#26542](https://github.com/twentyhq/twenty/pull/26542)) by @etiennejouan - fix(application): throttle failed application token renewals by session ([#26544](https://github.com/twentyhq/twenty/pull/26544)) by @prastoin - i18n - translations ([#26545](https://github.com/twentyhq/twenty/pull/26545)) by @github-actions - fix(ai): stop creating per-workspace foreign keys to core tables for agent history ([#26547](https://github.com/twentyhq/twenty/pull/26547)) by @FelixMalfait - fix(sdk): write the CLI config file with owner-only permissions ([#26548](https://github.com/twentyhq/twenty/pull/26548)) by @Weiko - Rename attachment target column to "Attached to" and add an attachment record page with inline preview ([#26549](https://github.com/twentyhq/twenty/pull/26549)) by @FelixMalfait - Center icon buttons on Kanban and calendar cards ([#26550](https://github.com/twentyhq/twenty/pull/26550)) by @Bonapara - perf(search): read search results from the replica database ([#26551](https://github.com/twentyhq/twenty/pull/26551)) by @ijreilly - chore(workflow): match the core workflow show page header to the workspace one ([#26552](https://github.com/twentyhq/twenty/pull/26552)) by @thomtrp - fix(logic-function): backfill missing file rows of logic function files ([#26554](https://github.com/twentyhq/twenty/pull/26554)) by @martmull - fix(email): keep line breaks when opening a synced draft in the composer ([#26556](https://github.com/twentyhq/twenty/pull/26556)) by @ijreilly - i18n - translations ([#26557](https://github.com/twentyhq/twenty/pull/26557)) by @github-actions - fix(mcp): make the discovery guidance consistent across every surface ([#26558](https://github.com/twentyhq/twenty/pull/26558)) by @etiennejouan - Retire EmailingDomain and MessageFolder from the workspace-scoped exemption list ([#26563](https://github.com/twentyhq/twenty/pull/26563)) by @prastoin - feat(ai): link chat threads to workspace members (expand step) ([#26564](https://github.com/twentyhq/twenty/pull/26564)) by @FelixMalfait - feat(ai): make chat threads an attachment target ([#26565](https://github.com/twentyhq/twenty/pull/26565)) by @FelixMalfait - fix: download CSV exports on the authenticated API origin ([#26567](https://github.com/twentyhq/twenty/pull/26567)) by @Weiko - fix: preserve API path prefixes in CSV export downloads ([#26568](https://github.com/twentyhq/twenty/pull/26568)) by @Weiko - Subscribe to created Outlook mail notifications only ([#26569](https://github.com/twentyhq/twenty/pull/26569)) by @neo773 - Stop webhook subscriptions when transferring connected account ownership ([#26571](https://github.com/twentyhq/twenty/pull/26571)) by @neo773 - Let disconnect succeed when stopping webhook subscriptions fails ([#26572](https://github.com/twentyhq/twenty/pull/26572)) by @neo773 - Only create missing webhook subscriptions for syncing channels ([#26573](https://github.com/twentyhq/twenty/pull/26573)) by @neo773 - fix(sharing): correct activation upgrade ordering ([#26579](https://github.com/twentyhq/twenty/pull/26579)) by @FelixMalfait - feat(ai): separate chat sharing UI from backend rollout ([#26581](https://github.com/twentyhq/twenty/pull/26581)) by @FelixMalfait - fix(file-storage): create the missing file row when copying a file by path ([#26582](https://github.com/twentyhq/twenty/pull/26582)) by @martmull - chore: sync AI model catalog ([#26584](https://github.com/twentyhq/twenty/pull/26584)) by @github-actions - fix: drain metadata notifications before command shutdown ([#26585](https://github.com/twentyhq/twenty/pull/26585)) by @FelixMalfait - Prefer claude-opus-5-5 for the self-host Extra Smart rung ([#26590](https://github.com/twentyhq/twenty/pull/26590)) by @twenty-pr-author - Remove the deferred workspace migration actions design doc ([#26591](https://github.com/twentyhq/twenty/pull/26591)) by @charlesBochet - Revert "Slide the side panel with transform instead of animating its width" ([#26592](https://github.com/twentyhq/twenty/pull/26592)) by @charlesBochet - refactor(file-storage): make copy private and drop dead copy/folder code ([#26593](https://github.com/twentyhq/twenty/pull/26593)) by @etiennejouan - Move ApplicationEntity onto the workspace-scoped repository ([#26595](https://github.com/twentyhq/twenty/pull/26595)) by @prastoin - Expose selected object metadata and keep unchanged context values stable ([#26596](https://github.com/twentyhq/twenty/pull/26596)) by @bosiraphael - feat(docker): add ClickHouse to twenty-app-dev image ([#26598](https://github.com/twentyhq/twenty/pull/26598)) by @martmull - Migrate sort and editor toolbar dropdowns ([#26599](https://github.com/twentyhq/twenty/pull/26599)) by @bosiraphael - refactor: return API-relative paths for CSV export downloads ([#26603](https://github.com/twentyhq/twenty/pull/26603)) by @Weiko - Move translations to a settings page with one row per language ([#26605](https://github.com/twentyhq/twenty/pull/26605)) by @Bonapara - i18n - translations ([#26606](https://github.com/twentyhq/twenty/pull/26606)) by @github-actions - fix(apps): do not fan out auto upgrades to workspaces behind the app's required server version ([#26608](https://github.com/twentyhq/twenty/pull/26608)) by @charlesBochet - fix(docker): add AUTH_GOOGLE_ENABLED to docker-compose example ([#26610](https://github.com/twentyhq/twenty/pull/26610)) by @Taldres - Fix activity targets after initial company assignment ([#26613](https://github.com/twentyhq/twenty/pull/26613)) by @FelixMalfait - fix(docker): force libexpat 2.8.5-r0 to clear CVE-2026-93990 ([#26615](https://github.com/twentyhq/twenty/pull/26615)) by @charlesBochet - fix(server): call makeMetadataApiRequest in the application view access test ([#26618](https://github.com/twentyhq/twenty/pull/26618)) by @martmull - i18n - translations ([#26619](https://github.com/twentyhq/twenty/pull/26619)) by @github-actions - fix(sso): insert SAML identity providers instead of saving on a client-supplied id ([#26623](https://github.com/twentyhq/twenty/pull/26623)) by @prastoin - Remove message and calendar target read rollout flag ([#26625](https://github.com/twentyhq/twenty/pull/26625)) by @FelixMalfait - Repair missing company activity history during the 2.43 upgrade ([#26631](https://github.com/twentyhq/twenty/pull/26631)) by @FelixMalfait - Fix view permission integration test helper references ([#26633](https://github.com/twentyhq/twenty/pull/26633)) by @FelixMalfait - fix(server): call makeMetadataApiRequest in the command menu item update test ([#26634](https://github.com/twentyhq/twenty/pull/26634)) by @charlesBochet - i18n - translations ([#26642](https://github.com/twentyhq/twenty/pull/26642)) by @github-actions - Stop hidden advanced settings from adding space between sections ([#26647](https://github.com/twentyhq/twenty/pull/26647)) by @Bonapara - fix(workflow): stop reconciling workflows to core on the created event ([#26648](https://github.com/twentyhq/twenty/pull/26648)) by @thomtrp - Document remaining Twenty UI primitives ([#26649](https://github.com/twentyhq/twenty/pull/26649)) by @bosiraphael - feat(workflow): toggle core workflow visibility from the command menu ([#26651](https://github.com/twentyhq/twenty/pull/26651)) by @thomtrp - i18n - translations ([#26652](https://github.com/twentyhq/twenty/pull/26652)) by @github-actions - fix(metrics): count directly executed GraphQL operations ([#26653](https://github.com/twentyhq/twenty/pull/26653)) by @charlesBochet - Group Card parts under one component ([#26654](https://github.com/twentyhq/twenty/pull/26654)) by @bosiraphael - perf(server): index core foreign keys that cascade from workspace and application deletes ([#26655](https://github.com/twentyhq/twenty/pull/26655)) by @charlesBochet - Restore columns when resetting view grouping ([#26656](https://github.com/twentyhq/twenty/pull/26656)) by @bosiraphael - fix(workflow): repair core version parents and skip runs of deleted versions in the 2.42 execution backfill ([#26661](https://github.com/twentyhq/twenty/pull/26661)) by @thomtrp - i18n - translations ([#26664](https://github.com/twentyhq/twenty/pull/26664)) by @github-actions - Use default domain for marketplace app share link ([#26666](https://github.com/twentyhq/twenty/pull/26666)) by @martmull - i18n - translations ([#26669](https://github.com/twentyhq/twenty/pull/26669)) by @github-actions - Restore tab and menu icon stroke weight ([#26670](https://github.com/twentyhq/twenty/pull/26670)) by @Bonapara - feat(usage): meter common API calls in complexity points ([#26671](https://github.com/twentyhq/twenty/pull/26671)) by @etiennejouan - Keep upgrade command code in its version folder ([#26672](https://github.com/twentyhq/twenty/pull/26672)) by @FelixMalfait - Remove the per-campaign recipient cap ([#26675](https://github.com/twentyhq/twenty/pull/26675)) by @neo773 - Remove the unused sendEmailViaEmailingDomain mutation ([#26676](https://github.com/twentyhq/twenty/pull/26676)) by @neo773 - i18n - translations ([#26677](https://github.com/twentyhq/twenty/pull/26677)) by @github-actions - Serve agent history from workspace storage only ([#26678](https://github.com/twentyhq/twenty/pull/26678)) by @FelixMalfait - i18n - translations ([#26679](https://github.com/twentyhq/twenty/pull/26679)) by @github-actions - i18n - translations ([#26680](https://github.com/twentyhq/twenty/pull/26680)) by @github-actions - Scope application tokens to their own application ([#26681](https://github.com/twentyhq/twenty/pull/26681)) by @prastoin - i18n - translations ([#26683](https://github.com/twentyhq/twenty/pull/26683)) by @github-actions - Require a user session to change application registration ownership ([#26684](https://github.com/twentyhq/twenty/pull/26684)) by @prastoin - Truncate ClickHouse tables on database reset ([#26687](https://github.com/twentyhq/twenty/pull/26687)) by @martmull - i18n - translations ([#26692](https://github.com/twentyhq/twenty/pull/26692)) by @github-actions - i18n - translations ([#26694](https://github.com/twentyhq/twenty/pull/26694)) by @github-actions - chore: sync AI model catalog ([#26705](https://github.com/twentyhq/twenty/pull/26705)) by @github-actions - Fix frontend routing for dotted navigation paths ([#26711](https://github.com/twentyhq/twenty/pull/26711)) by @FelixMalfait - Fix invitation E2E revoking the shared login session ([#26712](https://github.com/twentyhq/twenty/pull/26712)) by @FelixMalfait </details> **Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.41.0...twenty/v2.43.0
Related Repositories
public-apis/public-apis★ 491,193
A collective list of free APIs
NousResearch/hermes-agent★ 256,048
The agent that grows with you
yt-dlp/yt-dlp★ 200,218
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,539
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,701
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.