What's Changed
- Tablist fix by @ehconitin in #9216
- Current workspace member filter (#8016) by @eliasylonen in #9182
- feat(database): Add trigger to set impersonation on first user by @AMoreaux in #9195
- quick fix for positionInViewFilterGroup by @guillim in #9223
- fix: settings form select menu by @harshrajeevsingh in #9179
- refacto(*): remove everything about default workspace by @AMoreaux in #9157
- Add backup commands to documentation by @BOHEUS in #9224
- refactor(workspace): clean up resolver and improve error handling by @AMoreaux in #9225
- Make the workflow's visualizer layout more stable by @Devessier in #9203
- Ensure step is selected after creation when a new version has to be created by @Devessier in #9218
- Refactored and improved seeds by @lucasbordeau in #8695
- Restore "Fix "Create profile" page not supporting dark mode (#8110)" & Fix string defaultValues during sync-metadata by @Weiko in #9220
- Fixed relations by @lucasbordeau in #9227
- search in settings phones by @guillim in #9228
- Floating inputs border radius fix by @ehconitin in #9237
- Make record name editable on show page by @thomtrp in #9172
- Fix creation of a new view duplicating existing filters by @ijreilly in #9240
- Fix right drawer actions by @bosiraphael in #9241
- Fix see versions and runs hooks by @thomtrp in #9244
- Scroll vertical-horizontal visibility seperation by @ehconitin in #9221
- Fix workflow activate last version by @bosiraphael in #9243
- Aggregate fast follows (1) by @ijreilly in #9233
- Fix filter by url by @thomtrp in #9247
- Fix click outside on board by @bosiraphael in #9252
- Allow multiple folder to be open at once by @ehconitin in #9242
- fix: last field overflow by @harshrajeevsingh in #8510
- Fix glitch at aggregate operation update by @ijreilly in #9253
- Add post hooks for workflow deletion by @thomtrp in #9258
- Added all field types on pet custom object by @lucasbordeau in #9248
- fix(spreadsheet-import): add background and border styles to DropdownMenu in
MatchColumnSelect
by @samyakpiya in #9255 - Remove delete action from workflow versions and runs by @bosiraphael in #9261
- Fix csv import dropdown overlay by @Weiko in #9262
- Fix: Make DropdownMenuSeparator background transparent based on theme by @muraliSingh7 in #9037
- Webhook Secret Field Implementation and Security Enhancements (#9187) by @samyakpiya in #9219
- docs: console.log invaluable typo by @aayushchugh in #9234
- Delete .github/ISSUE_TEMPLATE/oss-gg-hack-submission.yml by @FelixMalfait in #9271
- Export Notes to PDF/Word Feature Implementation (#8439) by @samyakpiya in #9269
- Add throttling on workflow execution by @thomtrp in #9263
- Clicking a phone number should copy its value by @Lucifer4255 in #9069
- Refactor SnackBar API by @samyakpiya in #9276
- Command menu refactoring by @bosiraphael in #9257
- Fix go to draft link by @thomtrp in #9282
- Fix shrinked horizontal separator by @Devessier in #9192
- Fix command menu action click by @bosiraphael in #9285
- Fix use as draft redirection by @thomtrp in #9284
- Fix Navigation drawer design for object path by @thomtrp in #9290
- forget defaultworkspace update by @guillim in #9292
- Change Apollo cache policy by @FelixMalfait in #9296
- Fix text color issue in CustomSlashMenu for dark mode by @khuddite in #9280
- Refactor File Download Logic and Streamline Test Suite by @samyakpiya in #9281
- Add cursor rules by @FelixMalfait in #9268
- Refactored table unnamed cells behaviour by @harshrajeevsingh in #9264
- Pass Billing Checkout var in url to bypass credit card by @FelixMalfait in #9283
- Fix NavigationDrawer story by @TakuyaKurimoto in #9235
- Add NX commands to twenty-e2e-testing package by @BOHEUS in #9222
- add command to sync plan data from stripe, doing testing by @anamarn in #9177
- Refacto workflow folders by @thomtrp in #9302
- fix "Relations" not displayed on kanban views by @guillim in #9301
- Fixed Table Header click for options dropdown by @harshrajeevsingh in #9300
- Performance improvement to dev xp by @FelixMalfait in #9294
- fix: Make kanban view creation text dynamic based on the object type by @Anuj012004 in #9310
- 9260 refactor multiple record actions and no selection actions by @bosiraphael in #9314
- Continue workflow folders re-ordering by @thomtrp in #9315
- Add E2E tests by @FelixMalfait in #9309
- Fix frontend bug when filtering with special character by @FelixMalfait in #9307
- fix: Resolve "Can't delete an account" issue (#9232) by @melvinjariwala in #9238
- Fix user deletion when workspace is deleted by @Weiko in #9321
- Deprecate share email thread by @Weiko in #9319
- fix: view group followup by @magrinj in #9162
- Aggregate count variations by @ijreilly in #9304
- Workflow phone number field by @thomtrp in #9324
- Create migration for aggregate operation options by @ijreilly in #9318
- Do not reset number on country change by @thomtrp in #9329
- Fixed context menu on index page by @lucasbordeau in #9316
- Creating a new task is not very smooth by @guillim in #9326
- Fixed import modal content scroll bug by @ehconitin in #9330
- Fix select all by @bosiraphael in #9337
- Remove env-config.js by @FelixMalfait in #9331
- Fix access to workflow version by @bosiraphael in #9335
- Fix creation from empty state by @thomtrp in #9341
- Minor fixes on context menu by @lucasbordeau in #9340
- tiny margin error by @guillim in #9343
- Add createdBy source for workflows by @thomtrp in #9342
- adding some delay for tooltip by @guillim in #9339
- Update README by @FelixMalfait in #9351
- Typo in Settings - Emails by @BOHEUS in #9355
- fix: Group by not visible for table by @magrinj in #9365
- refactor(workspace, users, billing): remove default workspace + rename by @AMoreaux in #9360
- fix : Update local setup doc by @etiennejouan in #9383
- Move the workflow draft version overriding to the backend by @Devessier in #9328
- Add Currency form field by @martmull in #9389
- Add count and percent aggregations to kanban headers by @ijreilly in #9348
- Workflow dark mode improvements by @Devessier in #9412
- Fix use as draft by @bosiraphael in #9413
- feat(sso): add support for identityProviderId in SAML flow by @AMoreaux in #9411
- Remove buggy refetch query by @martmull in #9420
- Fix inject runtime env by @Weiko in #9421
- feat: put back group by feature flag by @magrinj in #9428
- Refactor activate workflow actions by @bosiraphael in #9434
- [9382][FRONT]: Compute highlighted object view using raw name plural by @prastoin in #9394
- Move capitalize into twenty-shared by @ijreilly in #9414
- Remove serverless functions on soft delete by @martmull in #9438
- Fixed single record select hotkeys by @lucasbordeau in #9433
- refactor(auth): integrate react-hook-form context by @AMoreaux in #9417
- Sort create record action fields by view field position by @thomtrp in #9443
- Minor active navigation drawer item label font color fix by @ehconitin in #9356
- fix: avoid clipping by aggregate footer by @mdrazak2001 in #9403
- Fixed date input fields by @lucasbordeau in #9442
- [REFACTOR][FRONT]: Remove objectMetadata and fieldMetadata sluggification by @prastoin in #9441
- Multi item input hotkeys fixes by @lucasbordeau in #9453
- Navigation drawer scroll padding fix by @ehconitin in #9141
- Animated the Sidebar Objects Tree view opening/closing by @ehconitin in #9287
- Remove identifierFieldMetadataId from createObjectInput by @ijreilly in #9450
- Fix dropdown input design by @etiennejouan in #9439
- Implement aggregate operations on dates by @ijreilly in #9444
- fix(sso): adjust callback URL generation for SAML and OIDC by @AMoreaux in #9460
- Fix deployment-db manifest according to docker-compose file by @david-sykora in #9447
- fix(auth, workspace-invitation): enforce required subdomains by @AMoreaux in #9464
- Fix : #8825 If attachment token expires, it throws a 500 error instead of Unauthenticated by @munch-lax in #9043
- Fix: Proper HTTP Status Code Usage for Authentication and Authorization Errors by @yadavshubham01 in #9463
- Fix scalar throwing 500 by @Weiko in #9465
- Migrate right drawer record page to the command menu by @bosiraphael in #9459
- Navigation drawer sibling gap fix by @ehconitin in #9472
- Force workflow step detail re-create by @thomtrp in #9476
- Include Date fields in aggregate operations on dates by @ijreilly in #9479
- Revert "Change Apollo cache policy" by @Weiko in #9480
- fix: add logo url response status check when creating workspace by @etiennejouan in #9474
- Open emails and calendar events inside command menu by @bosiraphael in #9477
- accessibility: make dropdowns accessible by @malomarrec in #9475
- Destroy connected account when deleting workspace member by @bosiraphael in #9484
- add httpExceptionHandlerService to oauthfilter by @Weiko in #9518
- Refactored object filter dropdown states by @lucasbordeau in #9507
- Add Integration and unit tests on Billing by @anamarn in #9317
- Move FieldMetadataType to twenty-shared by @ijreilly in #9482
- Refactored select filter and select filter definition logic by @lucasbordeau in #9519
- Refactored reset filter dropdown by @lucasbordeau in #9523
- chore: update returned attachement fullPath by @etiennejouan in #9516
- Feat/view groups fast follow by @magrinj in #9513
- Refactored empty filter by @lucasbordeau in #9532
- fix(admin-panel): resolve feature flag key mismatch by @AMoreaux in #9530
- Feature flags env variable gating by @ehconitin in #9481
- Add error marker when invalid main function by @martmull in #9489
- Removed useFilterDropdown hook by @lucasbordeau in #9537
- [refactor]: Remove isSSOEnabled logic throughout the codebase by @AMoreaux in #9462
- Add suggested values for variable dropdown by @thomtrp in #9437
- refactor: update import paths for FeatureFlagKey by @AMoreaux in #9542
- Fix mail import gmail driver when message has been deleted by @charlesBochet in #9546
- docs(server-commands): fix typo in command to generate migrations by @nicolasrouanne in #9545
- fix(auth): handle error properly in loadCurrentUser by @AMoreaux in #9539
- fix: fix regression on multiItem input field when no item by @etiennejouan in #9543
- Fix apollo cache for workflow cmd+k by @thomtrp in #9549
- Clean up object record filter by @lucasbordeau in #9550
- refactor(admin-panel): standardize FeatureFlagKey usage by @AMoreaux in #9548
- [CI][FRONT] Storybook tests sharding and build optimization by @prastoin in #9448
- Aggregate follow-up by @ijreilly in #9547
- Fix Storybook tests by @charlesBochet in #9554
- Try migrating to depot by @charlesBochet in #9555
- Update links in docs to current release by @Lazalatin in #9553
- fix: reset table selection when navigating away from index page by @samyakpiya in #9140
- Playwright E2E test - sign up with invite link via email by @BOHEUS in #9332
- [Microsoft integration] getFullMessageList by @guillim in #9544
- fix: error thrown when switching between table with/without record group by @magrinj in #9571
- Fixing phone search functionality by @muraliSingh7 in #9466
- fix: StyledMenuItemBase remove spacing when no icon by @magrinj in #9573
- Aggregate footer should have pseudo element only if there is horizontal scroll by @ehconitin in #9559
- Remove serverless functions on version archivation by @martmull in #9535
- Refactor record sort dropdown by @lucasbordeau in #9578
- fix: table acton row wrong stroke by @magrinj in #9574
- fix: remove sticky shadow from RecordTableActionRow by @magrinj in #9576
- fix: drop record group feature flag by @magrinj in #9575
- Finalize the readonly for a few form fields #1 by @Devessier in #9524
- Refech code after code update by @martmull in #9577
- 9426 migrate workflow pages to command menu by @bosiraphael in #9515
- Refactored sort dropdown hooks by @lucasbordeau in #9584
- Migrate copilot to command menu by @bosiraphael in #9522
- Aggregate queries follow up by @ijreilly in #9581
- Fix wrong domainName for redirect url by @martmull in #9586
- Fix featureFlag not matching gql type by @Weiko in #9585
- Workflow fast follows batch by @thomtrp in #9587
- Support old relation filter value format by @eliasylonen in #9590
- 1-click install take latest version from docker by @FelixMalfait in #9592
- Add readonly mode to form fields - 2nd part by @Devessier in #9582
- Add containsAny filter comparators in rest api by @martmull in #9595
- Remove signin prefill from docker compose by @FelixMalfait in #9597
- [CI] Refactor composite action task-cache by @prastoin in #9583
- Fix header dropdown button style by @ijreilly in #9599
- Simplify docker compose by @FelixMalfait in #9602
- [CI][NITPICK] Remove input
types
invalid syntax by @prastoin in #9596 - fixs #9456 : Workspace switcher font weight by @Supsource in #9591
- Fix form date time field right border when variable picker is provided and field is readonly by @Devessier in #9600
- [FIX][CI] cache-hit incorrectly computed by @prastoin in #9603
- Fix error when deleting the trigger of an activated workflow version by @Devessier in #9606
- Introduce SUSPENDED Activation Status by @charlesBochet in #9609
- Moving record filter related types, hooks and utils into record-filter module by @lucasbordeau in #9604
- Fix placeholders in select by @thomtrp in #9608
- [CI] Migrate to ubuntu 24.04 runners by @prastoin in #9607
- Fix command menu avatar url by @bosiraphael in #9611
- Fix overflowing aggregate value on kanban header by @ijreilly in #9614
- Fix workflow run output empty by @thomtrp in #9616
- Add command to tag workspace as suspended or as deleted by @charlesBochet in #9610
- Clean logs from console.time by @thomtrp in #9620
- Remove missing log by @thomtrp in #9621
- Improve workflow arrows' design by @Devessier in #9619
- for docker installs, override SIGN_IN_PREFILLED=false by @curiousercreative in #9627
- Fix/record group index and seed by @magrinj in #9605
- [Outlook integration] part 2 : GetMessages by @guillim in #9612
- Fix delete workspace-member avatar by @Weiko in #9630
- Ensure users can set the empty value for the FormPhoneFieldInput by @Devessier in #9632
- 77 create new record action and remove old behavior by @bosiraphael in #9598
- fix: add hover effect on record table action row by @magrinj in #9633
- [CI] Always save cache agnostically of the actions/restore cache-hit output by @prastoin in #9635
- 190 display ctrl instead of for windows users by @bosiraphael in #9617
- Aggregate queries follow up by @ijreilly in #9636
- fix(auth): handle missing invitation during sign-up by @AMoreaux in #9572
- Make calendar event details readonly by @bosiraphael in #9638
- [CI] Refactor yarn-install composite action by @prastoin in #9613
- Aggregate queries - add seeds by @ijreilly in #9640
- [CI] Yarn install composite action remove
--immutable-cache
by @prastoin in #9641 - Fix race condition on stripe subscription by @martmull in #9629
- Fix error message by @martmull in #9646
- Aggregate queries - Fix empty / not empty operations on composite fields and array fields by @ijreilly in #9644
- [test(auth)]: Add unit tests for useSignInUpForm hook by @AMoreaux in #9648
- Add Email Verification for non-Microsoft/Google Emails by @samyakpiya in #9288
- fix(sso|auth): fix sso signinup by @AMoreaux in #9651
- Outlook integration by @guillim in #9631
- feat: record group chevron button by @magrinj in #9645
- fix: filter dark mode by @magrinj in #9659
- Documentation + docker-compose.yml update by @BOHEUS in #9653
- Refetch query on draft creation by @thomtrp in #9650
- Update ChooseYourPlan page with new trial period options by @etiennejouan in #9628
- fix: group by disabled in dark mode wrong color by @magrinj in #9662
- fix: record group chevron alignment by @magrinj in #9661
- [CI][NITPICK]
.yml
toyaml
github workflows by @prastoin in #9664 - bugfix: fix navigation between onboarding screens by @pacyL2K19 in #9637
- [CI] Refactor changed files integration by @prastoin in #9643
- [CI][NITPICK]: Rename
prerequisites
jobs tochanged-files-check
by @prastoin in #9670 - Aggregate queries and field metadata deletion by @ijreilly in #9660
- Update GetClientConfigQuery type by @ijreilly in #9673
- Treat suspended workspace as workspaces that need to be synced by @charlesBochet in #9669
- Fix last record row cells are cropped when selected by @ijreilly in #9678
- fix: increase font height and decrease gap in TrialCard by @etiennejouan in #9686
- Use main apollo client for workflows by @thomtrp in #9675
- fix empty actor field by @etiennejouan in #9677
- fix(auth): streamline SSO auth callback logic by @AMoreaux in #9668
- 0.40 changelog by @Bonapara in #9688
- Add create new record action to workflows by @bosiraphael in #9692
- Fix filter displayed value from query params by @thomtrp in #9693
- fix: date input click outside by @magrinj in #9676
- fix(auth): return early in workspace access check by @AMoreaux in #9697
- Upgrade to 0.40 guide by @Weiko in #9695
- Add viewId to recordIndexId by @bosiraphael in #9647
- Set up localization with feature flag control by @DeepaPrasanna in #9649
- Progress on translations by @FelixMalfait in #9703
- [CI]
ci-server
reordertwenty-shared
build after cache restoration by @prastoin in #9672 - [Microsoft Outlook] fix + error handling by @guillim in #9696
- [CI] Add
performance
to merge coverage matrix strategy job by @prastoin in #9708 - [CI][FIX] Storybook coverage configuration injection per scope by @prastoin in #9711
- Add more translations by @FelixMalfait in #9707
- fix(auth): update onboarding activation for specific users by @AMoreaux in #9702
- Serverless function timeout concerns by @martmull in #9689
- Add first real translations + translation.io by @FelixMalfait in #9715
- refactor(auth): remove redundant workspace lookup logic by @AMoreaux in #9716
- Fix date type update by @lucasbordeau in #9700
- Revert "Fix last record row cells are cropped when selected (#9678)" by @ijreilly in #9722
- remove swc folder by @Weiko in #9723
- Create many steps in a row by @Devessier in #9727
- Introduce IsScrollable on ScrollWrapper by @charlesBochet in #9724
- New useNavigateApp by @FelixMalfait in #9729
- Add more translations by @FelixMalfait in #9733
- Translation followup by @FelixMalfait in #9735
- Update trigger selection design by @thomtrp in #9717
- Workflow e2e tests – 1st batch by @Devessier in #9713
- fix(session-storage): add typing and trust proxy setting by @AMoreaux in #9725
- refactor(invitation): streamline invitation validation logic by @AMoreaux in #9699
- Fix save button not well positioned by @FelixMalfait in #9740
New Contributors
- @aayushchugh made their first contribution in #9234
- @TakuyaKurimoto made their first contribution in #9235
- @Anuj012004 made their first contribution in #9310
- @melvinjariwala made their first contribution in #9238
- @david-sykora made their first contribution in #9447
- @munch-lax made their first contribution in #9043
- @malomarrec made their first contribution in #9475
- @Lazalatin made their first contribution in #9553
- @Supsource made their first contribution in #9591
- @curiousercreative made their first contribution in #9627
- @DeepaPrasanna made their first contribution in #9649
Full Changelog: v0.35.0...v0.40.0