-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
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
Deprecation warnings for v5 #22074
Comments
@m4theushw We haven't updated this issue for 4 months. Do you want to double-check that we didn't miss any deprecations? |
It seems that the codesandbox script is no longer working. It would be great to update it to double-check that we don't have any opportunities left for deprecations on v4. |
As far as I can see all Breaking Changes which are part of the PR description are handled. I've runned the script again, by selecting the milestone: v5-beta, and these were the only items there:
I believe we can close. cc @oliviertassinari @eps1lon |
It wasn't working because you changed the milestone title without telling anybody.
Yep, looks good 👍🏻 |
The GraphQL query we run is limited to 100 results, we have 244 PRs that match. The records: https://codesandbox.io/s/recursing-jang-y0w5h?file=/src/data.json I went on updating the breaking changes PRs that we did to add the missing v5-beta milestone label. I didn't update them all, I ignored the ones that seem impossible to add a deprecation for. I have updated the list in the issue's description. It seems that we could do some work on v4 deprecations. Is it important enough? I don't know. |
Looking into the breaking changes left here are my thoughts:
There are lots of options here of how people may migrate (using @material-ui/styes, using tss-react, migration to styled() and sx, I don't think we can have a clear migration message that would fit them all) I wouldn't add a deprecation in v4 for them.
Can't add deprecation notes
I don't think we can easily support this with deprecation message, as the whole CSS is changed.
These are ones that we could consider supporting the prev implementation with deprecation. Not sure if it is worthed to be honest. |
I think we've made a good faith effort to add as many deprecation warnings as possible. There's a long tail of issues that I would love to see handled but I don't think it's worth the time of core members. |
Closing and using the newly opened GitHub issues to refine the priorities on the v4 to v5 migration pain sounds 👌. |
This is a tracking issue for deprecation warnings for breaking changes in v5. The list can be updated with https://cijbg.csb.app/ which also helps identifying missing deprecation warnings.
If you see issues with individual items please open a separate issues (otherwise the conversation will be hard to follow since GitHub has no threading).
List of breaking changes
A checked checkbox means we have a deprecation warning, unchecked means no deprecation warning and line-through means there's a rationale why we don't intend to add one.
Paste below list source back into https://cijbg.csb.app/ to have it updated.
WARNING: DO NOT MANUALLY CHECK ITEMS. ONLY STRIKETHROUGH WITH A RATIONALE IS ACCEPTED
[core] Remove
makeStyles
from@material-ui/core
[theme] Remove
MuiThemeProvider
alias - there was already deprecation in place (https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/styles/MuiThemeProvider.js)[withWidth] Remove API
[core] Remove
styled
from@material-ui/styles
in core[core] Remove
withTheme
from@material-ui/core
[Select] Remove
labelWidth
prop[theme] Remove theme.breakpoints.width helper
deprecated in #25993
[theme] Remove theme.typography.round helper
deprecated in #25916
[ButtonBase] Remove buttonRef prop
deprecated in #25897
[theme] Remove fade color helper
deprecated in [theme] Deprecate
fade
color utility in favor ofalpha
#22837[core] Drop support for node 10
[types] Bump minimum required TypeScript version to 3.5
[system] Use spacing unit in gap, row-gap, and column-gap
[ ][CssBaseline] Change body font size to body1 (1rem)Change of default, can't be deprecated.
[Icon][SvgIcon] Change default fontSize from default to medium
deprecated in #23971
[system] Make borderRadius multiply a theme's design token
[Dialog][Modal] Remove disableBackdropClick
deprecated in #24081
[ ][TextField] Change default variant from standard to outlinedChange of default prop, can't be deprecated.
[system] Remove css utility in favor of sx
deprecated in #23480
[withMobileDialog] Remove HOC
deprecated in #23570
[ ][InputBase] Use ref prop instead of inputRef prop on input componentNot worth the effort, there is already a warning (
handleInputRefWarning
) that tests that the ref is correctly forwarded, it should be enough once developers upgrade.[ ][AvatarGroup] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[Table] Rename onChangeRowsPerPage, onChangePage
deprecated in #23789
[ ][Pagination] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[theme] Rename fade to alpha
deprecated in #22837
[ ][Accordion] Remove display:flex from AccordionDetailsCSS change, we can't deprecate
[ ][ToggleButton] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[ ][SpeedDial] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[ ][Skeleton] Move from lab to core[ ][Rating] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[ ][Autocomplete] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[ ][theme] Renametype
tomode
Handled with the
adaptV4theme()
helper[ ][Alert] Move from lab to coreLab component, the component is reexported until 5.1.0 with a deprecation message.
[ ][Autocomplete] Get root elements of options via renderOptionLab component, the component is reexported until 5.1.0 with a deprecation message.
[Accordion] Normalize focusVisible logic
deprecated in #24083
[ ][Stepper] Remove Paper and built-in paddingWe can't introduce a deprecation.
[ ][Rating] Use different shape for empty and filled iconsWe can't introduce a deprecation.
[ ][theme] Always return default spacing value with px unitsWe can't introduce a deprecation.
[ ][theme] Remove palette.text.hint keyHandled with the
adaptV4theme()
helper[core] Remove onRendered from Modal and Portal
deprecated in #24082
[ImageList] Refactor using CSS grid & React context
deprecated in #22363
[ImageList] Rename Tile to Item
deprecated in #22363
[ ][Tooltip] Makeinteractive
defaultChange of default prop, can't be deprecated.
[ ][theme] Rename theme keys to defaultProps and styleOverridesHandled with the
adaptV4theme()
helper[GridList] Rename to ImageList
deprecated in #22363
[ ][docs] Fix@global
being considered a classIt's for the docs, no need to worry about it.
[ ][Theme] Restructure component definitionsHandled with the
adaptV4theme()
helper[Menu] Remove transition onX props
deprecated in #22213
[Popover] Remove transition onX props
deprecated in #22202
[ ][TrapFocus] Entangle effectsIt's a bug fix, that changes the behavior.
[ ][TextField] Remove line-height resetIt's a bug fix, that changes the behavior.
[Dialog] Remove transition onX props
deprecated in #22114
[theme] Remove theme.mixins.gutters
deprecated in #22245
[Snackbar] Remove transition onX props
deprecated in #22206
[ ][useIsFocusVisible] Remove focus-visible if focus is re-targettedIt's a bug fix, that changes the behavior.
[CircularProgress] Remove static variant, simplify determinate
deprecated in #22094
[ ][Skeleton] Rename variant circle -> circular and rect -> rectangular for consistencyComponents in the lab do not need deprecation as they were perpetual alpha.
[Badge] Rename overlap circle -> circular and rectangle -> rectangular for consistency
deprecated in #22076
[Avatar] Rename variant circle -> circular for consistency
deprecated in #22090
[ ][Pagination] Rename round -> circular for consistencyComponents in the lab do not need deprecation as they were perpetual alpha.
[ ][TextField] Better isolate static textarea behavior to dynamic oneAlready had deprecation in place.
[ ][Snackbar] Change the default position on desktopWe can't deprecate.
[RootRef] Remove component
deprecated in #24075
[ ][List] Improve hover/select/focus UI displayUnclear what a deprecation for changed styles should look like
[Accordion] Add new classes key
deprecated in #24084
[Fab] Rename round -> circular for consistency
deprecated in #24080
[TextareaAutosize] Rename rowsMax->maxRows & rowsMin->minRows
deprecated in #23530
[core] Remove /test-utils
deprecated in #24099
[Grid] Rename justify prop to justifyContent
deprecated in #24078
[ ][core] Drop support for non-ref-forwarding class componentsReact.StrictMode
adds deprecation warnings[ ][Popper] Upgrade to popper.js to v2Nothing to deprecate
[ExpansionPanel] Remove component
deprecated in #21560
[ ][Button] Make primary the default colorChange of default prop, can't be deprecated.
[ ][core] Type customonChange
implementations with a generic react eventDon't know how we could achieve that with TypeScript
[ExpansionPanel] Rename to Accordion
deprecated in #21560
[ ][system] Introduce visuallyHidden style utilityNot important
[ ][TablePagination] Add showFirstButton and showLastButton supportToo much work
[Collapse] Add orientation and horizontal support
deprecated in #24079
[ ][Divider] Use border instead of background colorWe can't add a deprecation
The text was updated successfully, but these errors were encountered: