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

Clarify what is a minor version #23

Closed
yoavweiss opened this issue Jan 14, 2020 · 14 comments
Closed

Clarify what is a minor version #23

yoavweiss opened this issue Jan 14, 2020 · 14 comments
Labels

Comments

@yoavweiss
Copy link
Collaborator

After sending an intent to ship for this, we got feedback that the minor version is needed for polyfilling for Safari.

At the same time, I don't think the intent of minor version in the spec was to include Safari's mid-year releases as "minor", since they include many new features.

We need to clarify that "minor" means a bug fix release with no major features.

@domenic
Copy link
Collaborator

domenic commented Jan 14, 2020

I would suggest then changing the terminology; "minor version" is often taken to specifically mean versions which change the second component after the dot. (I.e. there's the trio major.minor.patch.)

@jridgewell
Copy link

jridgewell commented Jan 14, 2020

Maybe use "significant" browser version?

For Chrome and Firefox which ships major versions every few weeks, the only significant part of the version is the major (eg, Chrome-81). But for Safari which ships majors once a year and minors throughout the year, the major and minor are significant (eg, Safari-13.1)

@yoavweiss
Copy link
Collaborator Author

I'm fine with "significant". What should we call the other ones? "bug fix releases"?

@JakeChampion
Copy link

It sounds like this proposal will also be setting up strict rules for how any browser (including new ones like Flow Browser) for how they are meant to version themselves. Is this proposal defining the rules to be something similar to the SemVer 2 specification?

@yoavweiss
Copy link
Collaborator Author

This is waaay out of scope. Seems like moving away from "major" and "minor" should clarify that

@jridgewell
Copy link

I'm fine with "significant". What should we call the other ones? "bug fix releases"?

Is "insignificant" not enough? I would really want to call them "minor releases", but "minor" is exactly the terminology we're trying to avoid. Thesaurus gives:

  • small
  • unimportant
  • insignificant
  • inconsequential
  • inconsiderable
  • negligible
  • trivial
  • lesser

Any seems ok, even "bug fix releases".

@yoavweiss
Copy link
Collaborator Author

"insignificant" (or any of the equivalents) seems to belittle those minor releases, which may well have critical bug fixes.
What do y'all think of "feature" release vs. "bug fix" release?

@jridgewell
Copy link

Sure, though I think "significant" is better. But anything that gets away from the semver terms is good.

@JakeChampion
Copy link

@yoavweiss do we define what "feature" and "bug fix" mean? If a release fixes turns a spec non-compliant feature into a spec-compliant feature, is that considered a "bug fix" or a "feature?

@yoavweiss
Copy link
Collaborator Author

I think this is something that product teams of the different browsers would have to decide for themselves.

@foolip
Copy link
Member

foolip commented Jan 16, 2020

If we go with the assumption that Safari will keep going with their version scheme, then I think the most conservative path here for future interop is to require two components to the version, even if that means "79.0" for Chrome. The reason is that otherwise it will be possible to parse some version strings as integers, and if most browsers have only a major version, people might do that and realize only in production that it's broken in Safari.

@yoavweiss
Copy link
Collaborator Author

Removed the "major"/"minor" wording from the spec. I think we can go with "version" for the major version and "full version" for a hint that would include major and minor. See #11 (comment)

@yoavweiss
Copy link
Collaborator Author

If we go with the assumption that Safari will keep going with their version scheme, then I think the most conservative path here for future interop is to require two components to the version, even if that means "79.0" for Chrome. The reason is that otherwise it will be possible to parse some version strings as integers, and if most browsers have only a major version, people might do that and realize only in production that it's broken in Safari.

@foolip - I don't want to assume specific browser version structures here. Browsers know which of their versions are feature versions and which are bugfix only, and can set those values accordingly.

@yoavweiss
Copy link
Collaborator Author

Closed by #46 which did a s/major/significant/g

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants