sdk/v2.48.0

twentyhq/twentysdk/v2.48.0Oct 16, 2026by twenty-pr[bot]

Upgrading?

AI Summary

The SDK release focuses on stabilizing core components like the CodeEditor and OverflowingList, while introducing features for usage limiting and billing plan flexibility. It includes a breaking change regarding validation rules being gated behind a feature flag.

Key Highlights

  • Gate validation rules behind the record creation form flag
  • Cap application credits across all usage
  • Support more than two billing plans
  • Stabilize CodeEditor contracts and OverflowingList state
  • Retire Advanced mode in favor of MCP and Logs toggle

Breaking Changes

  • Gate validation rules behind the record creation form flag

New Features

  • Cap an application's credits across all usage
  • Support more than two billing plans with server-declared plan switches

Full Release Notes

<!-- generated-release-notes v1 -->

## ⚠️ Breaking changes

- Gate validation rules behind the record creation form flag ([#28004](https://github.com/twentyhq/twenty/pull/28004)) by @thomtrp

## ✨ New features

- feat(usage-limit): cap an application's credits across all usage ([#27998](https://github.com/twentyhq/twenty/pull/27998)) by @etiennejouan
- feat(billing): support more than two billing plans with server-declared plan switches ([#28080](https://github.com/twentyhq/twenty/pull/28080)) by @etiennejouan

## 💅 Improvements & UX

- Preserve CodeEditor contracts ([#27845](https://github.com/twentyhq/twenty/pull/27845)) by @bosiraphael
- Stabilize OverflowingList state and focus ([#27847](https://github.com/twentyhq/twenty/pull/27847)) by @bosiraphael
- [Campaigns 1/2] Polish composer and editor ([#27873](https://github.com/twentyhq/twenty/pull/27873)) by @Bonapara
- Back up morph relation fields with a head row behind a feature flag ([#27912](https://github.com/twentyhq/twenty/pull/27912)) by @charlesBochet
- Let callers choose the agent's output format, starting with workflow AI steps ([#27919](https://github.com/twentyhq/twenty/pull/27919)) by @FelixMalfait
- Complete Toast lifecycle ownership ([#27938](https://github.com/twentyhq/twenty/pull/27938)) by @bosiraphael
- Centralize Dropdown page focus ([#27951](https://github.com/twentyhq/twenty/pull/27951)) by @bosiraphael
- Identify the upstream account before saving an app connection ([#27954](https://github.com/twentyhq/twenty/pull/27954)) by @ehconitin
- Measure table cell tooltips in the hover overlay instead of in every cell ([#27956](https://github.com/twentyhq/twenty/pull/27956)) by @charlesBochet
- Marketplace launch UX pass: consent screen, states and copy ([#27958](https://github.com/twentyhq/twenty/pull/27958)) by @martmull
- Use fastDeepEqual when loading records and speed up link detection, formatting and overflowing lists ([#27967](https://github.com/twentyhq/twenty/pull/27967)) by @charlesBochet
- Remove the IS_INITIAL_OBJECT_VIEW_ENABLED feature flag ([#28009](https://github.com/twentyhq/twenty/pull/28009)) by @thomtrp
- Developers settings page, MCP in AI, Logs toggle, and retire Advanced mode ([#28016](https://github.com/twentyhq/twenty/pull/28016)) by @FelixMalfait
- Show each role's owning app in the roles table ([#28022](https://github.com/twentyhq/twenty/pull/28022)) by @martmull
- Simplify SearchInput slots ([#28023](https://github.com/twentyhq/twenty/pull/28023)) by @bosiraphael
- Settle app lifecycle jobs that ended while the event stream was down ([#28029](https://github.com/twentyhq/twenty/pull/28029)) by @martmull
- Let Tabs.Panel shrink on the block axis ([#28052](https://github.com/twentyhq/twenty/pull/28052)) by @bosiraphael
- Fix front scale drift ([#28060](https://github.com/twentyhq/twenty/pull/28060)) by @BOHEUS
- Center Dialog.Description like Dialog.Title ([#28063](https://github.com/twentyhq/twenty/pull/28063)) by @bosiraphael
- Hide anchored tooltips when the anchor is hidden ([#28064](https://github.com/twentyhq/twenty/pull/28064)) by @bosiraphael
- Stop Chip from clipping its start and end elements ([#28065](https://github.com/twentyhq/twenty/pull/28065)) by @bosiraphael
- React to AI chat messages with emojis ([#28077](https://github.com/twentyhq/twenty/pull/28077)) by @FelixMalfait
- Keep the currency and calling-code picker focus ring visible in forms ([#28162](https://github.com/twentyhq/twenty/pull/28162)) by @thomtrp

## 🐛 Bug fixes

- fix(i18n): translate server-side texts that reach users ([#27335](https://github.com/twentyhq/twenty/pull/27335)) by @mmabas77
- fix(i18n): backfill and enforce Lingui across frontend packages ([#28069](https://github.com/twentyhq/twenty/pull/28069)) by @martmull

## 🎉 New contributors

- @mmabas77 made their first contribution in https://github.com/twentyhq/twenty/pull/27335

<details>
<summary>Full changelog (29 PRs)</summary>

- fix(i18n): translate server-side texts that reach users ([#27335](https://github.com/twentyhq/twenty/pull/27335)) by @mmabas77
- Preserve CodeEditor contracts ([#27845](https://github.com/twentyhq/twenty/pull/27845)) by @bosiraphael
- Stabilize OverflowingList state and focus ([#27847](https://github.com/twentyhq/twenty/pull/27847)) by @bosiraphael
- [Campaigns 1/2] Polish composer and editor ([#27873](https://github.com/twentyhq/twenty/pull/27873)) by @Bonapara
- Back up morph relation fields with a head row behind a feature flag ([#27912](https://github.com/twentyhq/twenty/pull/27912)) by @charlesBochet
- Let callers choose the agent's output format, starting with workflow AI steps ([#27919](https://github.com/twentyhq/twenty/pull/27919)) by @FelixMalfait
- Complete Toast lifecycle ownership ([#27938](https://github.com/twentyhq/twenty/pull/27938)) by @bosiraphael
- Centralize Dropdown page focus ([#27951](https://github.com/twentyhq/twenty/pull/27951)) by @bosiraphael
- Identify the upstream account before saving an app connection ([#27954](https://github.com/twentyhq/twenty/pull/27954)) by @ehconitin
- Measure table cell tooltips in the hover overlay instead of in every cell ([#27956](https://github.com/twentyhq/twenty/pull/27956)) by @charlesBochet
- Marketplace launch UX pass: consent screen, states and copy ([#27958](https://github.com/twentyhq/twenty/pull/27958)) by @martmull
- Use fastDeepEqual when loading records and speed up link detection, formatting and overflowing lists ([#27967](https://github.com/twentyhq/twenty/pull/27967)) by @charlesBochet
- chore: bump version to 2.48.0 ([#27978](https://github.com/twentyhq/twenty/pull/27978)) by @twenty-pr
- feat(usage-limit): cap an application's credits across all usage ([#27998](https://github.com/twentyhq/twenty/pull/27998)) by @etiennejouan
- Gate validation rules behind the record creation form flag ([#28004](https://github.com/twentyhq/twenty/pull/28004)) by @thomtrp
- Remove the IS_INITIAL_OBJECT_VIEW_ENABLED feature flag ([#28009](https://github.com/twentyhq/twenty/pull/28009)) by @thomtrp
- Developers settings page, MCP in AI, Logs toggle, and retire Advanced mode ([#28016](https://github.com/twentyhq/twenty/pull/28016)) by @FelixMalfait
- Show each role's owning app in the roles table ([#28022](https://github.com/twentyhq/twenty/pull/28022)) by @martmull
- Simplify SearchInput slots ([#28023](https://github.com/twentyhq/twenty/pull/28023)) by @bosiraphael
- Settle app lifecycle jobs that ended while the event stream was down ([#28029](https://github.com/twentyhq/twenty/pull/28029)) by @martmull
- Let Tabs.Panel shrink on the block axis ([#28052](https://github.com/twentyhq/twenty/pull/28052)) by @bosiraphael
- Fix front scale drift ([#28060](https://github.com/twentyhq/twenty/pull/28060)) by @BOHEUS
- Center Dialog.Description like Dialog.Title ([#28063](https://github.com/twentyhq/twenty/pull/28063)) by @bosiraphael
- Hide anchored tooltips when the anchor is hidden ([#28064](https://github.com/twentyhq/twenty/pull/28064)) by @bosiraphael
- Stop Chip from clipping its start and end elements ([#28065](https://github.com/twentyhq/twenty/pull/28065)) by @bosiraphael
- fix(i18n): backfill and enforce Lingui across frontend packages ([#28069](https://github.com/twentyhq/twenty/pull/28069)) by @martmull
- React to AI chat messages with emojis ([#28077](https://github.com/twentyhq/twenty/pull/28077)) by @FelixMalfait
- feat(billing): support more than two billing plans with server-declared plan switches ([#28080](https://github.com/twentyhq/twenty/pull/28080)) by @etiennejouan
- Keep the currency and calling-code picker focus ring visible in forms ([#28162](https://github.com/twentyhq/twenty/pull/28162)) by @thomtrp

</details>

**Full Changelog**: https://github.com/twentyhq/twenty/compare/sdk/v2.47.0...sdk/v2.48.0

Related Repositories