Releases: WLJSTeam/wljs-notebook
v3.0.1
MacOS 26 Tahoe
We had to roll out this release quickly since a new update from Apple had given us extra challenges to pass new audits.
Windows 11 / GNU Linux
We downgraded Electron version for Windows and GNU/Linux desktop versions, since in 39.x.x a closing of a parent window may crash an application
Notes on Wolfram Engine installation (Ubuntu)
Due to a broken MD5 package in Ubuntu 25 you may not be able to install WE. However, it is possible to fallback to the good old GNU libraries
sudo apt install coreutils-from-gnu coreutils-from-uutils- --allow-remove-essential
Spellcheck
We added native OS spellcheck for markdown and slide cells
Layout improvements
- Chat window control buttons were misplaced on Windows/Linux machines
Monitor support
We added the missing Monitor symbol, which should help your to watch the intermediate results of your long computations.
PrintTemporary
We added another missing feature PrintTemporary. It prints expr and then automatically removes it after the evaluation is finished.
v3.0.0
What is improved
Math Input
We’ve come a long way toward one of Wolfram Mathematica’s signature features: 2D mathematical input. This “syntax sugar” transforms plain text like Sqrt into properly typeset square roots and fractions, helping blur the line between writing code and presenting mathematics.
Refined Documentation
Rebuilding our comprehensive documentation was one of our most time-consuming undertakings. We restructured all 200 pages to be more organized and easier to navigate. Additionally, we reviewed all 6,000 symbols in the Wolfram Standard Library (with both human and AI assistance) and provided essential information for each one. This eliminates the need to constantly switch between our documentation and the official Wolfram Language reference.
Improved cells navigation
It no longer requires 4x taps on arrow-up or -down key to move between cells.
Right click to reset axes
Do it on any 2D plots.
Trashed Cells
We added the feature to restore deleted input cells. Check out the top evaluation menu.
Improved Boxes rendering
We went though 1500 functions and check the output for each adjusting the output form.
Smarter Windows & Docs
We added a new shortcut for evaluating a cell in a new window
Drag and drop features
Drag and drop files from the sidebar to the desktop
Drag and drops files to the editor
AI Assistant
Easy models access
We added 3 presents: OpenAI, Anthropic and your custom model. So it should be easy to switch and discover models for your needs. Settings are applied per notebook and can be cleared.
Agentic mode
We refactored our integrated AI assistant to an agent, that now have similar tools to VSCode copilot
Improved Autocompletion
The discovery of user defined symbols now works in all cells automatically.
InputRange extensions
We added a new Appearance for InputRange element, allowing to have a fine-tuning ±10% of a variable parameter
New API for Notebooks/Cells
We have refactored our API for generating notebooks and cells, improving compatibility with Mathematica.
Refactored code base
We moved to a monorepo instead of having 13-16 individual modules spread across the Github. This allowed us to cut down the maintenance const in terms of time and decresed the build time drastically.
Cleaned up and improved examples
We recreated all examples from scratch
Improved HTML and MDX Export
We have transitioned from using React to native HTML Web Components with lazy loading. This change has abstracted our embeddable notebooks from the underlying web framework. You can post WLJS notebooks to your Next.js blog, WordPress, plain HTML website, or any other platform.
Breaking changes
NotebookStore
NotebookStore no longer can be used as Association. It introduced more harm than good. We decided to change API for the first time in last 2 years.
To read and write to a notebook storage, now you should use more common NotebookRead/Write methods.
ESM renamed to MJS
We only changed the name of compiled Javascript cells to .mjs to avoid confusion.
WLJS API
We removed some of the features from our public api
Bug fixes
v2.9.2 Release Candidate
We’ve come a long way toward one of Wolfram Mathematica’s signature features: 2D mathematical input. This “syntax sugar” transforms plain text like Sqrt into properly typeset square roots and fractions, helping blur the line between writing code and presenting mathematics.
Your maintainers, Kirill Vasin (@JerryI) and Kirill Belov (@KirillBelovTest ), are happy to announce that we’ve finally reached this milestone by adding the last missing piece to the cell editor: auto-adjustable brackets/parentheses:
The expression above is fully editable—unlike in Wolfram Cloud, where similar input is effectively “backed” by a static representation
It might still be buggy, therefore we marked this release as candidate. Please, install the previous version if you prefer stability.
It would be a shame if we took all the credit. We’re truly grateful to Marijn Haverbeke —an outstanding programmer, the author of the JavaScript bible Eloquent JavaScript, and the creator of CodeMirror 6, the core component behind WLJS Notebooks. He was also kind enough to answer our dumb questions on his website—for free 🥰
And Merry Christmas to everyone ❤️
v2.9.1
- New split notebook feature
- Improved
ManipulateGUI - Minor formatting improvements
- New command palette tools
Tabularsupport (requires WL > 14.2)InputTerminalelement- Improved Export to PDF for large notebooks
- Separate highlighting for user-defined symbols
- "Evaluate all cells" button
- Fixes #469
- Fixes #468
- Fixes #467
- Fixes #465
- Improves #466
v2.9.0
Minor update, but important changes:
- fixes #461 for both
GraphicsandGraphics3D - fixes
Exportfor PDF on Windows machines‼️ - fixes HTTP responce content length mismatch
‼️ - safer
Animate(frame rate clipping when JIT fails) - fixes timeout error on
AnimatedImagederived fromAnimate - fixes indices bug on
TabView - fixes pop up errors on HID (Human Interface Device) list window
- better documentation
v2.8.9
- Fixes #460, #454
- Missing symbols for
Entity,EntityProperty,StadiumShape - NotebookEvaluate, NotebookOpen, CreateDocument
TooltipBoxwas replaced withIdentity(some invisible labels onGraphicsplots now are visible)- Copy button was missing from cells properties
- Automatic cache flushing occurs after an update.
- Cells printing bug
- ElectronJS
SIGTRAPbug with WASM modules was fixed - Updated NextJS / React integration. See example
- Access to notebook cells and its properties via
EvaluationNotebookorEvaluationCell
Thank You All ❤️
Monumental effort people, you're democratizing Mathematica!
Anonymous
This is a fantastic project! keep it up!
Anonymous
✨ Monthly financial contribution to WLJS Notebook (€3.00)
Jason Cunliffe
✨ Monthly financial contribution to WLJS Notebook (€2.00)
Guest
v2.8.8
- Polished native GUI on all platforms with system accent color support and customization in Settings.
- Reimplemented
Input/InputStringwith async variants (InputAsync,InputStringAsync) for interactive input; added simpleProgressIndicator(supports dynamic symbols). - Improved text rendering in graphics:
Textcan inset symbolic numeric expressions (e.g.,1/2,Exp[...],Sqrt[...])—note: dynamics only for strings. - Shortcuts updates: new evaluate-and-jump shortcut (Ctrl/CMD+Enter)
- Fix #453
- Fix #459
- Update on #458 and related #426
- AppImage added for GNU/Linux!

2.8.7
- laser pointer on slides improved; press
qto toggle; - new Print to PDF feature for notebooks, including manual page breaks via
PageBreakAbove/PageBreakBelow; - paclet extensions: ship JS/CSS assets, write one package for WLJS/Mathematica/WolframScript, assets embed/cached in exported notebooks;
Graphics& media: fixes to 2D aspect/arrows/curves;AnimatedImageexportable to HTML/MDX;- easy GIF/video export from
Animate; - DEV & UX: async
RasterizeAsync/ExportAsync; - better clipboard options (
ClickToCopy,Paste,CopyToClipboard); - fixed maximize bug on Windows machines;
- moved to new ElectronJS version 32 (2023) -> 38 (2025);
- add support for
Style[..., Bold]in the context of 2D and 3D graphics; Diskissue #449;- arrows and spline curves fix #448;
- improved LPM (package manager), added support for
.paclets; - fixed lighting bugs with
PointLight,SpotLight, extended options are provided; - docker image now got Clang build tools installed to work with
CompileandLibraryLink; - fixed bug with "magic cells";
- build-in terminal improvements;
- Windows binaries now digitally signed via SignPath.
2.8.5
- App Integrity: Core packages/modules moved from
AppDatainto the app folder (immutable); only small personal settings stored outside. Initialization simplified and several hundred LOC removed. Updates now occur globally (no per-module local updates). - Excalidraw Images: Whiteboards in markdown/slide cells now support drag-and-drop image files; images are embedded as base64 in notebook storage.
- Event-Driven Animations: New pattern for
AnimationFrameListenermakes it easier to attach handlers and frame triggers for interactive graphics. - Subscripts in Manipulate: Fixed pipeline so
Subscriptparameters work in Manipulate/Animate expressions (e.g.,Subscript[f, C]). - 2D Graphics: Improved rendering/behavior .
- Graphics3D: Broader support for 3D plots.
- FormalA-Z, ScriptA-Z, DoubleStruckA-z named symbols support