Twenty twenty/v2.45.0stable Released Oct 05, 2026
โš ๏ธ Breaking Change Impact Score: 7/10

Twenty twenty/v2.45.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

Component: twenty ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • โš ๏ธ Breaking changes - [BREAKING_CHANGE] chore: remove the compatibility code kept for the 2.44 rollout ([#27021](https://github.com/twentyhq/twenty/pull/27021)) by @FelixMalfait
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Twenty twenty/v2.45.0. Source highlight: [BREAKING_CHANGE] chore: remove the compatibility code kept for the 2.44 rollout (#27021)

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โš ๏ธ Breaking Changes & Deprecations (1)

  • โš ๏ธ Breaking changes - [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 & Capabilities (6)

  • feat(logic-function): identify the function in live logic function logs (#27079)
  • [Onboarding 9/10] Add 3D background (#26784)
  • chore: remove IS_UNIQUE_INDEXES_ENABLED feature flag (#27052)
  • [Onboarding 9/10] Add 3D background (#26784)
  • chore: remove IS_UNIQUE_INDEXES_ENABLED feature flag (#27052)
  • feat(logic-function): identify the function in live logic function logs (#27079)

โšก Performance & Enhancements (6)

  • Verify front component checksums before execution (#26454)
  • improve the limits organization plan display (#26915)
  • Migrate advanced filter row controls (#26961)
  • Share one billing entitlement check across settings and logs (#26972)
  • Unify shortcut formatting and presentation (#26973)
  • Move mobile navigation into its frontend owner (#26992)

๐Ÿ”ง Bug Fixes & Patches (6)

  • Make app scaffolding reusable and fix template typechecking (#27073)
  • fix: harden two-factor authentication against impersonation and OTP guessing (#26583)
  • fix(apps): pin the media-notes example to published SDK versions (#27011)
  • fix(front): keep disabled sortable widgets accessible (#27015)
  • fix(workflow): show the selected count on the core workflows index (#27016)
  • fix(front): See Workflow from the workflow runs table and hide See Version with core workflows (#27022)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
<!-- generated-release-notes v1 --> ## โš ๏ธ Breaking changes - [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(logic-function): identify the function in live logic function logs ([#27079](https://github.com/twentyhq/twenty/pull/27079)) by @Weiko ## ๐Ÿ’… Improvements & UX - Verify front component checksums before execution ([#26454](https://github.com/twentyhq/twenty/pull/26454)) by @bosiraphael - [Onboarding 9/10] Add 3D background ([#26784](https://github.com/twentyhq/twenty/pull/26784)) by @Bonapara - improve the limits organization plan display ([#26915](https://github.com/twentyhq/twenty/pull/26915)) by @Bonapara - Migrate advanced filter row controls ([#26961](https://github.com/twentyhq/twenty/pull/26961)) by @bosiraphael - Share one billing entitlement check across settings and logs ([#26972](https://github.com/twentyhq/twenty/pull/26972)) by @Bonapara - Unify shortcut formatting and presentation ([#26973](https://github.com/twentyhq/twenty/pull/26973)) by @bosiraphael - Move mobile navigation into its frontend owner ([#26992](https://github.com/twentyhq/twenty/pull/26992)) by @bosiraphael - Migrate workflow and import pickers ([#26999](https://github.com/twentyhq/twenty/pull/26999)) by @bosiraphael - Share Breadcrumb navigation in Twenty UI ([#27001](https://github.com/twentyhq/twenty/pull/27001)) by @bosiraphael - Build the find tool orderBy schema from the object's fields ([#27010](https://github.com/twentyhq/twenty/pull/27010)) by @FelixMalfait - Only offer Export records on index pages ([#27017](https://github.com/twentyhq/twenty/pull/27017)) by @FelixMalfait - Keep the Last Contact app's fields off the record timeline ([#27019](https://github.com/twentyhq/twenty/pull/27019)) by @FelixMalfait - [Onboarding 9/10 follow-up] Keep the 3D background off the onboarding critical path ([#27023](https://github.com/twentyhq/twenty/pull/27023)) by @etiennejouan - Drop legacy core campaignDelivery and messageSuppression tables ([#27025](https://github.com/twentyhq/twenty/pull/27025)) by @FelixMalfait - 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 - Prevent stale credentials in IMAP input ([#27048](https://github.com/twentyhq/twenty/pull/27048)) by @BOHEUS - Let applications and workflows start conversations in a member's chats ([#27049](https://github.com/twentyhq/twenty/pull/27049)) by @FelixMalfait - Restore appearance card design ([#27051](https://github.com/twentyhq/twenty/pull/27051)) by @bosiraphael - 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 - Record-level sharing 4/5: All records permission and ownership transfer ([#27058](https://github.com/twentyhq/twenty/pull/27058)) by @FelixMalfait - Render core workflow versions as command menu items ([#27062](https://github.com/twentyhq/twenty/pull/27062)) by @thomtrp - Remove the See Version command menu item from workflow runs ([#27063](https://github.com/twentyhq/twenty/pull/27063)) by @thomtrp - Deprecate `authContext` in favor of `RawAuthContext` ( currently type proxy ) ([#27067](https://github.com/twentyhq/twenty/pull/27067)) by @BOHEUS - Record-level sharing 5: one row access policy for queries, events and writes ([#27068](https://github.com/twentyhq/twenty/pull/27068)) by @FelixMalfait - Keep email and calendar steps out of application workflows ([#27072](https://github.com/twentyhq/twenty/pull/27072)) by @thomtrp - Make app scaffolding reusable and fix template typechecking ([#27073](https://github.com/twentyhq/twenty/pull/27073)) by @Weiko - Systemic application registration ownership guard ([#27074](https://github.com/twentyhq/twenty/pull/27074)) by @prastoin - Validation rule form (1/5): render field chips with the shared Chip ([#27090](https://github.com/twentyhq/twenty/pull/27090)) by @thomtrp - Validation rule form (2/5): MenuItem suggestion rows ([#27091](https://github.com/twentyhq/twenty/pull/27091)) by @thomtrp - Validation rule form (3/5): suggestion details like the design ([#27092](https://github.com/twentyhq/twenty/pull/27092)) by @thomtrp - Validation rule form (4/5): condition in one preview card ([#27093](https://github.com/twentyhq/twenty/pull/27093)) by @thomtrp ## ๐Ÿ› Bug fixes - fix: harden two-factor authentication against impersonation and OTP guessing ([#26583](https://github.com/twentyhq/twenty/pull/26583)) by @abdulrahmancodes - fix(apps): pin the media-notes example to published SDK versions ([#27011](https://github.com/twentyhq/twenty/pull/27011)) by @Weiko - fix(front): keep disabled sortable widgets accessible ([#27015](https://github.com/twentyhq/twenty/pull/27015)) by @FelixMalfait - fix(workflow): show the selected count on the core workflows index ([#27016](https://github.com/twentyhq/twenty/pull/27016)) by @thomtrp - fix(front): See Workflow from the workflow runs table and hide See Version with core workflows ([#27022](https://github.com/twentyhq/twenty/pull/27022)) by @thomtrp - fix(server): release the migration runner connection before failure cleanup ([#27024](https://github.com/twentyhq/twenty/pull/27024)) by @charlesBochet - fix(workflow): polish the core workflows index and its command menu ([#27066](https://github.com/twentyhq/twenty/pull/27066)) by @thomtrp - fix(ai-chat): strip NUL bytes from message parts before persisting ([#27101](https://github.com/twentyhq/twenty/pull/27101)) by @etiennejouan - fix(settings): role save onSuccess, saving state and permissions fallback ([#27103](https://github.com/twentyhq/twenty/pull/27103)) by @FelixMalfait - fix(permissions): keep row access conditions outside user WHERE expressions ([#27105](https://github.com/twentyhq/twenty/pull/27105)) by @FelixMalfait ## โšก Performance - perf: reduce relation assignment and ORM hydration overhead ([#27060](https://github.com/twentyhq/twenty/pull/27060)) by @FelixMalfait ## ๐Ÿ”ง Developer & API - POC: define application workflows through the SDK ([#26662](https://github.com/twentyhq/twenty/pull/26662)) by @thomtrp <details> <summary>๐Ÿ—๏ธ Internal changes (13)</summary> - chore(server): bump @nestjs packages to 11.2.6, drop multer resolution ([#27013](https://github.com/twentyhq/twenty/pull/27013)) by @mabdullahabaid - chore(server): remove service unit specs ([#27020](https://github.com/twentyhq/twenty/pull/27020)) by @charlesBochet - 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 - refactor(usage-limit): group quota consumption rows by unit ([#27037](https://github.com/twentyhq/twenty/pull/27037)) by @etiennejouan - chore: remove IS_UNIQUE_INDEXES_ENABLED feature flag ([#27052](https://github.com/twentyhq/twenty/pull/27052)) by @FelixMalfait - chore(server): drop the v2 suffix from the workspace pool metric names ([#27056](https://github.com/twentyhq/twenty/pull/27056)) by @charlesBochet - chore(security): bump axios to 1.20.0 everywhere for the September advisory batch ([#27077](https://github.com/twentyhq/twenty/pull/27077)) by @mabdullahabaid - chore(security): bump brace-expansion to fixed versions everywhere ([#27086](https://github.com/twentyhq/twenty/pull/27086)) by @mabdullahabaid - chore(security): bump ip-address to 10.7.2 everywhere ([#27095](https://github.com/twentyhq/twenty/pull/27095)) by @mabdullahabaid - chore(security): bump piscina to 4.9.4 ([#27098](https://github.com/twentyhq/twenty/pull/27098)) by @mabdullahabaid - chore(security): bump @xhmikosr/decompress to 11.1.4 ([#27100](https://github.com/twentyhq/twenty/pull/27100)) by @mabdullahabaid - chore(permissions): remove dead and duplicated server permission code ([#27106](https://github.com/twentyhq/twenty/pull/27106)) by @FelixMalfait </details> <details> <summary>Full changelog (68 PRs)</summary> - Verify front component checksums before execution ([#26454](https://github.com/twentyhq/twenty/pull/26454)) by @bosiraphael - fix: harden two-factor authentication against impersonation and OTP guessing ([#26583](https://github.com/twentyhq/twenty/pull/26583)) by @abdulrahmancodes - POC: define application workflows through the SDK ([#26662](https://github.com/twentyhq/twenty/pull/26662)) by @thomtrp - [Onboarding 9/10] Add 3D background ([#26784](https://github.com/twentyhq/twenty/pull/26784)) by @Bonapara - improve the limits organization plan display ([#26915](https://github.com/twentyhq/twenty/pull/26915)) by @Bonapara - Migrate advanced filter row controls ([#26961](https://github.com/twentyhq/twenty/pull/26961)) by @bosiraphael - Share one billing entitlement check across settings and logs ([#26972](https://github.com/twentyhq/twenty/pull/26972)) by @Bonapara - Unify shortcut formatting and presentation ([#26973](https://github.com/twentyhq/twenty/pull/26973)) by @bosiraphael - Move mobile navigation into its frontend owner ([#26992](https://github.com/twentyhq/twenty/pull/26992)) by @bosiraphael - Migrate workflow and import pickers ([#26999](https://github.com/twentyhq/twenty/pull/26999)) 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 - Build the find tool orderBy schema from the object's fields ([#27010](https://github.com/twentyhq/twenty/pull/27010)) by @FelixMalfait - fix(apps): pin the media-notes example to published SDK versions ([#27011](https://github.com/twentyhq/twenty/pull/27011)) by @Weiko - chore(server): bump @nestjs packages to 11.2.6, drop multer resolution ([#27013](https://github.com/twentyhq/twenty/pull/27013)) by @mabdullahabaid - chore: sync AI model catalog ([#27014](https://github.com/twentyhq/twenty/pull/27014)) by @github-actions - fix(front): keep disabled sortable widgets accessible ([#27015](https://github.com/twentyhq/twenty/pull/27015)) by @FelixMalfait - fix(workflow): show the selected count on the core workflows index ([#27016](https://github.com/twentyhq/twenty/pull/27016)) by @thomtrp - Only offer Export records on index pages ([#27017](https://github.com/twentyhq/twenty/pull/27017)) by @FelixMalfait - Keep the Last Contact app's fields off the record timeline ([#27019](https://github.com/twentyhq/twenty/pull/27019)) by @FelixMalfait - chore(server): remove service unit specs ([#27020](https://github.com/twentyhq/twenty/pull/27020)) by @charlesBochet - [BREAKING_CHANGE] chore: remove the compatibility code kept for the 2.44 rollout ([#27021](https://github.com/twentyhq/twenty/pull/27021)) by @FelixMalfait - fix(front): See Workflow from the workflow runs table and hide See Version with core workflows ([#27022](https://github.com/twentyhq/twenty/pull/27022)) by @thomtrp - [Onboarding 9/10 follow-up] Keep the 3D background off the onboarding critical path ([#27023](https://github.com/twentyhq/twenty/pull/27023)) by @etiennejouan - fix(server): release the migration runner connection before failure cleanup ([#27024](https://github.com/twentyhq/twenty/pull/27024)) by @charlesBochet - Drop legacy core campaignDelivery and messageSuppression tables ([#27025](https://github.com/twentyhq/twenty/pull/27025)) 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 - refactor(usage-limit): group quota consumption rows by unit ([#27037](https://github.com/twentyhq/twenty/pull/27037)) by @etiennejouan - 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 - Prevent stale credentials in IMAP input ([#27048](https://github.com/twentyhq/twenty/pull/27048)) by @BOHEUS - Let applications and workflows start conversations in a member's chats ([#27049](https://github.com/twentyhq/twenty/pull/27049)) by @FelixMalfait - Restore appearance card design ([#27051](https://github.com/twentyhq/twenty/pull/27051)) by @bosiraphael - 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 - chore(server): drop the v2 suffix from the workspace pool metric names ([#27056](https://github.com/twentyhq/twenty/pull/27056)) by @charlesBochet - Record-level sharing 3/5: Share on every object, panel and object settings ([#27057](https://github.com/twentyhq/twenty/pull/27057)) by @FelixMalfait - Record-level sharing 4/5: All records permission and ownership transfer ([#27058](https://github.com/twentyhq/twenty/pull/27058)) by @FelixMalfait - perf: reduce relation assignment and ORM hydration overhead ([#27060](https://github.com/twentyhq/twenty/pull/27060)) by @FelixMalfait - Render core workflow versions as command menu items ([#27062](https://github.com/twentyhq/twenty/pull/27062)) by @thomtrp - Remove the See Version command menu item from workflow runs ([#27063](https://github.com/twentyhq/twenty/pull/27063)) by @thomtrp - fix(workflow): polish the core workflows index and its command menu ([#27066](https://github.com/twentyhq/twenty/pull/27066)) by @thomtrp - Deprecate `authContext` in favor of `RawAuthContext` ( currently type proxy ) ([#27067](https://github.com/twentyhq/twenty/pull/27067)) by @BOHEUS - Record-level sharing 5: one row access policy for queries, events and writes ([#27068](https://github.com/twentyhq/twenty/pull/27068)) by @FelixMalfait - Keep email and calendar steps out of application workflows ([#27072](https://github.com/twentyhq/twenty/pull/27072)) by @thomtrp - Make app scaffolding reusable and fix template typechecking ([#27073](https://github.com/twentyhq/twenty/pull/27073)) by @Weiko - Systemic application registration ownership guard ([#27074](https://github.com/twentyhq/twenty/pull/27074)) by @prastoin - chore(security): bump axios to 1.20.0 everywhere for the September advisory batch ([#27077](https://github.com/twentyhq/twenty/pull/27077)) by @mabdullahabaid - feat(logic-function): identify the function in live logic function logs ([#27079](https://github.com/twentyhq/twenty/pull/27079)) by @Weiko - chore(security): bump brace-expansion to fixed versions everywhere ([#27086](https://github.com/twentyhq/twenty/pull/27086)) by @mabdullahabaid - Validation rule form (1/5): render field chips with the shared Chip ([#27090](https://github.com/twentyhq/twenty/pull/27090)) by @thomtrp - Validation rule form (2/5): MenuItem suggestion rows ([#27091](https://github.com/twentyhq/twenty/pull/27091)) by @thomtrp - Validation rule form (3/5): suggestion details like the design ([#27092](https://github.com/twentyhq/twenty/pull/27092)) by @thomtrp - Validation rule form (4/5): condition in one preview card ([#27093](https://github.com/twentyhq/twenty/pull/27093)) by @thomtrp - chore(security): bump ip-address to 10.7.2 everywhere ([#27095](https://github.com/twentyhq/twenty/pull/27095)) by @mabdullahabaid - chore(security): bump piscina to 4.9.4 ([#27098](https://github.com/twentyhq/twenty/pull/27098)) by @mabdullahabaid - chore: sync AI model catalog ([#27099](https://github.com/twentyhq/twenty/pull/27099)) by @github-actions - chore(security): bump @xhmikosr/decompress to 11.1.4 ([#27100](https://github.com/twentyhq/twenty/pull/27100)) by @mabdullahabaid - fix(ai-chat): strip NUL bytes from message parts before persisting ([#27101](https://github.com/twentyhq/twenty/pull/27101)) by @etiennejouan - fix(settings): role save onSuccess, saving state and permissions fallback ([#27103](https://github.com/twentyhq/twenty/pull/27103)) by @FelixMalfait - fix(permissions): keep row access conditions outside user WHERE expressions ([#27105](https://github.com/twentyhq/twenty/pull/27105)) by @FelixMalfait - chore(permissions): remove dead and duplicated server permission code ([#27106](https://github.com/twentyhq/twenty/pull/27106)) by @FelixMalfait </details> **Full Changelog**: https://github.com/twentyhq/twenty/compare/twenty/v2.44.0...twenty/v2.45.0