JuliaLang / JuliaLang/Juleps

Pkg3: Minor-Upgrade

Open
#12 9 comments 0 reactions 0 assignees View on GitHub
Pkg3
Dominant language
No language data
Stars
75
Forks
23
PR merge metrics
No merged PRs in 30d

Description

Right now,
as I understand it there is 2 levels of package updating:

- **Update:** get the latest patch release (but keeping same minor version) i.e. **X.Y.a -> X.Y.b**
- Nonbreaking
- **Upgrade:** get the lastest release.______________________________________i.e. **A.α.a -> B.β.b**
- Breaking

I suggest perhaps it is worth going all out, and having one update/upgrade command for each level in the Semantic Versioning.
Perhaps:

- **Patch:** get any patch releases, on same major and minot version number, i.e. **X.Y.a -> X.Y.b**
- Bug-fix; Nonbreaking
- **Update:** get any minor, or patch releases, on same major version number, i.e. **X.α.a-> X.β.b**
- Feature Addition; Nonbreaking
- **Upgrade:** get any releases, including major, minor, or patch_______________i.e. **A.α.a -> B.β.b**
- Breaking

So this is the addition of the middle stage.
Where you upgrade minor, without upgrading major.

I think if [SemVer](http://semver.org/) is being followed correctly then this is useful.
Since a Minor change, is supposed to be nonbreaking.

People don't really follow SemVer that closely, but perhaps the should.
In part the lack of following SemVer closely is because of a fear of declaring a package v1.0.0.
and packages in the 0.x.y stage do not have to obey most of SemVer, and can have breaking changes in their minor (or even patch) versions.

This itself suggests perhaps each there should be different behaviors for the update and upgrade commands depending on the package's version. Eg that any change on a 0.x.y package be considered a potentially breaking change, and thus require *upgrade*

More sanely, perhaps, it suggests that no package that is not tagged 1.0.0 or higher should be allowed in the official repo.
Since at the point one is asking to be added to the official repo, one really is almost by definition at least at 1.0.0. And so one should now be following SemVer properly.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.