twenty/v2.45.0
HumanAIGC/Cloth2Textwenty/v2.45.0Oct 5, 2026by twenty-pr[bot]
Upgrading?
AI Summary
Server update implementing record-level sharing, validation rules, and systemic application security guards.
Key Highlights
- Record-level sharing implementation (5 parts)
- Validation rule form UI
- Systemic application ownership guard
- UI migration (breadcrumbs, number steppers)
Breaking Changes
- Remove the compatibility code kept for the 2.44 rollout
New Features
- Logic function logging improvements
- Verify front component checksums
- 3D background for onboarding
- Advanced filter row controls migration
- Workflow and import pickers migration
- Build find tool orderBy schema from object fields
- Record-level sharing restrictions and permissions
- Validation rule form (1/5) render field chips
- Validation rule form (2/5) MenuItem suggestions
Full Release Notes
<!-- 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
Related Repositories
public-apis/public-apis★ 491,126
A collective list of free APIs
NousResearch/hermes-agent★ 255,898
The agent that grows with you
yt-dlp/yt-dlp★ 199,995
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,479
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
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.