# Version 8 upgrade in Teams ### Non-duplicate-code upgrade plan 1. Finish upgrade to v0.51 which includes v7 deps 3. Release 0.51.x with v8 @fluentui/date-time-utilities ONLY - Jan 7 - done 5. Upgrade Teams' OUFR v7 to @fluentui v8 AND react-northstar v0.51.x 4. No code change to react-northstar experiences 5. Code changes required in Teams' Calendar to v8 6. Puts all utils on v8, no duplicates :) 7. Free to relase 0.52 using all v8 deps OR some future v9 all together ___ ![](https://i.imgur.com/chCkp2x.png) Horizontal lines represent release cadence and planning between v7 and v0, not actual code sharing. Vertical red lines represent some code sharing. Gray is potential timelines. ## References [Teams (TMP) code]( https://domoreexp.visualstudio.com/Teamspace/_git/teams-modular-packages?path=%2Fpackage.json&version=GBbrgriss%2Ffluent50-upgrade&line=285&lineEnd=286&lineStartColumn=1&lineEndColumn=1&lineStyle=plain) [ODSP code](https://onedrive.visualstudio.com/OneDriveWeb/_search?action=contents&text=%40ms%2Fitems-view-addon-recent&type=code&lp=code-Project&filters=ProjectFilters%7BOneDriveWeb%7DRepositoryFilters%7Bodsp-common%7D&pageSize=25&result=DefaultCollection%2FOneDriveWeb%2Fodsp-common%2FGBmaster%2F%2Fitems-view%2Faddon-recent%2Fpackage.json) ## Action items - [ ] Reach out to Teams (Amit Sehgal) on upgrading to `@fluentui/react@v8` - [ ] Reach out to ODSP (Thomas) on supporting v8 for these dependencies TMP uses: - @ms/file-picker@0.2.1098-hotfix.31 - @ms/items-view-addon-recent@0.26.540-hotfix.31 - @ms/items-view-addon-graph@1.83.8-hotfix.21 - @ms/items-view-addon-recent@0.26.540-hotfix.31 - @ms/items-view-addon-sp@2.242.9-hotfix.31 - @ms/items-view@2.192.0-hotfix.10 - @ms/jsgrid@1.50.27-hotfix.21 - @ms/odsp-datasources@40.13.0-hotfix.14 - @ms/odsp-list-utilities@11.25.382-hotfix.20 - @ms/odsp-shared@24.18.47-hotfix.3 - @ms/shared-react-client-form@0.23.4-hotfix.20 - @ms/shared-react-column-management-panel@0.14.67-hotfix.20 - @ms/shared-react-hyperlink-control@0.1.101-hotfix.14 - @ms/shared-react-item-activity@0.4.194-hotfix.14 - @ms/shared-react-item-hover-card@1.11.5-hotfix.20 - @ms/shared-react-location-picker@0.2.429-hotfix.14 - @ms/shared-react-people-picker@0.4.422-hotfix.14 - @ms/shared-react-tree-control@0.6.3-hotfix.0 - @ms/sp-client-shared@>=0.3.3 <1.0.0 - @ms/utilities-custom-formatter@0.18.26-hotfix.3 - @ms/utilities-react-drag-drop@0.10.12-hotfix.3 - [ ] [Upgrade OUFR v7 to v8 in TMP](https://hackmd.io/gDWWhWRSQ_6QzZD0NEkc1A#Non-duplicate-code-upgrade-plan) - [ ] Learn from this experience and plan correctly for v9 release. Here is a [very draft proposal](https://hackmd.io/gDWWhWRSQ_6QzZD0NEkc1A?both#Proposal-for-v9-release). ### Conflicted packages *Context: TMP doesn't allow installing different versions of the same package. We have a few packages which are shared between `react-northstar` and `react`.* As part of `react@v8`, we renamed/major bumped these shared packages. The packages are: @fluentui/utilities (renamed) @fluentui/merge-styles (renamed) @fluentui/set-version (renamed) @fluentui/dom-utilities @fluentui/date-time-utilities @fluentui/react-compose ### Proposal for v9 release *Based on the existing pain points we learnt from v8 upgrade, here is a proposal for v9 release.* As we go from `v8` to `v9`, `react-northstar` and `react` will only share more and more packages. The upgrade story for TMP will likely be that `react` and `react-northstar` need to always be upgraded together. If that's the case, I suggest we lock-step major version for `react` and `react-northstar` starting `v9`. That is, by the time `react` major release `v9`, we will also be major releasing `react-northstar@v9`. Of course, we should be planning closely together what changes are part of `v9` and ensure we have a coherent story for both `react-northstar` and `react` users. Here are some related work we should plan for doing: 1. Get `react-northstar` to be published in similar cadence as `react` starting `v9`. We should strive to have same version bumping logic (e.g. same definitions for `patch`, `minor`, `major` changes). 2. Flat packages in `packages/fluentui/*` into `packages/*`. This is not directly related to our plan to converge release cadence. But having a converged release cadance can allow us to flat the packages more easily. More importantly, this helps reduce the mental barrier between `northstar` and `react` packages in our repo, which will be a step forward in terms of convergence. ## Thoughts In order to share code in our repo, we need to solve problems right now: 1. Upgrade partner TMP on latest versions of our pacakges - Options: - TMP can change their policy to allow installing dups of fluentui packages (Next step: work with TMP) - Upgrade ODSP dependencies and `OUFR` v7 to v8 (Too expensive) 2. Dev inner loop work (converge build) 3. Release