What's Changed
- 4489 timebox finish google calendar full sync by @bosiraphael in #4615
- 4398 decouple contacts and companies creation from messages import by @bosiraphael in #4590
- Add events on Custom objects by @charlesBochet in #4625
- Replace Terms & Conditions with Sign Up Link on Sign In #4502 by @brkuhgk in #4617
- Basic log styling by @brendanlaschke in #4634
- Add worker run step to server cli by @Weiko in #4619
- refactor: improve Settings supported field types validation by @thaisguigon in #4496
- Update yarn commands by @charlesBochet in #4644
- 4525 upgrade pg graphql by @martmull in #4646
- Add endpoints to create and delete remote server by @thomtrp in #4606
- refactor: merge FieldType and FieldMetadataType by @thaisguigon in #4504
- fix: fix Select field preview by @thaisguigon in #4507
- fix: create deterministic uuids for standards relation on custom object by @magrinj in #4642
- TWNTY-4602 - Increase coverage for coverage for
twenty-front:storybook:modules
by @gitstart-app in #4649 - feat: create Integrations/IntegrationDetail page by @thaisguigon in #4574
- feat: add Active and Add integration card displays by @thaisguigon in #4591
- 4162-Sticky-Header by @Kanav-Arora in #4627
- #4298 Add emails seed data for demo and dev seeds by @hannafeddersen in #4513
- feat: use ApolloFactory for metadata client by @magrinj in #4608
- feat(ci): automate CI tags and pass github context by @Freebios in #4652
- feat: add remote object integration preview by @thaisguigon in #4614
- Update .env.example by @darekdesu in #4661
- chore: debug Twenty dockerfile failing to build on Github Actions by @Freebios in #4658
- File token chores by @darekdesu in #4664
- Update Dev Seeds to use Ids by @charlesBochet in #4663
- feat: check if company/person saved (chrome-extension) by @AdityaPimpalkar in #4280
- 4488 connect calendar tab to backend by @bosiraphael in #4624
- Fetch available remote tables by @thomtrp in #4665
- 60 fix svg xcc vulnerability by @martmull in #4660
- Fix/enum bug by @magrinj in #4659
- Add isRemote field on object metadata by @thomtrp in #4668
- Fix encryption logic by @thomtrp in #4672
- fix: update docker-compose database volumes by @Freebios in #4677
- feat: simplification of default-value specification in FieldMetadata by @magrinj in #4592
- [messaing] improve messaging import by @Weiko in #4650
- 4486 connect settingsaccountscalendars to backend by @bosiraphael in #4605
- feat: add date format calendar setting by @thaisguigon in #4600
- 4506 change field labels and field type for calendarevent object metadata to match figma by @bosiraphael in #4679
- feat: add Integrations/Integration Details/New Database page by @thaisguigon in #4593
- feat: add remote object integration databases list card by @thaisguigon in #4621
- 4643 create a pre hook for calendar events by @bosiraphael in #4666
- fixed view switcher by changing zindex of TopBar by @arnavsaxena17 in #4685
- feat: Oauth with PKCE by @AdityaPimpalkar in #4648
- feat: add one liner install command by @Freebios in #4613
- fix(one-liner): some echo are missing -e by @Freebios in #4686
- Fix: Save view by clicking outside popup while editing by @jeet1desai in #4678
- Rename refreshToken to appToken and add fields by @martmull in #4691
- Fix events being created for system objects by @Weiko in #4694
- feat: address composite field by @rostaklein in #4492
- 4698-Renamed to inbox by @Kanav-Arora in #4701
- 4586 fix workspace member feature by @martmull in #4680
- Switch timestamp to timestamptz by @Weiko in #4696
- Calendar event fixes and improvements by @bosiraphael in #4690
- Created the user-guide content (Text and illustrations) by @Bonapara in #4683
- fix icon search menu (#4565) by @simaosanguinho in #4712
- feat: reinforce one liner experience by @Freebios in #4688
- User guide update by @Bonapara in #4715
- fix: impossible to unselect all check box by @RamK777-stack in #4471
- 4410-feat(front): Implement Confirmation Prompt for Multiple Record Deletion by @Anchit1909 in #4514
- Sync remote object by @thomtrp in #4713
- Fix display empty value if boolean instead of false on show page by @brendanlaschke in #4468
- Fix overlay scroll gaps by @brendanlaschke in #4512
- feat: authorize screen by @AdityaPimpalkar in #4687
- fix: fix Settings/Developers page error by @thaisguigon in #4722
- fix search active hit styling #4719 by @pereira0x in #4720
- Fix Vale CI and change vision by @FelixMalfait in #4724
- Feat/put target object identifier on use activities by @charlesBochet in #4682
- refactor: move Tabler Icon exports to twenty-ui by @thaisguigon in #4727
- chore: upgrade Nx to v18.1.3 by @thaisguigon in #4706
- refactor: move createState to twenty-ui by @thaisguigon in #4716
- Fix jest tests broken with apollo metadata client by @charlesBochet in #4728
- feat: expand relation record cards on click in Record Show page by @thaisguigon in #4570
- Revert company address field type by @Weiko in #4737
- Fix invalid token after credentials change by @bosiraphael in #4717
- Add JsDom to server dependencies by @charlesBochet in #4740
- Fix: Update Icon Button Color and Menu Transparency with Icons by @jeet1desai in #4704
- New field currency by @anoopw3bdev in #4338
- fix panel opening wrapping glitch (#4204) by @simaosanguinho in #4673
- Fix #4160: fix upload image bug by @kikoleitao in #4734
- [messaging] rename syncExternalId to syncCursor by @Weiko in #4752
- Add back export all action button by @martmull in #4750
- Changelog for 0.4.0 by @Bonapara in #4693
- feat: Redirect to previous page after login by @AdityaPimpalkar in #4731
- Fix issue caused by a merge conflict by @FelixMalfait in #4768
- Integrate relations for remote objects by @thomtrp in #4754
- Simplify docs and remove Docker local setup by @FelixMalfait in #4783
- feat: create Settings/Integrations/Database/Connection page by @thaisguigon in #4785
- Add IS_MULTI_SELECT_ENABLED feature flag by @martmull in #4779
- [feat][BE] Enable deletion of custom fields in workspace by @ijreilly in #4780
- 4777 multi select field backend implement multi select type by @martmull in #4790
- feat: init docker compose test by @Freebios in #4730
- Force explicit deletion behavior for relations by @FelixMalfait in #4775
- 3886 - Shortcut Sort/Filter by @Kanav-Arora in #3901
- feat(ci): use concurrency.group to cancel previous jobs by @Freebios in #4795
- feat: schema version header check by @rostaklein in #4563
- feat: add Settings/Integrations/Database/New Connection form by @thaisguigon in #4787
- fix: linked records redirection by @Muralidhar22 in #4312
- chore: use common eslint config for most packages by @thaisguigon in #4705
- chore: add script to generate twenty-ui barrels before build by @thaisguigon in #4707
- chore: include react components in twenty-ui test config by @thaisguigon in #4709
- Fix View creation, view fields re-ordering, view filters and view sorts erratic behaviors by @charlesBochet in #4800
- [feat][FE] Enable deletion of custom fields in workspace by @ijreilly in #4802
- 4702 rename calendareventattendee to calendareventparticipant by @bosiraphael in #4761
- fix: Add
isIconStatic
prop item to allow the icons to be always rendered statically ignoring hover behaviour by @besrabasant in #4676 - fix: isIconDisplayedOnHoverOnly marked as required by @magrinj in #4805
- Fix: File Upload by @Kanav-Arora in #4806
- Remote objects: Fix comment override - id typing - label by @thomtrp in #4784
- chore: setup twenty-ui absolute path alias by @thaisguigon in #4732
- Prevent remote object updates by @thomtrp in #4804
- Fixed attachment field type by @Kanav-Arora in #4811
- adjust window size for scroll by @trp02 in #4792
- feat: add Database Connection Summary Card to Settings/Integrations/D… by @thaisguigon in #4791
- Gracefully close Redis connection when cacheStorageModule is destroyed by @Weiko in #4812
- feat: fetch database connections by @thaisguigon in #4813
- Fix ViewPicker create mode: view type switcher by @charlesBochet in #4821
- chore: enable no-console eslint rule for tests and stories by @thaisguigon in #4816
- fix: update build script for twenty-emails by @Freebios in #4823
- Add Sentry types to dependencies by @FelixMalfait in #4825
- Fix ScrollWrapper inner elements padding by @charlesBochet in #4827
- Make field input transparency consistent by @charlesBochet in #4828
- Website UI design by @ady-beraud in #4829
- Fix dropdown menu header by @FelixMalfait in #4835
- feat: traditional Oauth alongside PKCE by @AdityaPimpalkar in #4697
- Add new database connection by @thomtrp in #4837
- fixed eslint build issue by @ady-beraud in #4842
- Fix contact creation when calendar is not enabled by @Weiko in #4843
- [messaging] remove v2 feature flag by @Weiko in #4845
- Various cosmetic fixes for 0.4.0 by @charlesBochet in #4844
- feat: add Tables settings to Settings/Integrations/Database/Connectio… by @thaisguigon in #4851
- Fix environment variable casting by @FelixMalfait in #4855
- Release 0.4.0 by @charlesBochet in #4856
New Contributors
- @brkuhgk made their first contribution in #4617
- @hannafeddersen made their first contribution in #4513
- @darekdesu made their first contribution in #4661
- @arnavsaxena17 made their first contribution in #4685
- @simaosanguinho made their first contribution in #4712
- @pereira0x made their first contribution in #4720
- @kikoleitao made their first contribution in #4734
- @ijreilly made their first contribution in #4780
- @besrabasant made their first contribution in #4676
- @trp02 made their first contribution in #4792
- @ady-beraud made their first contribution in #4829
Full Changelog: v0.3.3...v0.4.0