Roadmap to nameko 3.0.0

Nameko 3.x is in RC for more than a year. For developing new applications based on nameko 3 it would be great to have it released to provide stability.

My proposal is:

  • agree on releasing nameko 3 as priority
  • close really resolved issues
  • reject issues, which are not going to be implemented
  • label remaining nameko 3.x issues with “3.0.0GA”
  • add issues for things to be done for 3.0.0 release
  • agree on not adding any new features to existing RC
  • work on resolving “3.0.0GA” functional features (ignore documentation ones) and release nameko 3.0.0rc9, possibly considering this to be “functional complete release”
  • resolve documentation issues (trying to keep it correct and complete, but not too extensive, possibly postponing some topics to next minor or patch version)
  • release nameko 3.0.0

If we agree on policy for pruning issues, I volunteer on doing this work (hoping someone could correct my possible errors).

I am a little ashamed that Nameko 3.0 still isn’t out of pre-release yet :flushed:

Thank you for this push and volunteering to help.

I think the biggest thing blocking release is better documentation. Nameko docs have not been updated for a long time and much has changed, especially in Nameko 3.0. It would be a disservice to the community to release 3.0 without considerably updated documentation.

I have an outline in mind for the new docs. A lot can be lifted from the existing ones, but some certainly needs writing from scratch. Give me two weeks to get the bare bones of it together, and then we can decide how and when to fill in the gaps.

Documentation may be the only thing blocking release. I would happy to make 3.0.0rc9 the final RC unless you think there’s anything critical that can’t wait for the subsequent release.

Two obvious candidates for possible inclusion in 3.0.0 are https://github.com/nameko/nameko/pull/652 and https://github.com/nameko/nameko/pull/647. While they are very close to done (although I still owe reviews on them both) they are significant features that I think need to be tested in RC releases for a while – so including them in 3.0.0 would introduce more delay.

Two weeks for docs sounds great. Releasing 3.0.0rc9 too.
Regarding #652 and #647 features, I would consider postponing it to version 3.1.0 and/or marking these features as experimental. The features seem to be backward compatible (from very quick scan of the features, which look really promising).

For me, stability of the 3.0.0 GA is the feature, I prefer the most at the moment.

For the record, I’m also fine with having #652 and #648 in later releases (we’re going to be using the gevent stuff ourselves but it’s ok to use it from the branch or my fork).

I agree that it would send a good signal to have a release rather than delaying it indefinitely for “unproven” features. It also helps with having conversations like: “sorry that doesn’t work yet but in nameko 3 everything is awesome so just stop developing and wait for it” or “all of this changes in nameko 3 so it’s probably not worth working on x yet… but we don’t know when that will be” (for people who are hesitant on using the release candidate as a dev target).

Give me two weeks to get the bare bones of it together, and then we can decide how and when to fill in the gaps.

I’m also happy to help if I can @mattbennett