Celery: Release version 4.2.0

Created on 14 Nov 2017  ·  84Comments  ·  Source: celery/celery

I think that it would be a good idea to release a new version that includes all bug fixes so far. @thedrow @auvipy thoughts?

I can help with the changelog.

Project Governance

Most helpful comment

First RC was released.
I'll create issues for documentation blockers later, possibly tomorrow.

All 84 comments

I am always in favor of releasing smaller bug fixe release as early as possible. I prefer django style release

There is at least one new feature in master https://github.com/celery/celery/commit/0d5b840af1890a9a499a339aa3256445b43837dc
We'll need to cherry-pick all the bug fixes.

I really want to release a new version with https://github.com/celery/celery/pull/4358 but it needs test coverage.

@thedrow I would suggest that we avoid the complexity of a release branch. Let's simply go to the next minor version (4.2.0), in order to be compliant with semantic versioning. What do you think?

Yeh let's do that.

@georgepsarakis Any updates on 4.2? The time / timezone / eta bugfixes seem critical...

There is one PR that we have to merge which causes memory leaks when using the Redis results backend.
Check the milestone is a for progress. We're almost there.

FYI, I'm getting married at the 28th of December so I don't think we'll be able to release before that.
I'd like us to get a release out the door by the 7th of January.
@georgepsarakis @auvipy Please prepare a rolling PR with the release notes for pyamqp, kombu, and celery before that.

@Fokko @johnarnold If you'd like to help we still have 4 pull requests which require test coverage and/or rebasing before we release 4.2.

I've just added #4369 to the 4.2 milestone as I think I'll be able to get to it in the next week or so.

Milestone 4.2 is passed it's due date and several issues are still open (33/98 issues are still open (33%)).
I'm new to the project and therefore have a question regarding this.

Usually projects utilize one of two models, with regards to milestones, either:

  1. Push the due date until all milestone issues have been resolved, or
  2. To release whatever is ready on the due date, and trim the rest?

What is the Celery approach to milestones?

The only blocker to the release currently is https://github.com/celery/celery/issues/4423 because we added a new feature which needs documentation.
@georgepsarakis Can you start working on the release notes please?

@thedrow I will try to start it shortly.

i have updated the milestone issues

@auvipy @thedrow if possible, let's please freeze the merging of Pull Requests. What do you think?

https://github.com/celery/celery/pull/4481 one last merge. and locked

We should finish #4423 before the release but it doean't apply to the release notes.

Would love to see this get released soon. I just spent time trying to figure out why automatic retries weren't working (#4341).

Reportedly there is an issue with master after (probably) merging this PR:

Where do you see the reports regarding master?

In #4498 :

Expected behavior
On the master branch it doesn't work at all. You get this:

And in https://github.com/celery/celery/issues/4041#issuecomment-359845025

@georgepsarakis that error happens when the method is called from the Class object, instead of an instance... my guess is this issue happens when apply_async is called on unbound Tasks (haven't confirmed it yet).

EDIT this seems to happen when inheritance is used instead of the task decorator:
python class AddTask(Task): def run(self, *args, **kwargs) # ...
vs.
python @app.task() def add_task(*args, **kwargs): # ...

Is anyone addressing the release blockers?

I'm not going to release a regression into the wild. Maybe we should revert the offending change and re-create the PR?

this is actually very old issue https://github.com/celery/celery/issues/3723 plz check

I was talking about #4198 and #4041 that @georgepsarakis mentioned.
If I'm wrong, this is not a blocker and we need to close issues as duplicates.

It looks like I spoke too soon on #4041. Should we try running the latest master to see if the issues are fully resolved?

Please do.

It appears to still be broken for cron tasks. There is also what appears to be a very small Redis storage leak.

Issue https://github.com/celery/celery/issues/3808 is also still broken for me on master.

I'd bet that fix for #3723 would be quite small if someone with celery internals knowledge could take a look. It's easy to reproduce.

Unfortunately I didn't dig enough on my own...

3808 have a 5.0 milestone.. Same with #3723

The only one that is left before release if we follow the milestone (https://github.com/celery/celery/milestone/19) is #4423

Are the milestones incorrect?

I updated the milestone

@auvipy @georgepsarakis @thedrow @ask

4041 is making no progress and blocking release of a ton of other fixes. If this is a pre-existing bug and not a regression, can we get a release of what is already done?

@johnarnold There's one regression we need to fix or revert https://github.com/celery/celery/issues/4041#issuecomment-359875276 and another issue that is yet unclear if it is caused by Celery 4.2.
We need to fix the regression first and see if we can still reproduce the issue on Celery 4.2.

issue only happens with old-style Task/PeriodicTask - see #4572

Given how big this release has become, would it make sense to make an alpha/beta pre-release fairly soon? I think that would enable some users to do more real-world testing? I'd be happy to put an alpha release on our test systems!

On the other hand, I appreciate it represents work for the maintainers, so feel free to say no 😄

I think we'll start with a beta release, yes.

that will be great

@thedrow @auvipy let me know if you want me to resume efforts on the Changelog. I agree that a release should take place as soon as possible. Seems that with #4572 , #4041 might actually be fixed.

yes plz resume the work on changelog

@auvipy @thedrow I will submit a Pull Request today probably.

@thedrow is there anything pending for the release? If you need any help, let me know.

Wrote the release announcement yesterday. I'm going to tag today.

Turns out we lack proper documentation for the Redis Sentinel results backend.
This is not a blocker for the release since we're going to release an RC first but let's open an issue about it and fix it before GA.

I just released 3.1.26 containing https://github.com/celery/celery/pull/4357.
This fix is crucial for people to migrate to Celery 4.x so I created a special 3.x release just for it.

First RC was released.
I'll create issues for documentation blockers later, possibly tomorrow.

you might forgot about pyamqp and kombu releases?

I haven't. I just didn't have time to get to it. I need to prepare the release notes for them as well.

oh sorry. thanks for the rc. after pushing other packages notify me for blog post announcement

Turns out we have a compatibility issue with flower because we released an RC. See https://github.com/mher/flower/issues/791
It's a very easy fix. Any volunteers?

gave it a try: https://github.com/mher/flower/pull/792; let me know what you guys think

I just released Celery 4.2.0RC2.

thanks! can we expect the other dependencies new release if you could manage time of course

If someone makes the release notes I can release them.

@thedrow Can we get a final release?

There are a few things I want to fix first. I'll create a checklist later and assign duties.

Hi, thank for the new version.

I install it: pip install celery==4.2.0RC2
I run it:
celery -A app worker -l info --beat => celery@mountain v4.2.0rc2
celery -A app beat -l info -S django => scheduler -> django_celery_beat.schedulers.DatabaseScheduler

But the Scheduler always send old tasks who was removed from the periodic tasks entries.

It seems that #3812 can be reproduced with https://github.com/celery/celery/issues/3812#issuecomment-381554599.
We're going to fix that before GA if that's really the case.

I've released our last RC. If no problems are found we'll release the GA soon.
The only thing that is really missing now are the release process document and #4679.

Hey, y'all.
I'm trying to get more involved in the project.
Anything I can help with for the next release?
Thanks.

Hello @xirdneh . There are many ways you can contribute:

Let me know if you need more pointers and help, thank you!

Awesome,
I'll see what I can do for #4731 and documentation.
Thanks.

Note that I've released Kombu 4.2 which breaks Celery 4.1.0.
I'm going to issue a bugfix release soon. If you still use Celery 4.1.0 I urge you to upgrade ASAP.

I have released 4.1.1 and I urge everyone to upgrade.
@auvipy Please issue a blog post about this.

Is it possible to get permissions on the IRC Freenode #celery channel to change the topic?
Some people are confused about the versioning and I can keep that updated.
My IRC handle is josuebc
Thanks.

can we release another RC?

@xirdneh I'll have to ping @ask about it.
Can you open a new issue?
@auvipy Yes, of course.

I just released Celery 4.2.0RC4.
We still need to resolve #4731 and #4721 to release GA.

New blocker #4768 :(

I just released amqp 2.3.0.
Please test it and let us know if there are any problems.

@thedrow also possible blocker https://github.com/celery/celery/pull/4770#issuecomment-392419237

Looks like one.
Shame we caught it so late.
Any volunteers to fix this? I'll release a Bugfix version.

I released the fix in amqp 2.3.1.

Is #4768 the only blocker now?
Anybody taking that?
I'll have some time to take it this weekend if nobody else has time.

plz look into it @xirdneh

Might be a blocker: https://github.com/celery/celery/issues/4791
I can probably finish writing the tests on Monday.

I merged out last PR.
As far as I'm concerned master is now frozen.

I am going to complete the release notes and release today.

yes please :dagger:

Awesome!
:metal:

Released! :tada:
There are a few things left to do:
We need to issue an announcement on our website and ensure that the documentation website updates to version 4.2.0.

Thank you very much for your time and effort everyone.
This has been a huge release with a lot of complex issues to resolve and we stood up to the challenge.
Awesome work!

I have issued a blog post. can we close this?

Yes.

Was this page helpful?
0 / 5 - 0 ratings