Replies: 4 comments 6 replies
-
Do you know how other OS projects do this? A monthly release seems very reasonable to me, although I suppose you'd like to get the new release out ASAP for bug fixes. But I have zero experience in this area, so very curious to hear other people's thoughts. |
Beta Was this translation helpful? Give feedback.
-
Different projects have different release schedules - I'm sure that @adrinjalali can fill us in about the reasoning behind SciKit-Learn's one :-) Doing regular releases is good, since it means that you're testing the release process frequently (I was very nervous about the v0.5.0 release, since I'd created the pipeline four or five months before, and it hadn't been used for a Prod release). It also reduces pressure to get something in for a particular release - if you miss the cutoff, then you know how much delay there will be (and it won't be very long). The flip side of that is that releases don't wait for 'one last fix' either. Emergency bugfixes would be outside this, but hopefully we'd keep those to a minimum (if not, then we need to rethink our testing process). I think that fortnightly releases would be excessive though - I agree with @hildeweerts that monthly feels more reasonable. |
Beta Was this translation helpful? Give feedback.
-
We may be okay with a monthly release now that things are changing fast, but in general that sounds way too often to me. On the scikit-learn side we try to do a release per 6 months, and the minor releases are whenever there's a few bug fixes which are worth pushing out fast. That means the first minor release usually goes out a few weeks after the first release, since things come up that we hadn't tested for, and the next ones can be after two months or so. In the long run, I don't think we really need to be pushing out releases too frequently once the project is at a stable state. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
One thing that @riedgar-ms and I have been discussing for a while is the release schedule. Right now we don’t have a regular schedule (e.g., every 2 weeks), but rather release whenever there’s “something worth releasing” (which remains to be clearly defined).
Concretely, Richard is adding support for the control features in mitigation right now ( #631 ), so once that’s checked in we could theoretically create another release. It would be nice to get an idea of what everyone considers to be release criteria.
For me any additional feature or bugfix that could be useful to users is sufficient, as long as that doesn’t mean we release more than once a week. Of course, quality needs to be there, but that should be true even for every single PR. Additionally, we wouldn't want a lot of breaking changes, so if it's possible to avoid them by slowing releases down a little bit and consolidating changes (e.g., release only once a month as opposed to bi-weekly) then I'm all for that. [Note that we have a page that describes how to migrate from one version to the next ( https://fairlearn.github.io/master/user_guide/migrating_versions/index.html ).]
@MiroDudik @adrinjalali @hildeweerts @riedgar-ms
Beta Was this translation helpful? Give feedback.
All reactions