Releases: ipython/ipykernel
Release list
v7.4.0
7.4.0
New features added
- Enable setting and resetting a thread-local parent header #1546 (@jasongrout, @minrk)
Enhancements made
- Allow async cell to process Comm messages #1565 (@davidbrochart, @JohanMabille, @kylebarron)
- Bump minimum Python to 3.11, update linting, drop dead branches #1553 (@Carreau, @minrk)
- Defer the psutil import until it is actually needed #1551 (@Carreau, @minrk)
- validate variable names in copyToGlobals debug handler #1537 (@sahvx655-wq, @JohanMabille)
- create debugger tmp directory with 0o700 permissions #1530 (@sahvx655-wq, @JohanMabille, @minrk)
- Update the
supported_encryptionto use a list as per JEP latest state #1528 (@krassowski, @Carreau, @JohanMabille) - Make psutil optional at runtime #1527 (@yves-surrel, @ianthomas23)
Bugs fixed
- Create _control_lock before its users #1568 (@tovrstra, @minrk)
- Reply with busy -> error -> idle if subshell unknown #1558 (@krassowski, @Carreau, @JohanMabille)
- Send the shell reply through the ZMQStream instead of raw on its socket #1529 (@BoykoNeov, @ZupoLlask, @claude, @ianthomas23, @practicusai, @thomasjm)
- Enable ProactorEventLoop on windows for ipykernel #1469 (@NewUserHa, @BoykoNeov, @Gravifer, @ZupoLlask, @claude, @ianthomas23)
Maintenance and upkeep improvements
- try to fix publish workflow #1571 (@minrk)
- chore: update pre-commit hooks #1570 (@davidbrochart)
- Use dependency groups instead of extras #1563 (@davidbrochart)
- MAINT: Switch zizmor to the github action #1561 (@Carreau, @Yann-P)
- Fix downstream test: install ipykernel from source for
jupyter_kernel_test#1560 (@glaziermag, @Carreau, @claude) - Add Zizmor #1556 (@Carreau, @Yann-P)
- [CI] remove type:ignore, likely due to new pyzmq #1552 (@Carreau, @minrk)
- Fix typing issue due to new releases #1544 (@Carreau, @krassowski)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@BoykoNeov (activity) | @Carreau (activity) | @davidbrochart (activity) | @glaziermag (activity) | @Gravifer (activity) | @ianthomas23 (activity) | @jasongrout (activity) | @JohanMabille (activity) | @krassowski (activity) | @kylebarron (activity) | @minrk (activity) | @NewUserHa (activity) | @practicusai (activity) | @sahvx655-wq (activity) | @Scott5S (activity) | @thomasjm (activity) | @tovrstra (activity) | @Yann-P (activity) | @yves-surrel (activity) | @ZupoLlask (activity)
v7.3.0
7.3.0
New features added
- feat(displayhook): add register_hook/unregister_hook to ZMQShellDisplayHook #1522 (@rgbkrk, @minrk)
- Support ZMQ Curve for transport encryption #1515 (@krassowski, @Carreau, @minrk)
Enhancements made
- Support new iPython system_raise_on_error flag in ZMQInteractiveShell #1496 (@adityawasudeo, @ianthomas23)
- pass cell_meta from do_execute to run_cell #1475 (@erawn, @P4X-ng, @ianthomas23)
Bugs fixed
- Fix broken IPython Reference URL in help_links #1526 (@goelakash, @Carreau, @JohanMabille, @krassowski)
- Mark cell execution as failing when formatter errors out #1521 (@krassowski, @Carreau)
- Fix ENOTSOCK traceback when iopub socket closes during shutdown #1518 (@Carreau, @minrk)
- Bugfix: Ensure that we take a copy of the sys.modules before iterating over it #1514 (@pelson, @Carreau)
Maintenance and upkeep improvements
- build docs on latest python #1525 (@Carreau)
- Fix recent debugpy failures #1524 (@Carreau)
- Unpin Spinx now that typehints issue ought to be resolved #1517 (@krassowski, @Carreau)
- Fix downstream test: do not use editable install for
ipyparallel#1516 (@krassowski, @Carreau) - Linting fixes #1509 (@ianthomas23)
- chore: update pre-commit hooks #1508 (@Carreau)
- chore: update pre-commit hooks #1502 (@ianthomas23)
- Removed pinning of virtualenv #1501 (@JohanMabille)
- Fixed a flaky windows test #1500 (@adityawasudeo, @JohanMabille, @ianthomas23)
- Switch from using nest-asyncio to nest-asyncio2 #1499 (@ianthomas23)
- Temporary pin virtualenv < 21 #1498 (@ianthomas23)
- Reintroduce changing base method to async #1497 (@ianthomas23)
- chore: update pre-commit hooks #1495 (@ianthomas23)
Other merged PRs
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@adityawasudeo (activity) | @Carreau (activity) | @erawn (activity) | @goelakash (activity) | @ianthomas23 (activity) | @JohanMabille (activity) | @krassowski (activity) | @minrk (activity) | @P4X-ng (activity) | @pelson (activity) | @rgbkrk (activity)
v7.2.0
7.2.0
New features added
- Added kernel_protocol_version to kernelspec #1483 (@JohanMabille, @ianthomas23)
- Replaced PUB socket with XPUB socket #1482 (@JohanMabille, @SylvainCorlay, @ccordoba12, @ianthomas23, @minrk)
Enhancements made
- Made IOPubThread constructor backward compatible #1492 (@JohanMabille, @SylvainCorlay, @ianthomas23, @minrk)
- Advertizes kernel protocol 5.5 #1488 (@JohanMabille, @ianthomas23)
- Upgrade to jupyter_client 8.8.0 #1487 (@JohanMabille, @ianthomas23)
- Implement kernel-side callstack filtering for internal frames #1481 (@arjxn-py, @JohanMabille, @ianthomas23)
Bugs fixed
- add close event for wx timer app in loop_wx #1478 (@newville, @ianthomas23)
Maintenance and upkeep improvements
- Temporarily revert "Test changing base method to async after (#1464)" #1493 (@ianthomas23, @JohanMabille)
- Update pytest requirement from <9,>=7.0 to >=7.0,<10 in the actions group across 1 directory #1489 (@JohanMabille)
- Removed spyder downstream tests #1486 (@JohanMabille, @ianthomas23)
- Bump scientific-python/upload-nightly-action from 0.6.2 to 0.6.3 in the actions group #1484 (@JohanMabille)
- Fix linting errors #1480 (@ianthomas23)
- Bump actions/checkout from 5 to 6 in the actions group #1479 (@ianthomas23)
- chore: update pre-commit hooks #1472 (@ianthomas23)
- chore: update pre-commit hooks #1467 (@JohanMabille)
- Test changing base method to async after #1295 #1464 (@Carreau, @ianthomas23)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@arjxn-py (activity) | @Carreau (activity) | @ccordoba12 (activity) | @ianthomas23 (activity) | @JohanMabille (activity) | @minrk (activity) | @newville (activity) | @SylvainCorlay (activity)
v7.2.0a1
7.2.0a1
New features added
- Added kernel_protocol_version to kernelspec #1483 (@JohanMabille, @ianthomas23)
Enhancements made
- Made IOPubThread constructor backward compatible #1492 (@JohanMabille, @SylvainCorlay, @ianthomas23)
- Advertizes kernel protocol 5.5 #1488 (@JohanMabille, @ianthomas23)
- Upgrade to jupyter_client 8.8.0 #1487 (@JohanMabille, @ianthomas23)
Maintenance and upkeep improvements
- Update pytest requirement from <9,>=7.0 to >=7.0,<10 in the actions group across 1 directory #1489 (@JohanMabille)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@ianthomas23 (activity) | @JohanMabille (activity) | @SylvainCorlay (activity)
v7.2.0a0
7.2.0a0
New features added
- Replaced PUB socket with XPUB socket #1482 (@JohanMabille, @SylvainCorlay)
Enhancements made
- Implement kernel-side callstack filtering for internal frames #1481 (@arjxn-py, @JohanMabille)
Bugs fixed
- add close event for wx timer app in loop_wx #1478 (@newville, @ianthomas23)
Maintenance and upkeep improvements
- Removed spyder downstream tests #1486 (@JohanMabille, @ianthomas23)
- Bump scientific-python/upload-nightly-action from 0.6.2 to 0.6.3 in the actions group #1484 (@JohanMabille)
- Fix linting errors #1480 (@ianthomas23)
- Bump actions/checkout from 5 to 6 in the actions group #1479 (@ianthomas23)
- chore: update pre-commit hooks #1467 (@JohanMabille)
- Test changing base method to async after #1295 #1464 (@Carreau, @ianthomas23)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@arjxn-py (activity) | @Carreau (activity) | @ianthomas23 (activity) | @JohanMabille (activity) | @newville (activity) | @SylvainCorlay (activity)
v7.1.0
7.1.0
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.
Output from threads is restored to the pre-6.29 behavior by default (route to latest cell, unless get_ipython().set_parent() is called explicitly from the thread. If it is called, output from that thread will continue to be routed to the same cell). This behavior is now opt-in, instead of unconditional (#1451).
This release also fixes bugs that were introduced into the 7.x branch relating to Matplotlib plots in separate windows not being displayed correctly (#1458), kernels launched in new threads failing asserts (#1455), and ContextVars persisting between cells (#1462). There is also a fix for keyboard interrupts on Windows (#1434).
Enhancements made
- Store display outputs in history for
%notebookmagic #1435 (@Darshan808)
Bugs fixed
- fix ContextVar persistence across cells #1462 (@minrk)
- Fix matplotlib eventloops #1458 (@ianthomas23)
- Refer to kernel launching thread instead of assuming the main thread #1455 (@dfalbel)
- Fix routing of background thread output when no parent is set explicitly #1451 (@minrk)
- Fix KeyboardInterrupt on Windows by manually resetting interrupt event #1434 (@ptosco)
Maintenance and upkeep improvements
- update pre-commit and related #1465 (@Carreau)
- test that matplotlib event loop integration is responsive #1463 (@minrk)
- update tests for 3.14 #1453 (@minrk)
Contributors to this release
(GitHub contributors page for this release)
@Carreau | @Darshan808 | @dfalbel | @ianthomas23 | @krassowski | @lumberbot-app | @minrk | @ptosco
v6.31.0
6.31.0
IPykernel 6.31.0 fixes an issue where display outputs such as Matplotlib plots were not included when using %notebook magic to save sessions as .ipynb files. 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.
Enhancements made
- Backport PR #1435: Store display outputs in history for
%notebookmagic #1461 (@Darshan808)
Maintenance and upkeep improvements
- Backport PR #1453: update tests for 3.14 #1460 (@minrk)
- Backport PR #1444: Test on PyPy 3.11 instead of 3.10 #1459 (@cclauss)
- 6.x: Update PEP-639 license values in pyproject.toml #1446 (@bollwyvl)
- Backport PR #1411: Replace
@flaky.flakydecorate with pytest fixture #1421 (@mgorny)
Contributors to this release
(GitHub contributors page for this release)
@bollwyvl | @cclauss | @Darshan808 | @ianthomas23 | @krassowski | @lumberbot-app | @meeseeksmachine | @mgorny | @minrk
v7.0.1
7.0.1
IPykernel 7.0.1 is a bug fix release to support CPython 3.14.
Bugs fixed
- Avoid overriding Thread._context in Python 3.14 #1447 (@ianthomas23)
Maintenance and upkeep improvements
Documentation improvements
- Clean up changelog following 7.0.0 release #1439 (@ianthomas23)
Contributors to this release
v7.0.0
7.0.0
IPykernel 7.0.0 is a major release containing experimental support for kernel subshells.
If not using subshells it is intended to be backward compatible with the 6.x branch, but there are some architectural changes which may break assumptions made in downstream libraries and hence this is identified as a major releases as it is potentially backwards incompatible. If you experience problems then please report them, and you can pin ipykernel < 7 if necessary.
For further information and to report problems please see ipykernel 7.0.0 release with subshells (issue 1438).
Enhancements made
- Use asyncio.Lock around subshell message handling #1430 (@ianthomas23)
- Subshells implemented using tornado event loops on 6.x branch #1396 (@ianthomas23)
Bugs fixed
- Forward port from 6.x: Correct use of asyncio.Lock to process a single control message at a time #1418 (@ianthomas23)
- Cache separate headers on subshell threads #1414 (@ianthomas23)
Maintenance and upkeep improvements
- Drop support for Python 3.9 #1431 (@ianthomas23)
- Bump the actions group across 1 directory with 2 updates #1428 (@dependabot)
- Continue to support
Kernel._parent_identfor backward compatibility #1427 (@ianthomas23) - Reinstate ipyparallel downstream tests #1426 (@ianthomas23)
- Reinstate jupyter_client downstream tests with exclusions #1425 (@ianthomas23)
- Tests: Add robust tests for silent flag in subshells #1424 (@pankaj-bind)
- Use correct
__version__onmainbranch after branch manipulations #1419 (@ianthomas23) - Remove links in changelog to github milestones that no longer exist #1415 (@ianthomas23)
- Replace
@flaky.flakydecorate with pytest fixture #1411 (@mgorny) - chore: update pre-commit hooks #1409 (@pre-commit-ci)
- Bump scientific-python/upload-nightly-action from 0.6.1 to 0.6.2 in the actions group #1404 (@dependabot)
- Backports from
anyio(oldmain) branch tomainbranch #1402 (@ianthomas23) - Update pre-commit and github actions #1401 (@ianthomas23)
- Test more python versions on 6.x branch #1398 (@davidbrochart)
Documentation improvements
- Forward port of 6.x changelog to main branch #1429 (@ianthomas23)
- Add subshell docstrings #1405 (@ianthomas23)
Contributors to this release
(GitHub contributors page for this release)
@Carreau | @ccordoba12 | @davidbrochart | @dependabot | @fleming79 | @ianthomas23 | @krassowski | @mgorny | @minrk | @pankaj-bind | @pre-commit-ci
v7.0.0a3
7.0.0a3
Enhancements made
- Use asyncio.Lock around subshell message handling #1430 (@ianthomas23)
Maintenance and upkeep improvements
- Drop support for Python 3.9 #1431 (@ianthomas23)
- Bump the actions group across 1 directory with 2 updates #1428 (@dependabot)
- Continue to support
Kernel._parent_identfor backward compatibility #1427 (@ianthomas23) - Tests: Add robust tests for silent flag in subshells #1424 (@pankaj-bind)
Documentation improvements
- Forward port of 6.x changelog to main branch #1429 (@ianthomas23)
Contributors to this release
(GitHub contributors page for this release)
@Carreau | @ccordoba12 | @davidbrochart | @dependabot | @ianthomas23 | @krassowski | @pankaj-bind