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

bug(COMPONENT): The m3 design spec updates are a breaking change, and should not be considered SemVer minor releases in v17. #28788

Closed
1 task done
Kerrick opened this issue Mar 27, 2024 · 4 comments
Labels
needs triage This issue needs to be triaged by the team

Comments

@Kerrick
Copy link

Kerrick commented Mar 27, 2024

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

v17.1.2

Description

The m3 design spec has different aesthetics and, more importantly for backwards compatibility, different sizes, compared to the m2 design spec. This means that a person updating from v17.1.2 to v17.2.x or higher has a high likelihood of a broken application layout due to the library's changes. The m3 changes should not be considered minor changes according to semver, and should have caused a v18.0.0 release instead.

Reproduction

Steps to reproduce:

  1. Have an application that has been laid out based upon the sizes of components in the m2 spec present in v17.1.x
  2. Update a supposedly non-breaking minor version, v17.2.x, and see the components all change size to match the m3 spec and break your application's layout.

Expected Behavior

A major version should be released and v17.x's latest version should be the latest version to align with the m2 spec.

Actual Behavior

A minor version was released and v17.x's latest version breaks applications that worked with v17.1.2.

Environment

  • Angular: Any
  • CDK/Material: v17.3.1
  • Browser(s): Any
  • Operating System (e.g. Windows, macOS, Ubuntu): Any
@crisbeto
Copy link
Member

crisbeto commented Mar 28, 2024

M3 is completely opt in and we don't have any plans of removing the M2 styles. In v18 we'll make any new apps (theme included by ng add @angular/material) be M3 by default, but they will also be able to go back to M2 if they want to.

You might've seen some styles move around if you were overriding internal component styles, but those have always been considered an implementation detail.

@json-derulo
Copy link
Contributor

json-derulo commented Mar 28, 2024

I think there is a misunderstanding. The docs app has recently migrated to M3. But any project on v17.x is still on M2 styles, unless the @angular/material-experimental package is installed and configured accordingly, as per docs. What you are describing in this issue does not reflect reality.

@geromegrignon
Copy link
Contributor

I agree with @json-derulo: the docs app defaults to M3 now.

As the docs app installation guide does not mention the @angular/material-experimentalpart, what we see should be what we get by following the installation guide. It'll make sense with v18 but it's really misleading meanwhile.

We already have some questions about that on the Angular Discord as people are creating apps with the v17.3.1 version (as mentioned on the docs app) but are getting M2 styles.

@Kerrick
Copy link
Author

Kerrick commented Mar 28, 2024

Ah, sorry about the confusion. I’m glad the sizing isn’t changing without an opt-in in 17.x. While the docs around this could improve, I’ll close this issue since that’s a different topic. Thanks for the clarification!

@Kerrick Kerrick closed this as completed Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage This issue needs to be triaged by the team
Projects
None yet
Development

No branches or pull requests

4 participants