Releases: JuliaPluto/Pluto.jl
v0.20.24
Try this release in your browser! (Available 30 minutes after the release)
Learn more about Binder and Pluto at plutojl.org/en/docs/binder!
New features
- Add Persian Translation (#3474) (@shosseinib)
Fixes
Internal changes
- Bump actions/github-script from 5 to 8 (#3491) (@dependabot[bot])
- Bump actions/setup-node from 4 to 6 (#3492) (@dependabot[bot])
- Bump denoland/setup-deno from 1 to 2 (#3493) (@dependabot[bot])
- Bump fregante/setup-git-user from 1 to 2 (#3494) (@dependabot[bot])
- Bump @types/node from 22.19.7 to 25.3.3 in /frontend-bundler (#3498) (@dependabot[bot])
- Bump browser-actions/setup-chrome from 1 to 2 (#3501) (@dependabot[bot])
- Bump nefrob/pr-description from 1.1.2 to 1.2.0 (#3502) (@dependabot[bot])
v0.20.23
Try this release in your browser! (Available 30 minutes after the release)
Learn more about Binder and Pluto at plutojl.org/en/docs/binder!
New features
- Enable offline HTML exports by default (#3483) (@fonsp)
- pluto.land support for offline HTML export files (#3484) (@fonsp)
- Fix with AI: use new deno deploy server and updated models (#3482) (@fonsp)
Fixes
v0.20.22
Try this release in your browser! (Available 30 minutes after the release)
Learn more about Binder and Pluto at plutojl.org/en/docs/binder!
Localization
- Initial RTL support for Farsi localisation (#3350) (@fonsp)
- 🇮🇹 add italian translation (#3363) (@disberd)
- 🇳🇴🇩🇪 Norwegian and German language updates (#3417) (@kellertuer)
- Feature: Add Spanish translation (#3418) (@gruumsh1)
- 🇩🇰 Add Danish language support (#3422) (@gwr-de)
- Remove i18next dependency (#3428) (@fonsp)
- feat: Czech language translation (Čeština) (#3461) (@kunzaatko)
- Add the remaining French strings and fix a few more (#3464) (@christiangnrd)
- Add missing string to translation database (#3465) (@christiangnrd)
New features
- CompatHelper: bump compat for HypertextLiteral to 1, (keep existing compat) (#3453) (@github-actions[bot])
- JuliaMono 0.62 (#3450) (@fonsp)
- Minor tweak to the Basic mathematics sample notebook (#1393)
- Scroll pkg terminal down when opened (#1450)
- Coming soon: HTML export files that can be viewed offline. This release contains the necessary changes, so that we can test it.
- 🏝️ Preparations for offline viewable export HTML (#2802) (@pankgeorg)
- Feature request: HTML Notebook Archive (#2771)
- Offline export should still try to download typefaces from the internet (#2898)
- Warn when creating PDF/HTML export in Safe Preview (#3432) (#3433) (@fonsp)
Performance improvements
Autocomplete / syntax highlighting
This release enables autocomplete-on-type on all platforms (used to be MacOS only for A/B testing). The release contains many improvements to autocomplete and highlighting.
- 💖 Autocomplete automatically on type on all systems (#2389) (@fonsp)´
- update codemirror pluto setup 19 jan 2026 (#3454) (@fonsp)
- scopestate: ignore call-site kwarg labels (#3467) (@younes-io)
- Do not explore Symbol in scopestate statefield (#3469) (@Pangoraw)
- Improve frontend tests for scopestate (#3470) (@fonsp)
- Frontend scopestate: implement import/using (#3471) (@fonsp)
- JS Scopestate: letting 🤖 write feature parity with ExpressionExplorer.jl (#3473) (@fonsp)
- Autocomplete - better handling of locals and globals (#3475) (@fonsp)
- Update julia-lezer to 0.12.6 (#3480) (@fonsp)
- Unicode subscript render bug in cell output (#1754)
- Double click with cool characters does not select the whole token (#1921)
- Text highlight bug (#2060)
- Colon with spaces (
a : b) seems to confuse parsing (#2382) - Bad variable parsing in comprehensions for loops (#3080)
- recent update broke some operator highlighting (#3192)
- Autocomplete: import Pkg; Pkg<press .> autocompletes to pkgdir (#3232)
- Double-click selection misses some unicode symbols (#3234)
- Live Docs dont update on the last character of some builtin keywords (e.g. "while") (#3293)
- Autocomplete: locally imported packages (#3371)
- Multiple cases of keywords not being highlighted (#3443)
- Autocomplete: kwarg detected as local variable (#3459)
- Global variable detection in symbol (#3468)
Fixes
- Fix logging with ProgressLogging v1.6 (#3440) (@disberd) (#3434) (#3479)
- avoid access to internal
MethodListfield removed in 1.12. (#3441) (@disberd) - Julia 1.13 beta CI (#3446) (@fonsp)
- Julia 1.13: Fix use of CapturedException and stacktrace (#3447) (@fonsp) (#3445)
- Julia 1.13 - fix Base.isodd test overload logging interference (#3448) (@fonsp)
- Tooltip: "NLopt (vnothing) is installing..." (#1361)
- Notebook stuck at "Starting Process" (#3423)
- Host instruction screenshots somewhere more reliable (#3431)
Internal changes
- Desktop app front end changes (#2651) (@ctrekker)
- Bump js-yaml from 4.1.0 to 4.1.1 in /frontend-bundler (#3415) (@dependabot[bot])
- Bump js-yaml in /test/frontend (#3421) (@dependabot[bot])
- Transfer to JuliaPluto org (#3451) (@fonsp)
- Bump lodash from 4.17.21 to 4.17.23 in /test/frontend (#3455) (@dependabot[bot])
- Make some frontend tests more reliable (#3456) (@fonsp)
- Prettier formatter run (#3460) (@fonsp)
- Node 22 for frontend tests (#3466) (@fonsp)
v0.20.21
Try this release in your browser! (Available 30 minutes after the release)
Learn more about Binder and Pluto at plutojl.org/en/docs/binder!
Fixes
- Fix firefox rendering issues (#3413) (@fonsp)
- Confusing and inconsistent array-of-dicts display (#2417)
- Revise does not work with Julia 1.12 (#3401)
Internal changes
v0.20.20
Try this release in your browser! (Available 30 minutes after the release)
Learn more about Binder and Pluto at plutojl.org/en/docs/binder!
New features
- Julia 1.12 support (#3005)
- 📋 Project.toml editor (#3218) (@fonsp)
- Improve display of UndefVarError (#3392) (@fonsp)
- 🖥️ Button to view Pkg terminal in a bigger window (#3397) (@fonsp)
- Rectangle select: scrolling tweak (#3388) (@fonsp)
⚠️ Alert user when websocket cannot (re)connect because of auth issues (#3385) (@fonsp)
Performance improvements
Autocomplete improvements
- Autocomplete: avoid with empty search string (#3393) (@fonsp)
- Fuzzy path autocomplete broken in Pluto 0.20.8 (#3214)
- Disable autocomplete when the query is empty (#3251)
- Autocomplete inside HTL interpolation (#3276)
- Autocomplete: no completions after final ; (#3375)
Fixes
- Update saving and loading.jl: e is not defined (#3386) (@pankgeorg)
- Julia 1.12 stacktrace tweaks (#3390) (@fonsp)
- Fix a race condition that allows opening the same notebook twice during JIT (#3391) (@fonsp)
- Safari Export menu layout different (#3384)
- Recording UI overlapped by view vode button (#3387)
- Docs: Cmd+Q on macOS quits the browser, does not interrupt notebook (#3394)
- Faster process init: PlutoRunner Loader optimization (#3396) (#3402) (@fonsp)
Internal changes
v0.20.19
Try this release in your browser! (Available 30 minutes after the release)
Learn more about Binder and Pluto at plutojl.org/en/docs/binder!
New features
- 🌍 Upload to pluto.land directly from Pluto (#3360) (@fonsp)
- New language: Simplified Chinese (#3379) (@Fromduststar)
- New language: Corporate English (#3359) (@pankgeorg)
- Center pasted cells in viewport (#3373) (@fonsp)
- Support
cpu-targetinCompilerOptions(#2950) (#3362) (@pankgeorg)
Performance improvements
- 👻 Fix race condition that can create multiple processes per notebook (#3368) (@fonsp)
- 🌱 Precompile in notebook process (#3367) (@fonsp)
- 🌽 Fix precomp twice this time really!! (#3377) (@fonsp)
- 🥬 Remove PrecompileTools from PlutoRunner to fix precomp twice (#3381) (@fonsp)
Fixes
- 🐭 Use scratch space for notebook package environment directory (#3145) (@fonsp)
- Julia 1.12 precompilation not working (#3187)
- Julia 1.12: autocomplete shows everything as global from this notebook (#3345)
- Added upstream field for localization (#3361) (@s-zymon)
- FirebaseyUtils 32 bit fix (#3366) (#3365) (@fonsp)
v0.20.18
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
- Add Japanese translation (#3341) (@Itou-Kouki)
- 🇵🇱 Polish language support (#3324) (@s-zymon)
- 🎈🇳🇴 Norwegian (Bokmål) language support (#3329) (@kellertuer)
- 🎈🇫🇮 Add Finnish translations. (#3337) (@eteppo)
- Add Portuguese (PT-pt) translation PT-pt (#3352) (@rgouveiamendes)
- pluto.land URL in file open box (#3348)
Fixes
- Fix methods tables on Julia 1.12 (#3339) (@fonsp)
- File picker: improve autocomplete and clarify Save button behaviour (#3347) (@fonsp)
- Capture IO from resolve action (#3351) (@fonsp)
- 🎈🇬🇷 Ενημέρωση της Ελληνικής μετάφρασης (#3331) (@pankgeorg)
- διόρθωση: ενημέρωση της ελληνικής μετάφρασης (#3353) (@pankgeorg)
- Fix completion exported on Julia 1.12 (#3358) (@fonsp)
- Saving notebook interface issue (#3291)
- Julia 1.12: MethodTable removed (#3314)
Internal changes
v0.20.17
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
- 🎈🇩🇪 German language support (#3325) (@kellertuer)
- Added missing localization for delete cell action. (#3326) (@s-zymon)
- Auto detect language (#3327) (@fonsp)
- Improve machine translatability of Pluto documents (#3328) (@fonsp)
- Get document lang attribute from frontend (#3330) (@fonsp)
- 🎈🇫🇷 Add french translation (#3333) (@Pangoraw and @gdalle)
- German lang: use neutral gendered forms (#3334) (@fonsp)
- Dutch language additions (#3335) (@fonsp)
v0.20.16
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Fixes
v0.20.15
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!