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

Pre-release plan for Notebook v7 #6266

Closed
7 tasks done
Zsailer opened this issue Jan 5, 2022 · 16 comments
Closed
7 tasks done

Pre-release plan for Notebook v7 #6266

Zsailer opened this issue Jan 5, 2022 · 16 comments

Comments

@Zsailer
Copy link
Member

Zsailer commented Jan 5, 2022

This describes the shortest path to get out a pre-release of Notebook v7 (currently called RetroLab).

There are still discussion around what we should do about git histories between jupyter/notebook and jupyterlab/retrolab (i.e. do we merge the two histories or not?). In the meantime, @bollwyvl mentioned changing the current jupyter-notebook entrypoint in notebook to retrolab might be a good place to start for the pre-release.

I'd also like to suggest that we temporarily rename the jupyterlab/retrolab repository to jupyterlab/notebook-7 or something similar, since the name "retrolab" might add some confusion for users. It's officially notebook-7 now.

Here are the steps I propose (and we should discuss):

  1. Add retrolab as a dependency of the notebook package in jupyter/notebook.
  2. Change the jupyter-notebook entrypoint in jupyter/notebook to run retrolab.
    1. Add some messaging in the logs that tell users they are looking at a new interface. If they find issues, they should report them to the jupyterlab/retrolab (or better, jupyterlab/notebook-7) repository.
    2. Also add messaging to point users to the classic entrypoint in the next point
  3. Add a new entrypoint that allows users to still run the classic notebook, say jupyter-classic or something similar.

Notebook 7 pre release steps

Ping @tonyfast @bollwyvl @jtpio

@jtpio
Copy link
Member

jtpio commented Jan 6, 2022

Thanks @Zsailer for opening this 👍

Probably the main issue with this approach will be RetroLab coming with the /retro endpoints. So for an end user using the pre-release of Notebook 7 with jupyter notebook, this will result in different URLs which might be confusing. Some UI elements will also still be referring to "RetroLab" which can look odd at first to someone installing the notebook package.

@bollwyvl
Copy link
Contributor

bollwyvl commented Jan 6, 2022

My suggestion was such that we might "get away" with a fair amount of reuse-by-extension, and not get have to get too crazy on it, but could it be its own (wrapper) NotebookApp(RetrolabApp) in a new retroapp.py that:

  • used add_handlers directly to achieve the "classic" urls
  • specified appName in page_settings such that it said Notebook instead of Retrolab

If all of these things are hardcoded all over, maybe this is a good time to push on this (and the lab 4 upstream).

@Zsailer
Copy link
Member Author

Zsailer commented Jan 19, 2022

Last week, we discussed moving the development of retrolab to the notebook repo.

This repo's master branch would become retrolab and the classic notebook would be maintained on a 6.x.x branch, i.e. 6.4.x today.

I went ahead and created a 6.4.x branch. @jtpio will work on submitting a PR with retrolab to the master branch.

@jtpio
Copy link
Member

jtpio commented Jan 19, 2022

submitting a PR with retrolab to the master branch.

Linking to jupyterlab/retrolab#323 (draft PR to get the CI checks) where some work has been started to make the transition.

@jtpio
Copy link
Member

jtpio commented Feb 17, 2022

Posting here the steps to make the first v7 pre-release happen, as discussed yesterday during the weekly Notebook meeting:

  • Notebook 7 pre release steps:
    • Release notebook_shim
    • Drop nbclassic (and notebook dependency) from JupyterLab
    • Add notebook_shim as dependency to nbclassic
    • Release JupyterLab Pre-release (4.0)
    • Move RetroLab to Notebook main (v7) (Draft PR to prepare for the move)
    • Pre-release Notebook 7
    • Move Notebook JS to nbclassic?
      • possible, would require changing endpoints
      • downstream dependencies would not understand this
      • alternative
        • keep v6 branch "alive"

@jtpio
Copy link
Member

jtpio commented Feb 17, 2022

Once we have a first prerelease out, we can close this issue and open a new "Notebook v7 Release Plan" issue.

Or rename this issue to "Notebook v7 Release Plan" and continue here.

@jtpio
Copy link
Member

jtpio commented Feb 28, 2022

Posting here the steps to make the first v7 pre-release happen

I moved the checklist to the top-level comment for visibility, and added links to the relevant issues and PRs: #6266 (comment)

@jtpio
Copy link
Member

jtpio commented Mar 1, 2022

This repo's master branch would become retrolab and the classic notebook would be maintained on a 6.x.x branch, i.e. 6.4.x today.

What branch do we want to create?

  • 6.x
  • 6.4.x
  • 6.5.x

More branches could still be created later on if needed.

@jtpio jtpio mentioned this issue Mar 1, 2022
6 tasks
@Zsailer
Copy link
Member Author

Zsailer commented Mar 1, 2022

I created the 6.4.x branch already, a little over a month ago. 😃 Should we go with that?

@jtpio
Copy link
Member

jtpio commented Mar 2, 2022

Thanks @Zsailer.

I think this sounds good. This can be changed later if needed, in case there are plans to release a 6.5 at some point.

@jtpio jtpio added this to the 7.0 milestone Mar 8, 2022
@jtpio
Copy link
Member

jtpio commented Mar 9, 2022

The remaining item for this issue is to actually make the pre-release.

What do folks think about doing it with the current state of the main branch?

Since the repo is compatible with the Jupyter Releaser, we can follow the regular process of a "Draft Changelog" followed by a "Full Release".
We have already bumped the version to 7.0.0a0, so if we do this with next as the version spec then we'll release 7.0.0a1:

image

@jtpio
Copy link
Member

jtpio commented Mar 9, 2022

Also I don't seem to have rights to publish to PyPI: https://pypi.org/project/notebook.

So maybe @Zsailer would like to help with this, thanks!

@jtpio
Copy link
Member

jtpio commented Mar 9, 2022

A follow-up would be to open a new "Notebook v7 Release Plan" issue to start discussing the timeline and items for 7.0 final.

@Zsailer
Copy link
Member Author

Zsailer commented Mar 9, 2022

@jtpio I added you as an owner to the PyPI package. 😎

@Zsailer
Copy link
Member Author

Zsailer commented Mar 9, 2022

https://github.com/jupyter/notebook/releases/tag/v7.0.0a1

🎉

@jtpio
Copy link
Member

jtpio commented Mar 11, 2022

Thanks all!!

The pre-release is out so we should be able to close this issue now.

I opened #6307 as a follow-up to plan the 7.0 release.

@jtpio jtpio closed this as completed Mar 11, 2022
@jtpio jtpio moved this to Done in Notebook v7 Mar 11, 2022
@jtpio jtpio unpinned this issue Mar 11, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 8, 2022
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

3 participants