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

v5.0.0-alpha.24 #24614

Merged
merged 21 commits into from
Jan 26, 2021
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ jobs:
# Don't need playwright in this job
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
- run: yarn release:build
- run: yarn release:changelog
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
120 changes: 120 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,125 @@
### [Versions](https://material-ui.com/versions/)

## v5.0.0-alpha.24

<!-- generated comparing v5.0.0-alpha.23..next -->

_Jan 25, 2021_

Big thanks to the 21 contributors who made this release possible. Here are some highlights ✨:

- Converted TODO components to emotion
oliviertassinari marked this conversation as resolved.
Show resolved Hide resolved
- Fixed various issues on API documentation pages

TODO INSERT HIGHLIGHTS

### `@material-ui/core@`
eps1lon marked this conversation as resolved.
Show resolved Hide resolved

- <!-- 01 --> [BottomNavigation] Migrate to emotion (#24556) @vinyldarkscratch
- <!-- 03 --> [CardActions] Fix wrong classes export name (#24609) @mnajdova
- <!-- 04 --> [Card] Migrate CardContent to emotion (#24600) @vicasas
- <!-- 05 --> [Card] Migrate to emotion (#24597) @povilass
- <!-- 06 --> [TextField] Migrate InputBase to emotion (#24555) @duganbrett
- <!-- 07 --> [Accordion] Allow to disable gutter/spacing (#24532) @TimonPllkrn
- <!-- 08 --> [List] Migrate to emotion (#24560) @vinyldarkscratch
- <!-- 09 --> [Card] Migrate CardActions to emotion (#24604) @vicasas
- <!-- 11 --> [List] Migrate ListSubheader to emotion (#24561) @vinyldarkscratch
- <!-- 12 --> [Breadcrumbs] Migrate to emotion (#24522) @vinyldarkscratch
- <!-- 13 --> [Divider] Migrate to emotion (#24558) @vinyldarkscratch
- <!-- 14 --> [Switch] Migrate SwitchBase to emotion (#24552) @vinyldarkscratch
- <!-- 15 --> [Hidden] Migrate to emotion (#24544) @vinyldarkscratch
- <!-- 16 --> [List] Migrate ListItem to emotion (#24543) @xs9627
- <!-- 18 --> [TextField] Fix Google Translate zero-width space issue (#24563) @d3mp
- <!-- 19 --> [Table] Separate classes for different labels (#24568) @tonysepia
- <!-- 22 --> [Accordion] Migrate AccordionSummary to emotion (#24540) @vinyldarkscratch
- <!-- 23 --> [IconButton] Migrate to emotion (#24542) @vinyldarkscratch
- <!-- 26 --> [Accordion] Migrate AccordionActions to emotion (#24538) @vinyldarkscratch
- <!-- 27 --> [Accordion] Migrate AccordionDetails to emotion (#24539) @vinyldarkscratch
- <!-- 30 --> [Link] Migrate to emotion (#24529) @praveenkumar-kalidass
- <!-- 31 --> [Accordion] Migrate to emotion (#24518) @vinyldarkscratch
- <!-- 34 --> [Backdrop] Migrate to emotion (#24523) @vinyldarkscratch
- <!-- 41 --> [Grid] Add system props (#24499) @mnajdova
- <!-- 42 --> [Icon] Migrate to emotion (#24516) @vinyldarkscratch
- <!-- 44 --> [Collapse] Migrate to emotion (#24501) @vinyldarkscratch
- <!-- 47 --> [SvgIcon] Migrate to emotion (#24506) @oliviertassinari
- <!-- 48 --> [Avatar] Migrate AvatarGroup to emotion (#24452) @praveenkumar-kalidass
- <!-- 49 --> [Box] Add back system props (#24485) @mnajdova
- <!-- 50 --> [Alert] Migrate AlertTitle to emotion (#24448) @povilass
- <!-- 54 --> [Alert] Migrate to emotion (#24442) @kutnickclose
- <!-- 59 --> [l10n] Improve Hebrew translation (#24449) @eladmotola
- <!-- 61 --> [Checkbox][Switch] Document defaultChecked (#24446) @praveenkumar-kalidass
- <!-- 62 --> [AppBar] Migrate to emotion (#24439) @povilass
- <!-- 64 --> [l10n] Improve German translation (#24436) @lukaselmer
- <!-- 65 --> [Button][Badge] Support custom colors and sizes (#24408) @mnajdova
- <!-- 70 --> [Grid] Fix horizontal scrollbar and nested dimensions (#24332) @greguintow
- <!-- 73 --> [Grid] Migrate to emotion (#24395) @mnajdova
- <!-- 74 --> [Badge] Fix TS custom variants (#24407) @mnajdova

### `@material-ui/lab@`
eps1lon marked this conversation as resolved.
Show resolved Hide resolved

- <!-- 32 --> [DatePicker] Remove unnecessary wrapping dom node (#24533) @mxsph
- <!-- 68 --> [DateRangePicker] Remove variant prop override for Textfield (#24433) @praveenkumar-kalidass
- <!-- 77 --> [lab] Reflect draft pattern of picker value in implementation (#24367) @eps1lon

### `@material-ui/styled-engine@`

- <!-- 67 --> [styled-engine] Rename StylesProvider to StyledEngineProvider (#24429) @mnajdova

### `@material-ui/system@`

- <!-- 36 --> [system] Fix handling of null-ish values (#24530) @oliviertassinari

### `@material-ui/unstyled@`

- <!-- 72 --> [unstyled] Convert composeClasses to TypeScript (#24396) @eps1lon

### `@material-ui/utils@`

- <!-- 20 --> [utils] `useEventCallback` `args` defaults to `unknown[]` (#24564) @eps1lon
- <!-- 69 --> [utils] Fix requirePropFactory to merge validators (#24423) @mnajdova

### docs
eps1lon marked this conversation as resolved.
Show resolved Hide resolved

- <!-- 02 --> [docs] Add missing newline in component JSDOC (#24610) @eps1lon
- <!-- 10 --> [docs] Add API of picker components (#24497) @eps1lon
- <!-- 17 --> [examples] Add `locale` prop to the Nextjs Link component (#24596) @CyanoFresh
- <!-- 28 --> [docs] List required props first in /api/* (#24526) @eps1lon
- <!-- 35 --> [docs] Mention the system props when available in the API pages (#24503) @mnajdova
- <!-- 37 --> [docs] Improve system properties page (#24524) @mnajdova
- <!-- 38 --> [docs] Fix malformed component API description (#24504) @eps1lon
- <!-- 39 --> [docs] Fix ToC "Component name" fragment link on /api/* (#24517) @eps1lon
- <!-- 40 --> [docs] Fix ToC on /api pages linking to api-docs (#24515) @eps1lon
- <!-- 43 --> [docs] Add comment explaining specificity bump on Select (#24509) @KarimMokhtar
- <!-- 52 --> [docs] Compute spreadable from tests (#24490) @eps1lon
- <!-- 53 --> [docs] Fix label bug in stepper vertical demo (#24491) @artola
- <!-- 60 --> [docs] Update Divjoy URL (#24447) @mbrookes
- <!-- 63 --> [docs] Improve packages description (#24330) @oliviertassinari
- <!-- 66 --> [docs] Fix content-layout-shift (#24418) @oliviertassinari
- <!-- 71 --> [docs] Document default values of external props (#24417) @eps1lon
- <!-- 78 --> [docs] Update in-house ads (#24410) @mbrookes

### core

- <!-- 21 --> [test] Simplify DatePicker tests (#24545) @eps1lon
- <!-- 29 --> [core] Improve pseudo classes overrides error (#24535) @mnajdova
- <!-- 45 --> [core] Fix styleProps to always contain all props (#24505) @mnajdova
- <!-- 46 --> [test] Fix AvatarGroup failing test (#24512) @mnajdova
- <!-- 51 --> [pickers] Sort tests (#24481) @eps1lon
oliviertassinari marked this conversation as resolved.
Show resolved Hide resolved
- <!-- 55 --> [test] Split tests in describeConformanceV5 to isolate them (#24479) @mnajdova
- <!-- 56 --> [core] Do not forward classes prop by default in experimentalStyled (#24451) @mnajdova
- <!-- 57 --> [core] Pass styleProps on all slots in the styled() components (#24454) @mnajdova
- <!-- 58 --> [core] Batch small changes (#24445) @oliviertassinari
- <!-- 79 --> [core] Normalize generating declaration files (#24411)

### website
eps1lon marked this conversation as resolved.
Show resolved Hide resolved

- <!-- 24 --> [website] Team (#24553) @oliviertassinari
- <!-- 25 --> [website] Emeriti (#24541) @oliviertassinari
- <!-- 33 --> [website] Add Join Us block (#24521) @oliviertassinari
- <!-- 75 --> [website] Add 'Support the project' section (#24384) @mnajdova

All contributors of this release in alphabetical order: @artola, @CyanoFresh, @d3mp, @duganbrett, @eladmotola, @eps1lon, @greguintow, @KarimMokhtar, @kutnickclose, @lukaselmer, @mbrookes, @mnajdova, @mxsph, @oliviertassinari, @povilass, @praveenkumar-kalidass, @TimonPllkrn, @tonysepia, @vicasas, @vinyldarkscratch, @xs9627

## 5.0.0-alpha.23

###### _Jan 14, 2021_
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"build:codesandbox": "lerna run --parallel --scope \"@material-ui/*\" build",
"release:version": "lerna version --exact --no-changelog --no-push --no-git-tag-version",
"release:build": "lerna run --parallel --scope \"@material-ui/*\" build",
"release:changelog": "node scripts/generateChangelog",
"release:publish": "lerna publish from-package --dist-tag next --contents build",
"release:publish:dry-run": "lerna publish from-package --dist-tag next --contents build --registry=\"http://localhost:4873/\"",
"docs:api": "rimraf ./docs/pages/api-docs && yarn docs:api:build",
Expand Down
51 changes: 21 additions & 30 deletions scripts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,34 @@

A typical release goes like this:

1. **Changelog**. Generate the changelog:
### Prepare

- Compare the last version with `next`. For instance: https://github.com/mui-org/material-ui/compare/v5.0.0-alpha.17...next
- Generate the changelog with this script: https://trello.com/c/uspnIWkh/1566-release-note
- Clean the generated changelog, to match the format of https://github.com/mui-org/material-ui/releases.
- Open a pull request with the generated change on `next`.
The following steps must be proposed as a pull request.

1. **Build**. Prepare the release:
1. Generate the changelog with `yarn relase:changelog`
The output must be prepended to the top level `CHANGELOG.md`
`node scripts/generateChangelog --help` for more information.
1. Clean the generated changelog, to match the format of https://github.com/mui-org/material-ui/releases.

```
git checkout next
git pull
git checkout -b v5.0.0-alpha.18
yarn
yarn release:version
yarn release:build
```

1. **Version**. Update the root `/package.json`'s version and commit all the changes
1. Update the root `/package.json`'s version

```
git commit -am "v5.0.0-alpha.18"
git tag v5.0.0-alpha.18
```
1. `yarn relase:version`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current behavior seems broken to me. It prompts to update every single package. Might be due to lightweight tag usage. We'll see next time if that is the case.

If lerna expects to not bump any packages I would expect an explicit option for that. Right now I can only trick it by entering the same version but that's tedious.

Copy link
Member

@oliviertassinari oliviertassinari Jan 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lerna is configured to treat the version of the packages individually. @material-ui/types needed a different one.

In this mode and from what I could gather, Lerna needs one tag per managed version in order to only bump the correct packages in the next release. This was flooding the "Tags" tab view on GitHub. The current situation is the result of a tradeoff: bump everything (cons) in exchange for packages with multiple versions and a single tag (pros).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not talking about tagging but updating version in the package.json. I don't understand why lerna thinks e.g. @material-ui/envinfo was changed.

I suspect it's either caused by lightweight tags or the last tag pointing to a commit that doesn't exist on the mui-org/material-ui remote. Hopefully it's not just bad DX.


1. **npm**. Release the packages to npm. You need your 2FA device:
1. Open PR with changes and wait for review and green CI

```
yarn release:publish
```
### Release

1. **git**. Push the release git commit and git tag to master (e.g. "v5.0.0-alpha.17"):
1. checkout merge commit of the merged PR
1. `yarn relase:build`
1. `yarn relase:publish`
You need your 2FA device.
1. Tag the release (e.g. `git tag -a v5.0.0-alpha.23 -m 'v5.0.0-alpha.23'`)
**WARNING:** Use annotated tags (`git tag -a`) not lightweight tags.
1. push the tag: `git push --tags`

```
git push
git push --tag
```
### Documentation

1. **Docs**. Push the next branch on the release branch to deploy the documentation with the latest changes. It lives at https://material-ui.netlify.app/. Force push if necessary.
Push the next branch on the release branch to deploy the documentation with the latest changes. It lives at https://material-ui.netlify.app/. Force push if necessary.

Note: if you don't have the `material-ui-docs` remote already, you should add it with

Expand All @@ -54,6 +43,8 @@ git remote add material-ui-docs https://github.com/mui-org/material-ui-docs.git
yarn docs:deploy
```

### Announce

1. **GitHub**. Make a new release on GitHub (for people subscribing to updates). https://github.com/mui-org/material-ui/releases
1. **Twitter**. It's even better to synchronize with the release of Material-UI X: https://trello.com/c/kYF9OLLi/105-release-steps, to have a single announcement/version covering the two.
Send a tweet with the main Twitter account to summarize what happened.
Expand Down
Loading