-
Notifications
You must be signed in to change notification settings - Fork 56
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
Propose semantic versioning of the library #18
Conversation
Since we released `2.0.0` of this library, we started adding more rules in `2.1.0`. This led to consumers of the library to lock onto `~2.1.0` rather than `^2.1.0`. Effectively, this means that our consumers (library authors) consider our minor releases to be major releases (and rightfully so!). This patch suggests to use major versions for any addition to the ruleset that may lead to code change requirements downstream in consumers, and makes this package "less special" among the dependencies of any project relying on it.
Also, can we get @carusogabriel on board on this project? This seems to be his area of interest, so I think he's a better fit to closely follow improvements in the CS ruleset :-) |
Makes sense - @Majkl578 and I discussed this a while back and decided to follow the path Slevomat themselves go. Difference is: they suggest not including the entire ruleset but rather selectively importing them, while we suggest to import the entire ruleset. I'm okay with the change, we'll just bump major releases more often then 👍 Sneak edit: I'm also 👍 with bringing @carusogabriel in. |
@Ocramius Thank you for inviting me. I'm still learning and study Coding Standards, Tokens, all this stuff, but nothing that some nights awake don't solve 😁 I still need to propose the Also, the |
@carusogabriel please open different PRs (can be just WIP |
Something like: if ($foo === 'bar' || $foo === 'baz' || $foo !== 'foo') {
return true;
} into: if ($foo === 'bar') {
return true;
}
if ($foo === 'baz') {
return true;
}
if ($foo !== 'foo') {
return true;
} ? |
@carusogabriel open PR, let's discuss there. |
I'm ok with this once we settle down with the new rules (i.e. those @carusogabriel proposes). Original intention was to not blow versioning to 10+ just by adding some new sniffs, but once these new sniffs are on board (+ those that already are) it's ok to go back to semver. 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
I'll update constraint & alias separately.
Btw, I included @carusogabriel in the organisation, with write access to this repo. /cc @doctrine/doctrinecore |
Since we released
2.0.0
of this library, we started adding more rules in2.1.0
.This led to consumers of the library to lock onto
~2.1.0
rather than^2.1.0
.Effectively, this means that our consumers (library authors) consider our minor
releases to be major releases (and rightfully so!).
This patch suggests to use major versions for any addition to the ruleset that may
lead to code change requirements downstream in consumers, and makes this package
"less special" among the dependencies of any project relying on it.