Releases: fonsp/Pluto.jl
v0.20.4
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
New features
- More embedded Pkg API (#2868) (@fonsp)
- Warn when using future Julia versions (#3113) (@fonsp)
- Bundled MathJAX (#3094)
Performance improvements
- Frontend bundler update nov 2024 (#3091) (@fonsp)
- Prevent layout shift on load by mounting codemirror styles earlier (#3092) (@fonsp)
Fixes
- Fix Julia 1.11.2 WorkspaceManager race condition (#3119) (@fonsp)
- Error with
Pkg.activate
in Julia 1.11.2:schedule: Task not runnable
(#3114) - Featured Heatmap notebook is broken (#3109)
(TODO) - ResumableFunctions don't work in Pluto.jl (#3104)
- parcel bundle: fix index.html prefetch bundle issue (#3110) (@fonsp)
- Fix index.html bundle CI failure (#3095)
- Overeager autocomplete for
@.
gives@__DOT__.
(#3086) - HTML exports from Pluto 0.19.4 do not load (recurrence of #2606) (#2707)
Internal changes
v0.20.3
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
New features
- Make JuliaFormatter ignore bind macro in notebook file (#2623) (#3072) (@christiangnrd)
- Improve display of DimensionalData.DimVector (fixes #2936) (#3075) (@greimel)
Fixes
- Fix binder (this time really!) by downgrading from Julia 1.11 to Julia 1.10 (#3070)
v0.20.1
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
New features
Fixes
- Fix binder build (Julia 1.11)
- "Multiple definitions" error message on
begin ... end
is misleading (#3061)
v0.20.0
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Breaking changes in 0.20
- Julia 1.10 is now the minimum compatible version (#3050). And after a lot of work, Pluto is compatible with Julia 1.11 (#2928).
The following deprecated methods have been removed from Pluto's API (#3051):
init_with_file_viewer
downstream_cells_map
upstream_cells_map(cell::Cell, notebook::Notebook)
delete_vars
where_referenced(notebook::Notebook, topology::NotebookTopology, something)
(drop thenotebook
arg)where_assigned(notebook::Notebook, topology::NotebookTopology, something)
(drop thenotebook
arg)
New features
- πΊ Pop out Live Docs tab into picture-in-picture (#3053) (@fonsp)
- Package URL (#3052) (@fonsp)
- Disable autocomplete commit characters
[",", "(", "[", "{"]
(#3055) (@fonsp) - autocomplete: handle definitions from other cells (#2991) (#3056) (@fonsp)
- autocomplete: use
public
over exported when available (#3058) (@Pangoraw) - docs: use JuliaMono (#3057) (@Pangoraw)
Fixes
v0.19.47
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Julia 1.10 became the Long-Term Support version (used to be 1.6). This is the last Pluto version that will support Julia versions older than 1.10. Updating to future Pluto versions will require updating Julia.
New features
New features β error display
- Stack trace tweaks (#3039) (@fonsp)
- Motivational words for errors (#3040) (@fonsp)
- Error message title (#3041) (@fonsp)
- Remove
Main.var"workspace#5"
from stack traces (#3044) (@fonsp) - Stack trace: bracket-matched hiding and expanding and more (#3045) (@fonsp)
- Error messages: allow color from Julia (#3046) (@fonsp)
- Abbreviated stack traces (#3006)
Fixes
- make
using .A
syntax work (#2955) (@Pangoraw) - Fix out of order state update messages (#3009) (#3010) (@fonsp)
- Fix fallback for errors in logging (#3013) (@danielwe)
- apply unicode completion to all matching cursors (#3037) (#3047) (@Pangoraw)
using .Module
does not work anymore (#1795)- Pluto does not run on nigthly due to changes in REPL code (#2939)
- Error in fallback path for catching logging errors (#3012)
Internal changes
- ποΈ Split PlutoRunner into files (#3007) (@fonsp)
- Bump FuzzyCompletions to 0.5.5 (#3004) (@Pangoraw)
- Test 1.11 (#3048) (@Pangoraw)
- Bump micromatch from 4.0.4 to 4.0.8 in /frontend-bundler (#3014) (@dependabot[bot])
- Bump elliptic from 6.5.4 to 6.5.7 in /frontend-bundler (#3024) (@dependabot[bot])
v0.19.46
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Comment
This is the fastest version of Pluto ever! This release optimises the overhead of Pluto: the extra time it takes to run a cell (on top of the time that your codes takes). You mostly notice this overhead for large notebooks (>100 cells), and when using @bind
.
The overhead in Pluto 0.19.46, compared to the previous version, is:
- 2x lower on a notebook with 100 cells
- 5x lower on a notebook with 200 cells
- 40x lower on a notebook with 500 cells
This means that notebooks with >500 cells are super snappy again! A notebook with 500 cells can do a reactive run in 20ms, this used to take 1 second.
I also tested some old Pluto versions. The overhead in Pluto 0.19.46 is 1.6x lower than any previous Pluto version from the past 2 years.
Performance improvements
- Speedup large notebooks: fix cache miss in
notebook_to_js
(#2973) (@fonsp) - Optimize
deep_enough_copy
for faster notebook updates (#2974) (@fonsp) - Speedup large notebooks: cache cell dependencies in notebook_to_js (#2976) (@fonsp)
- Backend performance: delete stale connections (#2977) (@fonsp)
- Performance: state update throttle rework (#2979) (@fonsp)
- Performance: skip background status sync throttle during reactive run (#2981) (@fonsp)
- Properly cache some useEffects (#2995) (@fonsp)
- Substantial slowdown (>x10) opening large notebooks starting from version 0.19.37 (#2958)
- Performance: throttled status update loop impacts performance on large notebooks (#2978)
New features
Accessibility improvements
Fixes
- Pkg complete_remote_package Julia 1.11 compat (#2975) (@fonsp)
- Fix state out of sync issue caused by race condition (#2989) (@fonsp)
- Fix macroexpand on Julia 1.11 (#3000) (@fonsp)
- Too many intermediate bond values (#1891) (#2992) (@fonsp)
- Infinite stalls on bonds when computer is very fast (#2557)
- All cells appear as running when executing the notebook the first time (#2755)
- Open button doesn't work on Windows (#2762)
- Don't clear main menu file picker on blur (#2990) (@fonsp)
- IOContext not properly set for
stdout
, disables ANSI colors (#2823) (#2824) (@danielwe, @ReubenJ) - Cell running forever (#2904)
- Warning in terminal with Base.Threads.@threads and Plots.@gif and Plots.@Animate macros on Julia 1.11 (#2907)
- BitIntegers does not work in Julia 1.11 (#2984)
@bind
inside table always renders in "Safe Preview" mode (#2994)
Internal changes
v0.19.45
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Fixes
- Firefox stuck with 0.19.44 (#2959)
v0.19.44
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
New features
- Autocomplete-on-type by default on Mac (#2942) (@fonsp)
- enable paths autocompletions (#2949) (@Pangoraw)
Fixes
- autocomplete: defer string check to when completion is applied (#2946) (@Pangoraw)
- Fix HTTP error messages: "Server never wrote a response" (#2734) (#2931) (@fonsp)
- auto Pkg manager fails when using JULIA_DEPOT_PATH different from default ".julia" (#2586)
Internal changes
- Support mixed use of
_
and-
in launch parameter HTML attributes (#2953) (@fonsp) - Bump braces, babel-jest and jest in /test/frontend (#2934) (@dependabot[bot])
- Bump ws from 6.2.2 to 6.2.3 in /frontend-bundler (#2938) (@dependabot[bot])
- fix compiler options test windows Julia 1.11 (#2956) (@fonsp)
- Fix CI on macos Julia 1.6 (#2957) (@fonsp)
v0.19.43
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
New features
- β¨οΈ Keyboard shortcut for folding cell (#2922) (#2917) (@fonsp)
- Add featured notebooks from plutojl.org/en/docs (#2927) (@fonsp)
- π‘ Better error message when package fails to load (#2925) (@fonsp)
- Message "π Reading hidden code" (#2920) (@fonsp)
- Capture IO from Pkg.rm (#2924) (@fonsp)
Fixes
- Julia 1.11 compat: Use Base.BufferStream for capturing Pkg IO (#2915) (@fonsp)
- Julia 1.11 beta MemoryRef bounds violation (#2910)
- Packages do not update (Safari) (#2918)
Internal changes
- Bump follow-redirects from 1.15.0 to 1.15.6 in /frontend-bundler (#2851) (@dependabot[bot])
- CI: upgrade some actions (#2923) (@DilumAluthge)
- π WS message log for debugging (#2926) (@fonsp)
- Bump braces from 3.0.2 to 3.0.3 in /frontend-bundler (#2937) (@dependabot[bot])
- JS API: support metadata API in static preview (#2914)
v0.19.42
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
New features
- Rework horizontal spacing code to better support embedded notebooks (#2903) (@fonsp)
- Font sizing rework (#2896) (@fonsp)
- Give "Loading more cells..." lots of vertical space so scroll restoration works better on Firefox (#2901) (@fonsp)
Performance improvements
Fixes
- Disable fake CM on firefox to fix highlighting in PDF export (#2900) (@fonsp)
- Fix disappearing frontmatter entries (#2909) (@fonsp)
Internal changes
- Use
ch
CSS unit to simplify awesome_line_wrapping CM plugin (#2899) (@fonsp) - Bump ejs from 3.1.7 to 3.1.10 in /frontend-bundler (#2906) (@dependabot[bot])