Skip to content

Releases: fonsp/Pluto.jl

v0.20.4

20 Dec 16:28
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

Generate your own binder links using pluto-on-binder.glitch.me!

New features

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

  • CompatHelper: bump compat for MIMEs to 1, (keep existing compat) (#3087) (@github-actions[bot])
  • Fix frontend chrome download (#3120) (@fonsp)

Diff since v0.20.3

v0.20.3

29 Oct 10:08
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

Generate your own binder links using pluto-on-binder.glitch.me!

New features

Fixes

  • Fix binder (this time really!) by downgrading from Julia 1.11 to Julia 1.10 (#3070)

Diff since v0.20.1

v0.20.1

22 Oct 16:30
b34e0e1
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

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)

Diff since v0.20.0

v0.20.0

14 Oct 15:10
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

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 the notebook arg)
  • where_assigned(notebook::Notebook, topology::NotebookTopology, something) (drop the notebook arg)

New features

Fixes

Diff since v0.19.47

v0.19.47

10 Oct 10:02
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

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

  • Warn about using Julia version before 1.10 (#3049) (@fonsp)

New features – error display

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

Diff since v0.19.46

v0.19.46

16 Aug 08:28
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

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

  • Add support for custom name in @progress (ProgressLogging.jl) (#2966) (@disberd)

Accessibility improvements

  • Keyboard navigation for interactive array viewer (#2996) (@fonsp)

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

Diff since v0.19.45

v0.19.45

16 Jul 10:07
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

Generate your own binder links using pluto-on-binder.glitch.me!

Fixes

  • Firefox stuck with 0.19.44 (#2959)

Diff since v0.19.44

v0.19.44

15 Jul 20:22
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

Generate your own binder links using pluto-on-binder.glitch.me!

New features

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)

Diff since v0.19.43

v0.19.43

25 Jun 11:16
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

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)

Diff since v0.19.42

v0.19.42

08 May 09:10
Compare
Choose a tag to compare

Try this release in your browser! (Available 30 minutes after the release)

Binder logo

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

  • Try to add already installed versions of packages with Pkg.PRESERVE_ALL_INSTALLED (#2902) (@fonsp)

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])

Diff since v0.19.41