github twentyhq/twenty v1.20.0

6 hours ago

What's Changed

  • feat: add resumable stream support for agent chat by @FelixMalfait in #19107
  • i18n - translations by @github-actions[bot] in #19134
  • i18n - docs translations by @github-actions[bot] in #19135
  • [SDK] Extract twenty-front-component-renderer outside of twenty-sdk ( 2.8MB ) by @prastoin in #19021
  • Fix widgets drag handles by @bosiraphael in #19133
  • i18n - docs translations by @github-actions[bot] in #19137
  • i18n - docs translations by @github-actions[bot] in #19139
  • i18n - docs translations by @github-actions[bot] in #19142
  • 0.8.0.canary.7 bump by @prastoin in #19150
  • Fix TransactionNotStartedError by @Weiko in #19155
  • fix: show disabled file chip when file no longer exists in timeline by @bugisthegod in #19045
  • i18n - translations by @github-actions[bot] in #19158
  • Fix upgrade commands 2 by @charlesBochet in #19157

Full Changelog: v1.19.13...v1.20.0

What's Changed

  • i18n - docs translations by @github-actions[bot] in #18617
  • Add Gemini 3.1 Flash Lite model to AI registry by @pablofmorales in #18597
  • Upgrade Apollo Client to v4 and refactor error handling by @FelixMalfait in #18584
  • Improve type safety and remove unnecessary store operations by @FelixMalfait in #18622
  • i18n - translations by @github-actions[bot] in #18620
  • i18n - docs translations by @github-actions[bot] in #18621
  • Deprecate legacy RICH_TEXT field metadata type by @charlesBochet in #18623
  • i18n - docs translations by @github-actions[bot] in #18625
  • fix: add missing React key props to ButtonGroup and FloatingButtonGro… by @williamjusticedavis in #18615
  • feat: rename RICH_TEXT_V2 → RICH_TEXT in codebase (keep DB value) by @charlesBochet in #18628
  • i18n - translations by @github-actions[bot] in #18633
  • i18n - docs translations by @github-actions[bot] in #18636
  • feat: deprecate WorkspaceFavorite in favor of NavigationMenuItem by @charlesBochet in #18624
  • i18n - translations by @github-actions[bot] in #18639
  • feat: enable Rich Text as a creatable field type by @charlesBochet in #18634
  • i18n - translations by @github-actions[bot] in #18642
  • Add pitfall reminders to LLMS guidance by @Bonapara in #18627
  • View field override by @Weiko in #18572
  • feat: migrate objectMetadata reads to granular metadata store by @charlesBochet in #18643
  • docs: fix contributor docs links and typos by @channi23 in #18637
  • i18n - docs translations by @github-actions[bot] in #18644
  • i18n - docs translations by @github-actions[bot] in #18645
  • feat: uniformize metadata store with flat types, SSE alignment, presentation endpoint & localStorage by @charlesBochet in #18647
  • feat: hash-based metadata staleness detection by @charlesBochet in #18649
  • refactor: metadata store cleanup, SSE unification, mock metadata loading & login redirect fix by @charlesBochet in #18651
  • fix: yauzl contains an off-by-one error by @mabdullahabaid in #18662
  • fix: expr-eval related dependabot alerts by @mabdullahabaid in #18661
  • fix: @isaacs/brace-expansion has uncontrolled resource consumption by @mabdullahabaid in #18660
  • fix: multer vulnerable to denial of service via uncontrolled recursion by @mabdullahabaid in #18659
  • Implement OAuth 2.0 Dynamic Client Registration (RFC 7591) by @FelixMalfait in #18608
  • fix: DOMPurify contains a cross-site scripting vulnerability by @mabdullahabaid in #18665
  • i18n - translations by @github-actions[bot] in #18669
  • refactor: remove "core" naming from views and eliminate converter layer by @charlesBochet in #18667
  • fix: mailparser vulnerable to cross-site scripting by @mabdullahabaid in #18664
  • fix: return method-specific MCP responses by @channi23 in #18671
  • i18n - docs translations by @github-actions[bot] in #18674
  • i18n - docs translations by @github-actions[bot] in #18677
  • fix: add viewFieldGroupId to ViewField fragment and connect page layout selectors to live metadata store by @ehconitin in #18676
  • Fix timeline activities + breadcrumb by @thomtrp in #18626
  • refactor: consolidate database query timeout config variables by @charlesBochet in #18670
  • fix: respect standard object rename across all locales (Closes #18650) by @Assad-Robles in #18652
  • Fix styles side column by @Devessier in #18632
  • Fix custom object view fields creation by @Weiko in #18629
  • Update sidebar section toggle to match Figma chevron by @Bonapara in #18631
  • fix: allow identical singular and plural labels for objects by @FelixMalfait in #18678
  • i18n - translations by @github-actions[bot] in #18683
  • feat: add color property to ObjectMetadata for object icon customization by @charlesBochet in #18672
  • i18n - translations by @github-actions[bot] in #18686
  • refactor: remove ProcessedNavigationMenuItem, derive display fields at point of use by @charlesBochet in #18687
  • fix 2FA UI layout by @neo773 in #18688
  • chore: frontend dead code removal and naming cleanup by @charlesBochet in #18690
  • refactor(twenty-front): reorganize NavigationMenuItem module into common/display/edit subfolders by @charlesBochet in #18691
  • i18n - translations by @github-actions[bot] in #18696
  • i18n - docs translations by @github-actions[bot] in #18692
  • Twenty sdk cli oauth by @martmull in #18638
  • Add hotkeys to command menu items by @bosiraphael in #18682
  • [FIx]: using the dynamic {objectLabelPlural} instead of hardcoded name by @carbonFibreCode in #18700
  • Setup local instance on app creation by @thomtrp in #18184
  • refactor: unify layout customization mode (record pages + navigation) by @ehconitin in #18640
  • i18n - translations by @github-actions[bot] in #18703
  • [Command menu items] Create engine commands by @bosiraphael in #18681
  • i18n - translations by @github-actions[bot] in #18704
  • refactor(twenty-front): unify Favorites and Workspace navigation menu item code by @charlesBochet in #18697
  • i18n - translations by @github-actions[bot] in #18709
  • Update store on data model mutation by @thomtrp in #18684
  • Upgrade Ink to v6 and pause TUI on idle/error by @charlesBochet in #18705
  • feat: optimistic metadata store updates for navigation menu items by @charlesBochet in #18710
  • fix: make 1.19 upgrade commands resilient to pre-existing data by @charlesBochet in #18716
  • Skip threads with no participants in timeline formatting by @neo773 in #18725
  • fix: restructure navigationMenuItem type migration for safe upgrade path by @charlesBochet in #18722
  • fix: route object color through standardOverrides for standard objects by @charlesBochet in #18717
  • Treat Microsoft Graph 400 with empty body as transient error by @neo773 in #18726
  • Fix null connectedAccount crash in blocklist message deletion job by @neo773 in #18723
  • Publish new version by @martmull in #18727
  • fix Draft Email stuck Callout by @neo773 in #18719
  • Support template variables in command menu item labels by @bosiraphael in #18707
  • workspace:export command by @neo773 in #18695
  • fix: navigation menu item type backfill and frontend loading by @charlesBochet in #18730
  • Migrate permission flag to syncable entity by @abdulrahmancodes in #18567
  • i18n - translations by @github-actions[bot] in #18736
  • fix(auth): use dynamic SSE headers and add token renewal retry logic by @FelixMalfait in #18706
  • Remove front component and command menu item old seeds by @bosiraphael in #18737
  • Add progress tracking to command menu items by @bosiraphael in #18732
  • Add record page layout tabs editing by @Devessier in #18702
  • fix: migrate driver modules to DriverFactoryBase lazy-loading pattern by @FelixMalfait in #18731
  • i18n - translations by @github-actions[bot] in #18738
  • fix: replace > button with button selector in styled wrappers by @bugisthegod in #18568
  • Migrate object permission to syncable entity by @abdulrahmancodes in #18609
  • i18n - translations by @github-actions[bot] in #18742
  • fix: restore ViewFilter value stringification lost in converter removal by @charlesBochet in #18745
  • Scaffold light twenty app dev container by @martmull in #18734
  • i18n - docs translations by @github-actions[bot] in #18749
  • fix: use unique concurrency group per merge queue entry by @charlesBochet in #18756
  • chore(deps): bump @ai-sdk/mistral from 3.0.20 to 3.0.25 by @dependabot[bot] in #18755
  • chore(deps): bump @dagrejs/dagre from 1.1.3 to 1.1.8 by @dependabot[bot] in #18753
  • chore(deps): bump nodemailer from 7.0.11 to 7.0.13 by @dependabot[bot] in #18754
  • Separate metadata and object record publisher by @thomtrp in #18740
  • Fix: prevent record navigation when clicking Remove from favorite in nav sidebar by @abdulrahmancodes in #18760
  • Remove postition from Timeline Activities + fix workflow title placeholder by @thomtrp in #18777
  • Fix: cascade delete favorite folder children on backend by @abdulrahmancodes in #18765
  • Fix relation connect where failing on mixed-case email and URL by @bugisthegod in #18605
  • fix: stop event propagation when removing file in AI chat preview by @victorjzq in #18779
  • Fix: Hide object from Opened section when it already has a workspace nav item by @abdulrahmancodes in #18766
  • feat: migrate ConnectedAccount infrastructure entities to metadata schema by @charlesBochet in #18784
  • i18n - translations by @github-actions[bot] in #18786
  • Improve workflow metrics with faillure reason by @thomtrp in #18768
  • fix: remove redundant cookie write that made tokenPair a session cookie by @FelixMalfait in #18795
  • fix: autogrow input sizing + surface nested error details in upgrade command by @charlesBochet in #18796
  • fix: backfill missing ids on SELECT/MULTI_SELECT field metadata options by @charlesBochet in #18797
  • Avoid side panel tab overriden by show page by @thomtrp in #18800
  • fix: add missing LEFT JOIN for relation fields in groupBy orderByForRecords by @charlesBochet in #18798
  • fix: update workspace members state on profile onboarding completion by @charlesBochet in #18799
  • fix - handle invoice.paid webhook to recover unpaid subscriptions by @etiennejouan in #18770
  • Direct graphql execution by @etiennejouan in #18759
  • Add a note to documentation about variable change by @BOHEUS in #18752
  • Fix orphan navigation menu items for deleted views by @channi23 in #18791
  • fix: decouple viewPicker favorite detection from sorted navigation menu items by @charlesBochet in #18803
  • Clean workflow query invalid input errors from sentry by @thomtrp in #18804
  • feat: secure and user-scope metadata resolvers for messaging infrastructure by @charlesBochet in #18787
  • fix useless auth in sdk gql codegen command by @etiennejouan in #18805
  • i18n - translations by @github-actions[bot] in #18806
  • i18n - docs translations by @github-actions[bot] in #18807
  • fix(links): preserve percent-encoded URLs during normalization by @Dailin521 in #18792
  • fix: restore original migration timestamp for messaging infrastructure by @charlesBochet in #18810
  • Fix page scrolling when layout customization bar is visible by @abdulrahmancodes in #18802
  • [Fix]: Vertical bar charts with max data range do not show data up to the top if above max data range by @carbonFibreCode in #18748
  • Fix AI chat re-renders and refactored code by @lucasbordeau in #18585
  • fix: prevent blank subdomain from being saved by @oniani1 in #18812
  • i18n - translations by @github-actions[bot] in #18822
  • feat: replace hardcoded AI model constants with JSON seed catalog by @FelixMalfait in #18818
  • i18n - translations by @github-actions[bot] in #18823
  • fix: board view loads all records instead of showing skeleton placeholders by @charlesBochet in #18824
  • fix: prevent FIND_RECORDS from silently dropping unresolved filter variables by @oniani1 in #18814
  • fix: skip chat messages query when thread ID is the unknown-thread default by @neo773 in #18828
  • feat: store SSO connections as connected accounts during sign-in by @charlesBochet in #18825
  • Fetch load more on group by by @thomtrp in #18811
  • fix: prevent localStorage bloat from derived fields on mock metadata by @FelixMalfait in #18809
  • refactor: rename ObjectMetadataItem to EnrichedObjectMetadataItem and clean up metadata flows by @charlesBochet in #18830
  • [Chore]: Migration to dynamic view names for standard views by @carbonFibreCode in #18701
  • Add In-Reply-To to Email Workflow Node by @neo773 in #18641
  • fix: auto-retry Microsoft OAuth on AADSTS650051 race condition by @311u1 in #18405
  • i18n - translations by @github-actions[bot] in #18831
  • i18n - docs translations by @github-actions[bot] in #18832
  • Improve helm chart // Fix linting issues & introduce Redis externalSecret for redis password // Add additional ENVs // Improve migrations by @HuppertzL in #18157
  • fix(helm): add unit tests, extraEnv schema validation, and minor fixes by @charlesBochet in #18836
  • fix: reset form defaultValues after save to fix dirty detection by @bugisthegod in #18835
  • Create command menu items for workflows with manual trigger by @bosiraphael in #18746
  • i18n - translations by @github-actions[bot] in #18837
  • Fix: TypeError: Cannot convert undefined or null to object by @SONARly[bot] in #18333
  • Allow users to create Fields and Field widget by @Devessier in #18801
  • i18n - translations by @github-actions[bot] in #18838
  • Migrate field widgets to backend by @Devessier in #18808
  • i18n - translations by @github-actions[bot] in #18839
  • Fix migration crash: agent.modelId NOT NULL violation by @FelixMalfait in #18844
  • Add billing usage analytics dashboard with ClickHouse integration by @FelixMalfait in #18592
  • Show AI provider sections regardless of billing status by @FelixMalfait in #18845
  • i18n - translations by @github-actions[bot] in #18846
  • chore: improve i18n workflow to prevent stale compiled translations by @FelixMalfait in #18850
  • fix: run AI catalog sync as standalone script to avoid DB dependency by @FelixMalfait in #18853
  • chore: sync AI model catalog from models.dev by @github-actions[bot] in #18854
  • chore: trigger automerge for AI catalog sync PRs by @FelixMalfait in #18855
  • Fix deploy: remove stale @ai-sdk/groq from yarn.lock by @charlesBochet in #18863
  • fix: add security headers to file serving endpoints to prevent stored XSS by @FelixMalfait in #18857
  • Update BackfillCommandMenuItemsCommand with workflow backfill by @bosiraphael in #18848
  • Ensure command backfills all relations as Field widget by @Devessier in #18858
  • Fix e2e test by @etiennejouan in #18866
  • Rename "New sidebar item" to "New menu item" by @abdulrahmancodes in #18859
  • i18n - translations by @github-actions[bot] in #18873
  • Fix: Background color selected row + border bottom settings tab by @thomtrp in #18870
  • Fix workspace dropdown truncation and center auth titles by @Bonapara in #18869
  • Fix multi-select option removal crashing when records contain removed values by @charlesBochet in #18871
  • Add visual regression CI for twenty-ui by @charlesBochet in #18877
  • chore: add explicit return type to getBackgroundColor by @charlesBochet in #18878
  • chore: sync AI model catalog from models.dev by @github-actions[bot] in #18885
  • chore: optimize app-dev Docker image and add CI test by @FelixMalfait in #18856
  • [AI] Fix new chat button stacking side panel and auto-focus editor by @ehconitin in #18875
  • Fix twenty app dev image by @martmull in #18852
  • i18n - docs translations by @github-actions[bot] in #18903
  • Fix rich text widget edition by @Devessier in #18899
  • fix: ai providers json formatting by @neo773 in #18910
  • Fix cropped view/link overlay icons in collapsed navigation sidebar by @abdulrahmancodes in #18883
  • Fix lambda driver by @martmull in #18907
  • Perf investigation - Time qgl query by @etiennejouan in #18911
  • fix: validate blocknote JSON in rich text fields by @charlesBochet in #18902
  • i18n - translations by @github-actions[bot] in #18915
  • Fix duplicate views creation in command by @Devessier in #18900
  • fix: insert-before folder for workspace DnD and add-to-nav drags by @abdulrahmancodes in #18789
  • Display found items after full items loaded by @thomtrp in #18914
  • Fix double arrow by @martmull in #18916
  • fix: metadata store lifecycle during sign-in, sign-out, and locale change by @charlesBochet in #18901
  • Fix readme by @martmull in #18918
  • Fix documentation by @martmull in #18917
  • Fix navigation “add before/after” insertion index by @abdulrahmancodes in #18879
  • Refactor: Unify command menu item execution by @bosiraphael in #18908
  • Fix batch update optimistic and prevent accidental mass-update by @samuelarbibe in #17213
  • i18n - translations by @github-actions[bot] in #18920
  • i18n - translations by @github-actions[bot] in #18922
  • i18n - docs translations by @github-actions[bot] in #18925
  • Fix visual regression dispatch for fork PRs by @charlesBochet in #18921
  • Refactor backfill-command-menu-items to use a single validateBuildAndRun call by @bosiraphael in #18923
  • send X-Schema-Version header when metadataVersion is 0 by @thomtrp in #18924
  • Add record table widget to dashboards by @lucasbordeau in #18747
  • i18n - translations by @github-actions[bot] in #18926
  • Refactor twenty client sdk provisioning for logic function and front-component by @prastoin in #18544
  • i18n - translations by @github-actions[bot] in #18930
  • i18n - docs translations by @github-actions[bot] in #18931
  • i18n - docs translations by @github-actions[bot] in #18932
  • Batch create, update, and delete navigation menu items by @abdulrahmancodes in #18882
  • Unify auth context → role permission config resolution into a single pure utility by @FelixMalfait in #18927
  • i18n - docs translations by @github-actions[bot] in #18934
  • Use side panel sub-pages for add-to-folder flow by @abdulrahmancodes in #18872
  • Add twenty-sdk-client to deployed packages unique version check by @martmull in #18933
  • i18n - translations by @github-actions[bot] in #18935
  • Set system object icon colors to gray in New menu item flows by @abdulrahmancodes in #18862
  • Animate the sidebar when opening/closing an element in the "opened" section by @abdulrahmancodes in #18867
  • i18n - translations by @github-actions[bot] in #18936
  • i18n - docs translations by @github-actions[bot] in #18938
  • i18n - docs translations by @github-actions[bot] in #18941
  • i18n - docs translations by @github-actions[bot] in #18942
  • fix navigation menu item overflow issue by @abdulrahmancodes in #18937
  • fix logo upload during workspace onboarding by @neo773 in #18905
  • Migrate twenty-companion from npm to yarn workspaces by @charlesBochet in #18946
  • fix: reset throttle state on channel relaunch by @neo773 in #18843
  • Do not rollback on cache invalidation failure in workspace migration runner by @prastoin in #18947
  • Fix object permission override by @thomtrp in #18948
  • Fix: use user role for OAuth tokens bearing user context by @ijreilly in #18954
  • fix: wrap standard object/field metadata labels in msg for i18n extraction by @FelixMalfait in #18951
  • i18n - translations by @github-actions[bot] in #18955
  • i18n - translations by @github-actions[bot] in #18956
  • i18n - translations by @github-actions[bot] in #18958
  • Split command menu items backfill into separate migration runs per application by @charlesBochet in #18957
  • Add object type filter dropdown to side panel record searches by @FelixMalfait in #18912
  • i18n - translations by @github-actions[bot] in #18967
  • feat: add S3 presigned URL redirect for file downloads by @FelixMalfait in #18864
  • Fix: default to allow-read when object permissions are not yet loaded by @charlesBochet in #18971
  • i18n - docs translations by @github-actions[bot] in #18976
  • Fix record page layout upgrade commands by @Devessier in #18962
  • Add record table widget feature flag by @lucasbordeau in #18960
  • Fix SSE event stream errors when impersonating users with limited permissions by @thomtrp in #18966
  • Add multiselect option to form step by @thomtrp in #18979
  • Do not run loop when iterator is skipped by @thomtrp in #18964
  • fix SVG icon sizing broken in Chrome 142 by @charlesBochet in #18974
  • Fixed board no value column not fetching more by @lucasbordeau in #18977
  • i18n - docs translations by @github-actions[bot] in #18981
  • i18n - docs translations by @github-actions[bot] in #18982
  • chore(deps): bump @linaria/core from 6.2.0 to 6.3.0 by @dependabot[bot] in #18984
  • chore(deps): bump @ai-sdk/xai from 3.0.59 to 3.0.74 by @dependabot[bot] in #18986
  • chore(deps): bump @microsoft/microsoft-graph-types from 2.40.0 to 2.43.1 by @dependabot[bot] in #18985
  • [AI] Match ai chat composer to figma by @ehconitin in #18874
  • i18n - translations by @github-actions[bot] in #18987
  • [AI] Refactor settings search to use SearchInput and restructure Skills tab by @ehconitin in #18876
  • i18n - translations by @github-actions[bot] in #18988
  • fix: prevent saving API key with empty name by @bugisthegod in #18970
  • i18n - translations by @github-actions[bot] in #18990
  • feat: make workflow objects searchable by @FelixMalfait in #18906
  • Use record page layouts in the merge records feature by @Devessier in #18961
  • fix: handle dashboard filters referencing deleted fields by @ehconitin in #18512
  • i18n - translations by @github-actions[bot] in #18997
  • fix dashboard widget edit mode content by @ehconitin in #18965
  • fix: prevent empty array id.in filter in single record picker by @FelixMalfait in #18995
  • [Ai] fix overflow on new chat button by @ehconitin in #18996
  • fix: hide "Move to folder" when no destination folder is available by @abdulrahmancodes in #18992
  • Refactor dependency graph for SDK, client-sdk and create-app by @prastoin in #18963
  • Bump prelease version sdk, sdk-client, create-twenty-app by @prastoin in #19000
  • fix: hide objects with no addable views in sidebar view picker by @abdulrahmancodes in #18993
  • connected accounts follow up by @neo773 in #18998
  • [AI] Navigation panel scroll refactor + Non chat placeholder by @ehconitin in #18999
  • Add missing row lvl permission check on Kanban view by @thomtrp in #19002
  • i18n - translations by @github-actions[bot] in #19011
  • [AI] replace custom styles with MenuItem and SidePanelGroup in AI agent persmissions tab by @ehconitin in #19003
  • Fix format result by @etiennejouan in #18975
  • [SDK] twenty-ui/display selective re-export to avoid bloating icons by @prastoin in #19010
  • feat: add command menu item to layout customization by @ehconitin in #18764
  • i18n - translations by @github-actions[bot] in #19014
  • Fix create new with filters by @lucasbordeau in #18969
  • Fix board drag and drop issues by @lucasbordeau in #19005
  • [Apps SDK] Add error message if relationType is missing by @ijreilly in #19006
  • i18n - translations by @github-actions[bot] in #19018
  • feat: support authType on AI providers for IAM role authentication by @FelixMalfait in #19016
  • fix: update settings page for mobile viewport by @harshit078 in #18991
  • i18n - translations by @github-actions[bot] in #19019
  • Fix: Cannot create two workflow agent nodes because these have the same name by @thomtrp in #19015
  • Fix not shared chip height + hard coded border radius by @Bonapara in #19020
  • Clear navbar edit selection when closing the side panel by @abdulrahmancodes in #18940
  • [Dashboards] fix rich text widget AGAIN by @ehconitin in #19017
  • Combine and clean upgrade commands for record page layouts by @Devessier in #19004
  • chore: sync AI model catalog from models.dev by @github-actions[bot] in #19028
  • fix: gate command-menu-items query behind feature flag by @charlesBochet in #19029
  • fix: batch viewGroup mutations sequentially to prevent race conditions by @cyphercodes in #19027
  • fix: remove remaining direct cookie writes that make tokenPair a session cookie on renewal by @FelixMalfait in #19031
  • fix: sign file URLs in timeline and file loss on click outside by @bugisthegod in #19001
  • Refactor client auto heal by @prastoin in #19032
  • refacto - remove hello-pangea/dnd from navigation-menu-item module by @etiennejouan in #19033
  • Seed company workflow for email upserts by @Bonapara in #18909
  • First PR to bring in the new twenty website. by @mabdullahabaid in #19035
  • fix: use workspace-generated id for core dual-write in message folder save by @neo773 in #19038
  • Migrate field permission to syncable entity by @abdulrahmancodes in #18751
  • i18n - translations by @github-actions[bot] in #19040
  • Guard yarn database:migrate:prod by @prastoin in #19008
  • fix: resolve availabilityObjectMetadataUniversalIdentifier in backfill command by @charlesBochet in #19041
  • Enforce workspace count limit for multi-workspace setups by @FelixMalfait in #19036
  • i18n - translations by @github-actions[bot] in #19046
  • Fix backfill record page layout command by @Devessier in #19043
  • fix: invalidate rolesPermissions cache + add Docker Hub auth to CI by @charlesBochet in #19044
  • i18n - translations by @github-actions[bot] in #19048
  • Fix INDEX view showing labelPlural instead of resolved view name in nav by @charlesBochet in #19049
  • Deprecate dataSource table with dual-write to workspace.databaseSchema by @charlesBochet in #19059
  • feat: optimize hot database queries with multi-layer caching by @charlesBochet in #19068
  • i18n - translations by @github-actions[bot] in #19073
  • fix: resolve settings/usage chart crash and add ClickHouse usage event seeds by @FelixMalfait in #19039
  • i18n - translations by @github-actions[bot] in #19076
  • chore: sync AI model catalog from models.dev by @github-actions[bot] in #19078
  • chore: remove completed migration feature flags and upgrade commands <= 1.18 by @charlesBochet in #19074
  • chore: remove IS_DASHBOARD_V2_ENABLED feature flag by @charlesBochet in #19079
  • i18n - translations by @github-actions[bot] in #19080
  • chore: remove IS_APPLICATION_ENABLED feature flag by @charlesBochet in #19081
  • chore: remove IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED and IS_DATE_TIME_WHOLE_DAY_FILTER_ENABLED feature flags by @charlesBochet in #19082
  • chore: sync AI model catalog from models.dev by @github-actions[bot] in #19100
  • Provide applicatiion assets by @martmull in #18973
  • Fix warning about ../../tsconfig.base.json not found by @martmull in #19105
  • i18n - translations by @github-actions[bot] in #19108
  • More parts of the new website. by @mabdullahabaid in #19094
  • i18n - docs translations by @github-actions[bot] in #19113
  • Fix workspace dropdown by @bosiraphael in #19106
  • fix: convert empty parentFolderId to null in messageFolder core dual-write by @neo773 in #19110
  • Fix record name hover by @bosiraphael in #19109
  • i18n - docs translations by @github-actions[bot] in #19119
  • fix: use Redis metadata version for GraphQL response cache key by @charlesBochet in #19111
  • Fix export view by @bosiraphael in #19117
  • Fix navigation menu edition by @bosiraphael in #19115
  • Fix - Not shared message on record index by @etiennejouan in #19103
  • i18n - translations by @github-actions[bot] in #19125
  • messaging cleanup by @neo773 in #19124
  • chore: remove 1-19 upgrade commands and navigation menu item feature flags by @charlesBochet in #19083
  • [APP] Stricter API assertions by @prastoin in #19114
  • Fix cropped calendar event name by @bosiraphael in #19126
  • i18n - docs translations by @github-actions[bot] in #19128
  • Improve apps by @martmull in #19120
  • i18n - translations by @github-actions[bot] in #19129
  • Gql direct execution - Improvements by @etiennejouan in #18972
  • Fix - Remove signFileUrl method by @etiennejouan in #19121
  • clean paddings in favorites section by @Bonapara in #19112
  • Fix databaseSchema migration by @Weiko in #19132
  • feat: add resumable stream support for agent chat by @FelixMalfait in #19107
  • i18n - translations by @github-actions[bot] in #19134
  • i18n - docs translations by @github-actions[bot] in #19135
  • [SDK] Extract twenty-front-component-renderer outside of twenty-sdk ( 2.8MB ) by @prastoin in #19021
  • Fix widgets drag handles by @bosiraphael in #19133
  • i18n - docs translations by @github-actions[bot] in #19137
  • i18n - docs translations by @github-actions[bot] in #19139
  • i18n - docs translations by @github-actions[bot] in #19142
  • 0.8.0.canary.7 bump by @prastoin in #19150
  • Fix TransactionNotStartedError by @Weiko in #19155
  • fix: show disabled file chip when file no longer exists in timeline by @bugisthegod in #19045
  • i18n - translations by @github-actions[bot] in #19158
  • Fix upgrade commands 2 by @charlesBochet in #19157

New Contributors

Full Changelog: v1.19.0...v1.20.0

Don't miss a new twenty release

NewReleases is sending notifications on new releases.