Releases: WLJSTeam/wolfram-js-frontend
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
Issues addressed
2.8.4
2.8.3
Summary:
- Labels now behave more like Mathematica, supporting StandardForm, Automatic, offsets, LaTeX cells, and even custom WLJS functions.
- Improved slides export using custom ElectronJS-based PDF renderer.
- Correct rendering of standard forms like Complexes, Reals.
- Added TableAsync and DoAsync, allowing asynchronous versions of Table/Do.
- Better handling of 2D/3D plots with very large numbers of points (via WebGL OES_element_index_uint).
- Assistant plugin can now connect to locally running LLMs (e.g., Ollama), not just OpenAI models.
- Fixed missing AnimationRate and RefreshRate options in animations.
- Improved Windows network I/O stability and fixed minor bugs.
Bugs/features:
Read more in our blog: https://wljs.io/blog
2.8.2
- Fixed breaking changes in built-in symbol outputs after WL 14.3, added a UI update separating input/output cells, and expanded styling options with new CSS classes for customization.
- Introduced a JIT transpiler for Refresh, plus new examples including Arduino hardware integration and a World of Goo-like game demo.
Issues
2.8.1
Summary
- Automated export to interactive HTML
- Built-in interactive functions (Manipulate, ManipulatePlot, ManipulateParametricPlot, Animate) are exported automatically.
- “Manual sampling” works like the old “Dynamic HTML” option.
- Fixes #408
- Manipulate & Animate improvements
- JIT transpiler performance enhanced (though still sensitive to major changes in curves, polygons, or entity counts).
- More examples provided, including support for image manipulation.
- Improved Shell Cells
- Now use
StartProcess, allowing continuous processes without blocking the kernel. - Processes can be stopped by aborting evaluation as normal.
- Improved Labels for Graphics
- Fixed label positioning and font rendering bugs including #409
- Added better offset handling for Disk, Circle, and similar elements.
- PlotLabel now supports richer labeling options beyond plain text for both 2D and 3D graphics
- Bonus – LLM Autocompletion
- Optional AI-assisted code completion available.
- We removed our offline documentation to cut down the bundle size (~ 50% less)
2.8.0
🚀 Release v2.8.0
🧩 Unix Sockets Fix
Resolved a TCP packet ordering bug in CSocketListener affecting GUI ↔ Kernel communication on macOS/Linux.
🖼️ Image Gets EventHandler
Image now supports interactive event handling—similar to Graphics.
🖌️ Canvas2D Library
New HTML5 Canvas API support with real-time drawing, gradients, and animations.
⚡ JIT for Manipulate / Animate
Automatic optimization of dynamic content using Offload, with fallback support.
🗣️ Context Menu: Speak
New Speak option for any selected text.
🧾 Frontend: FrontTextSelected[]
Access any selected notebook text programmatically.
🙏 Thanks!
Huge thanks to our community and Open Collective supporters!
See more at https://wljs.io/releases
2.7.9
Release notes 2.7.9 🔔
- EchoLabel Upgrades: Now supports notifications, warnings, errors, spinners, and progress bars.
- Documentation Integration: Autocomplete includes links to both: WLJS and Wolfram documentation.
- Improved Code Pasting: Special handler converts unsupported Mathematica expressions using a local kernel.
- NB format Support: Enhanced parser of
.nbfiles. - New
dragsignalEvent: Enables manual control over drag behavior for constrained interactions. - Code Formatter Fixes: Now it handels WLJS syntax sugar properly.
- Information Display: Switched to Wolfram's native
Informationoutput (image-based). - Docs & Tutorials: New guides including porting dynamics from Mathematica to WLJS.
- Autocomplete UI: More user-friendly info boxes for symbol suggestions.
- Better Graphics3D ticks: it is still not customizable, but an automatic one
- Inset and PlotLabel improvements
See more at https://wljs.io/releases