Skip to content

Commit a5f9081

Browse files
authored
Merge pull request #1145 from JuliaLang/kernel-struct
Giant refactor to move all state into a Kernel struct
2 parents 614f656 + c0fc2a1 commit a5f9081

29 files changed

+1267
-423
lines changed

CondaPkg.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[deps]
2+
jupyter_client = ""
3+
jupyter_kernel_test = ""

Project.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
1111
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
1212
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
1313
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
14+
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
1415
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
1516
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
1617
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1718
SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce"
19+
Sockets = "6462fe0b-24de-5631-8697-dd941f90decc"
1820
SoftGlobalScope = "b85f4697-e234-5449-a836-ec8e2f98b302"
1921
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
2022
ZMQ = "c2297ded-f4af-51ae-bb23-16f91089e4e1"
@@ -28,10 +30,12 @@ JSON = "0.18,0.19,0.20,0.21,1"
2830
Logging = "1"
2931
Markdown = "1"
3032
Pkg = "1"
33+
PrecompileTools = "1.2.1"
3134
Printf = "1"
3235
REPL = "1"
3336
Random = "1"
3437
SHA = "0.7, 1"
38+
Sockets = "1"
3539
SoftGlobalScope = "1"
3640
UUIDs = "1"
3741
ZMQ = "1.3"

deps/kspec.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import JSON
33
#######################################################################
44
# Install Jupyter kernel-spec files.
55

6-
copy_config(src, dest) = cp(src, joinpath(dest, basename(src)), force=true)
6+
copy_config(src::AbstractString, dest::AbstractString) = cp(src, joinpath(dest, basename(src)), force=true)
77

88
# return the user kernelspec directory, according to
99
# https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs

docs/src/_changelog.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ CurrentModule = IJulia
77
This documents notable changes in IJulia.jl. The format is based on [Keep a
88
Changelog](https://keepachangelog.com).
99

10+
## Unreleased
11+
12+
### Added
13+
- Implemented [`reset_stdio_count()`](@ref) to provide a public API for
14+
resetting the stdio count ([#1145]).
15+
16+
### Changed
17+
- IJulia was completely refactored to minimize global state ([#1145]). This
18+
allows for better testing (for the first time we can test kernel execution)
19+
and for executing precompilation workloads. We've tried to avoid any breaking
20+
changes but it's possible that some packages may be relying on internals that
21+
have changed. If you have any problems with this release please open an issue
22+
on Github so we can help.
23+
1024
## [v1.29.2] - 2025-07-29
1125

1226
### Fixed

docs/src/library/internals.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ IJulia.waitloop
5959

6060
```@docs
6161
IJulia.IJuliaStdio
62-
IJulia.capture_stdout
63-
IJulia.capture_stderr
6462
IJulia.watch_stream
6563
```
6664

docs/src/library/public.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@ IJulia.load_string
4545
```@docs
4646
IJulia.readprompt
4747
IJulia.set_max_stdio
48+
IJulia.reset_stdio_count
4849
```

0 commit comments

Comments
 (0)