Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contribution process changes during version 8 beta #15222

Closed
ecraig12345 opened this issue Sep 24, 2020 · 1 comment
Closed

Contribution process changes during version 8 beta #15222

ecraig12345 opened this issue Sep 24, 2020 · 1 comment
Assignees

Comments

@ecraig12345
Copy link
Member

ecraig12345 commented Sep 24, 2020

Motivation

We can't publish the verison 8 beta until v7 code in office-ui-fabric-react and v8 breaking changes in @fluentui/react-next are merged into @fluentui/react. But we can't merge them in the same branch as active 7.x development.

We also need a branch for 7.x fixes while version 8 (beta or release) is being published out of master.

Overview

Starting on September 28, move 7.x development into new 7.0 branch (#14684), which will later become the hotfix branch. Then move code around in master (#14789, #14679, #13384) and publish the beta from there (#14689) by October 12.

While code is being moved around, we encourage contributors to wait to submit PRs which aren't urgently needed due to the amount of churn that will be happening in the master branch. (Exception: PRs related to @fluentui/react-northstar and @fluentui/web-components are okay since these packages are mostly isolated from the code moves.) (this is now finished)

(Since this is our first release in over a year and we have considerably more contributors and packages than last time, we're still working on figuring out a process that works reasonably well for everyone--so your feedback is appreciated!)

Timelines

Stage Date
v8 beta prep ("snap") September 28 - October 11 (or earlier)
v8 beta Started ~October 12
v8 official release TBD

Where will development happen?

Summary by timeframe and package

Update: As of January 2021, we're in the "v8 beta release" phase.

v8 beta prep v8 beta release v8 official release
@fluentui/react-northstar contributors master master master
@fluentui/web-components contributors 7.0 (to continue daily release cadence) master master
contributors to all other packages Non-urgent changes should wait. Urgent changes go to 7.0 branch, and maintainers will cherry-pick to master when beta prep work is done. (Changes in master will NOT be published during this time.) All changes go to master first; contributor cherry-picks to 7.0 only if needed. (Changes made in master will be published under beta versions only, so to publish under the current major version you must cherry-pick to 7.0.) All changes go to master first; contributor cherry-picks to 7.0 only if needed for v7 (same process as v6 fixes)

Details: During code moves (estimated Sept 26 to Oct 11)

Update: this phase is now finished.

Non-urgent changes should wait (exception: @fluentui/react-northstar and @fluentui/web-components changes are fine). Urgently-needed changes can be submitted to the 7.0 branch. For PRs during this period only, the maintainers will handle cherry-picking back to master once code moves are finished.

Due to the amount of churn, daily releases from master of ALL packages will be disabled. Releases from 7.0 will proceed as usual. (@fluentui/react-northstar and related packages are unaffected since they always release manually.)

We hope to finish the code moves earlier than October 11 (and will let everyone know when it's done), but are providing a conservative estimate for planning purposes.

Details: During beta, after code moves

This is the current phase as of January 2021.

@fluentui/react-northstar (and others under packages/fluentui) and @fluentui/web-components

Changes should be made in master. Versioning will proceed as usual (no -beta versions). Daily releases for web-components will be enabled.

We'll likely delete these packages' code from the 7.0 branch to reduce potential for confusion.

Others: @fluentui/react, office-ui-fabric-react, experiments, charting, and sub-packages

Changes should be checked in to master first and be cherry-picked to 7.0 only if immediately needed in the current major version of a package.

Notes:

  • For @fluentui/react and office-ui-fabric-react, changes in master will be made in packages/react. When cherry-picking to 7.0 the changes should be moved to packages/office-ui-fabric-react.

  • All changes made to these packages in master (even in packages that will not major bump) will be published with -beta versions to avoid potential for conflicts with versions published out of the 7.0 branch.

    • This means that if you need a change in the current version of a package, it must be cherry-picked to 7.0. For example, if you make a change in master but need to pick it up in your app which uses office-ui-fabric-react@7.x, @uifabric/experiments@7.x, or @uifabric/charting@4.x, you must cherry-pick the change to 7.0.

  • For version 8-only packages such as @fluentui/react-next and @fluentui/react-button, we'll likely delete their code from the 7.0 branch to reduce potential for confusion.

Details: After version 8 release

  • For changes needed in 7.x, the contributor should make changes in 7.0 and cherry-pick the change to master.
  • For changes needed in 8.x but not needed for 7.x, the contributor should make changes in master only.
  • For northstar and web-components related changes, the contributor should make changes in master only.

Note: cherry-picking between 7.0 and master can be quite challenging to due to that packages are renamed, some components are moved to its own package, and some components were converted to function components. For change files, it's overall easier to delete and regenerate.

Making changes in the 7.0 branch

See this wiki page, and feel free to ask questions below if it's unclear.

@ecraig12345 ecraig12345 pinned this issue Sep 24, 2020
@ecraig12345 ecraig12345 changed the title RFC: Contribution process changes during version 8 beta Contribution process changes during version 8 beta Sep 28, 2020
msft-github-bot pushed a commit that referenced this issue Oct 14, 2020
…e most used terminology in the web (#15513)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes
This PR renames the `fluid` prop in the `Button` components to `block` so that it is inline with the most used terminology in the web.

#### Focus areas to test

(optional)
msft-github-bot pushed a commit that referenced this issue Oct 20, 2020
<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of #15511._

_Original PR description:_

Fix having incorrectly set `role="group"` in between `menubar` and `menuitem`.

#### Focus areas to test

(optional)
msft-github-bot pushed a commit that referenced this issue Oct 20, 2020
<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of #15450._

_Original PR description:_

## Before:

This JSX:
```
<SearchBox />
```
Renders this HTML: 
```jsx
<div role="search">
  <input ... />
</div>
```

## After:

This JSX:
```
<SearchBox />
<SearchBox role="search" />
```
Renders this HTML: 
```jsx
<div>
  <input ... />
</div>

<div role="search">
  <input ... />
</div>
```
msft-github-bot pushed a commit that referenced this issue Oct 20, 2020
…oupedList (#15605)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of #15321._

_Original PR description:_

Fixed an issue in the recent rework to use `getDerivedStateFromProps` in the `GroupedList` component: the new function was inadvertently checking new input props values *against themselves* rather than the previous state. This issue is now fixed, and the `DetailsList` input state now propagates correctly through `GroupedList`.

Added some unit tests for `DetailsList` explicitly in order to validate that re-rendering a `DetailsList` with new inputs for `items` or `groups` properly updates for each type of transition.

#### Focus areas to test

Validate `DetailsList` when changing the `items` or `groups` props. Added a unit test explicitly for this.
msft-github-bot pushed a commit that referenced this issue Oct 20, 2020
…15624)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of #15478._

_Original PR description:_

Give the user the ability to override what happens with KeyUp. Currently it is only used with Right/Left to expand and collapse the group.

#### Focus areas to test

Ensure that Right/Left to expand and collapse still works.
msft-github-bot pushed a commit that referenced this issue Oct 21, 2020
…did not trigger re-render (#15628)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of #15335._

_Original PR description:_

Reworked the logic in the new `getDerivedStateFromProps` function in `GroupedList` so it properly re-renders the `List` if any of the dependent props change. This fixes an issue where updating only the `items` would not actually trigger a re-render because they were not explicitly passed as props to the child `List` components.

#### Focus areas to test

Added a new unit test to validate updating the `items` in-place with the same groupings, using some placeholders to simulate paging.
msft-github-bot pushed a commit that referenced this issue Oct 27, 2020
<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [x] Addresses an existing issue: Fixes #15483
- [x] Include a change request file using `$ yarn change`

#### Description of changes

This PR fixes the typings for the `variants` when using `makeVariantClasses` to restrict what can be sent as a value to that parameter in the function.


#### Focus areas to test

(optional)
SethDonohue pushed a commit to SethDonohue/fluentui that referenced this issue Nov 2, 2020
<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See microsoft#15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of microsoft#15450._

_Original PR description:_

## Before:

This JSX:
```
<SearchBox />
```
Renders this HTML: 
```jsx
<div role="search">
  <input ... />
</div>
```

## After:

This JSX:
```
<SearchBox />
<SearchBox role="search" />
```
Renders this HTML: 
```jsx
<div>
  <input ... />
</div>

<div role="search">
  <input ... />
</div>
```
SethDonohue pushed a commit to SethDonohue/fluentui that referenced this issue Nov 2, 2020
…oupedList (microsoft#15605)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See microsoft#15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of microsoft#15321._

_Original PR description:_

Fixed an issue in the recent rework to use `getDerivedStateFromProps` in the `GroupedList` component: the new function was inadvertently checking new input props values *against themselves* rather than the previous state. This issue is now fixed, and the `DetailsList` input state now propagates correctly through `GroupedList`.

Added some unit tests for `DetailsList` explicitly in order to validate that re-rendering a `DetailsList` with new inputs for `items` or `groups` properly updates for each type of transition.

#### Focus areas to test

Validate `DetailsList` when changing the `items` or `groups` props. Added a unit test explicitly for this.
SethDonohue pushed a commit to SethDonohue/fluentui that referenced this issue Nov 2, 2020
…icrosoft#15624)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See microsoft#15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of microsoft#15478._

_Original PR description:_

Give the user the ability to override what happens with KeyUp. Currently it is only used with Right/Left to expand and collapse the group.

#### Focus areas to test

Ensure that Right/Left to expand and collapse still works.
SethDonohue pushed a commit to SethDonohue/fluentui that referenced this issue Nov 2, 2020
…did not trigger re-render (microsoft#15628)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See microsoft#15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

_Cherry-pick of microsoft#15335._

_Original PR description:_

Reworked the logic in the new `getDerivedStateFromProps` function in `GroupedList` so it properly re-renders the `List` if any of the dependent props change. This fixes an issue where updating only the `items` would not actually trigger a re-render because they were not explicitly passed as props to the child `List` components.

#### Focus areas to test

Added a new unit test to validate updating the `items` in-place with the same groupings, using some placeholders to simulate paging.
SethDonohue pushed a commit to SethDonohue/fluentui that referenced this issue Nov 2, 2020
<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See microsoft#15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [x] Addresses an existing issue: Fixes microsoft#15483
- [x] Include a change request file using `$ yarn change`

#### Description of changes

This PR fixes the typings for the `variants` when using `makeVariantClasses` to restrict what can be sent as a value to that parameter in the function.


#### Focus areas to test

(optional)
msft-github-bot pushed a commit that referenced this issue Nov 19, 2020
…es it (#15584)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See #15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #15369
- [ ] Include a change request file using `$ yarn change`

#### Description of changes

(give an overview)

#### Focus areas to test

(optional)
SethDonohue pushed a commit to SethDonohue/fluentui that referenced this issue Nov 23, 2020
…es it (microsoft#15584)

<!--
!!!!!!! IMPORTANT !!!!!!!

Due to work we're currently doing to prepare master branch for our version 8 beta release,
please hold-off submitting the PR until around October 12 if it's not urgent.
If it is urgent, please submit the PR targeting the 7.0 branch.

This change does not apply to react-northstar contributors.

See microsoft#15222 for more details. Sorry for the inconvenience and short notice.
-->

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes microsoft#15369
- [ ] Include a change request file using `$ yarn change`

#### Description of changes

(give an overview)

#### Focus areas to test

(optional)
@ecraig12345 ecraig12345 unpinned this issue Feb 26, 2021
@ecraig12345
Copy link
Member Author

Now that version 8 has released, all changes should go to master first and be cherry-picked to 7.0 only if needed.

@microsoft microsoft locked as resolved and limited conversation to collaborators Mar 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants