-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Version 1 road map, or whatever you decide to call “stable”… #1992
Comments
Totally hear you and thanks for the kind words. I have a bunch of thoughts here of course 😂 I'll try to write something up later today if I can! |
I would like to adopt Ruff as our main tool for linting, but our main blocker is the v1/stable release. For now however, we're going to be running ruff alongside our other linting tools (flake8, bandit, etc). |
I got delayed on this, but I'll post some thoughts on what I want to see in a "stable" release by the end of the week! |
No worries whatsoever. Please do take your time. |
Here's what I'd like to see going into a Version 1 (which I assume would be
As you can see, there are a few potentially-breaking changes in there. The intent is for them to be fully backwards-compatible, but I can't process complete backwards compatibility yet. To put this in higher-level terms, I want Ruff to hit two milestones before bumping to
I don't know when exactly we'll be able to bump to Here are a few things that aren't important to me, with respect to bumping to
This is all based on current thinking and I reserve the right to deviate from this path as time goes on 😅 But hopefully this is helpful. Feedback always welcome. |
I'll \cc @not-my-profile on this issue too, actually, as he's doing a lot of work related to those rule and diagnostic API improvements. |
I'd add More thorough documentation for rules (#1467). |
My only very minor concern here is that poetry expects things to be 1.x.x before auto-updating packages. Not an unsurmountable issue, just a minor annoyance. Otherwise, I fully support this vision. It's perfect! Thank you. |
And using SemVer:
There's a couple of dozen big projects listed on https://github.com/charliermarsh/ruff already using Ruff in production :)
All planned for "Version 1": #1992 (comment) :) |
@charliermarsh You might consider pinning this, putting this in a milestone, or putting this general information in a That might be too much maintainer time on top of all the things you have to manage, so not doing any of these would also be 100% okay. |
The closest issue that we have open related to this is #1997 (I think) |
GitHub Project can help organize it all. It's fine as it goes. I am 💯 sure that a fair few people would help the project if @charliermarsh was getting overwhelmed… @charliermarsh please do not burn out. |
We're making good progress on this! Now that we support all Python 3.10 and Python 3.11 syntax, we can start seriously considering a "stable" release (that is, if we wanted to punt some of the features listed above to "post-0.1"). I think "Editions" would be a good thing to do since it gives us a mechanism to change configuration in the future in a backwards-compatible way. |
I'm waiting for the first stable release to propose ruff adoption to big python project (e.g. Django).😅 |
Is there any specific place you're tracking the editions concept? Quick notes:
|
We shipped v0.1.0 a while back, which included a clear versioning policy -- and we're now looking ahead to a bunch of stabilizations in v0.2.0 in the near future -- so I'm going to close this out for now. We still have some big changes planned for the future that will likely change the API (e.g., we want to do a holistic recategorization of the rules at some point; we may add support for custom rules; we'd like to ship a programmatic API, to call Ruff from Python). But all of those changes will follow the versioning policy defined above, and will be shipped with appropriate deprecations and compatibility guarantees over time. |
This is not really a bug, more a request for clarity.
First, I really like
ruff
and I do want to make it my go-to tool for linting. Currently, using it takes some effort to update as the release versions are coming fast and frequently. This is, of course, fine and understandable as it is under massive development. Kudos to everyone working on it, your efforts are much appreciated.What I am looking for is a vague and non-binding roadmap to a “stable” version (let's call it v1!) so that I can plan a massive upgrade.
The text was updated successfully, but these errors were encountered: