Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.6.2 - 2025-10-29

🌀 Miscellaneous

  • Bump the actions group with 2 updates #158

  • Don't reraise caught cancelled error in Caller_wrap_call. #159

  • Ensure debugInfo is fullly populated. #157

0.6.1 - 2025-10-17

🚀 Features

  • Added Kernel.get_parent. #155

🌀 Miscellaneous

  • Prepare for release v0.6.1 #156

  • Bump astral-sh/setup-uv from 6 to 7 in the actions group #154

0.6.0 - 2025-09-30

🏗️ Breaking changes

  • Remove 'name' argument from get_instance (it can be provided as a kwarg. #152

  • Rename Caller.to_thread_by_name to Caller.to_thread_advanced change the first argument from a string or None to a dict. #151

🚀 Features

  • Add hooks to AsyncDisplayPublisher #150

🌀 Miscellaneous

  • Prepare for release v0.6.0 #153

  • Better handling of Keyboard Interrupt. #149

0.5.4 - 2025-09-28

🌀 Miscellaneous

  • Prepare for release v0.5.4 #148

  • Add functools.wraps decorator to kernel._wrap_handler to make it easier to identify which function it is wrapping. #147

  • Minimize calls to 'expensive' thread.Event methods #146

0.5.3 - 2025-09-27

📝 Documentation

  • Various documentation improvements. #144

🌀 Miscellaneous

  • Prepare for release v0.5.3 #145

  • Tidy up Caller queues and remove kernel.CancelledError. #143

  • Refactored ReentrantAsyncLock and AsyncLock with a new method 'base'. #142

0.5.2 - 2025-09-26

🐛 Fixes

🌀 Miscellaneous

  • Prepare for release v0.5.2 #141

  • Refactor Kernel and Subclass Caller from anyio.AsyncContextManagerMixin #139

0.5.1 - 2025-09-25

🚀 Features

  • Take advantage of current_token in utils.wait_thread_event. #136

🌀 Miscellaneous

  • Prepare for release v0.5.1 #138

  • Reinstate test_debugger for windows. #137

0.5.0 - 2025-09-24

🏗️ Breaking changes

  • Simplify queue with breaking changes #134

🌀 Miscellaneous

  • Prepare for release v0.5.0 #135

0.4.0 - 2025-09-23

🏗️ Breaking changes

  • Revise message handling for comm_msg #129

  • Improve Calller.get_instance to start a caller for the main thread if there isn't one running. #127

🚀 Features

  • Make Caller.queue_call and Caller.queue_call_no_wait thread safe #131

  • Add Caller.get_runner. #126

🌀 Miscellaneous

  • Prepare for release v0.4.0 #133

  • Maintenance #132

  • Put _send_reply back inside run_handler. #130

  • Prevent memory leaks in caller scheduled futures #128

  • Housekeeping #125

0.3.0 - 2025-09-14

🏗️ Breaking changes

  • Caller.queue_call - divide into queue_get_sender, queue_call and queue_call_no_wait. #123

  • Stricter handling in Caller class. #122

  • Add AsyncEvent class. #118

🚀 Features

  • Store Caller.call_later function details in the futures metadata #119

  • Add metadata to Future. #116

🌀 Miscellaneous

  • Prepare for release v0.3.0 #124

  • AsyncEvent maintenance - make more robust #120

  • Switch from pytest-retry to pytest-rerun failures. #117

  • Refactor Caller to speed up initialization of Future by removing the creation of the threading event. #115

0.2.1 - 2025-09-10

🏗️ Breaking changes

🚀 Features

  • Divide Lock into AsyncLock and ReentrantAsyncLock #113

  • Improve Lock class #112

  • Add a context based Lock #111

  • Add classmethod Caller.wait #106

  • Add 'shield' option to Caller.as_completed. #104

🌀 Miscellaneous

  • Prepare for release v0.2.1 #114

  • Bump actions/setup-python from 5 to 6 in the actions group #110

  • Maintenance - Caller refactoring #109

  • Drop WaitType for Literals directly in Caller.wait. #108

  • Change Caller._queue_map to a WeakKeyDictionary. #107

  • Refactor Caller.wait to avoid catching exceptions. #103

0.2.0 - 2025-09-06

🏗️ Breaking changes

  • Rename Caller.call_no_context to Caller.call_direct. #100

  • Future - breaking changes- better compatibility of Future.result #96

🚀 Features

  • Add the classmethod Caller.current_future. #99

  • Add timeout, shield and result optional arguments to Future wait and wait_sync methods: #97

  • Add optional argument 'msg' to Future.cancel method. #95

  • Support weakref on the Future class. #94

📝 Documentation

  • Documentation maintenance. #101

🌀 Miscellaneous

  • Prepare for release v0.2.0 #102

  • Result should raise cancelled error, but was raising and InvalidStateError. #98

0.1.4 - 2025-09-03

🏗️ Breaking changes

  • Optionally store a string representation of a kernel factory inside the kernel spec. #92

  • Use capital 'V' instead of 'v' for version flag in command_line. #88

📝 Documentation

  • Fix for publish-docs.yml not setting the version info correctly. #90

  • Include changelog in 'dev' version of docs. #89

  • Development documentation updates and fixes for publish-docs.yml. #87

🌀 Miscellaneous

  • Prepare for release v0.1.4 #93

  • Ensure there is only one kernel instance including subclases. #91

0.1.3 - 2025-09-02

🚀 Features

  • Add version option to command line. #82

🐛 Fixes

  • Fix bug setting version for mike. #80

📝 Documentation

  • Update documentation #84

🌀 Miscellaneous

  • Prepare for release v0.1.3 #86

  • Minor import changes. #85

  • Change base class of Kernel from ConnectionFileMixin to HasTraits #83

  • Overwrite subclass properties that should not be available. #81

  • CI checks for python 3.14 #63

0.1.2 - 2025-08-31

🏗️ Breaking changes

  • Breaking changes to kernel initialisation and launching #78

  • Enhancement - Make kernel async enterable. #77

📝 Documentation

  • Fix alias for latest docs and limit release versions. #75

🌀 Miscellaneous

  • Prepare for release v0.1.2 #79

  • CI and pre-commit maintenance #76

0.1.1 - 2025-08-28

🌀 Miscellaneous

  • Prepare for release v0.1.1 #74

  • Bugfixes - fix installing without trio and installing a kernelspec #73

0.1.0 - 2025-08-28

🏗️ Breaking changes

  • Caller.queue_call add argument send_nowait and convert to sync that optionally returns an awaitable. #71

🚀 Features

  • Add anyio_backend_options and use uvloop by default #70

📝 Documentation

  • Use mike for documentation versioning. #67

  • Update docs, readme and project description. #66

🌀 Miscellaneous

  • Prepare for release v0.1.0 #72

  • Drop matplotlib dependency. #69

0.1.0-rc3 - 2025-08-26

🚀 Features

  • Add more classifers and code coverage #64

🌀 Miscellaneous

  • Prepare for release v0.1.0-rc3 #65

  • Add workflow_run event because the release is not triggered if the release is created by another workflow. #62

0.1.0-rc2 - 2025-08-26

🌀 Miscellaneous

  • Prepare for release v0.1.0-rc2 #61

0.1.0-rc1 - 2025-08-26

📝 Documentation

  • Update licensing and contribution notes #27

🌀 Miscellaneous

  • Prepare for release v0.1.0-rc1 #60

  • Merge pull request #56 from fleming79/release/v0.1.0-rc1 #56

  • Revise new release #55

  • New release workflow in one step with publish option. #51

  • Improve release workflow, update documentation and license info. #29

  • Maintenance #26

[0.1.0-rc0] - 2025-08-24

🚀 Features

  • First release #18

  • Switch to vcs for versioning. #2

🐛 Fixes

  • Use no-local-version in pyproject.toml instead. #5

  • Use no-local-version on ci. #4

📝 Documentation

  • Revise workflow to work with tags that start with 'v'. No longer sets the tag when writing the changelog. #16

  • Switch to python installer to run git cliff. #14

  • Revise changelog template. #12

  • Do changelog as PR instead of push to main. #8

  • Git cliff #7

  • Fix mkdocs publishing #6

🌀 Miscellaneous

  • Bugfix #25

  • Update changelog #24

  • Update changelog #22

  • Release workflow changes #21

  • Update release workflow to use a template that appends output from git-cliff #17

  • Bump the actions group across 1 directory with 2 updates #3