Skip to content

Commit 4594671

Browse files
authored
Merge branch 'main' into cell_meta
2 parents c490d18 + 770afbe commit 4594671

File tree

17 files changed

+224
-93
lines changed

17 files changed

+224
-93
lines changed

.github/workflows/ci.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ jobs:
104104
runs-on: ubuntu-latest
105105
steps:
106106
- uses: actions/checkout@v6
107+
107108
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
108109
- name: Run Linters
109110
run: |
@@ -116,7 +117,9 @@ jobs:
116117
runs-on: ubuntu-latest
117118
steps:
118119
- uses: actions/checkout@v6
120+
119121
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
122+
120123
- uses: jupyter-server/jupyter_releaser/.github/actions/check-release@v2
121124
with:
122125
token: ${{ secrets.GITHUB_TOKEN }}
@@ -125,7 +128,9 @@ jobs:
125128
runs-on: ubuntu-latest
126129
steps:
127130
- uses: actions/checkout@v6
131+
128132
- uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
133+
129134
- name: Build API docs
130135
run: |
131136
hatch run docs:api
@@ -170,11 +175,16 @@ jobs:
170175
runs-on: ubuntu-latest
171176
steps:
172177
- uses: actions/checkout@v6
178+
179+
- uses: actions/setup-python@v6
180+
with:
181+
python-version: "3.10"
182+
173183
- name: Base Setup
174184
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
175185
with:
176186
dependency_type: minimum
177-
python_version: "3.10"
187+
python_version: ${{ matrix.python-version }}
178188

179189
- name: List installed packages
180190
run: |
@@ -191,10 +201,12 @@ jobs:
191201
steps:
192202
- name: Checkout
193203
uses: actions/checkout@v6
204+
194205
- name: Base Setup
195206
uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1
196207
with:
197208
dependency_type: pre
209+
198210
- name: Run the tests
199211
run: |
200212
hatch run test:nowarn

.github/workflows/downstream.yml

Lines changed: 0 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -86,67 +86,3 @@ jobs:
8686
cd jupyter_kernel_test
8787
pip install -e ".[test]"
8888
python test_ipykernel.py
89-
90-
qtconsole:
91-
runs-on: ubuntu-latest
92-
timeout-minutes: 20
93-
steps:
94-
- name: Checkout
95-
uses: actions/checkout@v6
96-
- name: Setup Python
97-
uses: actions/setup-python@v6
98-
with:
99-
python-version: "3.10"
100-
architecture: "x64"
101-
- name: Install System Packages
102-
run: |
103-
sudo apt-get update
104-
sudo apt-get install -y --no-install-recommends '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
105-
- name: Install qtconsole dependencies
106-
shell: bash -l {0}
107-
run: |
108-
cd ${GITHUB_WORKSPACE}/..
109-
git clone https://github.com/spyder-ide/qtconsole.git
110-
cd qtconsole
111-
${pythonLocation}/bin/python -m pip install -e ".[test]"
112-
${pythonLocation}/bin/python -m pip install pyqt5
113-
- name: Install Ipykernel changes
114-
shell: bash -l {0}
115-
run: ${pythonLocation}/bin/python -m pip install -e .
116-
- name: Test qtconsole
117-
shell: bash -l {0}
118-
run: |
119-
cd ${GITHUB_WORKSPACE}/../qtconsole
120-
xvfb-run --auto-servernum ${pythonLocation}/bin/python -m pytest -x -vv -s --full-trace --color=yes qtconsole -k "not test_scroll"
121-
122-
spyder_kernels:
123-
runs-on: ubuntu-latest
124-
if: false
125-
timeout-minutes: 20
126-
steps:
127-
- name: Checkout
128-
uses: actions/checkout@v6
129-
- name: Setup Python
130-
uses: actions/setup-python@v6
131-
with:
132-
python-version: "3.10"
133-
architecture: "x64"
134-
- name: Install System Packages
135-
run: |
136-
sudo apt-get update
137-
sudo apt-get install -y --no-install-recommends libgl1 libglx-mesa0
138-
- name: Install spyder-kernels dependencies
139-
shell: bash -l {0}
140-
run: |
141-
cd ${GITHUB_WORKSPACE}/..
142-
git clone https://github.com/spyder-ide/spyder-kernels.git
143-
cd spyder-kernels
144-
${pythonLocation}/bin/python -m pip install -e ".[test]"
145-
- name: Install IPykernel changes
146-
shell: bash -l {0}
147-
run: ${pythonLocation}/bin/python -m pip install -e .
148-
- name: Test spyder-kernels
149-
shell: bash -l {0}
150-
run: |
151-
cd ${GITHUB_WORKSPACE}/../spyder-kernels
152-
xvfb-run --auto-servernum ${pythonLocation}/bin/python -m pytest -x -vv -s --full-trace --color=yes spyder_kernels

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
python -m pip install build
2828
python -m build
2929
- name: Upload wheel
30-
uses: scientific-python/upload-nightly-action@b36e8c0c10dbcfd2e05bf95f17ef8c14fd708dbf # 0.6.2
30+
uses: scientific-python/upload-nightly-action@5748273c71e2d8d3a61f3a11a16421c8954f9ecf # 0.6.3
3131
with:
3232
artifacts_path: dist
3333
anaconda_nightly_upload_token: ${{secrets.UPLOAD_TOKEN}}

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ repos:
2222
- id: trailing-whitespace
2323

2424
- repo: https://github.com/python-jsonschema/check-jsonschema
25-
rev: 0.34.1
25+
rev: 0.37.0
2626
hooks:
2727
- id: check-github-workflows
2828

@@ -39,7 +39,7 @@ repos:
3939
types_or: [yaml, html, json]
4040

4141
- repo: https://github.com/pre-commit/mirrors-mypy
42-
rev: "v1.18.2"
42+
rev: "v1.19.1"
4343
hooks:
4444
- id: mypy
4545
files: ipykernel
@@ -73,7 +73,7 @@ repos:
7373
- id: rst-inline-touching-normal
7474

7575
- repo: https://github.com/astral-sh/ruff-pre-commit
76-
rev: v0.14.3
76+
rev: v0.15.4
7777
hooks:
7878
- id: ruff-check
7979
types_or: [python, jupyter]
@@ -82,7 +82,7 @@ repos:
8282
types_or: [python, jupyter]
8383

8484
- repo: https://github.com/scientific-python/cookie
85-
rev: "2025.10.20"
85+
rev: "2026.03.02"
8686
hooks:
8787
- id: sp-repo-review
8888
additional_dependencies: ["repo-review[cli]"]

CHANGELOG.md

Lines changed: 104 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,110 @@
22

33
<!-- <START NEW CHANGELOG ENTRY> -->
44

5+
## 7.2.0
6+
7+
([Full Changelog](https://github.com/ipython/ipykernel/compare/39eaf96a...1630c4f7d5365918c4f06cf3caee3c278b52afc2))
8+
9+
### New features added
10+
11+
- Added kernel_protocol_version to kernelspec [#1483](https://github.com/ipython/ipykernel/pull/1483) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
12+
- Replaced PUB socket with XPUB socket [#1482](https://github.com/ipython/ipykernel/pull/1482) ([@JohanMabille](https://github.com/JohanMabille), [@SylvainCorlay](https://github.com/SylvainCorlay), [@ccordoba12](https://github.com/ccordoba12), [@ianthomas23](https://github.com/ianthomas23), [@minrk](https://github.com/minrk))
13+
14+
### Enhancements made
15+
16+
- Made IOPubThread constructor backward compatible [#1492](https://github.com/ipython/ipykernel/pull/1492) ([@JohanMabille](https://github.com/JohanMabille), [@SylvainCorlay](https://github.com/SylvainCorlay), [@ianthomas23](https://github.com/ianthomas23), [@minrk](https://github.com/minrk))
17+
- Advertises kernel protocol 5.5 [#1488](https://github.com/ipython/ipykernel/pull/1488) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
18+
- Upgrade to jupyter_client 8.8.0 [#1487](https://github.com/ipython/ipykernel/pull/1487) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
19+
- Implement kernel-side callstack filtering for internal frames [#1481](https://github.com/ipython/ipykernel/pull/1481) ([@arjxn-py](https://github.com/arjxn-py), [@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
20+
21+
### Bugs fixed
22+
23+
- add close event for wx timer app in loop_wx [#1478](https://github.com/ipython/ipykernel/pull/1478) ([@newville](https://github.com/newville), [@ianthomas23](https://github.com/ianthomas23))
24+
25+
### Maintenance and upkeep improvements
26+
27+
- Temporarily revert "Test changing base method to async after (#1464)" [#1493](https://github.com/ipython/ipykernel/pull/1493) ([@ianthomas23](https://github.com/ianthomas23), [@JohanMabille](https://github.com/JohanMabille))
28+
- Update pytest requirement from \<9,>=7.0 to >=7.0,\<10 in the actions group across 1 directory [#1489](https://github.com/ipython/ipykernel/pull/1489) ([@JohanMabille](https://github.com/JohanMabille))
29+
- Removed spyder downstream tests [#1486](https://github.com/ipython/ipykernel/pull/1486) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
30+
- Bump scientific-python/upload-nightly-action from 0.6.2 to 0.6.3 in the actions group [#1484](https://github.com/ipython/ipykernel/pull/1484) ([@JohanMabille](https://github.com/JohanMabille))
31+
- Fix linting errors [#1480](https://github.com/ipython/ipykernel/pull/1480) ([@ianthomas23](https://github.com/ianthomas23))
32+
- Bump actions/checkout from 5 to 6 in the actions group [#1479](https://github.com/ipython/ipykernel/pull/1479) ([@ianthomas23](https://github.com/ianthomas23))
33+
- chore: update pre-commit hooks [#1472](https://github.com/ipython/ipykernel/pull/1472) ([@ianthomas23](https://github.com/ianthomas23))
34+
- chore: update pre-commit hooks [#1467](https://github.com/ipython/ipykernel/pull/1467) ([@JohanMabille](https://github.com/JohanMabille))
35+
- Test changing base method to async after #1295 [#1464](https://github.com/ipython/ipykernel/pull/1464) ([@Carreau](https://github.com/Carreau), [@ianthomas23](https://github.com/ianthomas23))
36+
37+
### Contributors to this release
38+
39+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
40+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
41+
42+
([GitHub contributors page for this release](https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-27&to=2026-02-06&type=c))
43+
44+
@arjxn-py ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aarjxn-py+updated%3A2025-10-27..2026-02-06&type=Issues)) | @Carreau ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-27..2026-02-06&type=Issues)) | @ccordoba12 ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Accordoba12+updated%3A2025-10-27..2026-02-06&type=Issues)) | @ianthomas23 ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-27..2026-02-06&type=Issues)) | @JohanMabille ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3AJohanMabille+updated%3A2025-10-27..2026-02-06&type=Issues)) | @minrk ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-27..2026-02-06&type=Issues)) | @newville ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Anewville+updated%3A2025-10-27..2026-02-06&type=Issues)) | @SylvainCorlay ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ASylvainCorlay+updated%3A2025-10-27..2026-02-06&type=Issues))
45+
46+
<!-- <END NEW CHANGELOG ENTRY> -->
47+
48+
## 7.2.0a1
49+
50+
([Full Changelog](https://github.com/ipython/ipykernel/compare/v7.2.0a0...220a3c6e8b24ffb3f8678925712ff3644aafb41e))
51+
52+
### New features added
53+
54+
- Added kernel_protocol_version to kernelspec [#1483](https://github.com/ipython/ipykernel/pull/1483) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
55+
56+
### Enhancements made
57+
58+
- Made IOPubThread constructor backward compatible [#1492](https://github.com/ipython/ipykernel/pull/1492) ([@JohanMabille](https://github.com/JohanMabille), [@SylvainCorlay](https://github.com/SylvainCorlay), [@ianthomas23](https://github.com/ianthomas23))
59+
- Advertises kernel protocol 5.5 [#1488](https://github.com/ipython/ipykernel/pull/1488) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
60+
- Upgrade to jupyter_client 8.8.0 [#1487](https://github.com/ipython/ipykernel/pull/1487) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
61+
62+
### Maintenance and upkeep improvements
63+
64+
- Update pytest requirement from \<9,>=7.0 to >=7.0,\<10 in the actions group across 1 directory [#1489](https://github.com/ipython/ipykernel/pull/1489) ([@JohanMabille](https://github.com/JohanMabille))
65+
66+
### Contributors to this release
67+
68+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
69+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports).
70+
71+
([GitHub contributors page for this release](https://github.com/ipython/ipykernel/graphs/contributors?from=2026-01-08&to=2026-01-30&type=c))
72+
73+
@ianthomas23 ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2026-01-08..2026-01-30&type=Issues)) | @JohanMabille ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3AJohanMabille+updated%3A2026-01-08..2026-01-30&type=Issues)) | @SylvainCorlay ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ASylvainCorlay+updated%3A2026-01-08..2026-01-30&type=Issues))
74+
75+
## 7.2.0a0
76+
77+
([Full Changelog](https://github.com/ipython/ipykernel/compare/v7.1.0...6786ddd040c1f0e8aaeae7e261eec511e2a37fd9))
78+
79+
### New features added
80+
81+
- Replaced PUB socket with XPUB socket [#1482](https://github.com/ipython/ipykernel/pull/1482) ([@JohanMabille](https://github.com/JohanMabille), [@SylvainCorlay](https://github.com/SylvainCorlay))
82+
83+
### Enhancements made
84+
85+
- Implement kernel-side callstack filtering for internal frames [#1481](https://github.com/ipython/ipykernel/pull/1481) ([@arjxn-py](https://github.com/arjxn-py), [@JohanMabille](https://github.com/JohanMabille))
86+
87+
### Bugs fixed
88+
89+
- add close event for wx timer app in loop_wx [#1478](https://github.com/ipython/ipykernel/pull/1478) ([@newville](https://github.com/newville), [@ianthomas23](https://github.com/ianthomas23))
90+
91+
### Maintenance and upkeep improvements
92+
93+
- Removed spyder downstream tests [#1486](https://github.com/ipython/ipykernel/pull/1486) ([@JohanMabille](https://github.com/JohanMabille), [@ianthomas23](https://github.com/ianthomas23))
94+
- Bump scientific-python/upload-nightly-action from 0.6.2 to 0.6.3 in the actions group [#1484](https://github.com/ipython/ipykernel/pull/1484) ([@JohanMabille](https://github.com/JohanMabille))
95+
- Fix linting errors [#1480](https://github.com/ipython/ipykernel/pull/1480) ([@ianthomas23](https://github.com/ianthomas23))
96+
- Bump actions/checkout from 5 to 6 in the actions group [#1479](https://github.com/ipython/ipykernel/pull/1479) ([@ianthomas23](https://github.com/ianthomas23))
97+
- chore: update pre-commit hooks [#1467](https://github.com/ipython/ipykernel/pull/1467) ([@JohanMabille](https://github.com/JohanMabille))
98+
- Test changing base method to async after #1295 [#1464](https://github.com/ipython/ipykernel/pull/1464) ([@Carreau](https://github.com/Carreau), [@ianthomas23](https://github.com/ianthomas23))
99+
100+
### Contributors to this release
101+
102+
The following people contributed discussions, new ideas, code and documentation contributions, and review.
103+
See [our definition of contributors](https://github-activity.readthedocs.io/en/latest/#how-does-this-tool-define-contributions-in-the-reports).
104+
105+
([GitHub contributors page for this release](https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-27&to=2026-01-08&type=c))
106+
107+
@arjxn-py ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aarjxn-py+updated%3A2025-10-27..2026-01-08&type=Issues)) | @Carreau ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-27..2026-01-08&type=Issues)) | @ianthomas23 ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-27..2026-01-08&type=Issues)) | @JohanMabille ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3AJohanMabille+updated%3A2025-10-27..2026-01-08&type=Issues)) | @newville ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Anewville+updated%3A2025-10-27..2026-01-08&type=Issues)) | @SylvainCorlay ([activity](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ASylvainCorlay+updated%3A2025-10-27..2026-01-08&type=Issues))
108+
5109
## 7.1.0
6110

7111
IPykernel 7.1.0 fixes an issue where display outputs such as Matplotlib plots were not included when using `%notebook` magic to save sessions as `.ipynb` files (#1435). This is enabled using the traitlet `ZMQDisplayPublisher.store_display_history` which defaults to the previous behaviour of False. This is a minor release rather than a patch release due to the addition of the new traitlet.
@@ -36,8 +140,6 @@ This release also fixes bugs that were introduced into the 7.x branch relating t
36140

37141
[@Carreau](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&type=Issues) | [@Darshan808](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&type=Issues) | [@dfalbel](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&type=Issues) | [@ianthomas23](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&type=Issues) | [@krassowski](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&type=Issues) | [@lumberbot-app](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&type=Issues) | [@minrk](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&type=Issues) | [@ptosco](https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&type=Issues)
38142

39-
<!-- <END NEW CHANGELOG ENTRY> -->
40-
41143
## 7.0.1
42144

43145
IPykernel 7.0.1 is a bug fix release to support CPython 3.14.

ipykernel/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import re
66

77
# Version string must appear intact for hatch versioning
8-
__version__ = "7.1.0"
8+
__version__ = "7.2.0"
99

1010
# Build up version_info tuple for backwards compatibility
1111
pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"

ipykernel/eventloops.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -301,9 +301,9 @@ def _schedule_exit(delay):
301301
else:
302302
import asyncio
303303

304-
import nest_asyncio
304+
import nest_asyncio2
305305

306-
nest_asyncio.apply()
306+
nest_asyncio2.apply()
307307

308308
# Tk uses milliseconds
309309
poll_interval = int(1000 * kernel._poll_interval)

ipykernel/inprocess/ipkernel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class InProcessKernel(IPythonKernel):
5656

5757
@default("iopub_thread")
5858
def _default_iopub_thread(self):
59-
thread = IOPubThread(self._underlying_iopub_socket)
59+
thread = IOPubThread(self._underlying_iopub_socket, session=self.session)
6060
thread.start()
6161
return thread
6262

0 commit comments

Comments
 (0)