Skip to content
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

5.0 Release Schedule #2150

Closed
12 tasks done
ellisonbg opened this issue Feb 7, 2017 · 55 comments
Closed
12 tasks done

5.0 Release Schedule #2150

ellisonbg opened this issue Feb 7, 2017 · 55 comments

Comments

@ellisonbg
Copy link
Contributor

ellisonbg commented Feb 7, 2017

I wanted to open an issue to track and discuss the planned release schedule for 5.0. Here is what I would propose:

  • Cut a beta release once all PRs associated with open 5.0 milestone issues are merged. There is talk about that being roughly a week from now and I think that sounds about right.
  • Finish any UI/UX design review (see UI/UX design review for 5.0 #2142) during the alpha cycle. The only caveat is that experience shows that these UI/UX design reviews take more time that initially expected. Because of that, I think we need to plan to have a longer alpha cycle that may involve non-trivial fixes to the new UI/UX. I don't know this is needed, but in the past it always has been needed for new UI/UX.
  • Cut an additional alpha release once the UI/UX design stuff is done.
  • Wait at least a few days.
  • Release candidate: 5.0.0-rc.1 5.0.0rc1
  • Final release.
@minrk
Copy link
Member

minrk commented Feb 14, 2017

I think this sounds good, though I would probably call it a beta instead of alpha. I think we can do notebook 5.0.0b1 (or a1) after conferring at the meeting today.

@takluyver
Copy link
Member

+1 - I was already planning to release a beta today. I'll be busy after the meeting though, so if we do it after that, hopefully someone else can cut it.

I think that 'beta' signals our intent more clearly than 'alpha'.

@Carreau
Copy link
Member

Carreau commented Feb 14, 2017

@parente want to look at compatibility with kernel-gateway.

@ellisonbg
Copy link
Contributor Author

ellisonbg commented Feb 14, 2017 via email

@parente
Copy link
Member

parente commented Feb 14, 2017

Thanks @Carreau. I don't expect anything major. I'll test against alpha/beta releases as they come out.

@Carreau
Copy link
Member

Carreau commented Feb 14, 2017

cc @JamiesHQ

@parente
Copy link
Member

parente commented Feb 16, 2017

I started poking at kernel gateway with with notebook 5.0.0b1 installed. A good portion of the unit test suite and some manual requests to the server both fail because of the exception:

ERROR:tornado.general:Uncaught exception, closing connection.
Traceback (most recent call last):
  File "/Users/parente/miniconda3/envs/kernel-gateway-dev/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events
    self._handle_recv()
  File "/Users/parente/miniconda3/envs/kernel-gateway-dev/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv
    self._run_callback(callback, msg)
  File "/Users/parente/miniconda3/envs/kernel-gateway-dev/lib/python3.5/site-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback
    callback(*args, **kwargs)
  File "/Users/parente/miniconda3/envs/kernel-gateway-dev/lib/python3.5/site-packages/tornado/stack_context.py", line 275, in null_wrapper
    return fn(*args, **kwargs)
  File "/Users/parente/miniconda3/envs/kernel-gateway-dev/lib/python3.5/site-packages/notebook/services/kernels/kernelmanager.py", line 220, in record_activity
    msg = kernel.session.deserialize(fed_msg_list)
  File "/Users/parente/miniconda3/envs/kernel-gateway-dev/lib/python3.5/site-packages/jupyter_client/session.py", line 853, in deserialize
    raise ValueError("Duplicate Signature: %r" % signature)
ValueError: Duplicate Signature: b'50ee6f93c211428d751309f08f8795fce0028eeae09b82bb5cd82881278b0e73'

It's not immediately clear if this is a problem with the kernel gateway or not. Figured I'd raise it up for awareness.

@takluyver
Copy link
Member

That's curious. The error is coming from code that's meant to prevent against replay attacks by blocking messages with the same signature as a previous message.

I'm guessing a bit, but I think the issue is with the new activity monitoring; previously, messages from the kernel were only deserialised once (to be reserialised as JSON to go to the browser). Now iopub messages are deserialised a second time to update the kernel's state. If that happens with the same session object, then it will attempt to parse the same message twice, leading to the error you see.

What I don't understand is why we don't run into that when using the notebook server normally. @minrk ?

@ellisonbg
Copy link
Contributor Author

HI all, I opened a few PRs to fix some last minor issues for 5.0. We now know what to do to fix #2209, just need someone to do a quick PR (@jorisvandenbossche may end up doing that). I have been using 5.0 and things are looking really good.

There are a few other minor issues targeted for 5.0, some related to documentation/release notes:

https://github.com/jupyter/notebook/issues?q=is%3Aopen+is%3Aissue+milestone%3A5.0

Anyone know of any other major things that need to be taken care of that isn't being tracked here?

Thanks everyone for helping get this release out!

@takluyver
Copy link
Member

We're closing in on this. #2204/#2234 is the last outstanding change to the code itself. I'd like to make an RC1 or beta2 in the next couple of days.

@gnestor
Copy link
Contributor

gnestor commented Mar 9, 2017

notebook 5.0.0b2 is published to PyPI: https://pypi.python.org/pypi?:action=display&name=notebook&version=5.0.0b2

@Carreau
Copy link
Member

Carreau commented Mar 14, 2017

re-cc @JamiesHQ

@gnestor
Copy link
Contributor

gnestor commented Mar 16, 2017

I just published 5.0.0-rc.1. Please install it from PyPI and use it for the next 5 days. We can discuss official release schedule in the weekly dev meeting.

@Carreau
Copy link
Member

Carreau commented Mar 16, 2017

i should have paid attention, but 5.0.0-rc.1 is not a valid Python version number. It may break how pip interprete wether a file is more recent than another.

It's better to confort to pep440, but now that it's done don't unpublish.

We should enforce version formatting at build time.

Also you miss the wheels, but same things, don't push the wheels now.

@Carreau
Copy link
Member

Carreau commented Mar 16, 2017

Great job otherwise ! Thanks ! You should make an announce on the ML.

@Carreau
Copy link
Member

Carreau commented Mar 17, 2017

Also I realise this is because the issue at the top request to release 5.0.0-rc.1, (which is not correct). Rereading pep440, it's not even better to follow it, but it's mandatory:

The canonical public version identifiers MUST comply with the following scheme:
[N!]N(.N)*[{a|b|rc}N][.postN][.devN]

I think it was SHOULD a couple of years ago. It's sad that this is not enforced by default with a flag to overwrite, that requires too much implicit knowledge from developers.

@gnestor
Copy link
Contributor

gnestor commented Mar 17, 2017

@Carreau Thanks for uploading a valid version and fixing this with #2302. I will post a message to the mailing list now...

@rgbkrk
Copy link
Member

rgbkrk commented Mar 22, 2017

😊

@takluyver
Copy link
Member

@gnestor you wanted to do an rc2, right? I think there are no open issues or PRs marked 5.0 at present.

@gnestor
Copy link
Contributor

gnestor commented Mar 23, 2017

I was just about to cut a new release 👍 and then I spilled coffee on my laptop 👎. Fortunately I have another one here.

@Carreau
Copy link
Member

Carreau commented Mar 23, 2017 via email

@blink1073
Copy link
Contributor

hopefully that is a reimbursable cost and won't ruin Christmas.

@gnestor
Copy link
Contributor

gnestor commented Mar 23, 2017

🥁 (punchline sound)

@Carreau
Copy link
Member

Carreau commented Mar 23, 2017 via email

@takluyver
Copy link
Member

That's definitely some risible comedy.

@gnestor
Copy link
Contributor

gnestor commented Mar 23, 2017

I will survive 👍

5.0.0rc2 is up on PyPI. The relevant change since rc1 is that the last of the npm dependencies (preact, preact-compat, proptypes) were moved to bower in hopes of resolving #2056

@Carreau
Copy link
Member

Carreau commented Mar 23, 2017

I will survive

🎶 First I was afraid, I was petrified 🎶
🎶 Kept thinking I could never live without an RC on PyPI. 🎶

@takluyver
Copy link
Member

You know we all want to see Alien song dubbed with you singing about Python packaging. :-P

@Carreau
Copy link
Member

Carreau commented Mar 23, 2017

You know we all want to see Alien song dubbed with you singing about Python packaging. :-P

Hahahah that brings back some memories !

@gnestor
Copy link
Contributor

gnestor commented Mar 28, 2017

Update: I got my laptop back from the repair shop and I didn't fry my logic board!!

@blink1073
Copy link
Contributor

Resolution Confirmed.

@gnestor
Copy link
Contributor

gnestor commented Mar 28, 2017

In other news, it's time to check off that last to do item at the top. And to do that, I am going to create another to do list (please add to this if necessary):

@JamiesHQ
Copy link
Member

@gnestor @Carreau : I've restored the 5.0 paper doc if you'd like to continue working there: https://paper.dropbox.com/doc/Jupyter-Notebook-5.0-onj98NSvrkQ1eVeT8KTFv

@gnestor
Copy link
Contributor

gnestor commented Mar 29, 2017

The blog post is ready for a final review: https://paper.dropbox.com/doc/Jupyter-Notebook-5.0-onj98NSvrkQ1eVeT8KTFv

Can someone give me access to the blog?

EDIT: Should we mention anything about transitioning to JupyterLab in the blost post? The changelog reads:

We encourage users to start trying JupyterLab in preparation for a future transition.

The changelog is also ready for a final review: https://github.com/jupyter/notebook/blob/master/docs/source/changelog.rst

We have 2 small bug fixes related to traitlets compatibility that we could include in 5.0.0:

Other than that, I'm ready to publish 5.0.0 as soon as the blog post is ready to publish.

@ellisonbg
Copy link
Contributor Author

ellisonbg commented Mar 30, 2017 via email

@ellisonbg
Copy link
Contributor Author

ellisonbg commented Mar 30, 2017 via email

@gnestor
Copy link
Contributor

gnestor commented Mar 30, 2017

Thanks for the feedback @ellisonbg! I updated the Paper doc and loaded the post in Ghost, so it's ready to publish. I also updated the changelog with new screenshots and some revisions to make it more consistent with the blog post (#2351). This is ready to merge!

I also added credits to the blog post. Here is the notebook that I used to generate the credits (https://gist.github.com/gnestor/b3c83b499573f864cd5399b06fab439e).

I am standing by to publish. @Carreau I'm not sure how to publish to conda, so I could use your help with that.

@SimonBiggs
Copy link

With the newsletter (https://paper.dropbox.com/doc/Jupyter-Notebook-5.0-onj98NSvrkQ1eVeT8KTFv) the table examples at the end are the wrong way round it seems.

@gnestor
Copy link
Contributor

gnestor commented Mar 31, 2017

Good catch @SimonBiggs! It's updated in the drafts of the blog post and mailing list post.

@gnestor
Copy link
Contributor

gnestor commented Mar 31, 2017

I just pushed the 5.0.0 commit to master to run CI tests and verify that everything is passing. Since Friday is not the best day to do a release, I will hold off until Monday or Tuesday.

@takluyver
Copy link
Member

I'd generally suggest we avoid doing half a release like this, because if people see a '5.0 release' on Github, they might get confused why they can't install it. Hopefully not too many people will notice it, though.

@Carreau
Copy link
Member

Carreau commented Apr 3, 2017

Sorry I was offline until today. Catching up. Was busy with swimming with this:
dscf0218

Making a conda-forge release should not be too hard, do the Pypi one, then update the first two lines of this file via a PR.

Since Friday is not the best day to do a release, I will hold off until Monday or Tuesday.

I disagree, on friday you release and go on week-end, then you deal with bug reports on monday. At least people will have +1 so you know what to prioritize :-)

@minrk
Copy link
Member

minrk commented Apr 4, 2017

Since the tag is made, 👍 to publishing the release from it now.

@gnestor
Copy link
Contributor

gnestor commented Apr 4, 2017

@gnestor gnestor closed this as completed Apr 4, 2017
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants