Features Roadmap
This CEP details our roadmap for the next three major versions. We will update it occasionally whenever we intend to release a new majpr version or if we decided to reschedule a feature or a breaking change to an earlier or a later release.
A couple of thoughts:
- Whatever versioning is used, it is good to be upfront about it and stick to it. (I think some of the frustration users have with the recent Celery releases have been due to assumption of semantic versioning, but non-backwards compatible changes were made in a 4.y release.)
- I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.
Check the reasoning of not using semvar https://www.openapis.org/blog/2020/06/18/openapi-3-1-0-rc0-its-here
A couple of thoughts:
* Whatever versioning is used, it is good to be upfront about it and stick to it. (I think some of the frustration users have with the recent Celery releases have been due to assumption of semantic versioning, but non-backwards compatible changes were made in a 4.y release.)
I completely agree. Since each of the described versions is going to break at least one thing, I think we should communicate somehow.
* I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.
What do you mean by "old-style tasks"?
I'm not in favor of semvar based versioning and very short term new semvar based release version like celery 6/7 etc. rather it is practical to add incremental 5.1, 5.2, 5.3 [django style versioning] and less breaking changes. we can add async based task on celery 5.1 with making the dependencies it uses making them async/await first.
How do you expect to add async tasks if it requires a lot of changes in the code? How isn't that major?
- I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.
What do you mean by "old-style tasks"?
Pretty much this module: https://github.com/celery/celery/blob/v5.0.0rc1/celery/task/
In general what I'm attempting to say is that Celery has a bunch of deprecated stuff. Let's get rid of it to simplify the code base.
- I didn't see it in there, but all the "old-style tasks" stuff should get ripped out. It makes the code quite confusing to follow.
What do you mean by "old-style tasks"?
Pretty much this module: https://github.com/celery/celery/blob/v5.0.0rc1/celery/task/
In general what I'm attempting to say is that Celery has a bunch of deprecated stuff. Let's get rid of it to simplify the code base.
Oh! I wasn't aware it's still there. That'll be gone in RC2 of v5.0 :)