Ipykernel releases and branches
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
Research direction
Review the proposed branch sequence for main, 6.x, the anyio branch, and commit 7603443b, along with the release steps for 6.30.0 and 7.0.0. Confirm the required maintainer coordination and repository branch protections first; done means the branch layout and releases match the plan without disrupting existing pull requests or downstream version gating.
Written by the indexing model from the issue text.
Description
(Reposted from Jupyter Zulip)
There are some plans for ipykernel releases and branch manipulations that I am sharing here for maximum exposure. All comments gratefully received.
The latest ipykernel release was 6.29.5 in July 2024. The current main branch has almost but not quite complete implementations of anyio (instead of tornado) and subshells (JEP91) and it was originally intended that these would be in a 7.0.0 release. However, there are concerns about the use of anyio going forward so I have instead backported subshells to the current 6.x branch so it can be released without anyio (issue #1387).
The release of ipykernel with subshells but not anyio could have been 6.30.0 or 7.0.0, but we have decided that 7.0.0 is more sensible. Subshells do not have to be used and the implementation is backward compatible in the sense that it passes all downstream tests in the ipykernel CI but now shell channel messages are handled in a separate thread and this could break downstream projects that are assuming otherwise, or that might now receive messages with different timings or in a different order. 7.0.0 will allow downstream projects to version gate on ipykernel<7 while they check and fix such issues.
We also think it wise to make a 6.30.0 release anyway based on the 6.x branch before subshells was added so that we can support the 6.x branch whilst projects are transferring to 7.
This needs some branch manipulation in the ipykernel repo:
mainrenamed toanyioor some other name implyingfutureor8.x6.xrenamed tomain6.xbefore subshells were added (commit7603443b) becomes the head of6.x
I have sufficient permissions in the ipykernel repo to make these changes, but given the potential for messing things up I will only do in the presence of another maintainer; both Jason and Zach have previously said they might be available and are good choices being members of both the Jupyter Kernels Council and the EC.
Planned sequence of changes:
- Rename
maintoanyio, moving across all current PRs submitted againstmain - Rename
6.xtomain, set as default branch and update branch rules to protect against a push. - Use commit
7603443bas the new head of6.x - Backport maintainance fixes from old
mainto newmainand6.xbranches - Release 6.30.0 from
6.xbranch - Release 7.0.0 from
mainbranch - Longer term discussion on the use of
anyiovstornadoetc
I would like to start this soon, meaning weeks rather than months.
- Dominant language
- Python
- Stars
- 734
- Forks
- 411
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 9
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ipython/ipykernel
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 4/5 3-5 days Newbie friendliness 68/100
-
ipython/ipykernel#1550 · 1 comment · 1 reaction · 1 assignee ·
-
Difficulty 3/5 1-2 days Newbie friendliness 66/100
All issues in ipython/ipykernel
Similar issues
-
Add: hunch Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
DiamondLightSource/dodal#2211 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
openml/openml-python#1749 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sipyourdrink-ltd/bernstein#6191 ·