Twenty
The open alternative to Salesforce, designed for AI
Alternative to: salesforce, hubspot, pipedrive, zoho crm
About
Versions (86)
v2.0.0
2026-04-21What’s Changed
- Fix app design 4 by @martmull in https://github.com/twentyhq/twenty/pull/19803
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19805
- Fix indexFieldMetadata select missing workspaceId by @Weiko in https://github.com/twentyhq/twenty/pull/19806
- Add SVG export and refine halftone studio controls by @Bonapara in https://github.com/twentyhq/twenty/pull/19813
- Fix deactivated tabs not visible in new tab action by @Weiko in https://github.com/twentyhq/twenty/pull/19811
- fix: socket.io allows an unbounded number of binary attachments by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/19812
- Twenty for twenty app by @bosiraphael in https://github.com/twentyhq/twenty/pull/19804
- Disable reset to default when custom tab or widget by @Weiko in https://github.com/twentyhq/twenty/pull/19814
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19817
- Add reset page layout in record page layout edit mode tab by @Weiko in https://github.com/twentyhq/twenty/pull/19800
- Add twenty-managed Docker target with AWS CLI for EKS deployments by @neo773 in https://github.com/twentyhq/twenty/pull/19816
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19819
- Add page layout tab icon picker by @Weiko in https://github.com/twentyhq/twenty/pull/19818
- Fix app design 5 by @martmull in https://github.com/twentyhq/twenty/pull/19820
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19821
- fix(server): normalize empty composite phone sub-fields to NULL by @NathanDrake2406 in https://github.com/twentyhq/twenty/pull/19775
- fix(server): make
workspace:seed:dev --lightactually seed only one workspace by @charlesBochet in https://github.com/twentyhq/twenty/pull/19822 - fix(server): log inner errors of WorkspaceMigrationRunnerException in workspace iterator by @charlesBochet in https://github.com/twentyhq/twenty/pull/19823
- chore(server): bump logic-function executor lambda memory to 512MB by @charlesBochet in https://github.com/twentyhq/twenty/pull/19826
- fix(server): skip standard page layout widgets referencing missing field metadatas during 1.23 backfill by @charlesBochet in https://github.com/twentyhq/twenty/pull/19825
- fix(server): honor X-Forwarded-* via configurable trust proxy by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19824
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19828
- fix oauth permission check by @neo773 in https://github.com/twentyhq/twenty/pull/19829
- perf(server): reuse ESM module cache across warm Lambda invocations of logic functions by @charlesBochet in https://github.com/twentyhq/twenty/pull/19830
- fix(server): deliver user-scoped metadata events only to the owning user by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19832
- perf(sdk): split twenty-sdk barrel into per-purpose subpaths to cut logic-function bundle ~700x by @charlesBochet in https://github.com/twentyhq/twenty/pull/19834
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 1.23.0-canary.1 by @charlesBochet in https://github.com/twentyhq/twenty/pull/19841
- refactor(server): rename Agent exception to Ai; add THREAD_NOT_FOUND / MESSAGE_NOT_FOUND codes (fixes 500s) by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19831
- chore: remove draft email feature flag by @neo773 in https://github.com/twentyhq/twenty/pull/19842
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19843
- fix(server): require PKCE code_challenge for public OAuth clients by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19840
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19844
- fix(server): align OAuth discovery metadata with MCP / RFC 9728 spec by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19838
- fix(server): expose WWW-Authenticate header for browser-based MCP clients by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19836
- Hero 2.0 by @Bonapara in https://github.com/twentyhq/twenty/pull/19846
- [Website] Fix testimonials shape, diamond direction, and integrate partner application form. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/19835
- fix: correct sSOService → ssoService camelCase typo by @avasis-ai in https://github.com/twentyhq/twenty/pull/19845
- refactor: standardize AI acronym to Ai (PascalCase) across internal identifiers by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19837
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19851
- feat: move admin panel to dedicated /admin-panel GraphQL endpoint by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19852
- chore: sync AI model catalog from models.dev by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19866
- Partners, customers and more by @Bonapara in https://github.com/twentyhq/twenty/pull/19862
- fix(server): add registration_client_uri to DCR response for Claude.ai connector by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19858
- Fix app design 6 by @martmull in https://github.com/twentyhq/twenty/pull/19827
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19869
- Billing - fixes by @etiennejouan in https://github.com/twentyhq/twenty/pull/19867
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19873
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19874
- fix(front): suppress full-page skeleton inside auth modal by @charlesBochet in https://github.com/twentyhq/twenty/pull/19875
- fix: prototype pollution via parse in nodejs flatted by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/19870
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19880
- fix(front): gate renewToken Apollo logger on IS_DEBUG_MODE by @charlesBochet in https://github.com/twentyhq/twenty/pull/19878
- feat(sdk): support viewSorts in app manifests by @charlesBochet in https://github.com/twentyhq/twenty/pull/19881
- fix 1.22 upgrade command add-workspace-id-to-indirect-entities by @neo773 in https://github.com/twentyhq/twenty/pull/19868
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 1.23.0-canary.9 by @charlesBochet in https://github.com/twentyhq/twenty/pull/19883
- Redesign why-twenty page with three-section narrative by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19882
- Billing - Adapt to new unit by @etiennejouan in https://github.com/twentyhq/twenty/pull/19886
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19888
- fix(ui): make CardPicker hover cover the whole card and align content left by @charlesBochet in https://github.com/twentyhq/twenty/pull/19884
- Website - Plan pricing update by @etiennejouan in https://github.com/twentyhq/twenty/pull/19887
- Cleanup files that were committed with website PR, but should not be there. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/19891
- Fix applications query cartesian product causing read timeouts by @charlesBochet in https://github.com/twentyhq/twenty/pull/19892
- Translate standard page layouts by @Weiko in https://github.com/twentyhq/twenty/pull/19890
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19893
- [Website] Self-host billing migration and some responsiveness fixes. by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/19894
- fix(server): scope loadingMessage wrap/strip to AI-chat callers by @FelixMalfait in https://github.com/twentyhq/twenty/pull/19896
- feat(infra): add Dockerfile for twenty-website-new by @charlesBochet in https://github.com/twentyhq/twenty/pull/19901
- Fix Apps UI: replace ‘Managed’ label with actual app name and unify app icons by @charlesBochet in https://github.com/twentyhq/twenty/pull/19897
- fix(infra): copy nx.json and tsconfig.base.json into website-new image by @charlesBochet in https://github.com/twentyhq/twenty/pull/19902
- i18n - translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19903
- chore(workflow): temporarily lift credit-cap gate on workflow steps by @charlesBochet in https://github.com/twentyhq/twenty/pull/19904
- fix(website-new): pre-resolve wyw-in-js babel presets to absolute paths by @charlesBochet in https://github.com/twentyhq/twenty/pull/19905
- Fix activity relation picker by @Weiko in https://github.com/twentyhq/twenty/pull/19898
- Release v1.23.0 for twenty-sdk, twenty-client-sdk, and create-twenty-app by @charlesBochet in https://github.com/twentyhq/twenty/pull/19906
- chore(server): bump current version to 2.0.0 and add 2.1.0 as next by @charlesBochet in https://github.com/twentyhq/twenty/pull/19907
- docs: use twenty-sdk/define subpath in docs and website demo by @charlesBochet in https://github.com/twentyhq/twenty/pull/19908
- i18n - docs translations by @github-actions[bot] in https://github.com/twentyhq/twenty/pull/19909
- Release v2.0.0 for twenty-sdk, twenty-client-sdk, and create-twenty-app by @charlesBochet in https://github.com/twentyhq/twenty/pull/19910
- Website last fixes by @Bonapara in https://github.com/twentyhq/twenty/pull/19895
- fix: pricing card cutoff on website by @mabdullahabaid in https://github.com/twentyhq/twenty/pull/19913
- feat(website-new): add robots.txt, sitemap.xml and legacy redirects by @charlesBochet in https://github.com/twentyhq/twenty/pull/19911
- fix(settings): force display “Standard” and “Custom” for app chips by @charlesBochet in https://github.com/twentyhq/twenty/pull/19912
New Contributors
- @NathanDrake2406 made their first contribution in https://github.com/twentyhq/twenty/pull/19775
- @avasis-ai made their first contribution in https://github.com/twentyhq/twenty/pull/19845
Full Changelog: https://github.com/twentyhq/twenty/compare/v1.23.0…v2.0.0