What's Changed
- feat(auth): resume workspace selection on /welcome with valid tokenPair cookie by @FelixMalfait in #20575
- chore: bump version to 2.6.0 by @twenty-pr[bot] in #20585
- Bump twenty-sdk, twenty-client-sdk, create-twenty-app to 2.5.0 by @charlesBochet in #20587
- fix(server): batch upgrade migration inserts to stay under PG param limit by @charlesBochet in #20588
- fix(server): drop correlated subquery in getWorkspaceLastAttemptedCommandName by @charlesBochet in #20591
- fix(server): treat plaintext-under-isSecret rows as plaintext in app variable encryption migration by @charlesBochet in #20590
- chore: sync AI model catalog from models.dev by @github-actions[bot] in #20601
- feat(secret-encryption): drop APP_SECRET from approved-access-domain validation and session cookies by @charlesBochet in #20580
- [Website] Make product stepper visuals interactive. by @mabdullahabaid in #20602
- fix(docker): pin node:24-alpine to 24.15.0-alpine3.23 digest by @charlesBochet in #20603
- fix(docs): replace removed Mintlify build command by @Ariqhermawan in #20578
- feat(admin-panel): signing keys management tab with usage tracking by @charlesBochet in #20586
- i18n - translations by @github-actions[bot] in #20605
- fix(server): rebuild unique phone indexes drops legacy non-empty partial WHERE clause by @charlesBochet in #20606
- feat(twenty-front): relation traversal in filter dropdown (stacked) by @FelixMalfait in #20533
- i18n - translations by @github-actions[bot] in #20609
- fix(server): normalize composite defaultValues in manifest converter (unblock app re-install on 2.5-normalized workspaces) by @charlesBochet in #20615
- chore: sync AI model catalog from models.dev by @github-actions[bot] in #20620
- feat(auth): set 50-character maximum length on passwords by @FelixMalfait in #20655
- i18n - translations by @github-actions[bot] in #20661
- fix(front): use theme-aware color for side panel title by @shubham-0707 in #20645
- fix(twenty-front): anchor body text color to theme var by @ehconitin in #20622
- fix(server): scope workspace findOne in incrementMetadataVersion by @charlesBochet in #20660
- fix(server): add relationTargetFieldMetadataId column early in upgrade sequence by @charlesBochet in #20664
- fix(server): correct OpenAPI schema for phones.additionalPhones by @HachemOuanes in #20631
- fix(front): align currency icon vertically with amount text by @shubham-0707 in #20646
- fix(server): handle network errors in RestApiService catch block by @shubham-0707 in #20644
- [1/3] Rename permissionFlag to rolePermissionFlag + add permissionFlag catalog/backfill by @ehconitin in #20481
- i18n - translations by @github-actions[bot] in #20674
- Add MCP tool annotations by @Bonapara in #20672
- fix(billing) - query timeout by @etiennejouan in #20669
- Add OpenAI Apps domain challenge file by @Bonapara in #20677
- i18n - docs translations by @github-actions[bot] in #20680
- perf(server): index messageChannel/calendarChannel for per-workspace sync crons by @charlesBochet in #20678
- [Navigation Drawer] Multiple fixes in settings and app drawer by @ehconitin in #20634
- Fix 19026 deactivated relation unassignable by @Lakshayyy-m in #19296
- i18n - translations by @github-actions[bot] in #20685
- fix(ai-chat) - upload files by @etiennejouan in #20681
- feat(server): upgrade-aware entity decorators for cross-version upgrades by @charlesBochet in #20686
- Update pricing plan cards by @Bonapara in #20614
- fix(server): handle legacy PK name in 2.6 rename-permission-flag upgrade by @charlesBochet in #20697
New Contributors
- @Ariqhermawan made their first contribution in #20578
- @shubham-0707 made their first contribution in #20645
- @HachemOuanes made their first contribution in #20631
Full Changelog: v2.5.0...v2.6.0