- Allow ConKernelManager and
run_kernelto accept an explicit kernel argv/KernelSpec, bypassing installed kernelspec discovery (#16)
- Integrate jupywire EvalOps for kernel-side eval/call helpers, add reply() and
_pre_ipy(#13) - Add deterministic
wait_for_readyand asyncastop_channels(#12)
- Add CurveZMQ transport encryption support: encode curve keys as bytes and default
transport_encryptionto 'auto' (#11)
- Add metadata param to
shell_requestfor message-level metadata passthrough (#10)
- Add ops module with iopub collection, execute composites, generic requests, DAP proxy, and lifecycle helpers; make Session.send patch lazy via
apply_session_patch(#9)
- Fix timeout/race zmq bug
- Remove 'Orphan reply' warning (#7)
- Add DeadKernelError for ZMQ socket failures with targeted exception handling (#6)
- Fix concurrent execute races: fail-fast on channel stop/kernel death, abort pending on kernel error, add
stop_on_errorsupport (#5)
- Add
stdin_send(#4)
- Fix race conditions in channel start/stop and add reader error logging (#3)
- Ensure shell reader task is fully started before returning from
start_channels(#2)
- Add readme
- Remove subshell stuff (#1)
- Init release