Skip to content

Release following semantic versioning #13160

@zachwolf

Description

@zachwolf

Hey y'all!

Thanks so much for all your work on mui. We use it every day and it's invaluable.

Expected Behavior

Releases would follow the the semver guide, per the docs:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. 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.

Current Behavior

At least 2 releases now have not followed this pattern.

Examples

  • 3.0.0 was released just to mirror the icons and completely skipped 2.0.
  • 3.2.0 introduces a breaking change but does not increase major version. My mistake, this change is backwards compatible.

screen shot 2018-08-28 at 10 14 31 am

Context

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!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions