sdk/v2.45.0

HumanAIGC/Cloth2Texsdk/v2.45.0Oct 5, 2026by twenty-pr[bot]

Upgrading?

AI Summary

SDK release emphasizing application registration variables, UI migration, and record-level sharing implementation.

Key Highlights

  • Declare application registration variables through the manifest
  • Expose programmatic application client generation
  • Move product URLs out of twenty-ui
  • Implement record-level sharing

Breaking Changes

  • Declare application registration variables through the manifest only
  • Start a record's conversation from the record
  • Move product URLs out of twenty-ui
  • Remove the compatibility code kept for the 2.44 rollout

New Features

  • Knip tool for dependency management
  • UI type safety improvements
  • Programmatic application client generation
  • AI agents answer every Ask through answerAsk
  • Identify the function in live logic function logs

Full Release Notes

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

## ⚠️ Breaking changes

- [BREAKING_CHANGE] Declare application registration variables through the manifest only ([#26856](https://github.com/twentyhq/twenty/pull/26856)) by @prastoin
- Start a record's conversation from the record, and show a conversation's records in its header ([#26873](https://github.com/twentyhq/twenty/pull/26873)) by @FelixMalfait
- Move product URLs out of twenty-ui ([#26908](https://github.com/twentyhq/twenty/pull/26908)) by @bosiraphael
- [BREAKING_CHANGE] chore: remove the compatibility code kept for the 2.44 rollout ([#27021](https://github.com/twentyhq/twenty/pull/27021)) by @FelixMalfait

## ✨ New features

- feat: knip ([#26351](https://github.com/twentyhq/twenty/pull/26351)) by @BOHEUS
- feat(ui): no unchecked indexed access twenty UI ([#26493](https://github.com/twentyhq/twenty/pull/26493)) by @BOHEUS
- feat(sdk): expose programmatic application client generation ([#26889](https://github.com/twentyhq/twenty/pull/26889)) by @Weiko
- feat(ai): answer every Ask through answerAsk, let agents propose emails and wait on several Asks at once ([#26930](https://github.com/twentyhq/twenty/pull/26930)) by @FelixMalfait
- feat(logic-function): identify the function in live logic function logs ([#27079](https://github.com/twentyhq/twenty/pull/27079)) by @Weiko

## 💅 Improvements & UX

- Support matchMedia in front components ([#24160](https://github.com/twentyhq/twenty/pull/24160)) by @bosiraphael
- [4/5] Show a record's AI conversations in a Conversations tab behind IS_CONVERSATIONS_TAB_ENABLED ([#26332](https://github.com/twentyhq/twenty/pull/26332)) by @FelixMalfait
- Require the application role to cover every agent role ([#26413](https://github.com/twentyhq/twenty/pull/26413)) by @abdulrahmancodes
- Add the schema for campaign click tracking ([#26636](https://github.com/twentyhq/twenty/pull/26636)) by @neo773
- Rewrite campaign links through Twenty and serve the redirect ([#26637](https://github.com/twentyhq/twenty/pull/26637)) by @neo773
- Let recipients opt out of click tracking ([#26639](https://github.com/twentyhq/twenty/pull/26639)) by @neo773
- Use workspace members for live chat ownership ([#26763](https://github.com/twentyhq/twenty/pull/26763)) by @FelixMalfait
- [Onboarding 3/10] Add credits pill ([#26780](https://github.com/twentyhq/twenty/pull/26780)) by @Bonapara
- [Onboarding 6/10] Add skip dialogs ([#26781](https://github.com/twentyhq/twenty/pull/26781)) by @Bonapara
- Complete UI documentation and presentational previews ([#26791](https://github.com/twentyhq/twenty/pull/26791)) by @bosiraphael
- Migrate settings filters, menus and pickers ([#26794](https://github.com/twentyhq/twenty/pull/26794)) by @bosiraphael
- Make UI utilities safe without browser globals ([#26802](https://github.com/twentyhq/twenty/pull/26802)) by @bosiraphael
- Make retained UI strings overridable ([#26804](https://github.com/twentyhq/twenty/pull/26804)) by @bosiraphael
- Complete RTL behavior in retained UI components ([#26805](https://github.com/twentyhq/twenty/pull/26805)) by @bosiraphael
- Migrate anchored command and widget menus ([#26806](https://github.com/twentyhq/twenty/pull/26806)) by @bosiraphael
- Align on-demand logic function runs with the workflow action rule ([#26860](https://github.com/twentyhq/twenty/pull/26860)) by @prastoin
- Refresh twenty-ui README ([#26896](https://github.com/twentyhq/twenty/pull/26896)) by @bosiraphael
- Migrate date pickers and field overlays ([#26897](https://github.com/twentyhq/twenty/pull/26897)) by @bosiraphael
- Keep UI implementation exports private ([#26900](https://github.com/twentyhq/twenty/pull/26900)) by @bosiraphael
- Validation rules (1/2): define and store rules ([#26902](https://github.com/twentyhq/twenty/pull/26902)) by @thomtrp
- Rename expandable container to Collapsible ([#26906](https://github.com/twentyhq/twenty/pull/26906)) by @bosiraphael
- Keep notification countdowns in Toast ([#26912](https://github.com/twentyhq/twenty/pull/26912)) by @bosiraphael
- Replace CircularProgressBar with Loader ([#26916](https://github.com/twentyhq/twenty/pull/26916)) by @bosiraphael
- Replace ClickToActionLink with link-style Button ([#26921](https://github.com/twentyhq/twenty/pull/26921)) by @bosiraphael
- Move coming-soon labels out of Button ([#26951](https://github.com/twentyhq/twenty/pull/26951)) by @bosiraphael
- Move the chat page onto the record model ([#26956](https://github.com/twentyhq/twenty/pull/26956)) by @FelixMalfait
- Render the chat page as the chat record page ([#26960](https://github.com/twentyhq/twenty/pull/26960)) by @FelixMalfait
- Migrate advanced filter row controls ([#26961](https://github.com/twentyhq/twenty/pull/26961)) by @bosiraphael
- Consolidate card choices in Radio ([#26966](https://github.com/twentyhq/twenty/pull/26966)) by @bosiraphael
- Replace Info with InlineBanner ([#26967](https://github.com/twentyhq/twenty/pull/26967)) by @bosiraphael
- Enforce intentional Twenty UI exports ([#26971](https://github.com/twentyhq/twenty/pull/26971)) by @bosiraphael
- Unify shortcut formatting and presentation ([#26973](https://github.com/twentyhq/twenty/pull/26973)) by @bosiraphael
- Compose SearchInput with input primitives ([#26986](https://github.com/twentyhq/twenty/pull/26986)) by @bosiraphael
- Move appearance choices into profile settings ([#26987](https://github.com/twentyhq/twenty/pull/26987)) by @bosiraphael
- Replace inputAsk with pending tool calls on the conversation ([#26988](https://github.com/twentyhq/twenty/pull/26988)) by @FelixMalfait
- Move RoundedLink to the frontend ([#26991](https://github.com/twentyhq/twenty/pull/26991)) by @bosiraphael
- Move mobile navigation into its frontend owner ([#26992](https://github.com/twentyhq/twenty/pull/26992)) by @bosiraphael
- Remove twenty-ui changelog ([#26993](https://github.com/twentyhq/twenty/pull/26993)) by @bosiraphael
- Use native buttons for JSON and avatar actions ([#26997](https://github.com/twentyhq/twenty/pull/26997)) by @bosiraphael
- Share Breadcrumb navigation in Twenty UI ([#27001](https://github.com/twentyhq/twenty/pull/27001)) by @bosiraphael
- Share NumberStepper across settings ([#27028](https://github.com/twentyhq/twenty/pull/27028)) by @bosiraphael
- Share progress rings and metric rows ([#27031](https://github.com/twentyhq/twenty/pull/27031)) by @bosiraphael
- Move ImageInput into Twenty UI ([#27039](https://github.com/twentyhq/twenty/pull/27039)) by @bosiraphael
- Move ExpandableList into Twenty UI as OverflowingList ([#27040](https://github.com/twentyhq/twenty/pull/27040)) by @bosiraphael
- Record-level sharing 1/5: restrict records of objects open by default ([#27045](https://github.com/twentyhq/twenty/pull/27045)) by @FelixMalfait
- Let applications and workflows start conversations in a member's chats ([#27049](https://github.com/twentyhq/twenty/pull/27049)) by @FelixMalfait
- Ship junction relations and remove IS_JUNCTION_RELATIONS_ENABLED ([#27053](https://github.com/twentyhq/twenty/pull/27053)) by @FelixMalfait
- Record-level sharing 2/5: share records beyond the recipient's role ([#27054](https://github.com/twentyhq/twenty/pull/27054)) by @FelixMalfait
- Run application workflows with the owning application's permissions ([#27055](https://github.com/twentyhq/twenty/pull/27055)) by @thomtrp
- Record-level sharing 3/5: Share on every object, panel and object settings ([#27057](https://github.com/twentyhq/twenty/pull/27057)) by @FelixMalfait
- Make app scaffolding reusable and fix template typechecking ([#27073](https://github.com/twentyhq/twenty/pull/27073)) by @Weiko

## 🐛 Bug fixes

- fix(ai-chat): show workspace-scoped AI limits and warn before the composer ([#26674](https://github.com/twentyhq/twenty/pull/26674)) by @etiennejouan
- fix(twenty-ui): keep IconButton tooltips on hover after loading or disabled changes ([#26710](https://github.com/twentyhq/twenty/pull/26710)) by @martmull

## 🔧 Developer & API

- POC: define application workflows through the SDK ([#26662](https://github.com/twentyhq/twenty/pull/26662)) by @thomtrp
- Expose programmatic SDK build and typecheck APIs ([#26824](https://github.com/twentyhq/twenty/pull/26824)) by @Weiko
- Load the chat list through the record API ([#26957](https://github.com/twentyhq/twenty/pull/26957)) by @FelixMalfait

<details>
<summary>🏗️ Internal changes (3)</summary>

- chore: remove useless and stale comments ([#27026](https://github.com/twentyhq/twenty/pull/27026)) by @charlesBochet
- chore: strict comment pass on recently touched files ([#27027](https://github.com/twentyhq/twenty/pull/27027)) by @charlesBochet
- chore: remove IS_UNIQUE_INDEXES_ENABLED feature flag ([#27052](https://github.com/twentyhq/twenty/pull/27052)) by @FelixMalfait

</details>

## 🎉 New contributors

- @vladbisceanu made their first contribution in https://github.com/twentyhq/twenty/pull/26818
- @waelantar made their first contribution in https://github.com/twentyhq/twenty/pull/26787
- @UditSinghChauhan made their first contribution in https://github.com/twentyhq/twenty/pull/26892
- @almoghazaz-cell made their first contribution in https://github.com/twentyhq/twenty/pull/27007

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

- Support matchMedia in front components ([#24160](https://github.com/twentyhq/twenty/pull/24160)) by @bosiraphael
- [4/5] Show a record's AI conversations in a Conversations tab behind IS_CONVERSATIONS_TAB_ENABLED ([#26332](https://github.com/twentyhq/twenty/pull/26332)) by @FelixMalfait
- feat: knip ([#26351](https://github.com/twentyhq/twenty/pull/26351)) by @BOHEUS
- Require the application role to cover every agent role ([#26413](https://github.com/twentyhq/twenty/pull/26413)) by @abdulrahmancodes
- feat(ui): no unchecked indexed access twenty UI ([#26493](https://github.com/twentyhq/twenty/pull/26493)) by @BOHEUS
- Add the schema for campaign click tracking ([#26636](https://github.com/twentyhq/twenty/pull/26636)) by @neo773
- Rewrite campaign links through Twenty and serve the redirect ([#26637](https://github.com/twentyhq/twenty/pull/26637)) by @neo773
- Let recipients opt out of click tracking ([#26639](https://github.com/twentyhq/twenty/pull/26639)) by @neo773
- POC: define application workflows through the SDK ([#26662](https://github.com/twentyhq/twenty/pull/26662)) by @thomtrp
- fix(ai-chat): show workspace-scoped AI limits and warn before the composer ([#26674](https://github.com/twentyhq/twenty/pull/26674)) by @etiennejouan
- fix(twenty-ui): keep IconButton tooltips on hover after loading or disabled changes ([#26710](https://github.com/twentyhq/twenty/pull/26710)) by @martmull
- chore: bump version to 2.44.0 ([#26720](https://github.com/twentyhq/twenty/pull/26720)) by @twenty-pr
- Use workspace members for live chat ownership ([#26763](https://github.com/twentyhq/twenty/pull/26763)) by @FelixMalfait
- [Onboarding 3/10] Add credits pill ([#26780](https://github.com/twentyhq/twenty/pull/26780)) by @Bonapara
- [Onboarding 6/10] Add skip dialogs ([#26781](https://github.com/twentyhq/twenty/pull/26781)) by @Bonapara
- Complete UI documentation and presentational previews ([#26791](https://github.com/twentyhq/twenty/pull/26791)) by @bosiraphael
- Migrate settings filters, menus and pickers ([#26794](https://github.com/twentyhq/twenty/pull/26794)) by @bosiraphael
- Make UI utilities safe without browser globals ([#26802](https://github.com/twentyhq/twenty/pull/26802)) by @bosiraphael
- Make retained UI strings overridable ([#26804](https://github.com/twentyhq/twenty/pull/26804)) by @bosiraphael
- Complete RTL behavior in retained UI components ([#26805](https://github.com/twentyhq/twenty/pull/26805)) by @bosiraphael
- Migrate anchored command and widget menus ([#26806](https://github.com/twentyhq/twenty/pull/26806)) by @bosiraphael
- Expose programmatic SDK build and typecheck APIs ([#26824](https://github.com/twentyhq/twenty/pull/26824)) by @Weiko
- [BREAKING_CHANGE] Declare application registration variables through the manifest only ([#26856](https://github.com/twentyhq/twenty/pull/26856)) by @prastoin
- Align on-demand logic function runs with the workflow action rule ([#26860](https://github.com/twentyhq/twenty/pull/26860)) by @prastoin
- Start a record's conversation from the record, and show a conversation's records in its header ([#26873](https://github.com/twentyhq/twenty/pull/26873)) by @FelixMalfait
- feat(sdk): expose programmatic application client generation ([#26889](https://github.com/twentyhq/twenty/pull/26889)) by @Weiko
- Refresh twenty-ui README ([#26896](https://github.com/twentyhq/twenty/pull/26896)) by @bosiraphael
- Migrate date pickers and field overlays ([#26897](https://github.com/twentyhq/twenty/pull/26897)) by @bosiraphael
- Keep UI implementation exports private ([#26900](https://github.com/twentyhq/twenty/pull/26900)) by @bosiraphael
- Validation rules (1/2): define and store rules ([#26902](https://github.com/twentyhq/twenty/pull/26902)) by @thomtrp
- Rename expandable container to Collapsible ([#26906](https://github.com/twentyhq/twenty/pull/26906)) by @bosiraphael
- Move product URLs out of twenty-ui ([#26908](https://github.com/twentyhq/twenty/pull/26908)) by @bosiraphael
- Keep notification countdowns in Toast ([#26912](https://github.com/twentyhq/twenty/pull/26912)) by @bosiraphael
- Replace CircularProgressBar with Loader ([#26916](https://github.com/twentyhq/twenty/pull/26916)) by @bosiraphael
- Replace ClickToActionLink with link-style Button ([#26921](https://github.com/twentyhq/twenty/pull/26921)) by @bosiraphael
- feat(ai): answer every Ask through answerAsk, let agents propose emails and wait on several Asks at once ([#26930](https://github.com/twentyhq/twenty/pull/26930)) by @FelixMalfait
- Move coming-soon labels out of Button ([#26951](https://github.com/twentyhq/twenty/pull/26951)) by @bosiraphael
- Move the chat page onto the record model ([#26956](https://github.com/twentyhq/twenty/pull/26956)) by @FelixMalfait
- Load the chat list through the record API ([#26957](https://github.com/twentyhq/twenty/pull/26957)) by @FelixMalfait
- Render the chat page as the chat record page ([#26960](https://github.com/twentyhq/twenty/pull/26960)) by @FelixMalfait
- Migrate advanced filter row controls ([#26961](https://github.com/twentyhq/twenty/pull/26961)) by @bosiraphael
- Consolidate card choices in Radio ([#26966](https://github.com/twentyhq/twenty/pull/26966)) by @bosiraphael
- Replace Info with InlineBanner ([#26967](https://github.com/twentyhq/twenty/pull/26967)) by @bosiraphael
- Enforce intentional Twenty UI exports ([#26971](https://github.com/twentyhq/twenty/pull/26971)) by @bosiraphael
- Unify shortcut formatting and presentation ([#26973](https://github.com/twentyhq/twenty/pull/26973)) by @bosiraphael
- Compose SearchInput with input primitives ([#26986](https://github.com/twentyhq/twenty/pull/26986)) by @bosiraphael
- Move appearance choices into profile settings ([#26987](https://github.com/twentyhq/twenty/pull/26987)) by @bosiraphael
- Replace inputAsk with pending tool calls on the conversation ([#26988](https://github.com/twentyhq/twenty/pull/26988)) by @FelixMalfait
- Move RoundedLink to the frontend ([#26991](https://github.com/twentyhq/twenty/pull/26991)) by @bosiraphael
- Move mobile navigation into its frontend owner ([#26992](https://github.com/twentyhq/twenty/pull/26992)) by @bosiraphael
- Remove twenty-ui changelog ([#26993](https://github.com/twentyhq/twenty/pull/26993)) by @bosiraphael
- Use native buttons for JSON and avatar actions ([#26997](https://github.com/twentyhq/twenty/pull/26997)) by @bosiraphael
- Share Breadcrumb navigation in Twenty UI ([#27001](https://github.com/twentyhq/twenty/pull/27001)) by @bosiraphael
- chore: bump version to 2.45.0 ([#27009](https://github.com/twentyhq/twenty/pull/27009)) by @twenty-pr
- [BREAKING_CHANGE] chore: remove the compatibility code kept for the 2.44 rollout ([#27021](https://github.com/twentyhq/twenty/pull/27021)) by @FelixMalfait
- chore: remove useless and stale comments ([#27026](https://github.com/twentyhq/twenty/pull/27026)) by @charlesBochet
- chore: strict comment pass on recently touched files ([#27027](https://github.com/twentyhq/twenty/pull/27027)) by @charlesBochet
- Share NumberStepper across settings ([#27028](https://github.com/twentyhq/twenty/pull/27028)) by @bosiraphael
- Share progress rings and metric rows ([#27031](https://github.com/twentyhq/twenty/pull/27031)) by @bosiraphael
- Move ImageInput into Twenty UI ([#27039](https://github.com/twentyhq/twenty/pull/27039)) by @bosiraphael
- Move ExpandableList into Twenty UI as OverflowingList ([#27040](https://github.com/twentyhq/twenty/pull/27040)) by @bosiraphael
- Record-level sharing 1/5: restrict records of objects open by default ([#27045](https://github.com/twentyhq/twenty/pull/27045)) by @FelixMalfait
- Let applications and workflows start conversations in a member's chats ([#27049](https://github.com/twentyhq/twenty/pull/27049)) by @FelixMalfait
- chore: remove IS_UNIQUE_INDEXES_ENABLED feature flag ([#27052](https://github.com/twentyhq/twenty/pull/27052)) by @FelixMalfait
- Ship junction relations and remove IS_JUNCTION_RELATIONS_ENABLED ([#27053](https://github.com/twentyhq/twenty/pull/27053)) by @FelixMalfait
- Record-level sharing 2/5: share records beyond the recipient's role ([#27054](https://github.com/twentyhq/twenty/pull/27054)) by @FelixMalfait
- Run application workflows with the owning application's permissions ([#27055](https://github.com/twentyhq/twenty/pull/27055)) by @thomtrp
- Record-level sharing 3/5: Share on every object, panel and object settings ([#27057](https://github.com/twentyhq/twenty/pull/27057)) by @FelixMalfait
- Make app scaffolding reusable and fix template typechecking ([#27073](https://github.com/twentyhq/twenty/pull/27073)) by @Weiko
- feat(logic-function): identify the function in live logic function logs ([#27079](https://github.com/twentyhq/twenty/pull/27079)) by @Weiko

</details>

**Full Changelog**: https://github.com/twentyhq/twenty/compare/sdk/v2.43.0...sdk/v2.45.0

Related Repositories