Hey y'all!
Thanks so much for all your work on mui. We use it every day and it's invaluable.
Releases would follow the the semver guide, per the docs:
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
At least 2 releases now have not followed this pattern.

I can definitely empathize with not wanting to release major versions constantly. However, it makes it extremely difficult to not be able to able to rely on semver when updating many packages. As a global npm issue, It's significantly more time consuming to go through each repo's change log to check if they're following proper semver, rather than being able to update to everything that's not a major release.
Per the above screenshot, it looks like v4 is coming in the next few months. Perhaps break a v4 branch that can release beta versions. If adopters want the latest and greatest and are willing to accept breaking changes they can pull from these releases. However, for developers that need a predictable release schedule, they'd be able to pull from 3.x.x safely.
Thanks, looking forward to hearing your thoughts!
What was the breaking change in 3.2.0?
I agree with everything else. A v4 branch and beta release would be a good idea.
My mistake, re-read through the release notes and see I misunderstood them. Looks like <Button variant="flat" /> will still work in 3.2.0 but just give warnings. I've edited my original post to correct this.
3.0.0 was released just to mirror the icons and completely skipped 2.0.
@zachwolf That was my mistake. The change was done for the wrong reasons. Out of it, we came up with #12752. Hopefully, we will do a better job at it going forward. The v3.2.0 and v4.0.0 (~4 months from now) release should be an example of this effort.
Any more concern?
Awesome, thanks for the quick responses and sorry for the noise.
Looking forward to 4.0 馃!
I've noticed recently that moving from 4.8.0 to 4.8.3 brought in some breaking changes. They were minor enough (breaking change to TypographyProps in Typescript, Skeleton disableAnimate prop replaced with animation={false}), but it was frustrating that the release notes said very little about these breaks and I had to go hunt for the information about them and how to migrate. I spent more time debugging and hunting for info than I did actually migrating.
It's saddening when you can't be sure if you can trust patch-level releases. I don't want to trigger anyone's _Hauptversionsnummernerh枚hungsangst_ but it would be nice to at least get clearer documentation about breaks, even when the releases don't follow semver.
@vdh What was the breaking change in Typography? Skeleton part of the lab which is published as an alpha version. Any new alpha version is allowed to introduce breaking changes.
@eps1lon It was The TypographyProps changes: https://github.com/mui-org/material-ui/pull/18868#discussion_r362088548
Thankfully the documentation did get some updates to show how to migrate, but it would be better if the breaking changes and how to migrate them were easier to track down. I don't fault the lab components for breaking due to being in alpha, but something like breaking or breaking change in or next to a change in the release notes would at least make it obvious where I need to start looking for migrations to make.