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
Make Rubocop-RSpec compatible with Rubocop v1.0 #1051
Comments
/cc @pirj @Darhazer @marcandre |
Hmm, actually I think (1) may just be #1019 and a couple of fixes to default_config_spec.rb. |
That is very reasonable.
I think this is correct. |
Ooh nice, I didn’t know that. I’ll do that for our open pull requests on the 2.0 milestone. |
Actually, after merging #1019 we could release a v1.99.0 that would be compatible with RuboCop 1.0, while we work on the remaining PRs in the 2.0 milestone. |
Considering semver versioning, I don't think it makes sense to throw in a high The two options I see for version numbering is:
Considering the description in #1019:
Given this is potentially breaking, then I suggest calling it 2.0.0. I really love the idea with a release ASAP to support Rubocop 1.0. So call it 2.0.0 and not 1.99. After that, the rest of the works you listed, could go into v3.0.0. In my experience, better safe and release an extra major version. I bet you will not run out of major version numbers 👍 Thanks for your efforts, guys |
@bquorning Let's try that, I really hope this works. I also hope we won't postpone 2.0 for too long after that. Just let me know if you need a hand with anything related to those releases.
@jesperronn If we release a version with RuboCop 1.0 support and dropping < 1.0 support, plus cop renamals, and call it 2.0.0, then introducing more breaking changes in 2.0.1 is not an option according to SemVer, it should be numbered 3.0.0. |
I agree that by releasing breaking changes in a v1.99, we wouldn’t be following semantic versioning. People who rely on semantic versioning might just run But we are not going to release a v2.0.0 followed by a v3.0.0 in a few days. That would be confusing for everybody, and only be beneficial to those who are impatient to try out RuboCop v1.0 (myself included). I can think of two other options:
|
To avoid name and department clash issues, RuboCop decided to grant each extension its own department. For those cops that already have the department matching the extension name, no changes are needed. More info rubocop/rubocop#8490 The changed cop names are: * `Capybara/CurrentPathExpectation` -> `RSpec/Capybara/CurrentPathExpectation` * `Capybara/FeatureMethods` -> `RSpec/Capybara/FeatureMethods` * `Capybara/VisibilityMatcher` -> `RSpec/Capybara/VisibilityMatcher` * `FactoryBot/AttributeDefinedStatically` -> `RSpec/FactoryBot/AttributeDefinedStatically` * `FactoryBot/CreateList` -> `RSpec/FactoryBot/CreateList` * `FactoryBot/FactoryClassName` -> `RSpec/FactoryBot/FactoryClassName` * `Rails/HttpStatus` -> `RSpec/Rails/HttpStatus`
Do you mean those who don't use For the rest, who have both |
I support the idea of releasing |
I acknowledge that you already planned for a bigger 2.0 release. However, it is probably relevant to even more people to be able to upgrade to rubocop to v 1.0. For my personal and work project I will consider to delete rubocop-rspec dependency until rubocop 1.0 is supported, since it is more important for me to upgrade rubocop than to upgrade rubocop-rspec. This is also why I think you should release a version ASAP that supports Rubocop 1.0. Personally I prefer you call it v2.0 but if you call it something else, it will still work for me. Also if you plan a new release with even more changes, I would be totally fine with calling next version v3. Breaking versions could be days apart. I also think it eases upgrade if you release breaking issues as individual majors (even if they are released within a very short timeframe). However, the above is just my personal opinion. There is a more important case for community: To support Rubocop v1.0. If youguys can agree on a plan, then I will support whatever decision you make. Thanks for working on the project, I really appreciate it ❤️ |
Isn't it possible to have a |
Ha. It slipped my mind we're actually in control of that [1, 2]. @marcandre No worries, 2.0.0.pre is usable for the majority of our users already. |
To be fair, this process is manual ATM, since |
With the release of v2.0.0.pre, I am closing this issue. Please beware that you may need to manually edit your Gemfile to have this version installed. |
We didn't adopt RuboCop v1.1 either v1.0 now, because rubocop-rspec doesn't support v1.x yet. See: rubocop/rubocop-rspec#1051
We didn't adopt RuboCop v1.1 either v1.0 now, because rubocop-rspec doesn't support v1.x yet. See: rubocop/rubocop-rspec#1051
RuboCop RSpec 2.0.0 has just been released. 🎉 |
Update: With the release of v2.0.0.pre, this issue has been closed. Please notice that you may need to manually edit your Gemfile to have this version installed.
RuboCop v1.0 has been released, and RuboCop-RSpec is not compatible. It is expected that the compatible version will be released as RuboCop-RSpec v2.0.0, which will also contain a number of other major changes.
This milestone tracks the work that needs to be done: https://github.com/rubocop-hq/rubocop-rspec/milestone/1
I’d like to tackle this in two steps, one after the other:
Please help me identify which PRs in the milestone belong to category 1 and which belong to 2.
I would like to test things out in another branch than
master
. Which, given that all current pull requests are againstmaster
means that I must merge and test locally. Why? I would like to have some certainty about the direction before we start merging code and I would like to keep the master branch clean in case we need to push a bugfix release before we’re ready to release v2.0.The text was updated successfully, but these errors were encountered: