Releases: fonsp/Pluto.jl
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])
v0.19.41
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Big release! This release includes many improvements to autocomplete, which will soon be enabled automatically as you type! To preview this feature today, open a notebook, then press F12 to open the Firefox/Chrome dev tools, then Console, and then type PLUTO_TOGGLE_CM_AUTOCOMPLETE_ON_TYPE(true)
. π Please let us know what you think! Is the autocomplete-on-type good enough to be enabled by default for everyone?
New features β autocomplete
- Autocomplete 15x faster (#2857) (@fonsp)
- Autocomplete: improve keyword argument completions (#2863) (@fonsp)
- No autocomplete in
do
arguments and variable names (#2872) (@fonsp) - β‘οΈ Autocomplete latex and emoji super fast (#2876) (@fonsp)
- Autocomplete: stop at a keyword (#2877) (@fonsp)
- Autocomplete improvements (#2843) (@fonsp)
- Allow autocomplete in strings and comments with (#2892) (@fonsp)
- Completion in function arguments doesn't work in julia 1.9 (#2629)
- Autocomplete "Operators" wrong for package entries (#2865)
- Don't show anon functions in autocomplete (#2866, #2870) (@fonsp)
- Autocomplete: select completion with comma key (#2871)
- Autocomplete: show exported fields first when listing everything (#2873)
- Autocomplete: disable inside comments (#2879)
New features
- β‘οΈ AbstractPlutoDingetjes.Display.with_js_link to request calculations and data from Julia dynamically (#2726, #2780) (@fonsp)
- Show task failures in red in Status tab (#2858) (@fonsp)
- Add copy button for markdown code blocks (#2668, #2799) (@chayandatta)
Performance improvements
- Faster page load: delay rendering codemirror until in view (#2885) (@fonsp)
- Static HTML: faster page load by preloading statefile (#2887) (@fonsp)
- Show progress bar earlier during load (#2889) (@fonsp)
- Fix broken editor.js prefetch (#2890) (@fonsp)
Fixes βΒ Julia compatibility
- call
_get_registries()
in__init__
of PkgCompat.jl (#2815) (@j-fu) - PlutoRunner.jl use take!(::IOBuffer) instead of resize! (#2828) (@fonsp)
- Fix method tables in Julia 1.12 (#2841) (@fonsp)
- Fix similar docs search on Julia 1.11 (#2842) (@fonsp)
- Fix misaligned line numbers + line wrapping in PDF output (#2848) (@fonsp)
- Fix Julia 1.11 Pkg tests (#2860) (@fonsp)
- Precompilation problem on 1.11 with complete_remote_package (#2810)
- Method table test failures on Julia nightly (#2840)
- ERROR: Failed to precompile Pluto on Julia Nightly version 1.12.0-DEV (#2847)
- Cannot use Pluto with Julia 1.11 (alpha2) (#2854)
It is taking a lot of work to make Pluto compatible with the latest Julia releases... And tests are still failing on Julia 1.11, frustrating!
Fixes
- Upgrade GHA to Node 20 (#2859) (@fonsp)
- Fix cell copying on Firefox (#2856, #2869) (@fonsp)
- Live docs panel steals focus right after opening (#2880)