diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9be2f1cb2..6445cac1d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ env: jobs: test: - runs-on: ${{ matrix.runs_on || 'ubuntu-20.04' }} + runs-on: ${{ matrix.runs_on || 'ubuntu-22.04' }} timeout-minutes: 20 strategy: @@ -42,8 +42,8 @@ jobs: - python: "3.9" env: IPP_ENABLE_CURVE: "1" - - python: "3.8" - runs_on: windows-2019 + - python: "3.9" + runs_on: windows-2022 - python: "3.9" runs_on: macos-14 - python: "3.11" diff --git a/docs/source/changelog.md b/docs/source/changelog.md index a92264358..77f782b33 100644 --- a/docs/source/changelog.md +++ b/docs/source/changelog.md @@ -6,6 +6,12 @@ Changes in IPython Parallel ## 9.0 +### 9.0.2 - 2025-10 + +([full changelog](https://github.com/ipython/ipyparallel/compare/9.0.1...9.0.2)) + +9.0.2 fixes compatibility with upcoming ipykernel 7 (as of alpha 3). + ### 9.0.1 - 2025-03 ([full changelog](https://github.com/ipython/ipyparallel/compare/9.0.0...9.0.1)) diff --git a/docs/source/conf.py b/docs/source/conf.py index 87293bae0..36c08f7dd 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -384,6 +384,10 @@ "https://github.com/search", # github search links "https://github.com/ipython/ipyparallel/compare/", # too many comparisons in changelog r"https?://(localhost|127.0.0.1).*", # ignore localhost references in auto-links + # requests from CI blocked + r"https://www.mcs.anl.gov/.*", + r"https://www.mcs.anl.gov/.*", + r"https://urn.nb.no/.*", ] # myst_nb execution diff --git a/docs/source/tutorial/intro.md b/docs/source/tutorial/intro.md index 6d3a71a98..0cecbb946 100644 --- a/docs/source/tutorial/intro.md +++ b/docs/source/tutorial/intro.md @@ -228,7 +228,6 @@ The {class}`~.ipyparallel.Cluster` and {class}`~.ipyparallel.Client` classes can for easier cleanup of resources. - Entering a `Cluster` context - 1. starts the cluster 2. waits for engines to be ready 3. connects a client diff --git a/ipyparallel/engine/app.py b/ipyparallel/engine/app.py index 9028f400e..6626fc614 100755 --- a/ipyparallel/engine/app.py +++ b/ipyparallel/engine/app.py @@ -720,17 +720,13 @@ def send_with_metadata( kernel_kwargs["control_thread"] = control_thread = ControlThread( daemon=True ) - if ipykernel.version_info >= (7,): - kernel_kwargs["shell_socket"] = zmq.asyncio.Socket(shell_socket) - kernel_kwargs["control_socket"] = zmq.asyncio.Socket(control_socket) - else: - # Kernel.start starts control thread in kernel 7 - control_thread.start() - kernel_kwargs["control_stream"] = zmqstream.ZMQStream( - control_socket, control_thread.io_loop - ) - kernel_kwargs["shell_streams"] = [zmqstream.ZMQStream(shell_socket)] + control_thread.start() + kernel_kwargs["control_stream"] = zmqstream.ZMQStream( + control_socket, control_thread.io_loop + ) + + kernel_kwargs["shell_streams"] = [zmqstream.ZMQStream(shell_socket)] self.kernel = Kernel.instance( parent=self, @@ -954,12 +950,7 @@ def initialize(self, argv=None): self.forward_logging() def init_signal(self): - if ipykernel.version_info >= (7,): - # ipykernel 7 changes SIGINT handling - # to the app instead of the kernel - self.kernel_app.init_signal() - else: - signal.signal(signal.SIGINT, self._signal_sigint) + signal.signal(signal.SIGINT, self._signal_sigint) signal.signal(signal.SIGTERM, self._signal_stop) def _signal_sigint(self, sig, frame): diff --git a/ipyparallel/nbextension/static/clusterlist.js b/ipyparallel/nbextension/static/clusterlist.js index b7e1cc240..07d0e6205 100644 --- a/ipyparallel/nbextension/static/clusterlist.js +++ b/ipyparallel/nbextension/static/clusterlist.js @@ -199,8 +199,8 @@ define(["base/js/namespace", "jquery", "base/js/utils"], function ( that.cluster_list.load_list(); }, error: function (xhr, status, error) { - utils.log_ajax_error(xhr, status, error), - status_col.text("error stopping cluster"); + (utils.log_ajax_error(xhr, status, error), + status_col.text("error stopping cluster")); }, }; status_col.text("stopping");