Releases: WLJSTeam/wljs-notebook
v3.0.4
Summary
Sorting feature for Dataset and Tabular
We added both Kernel- and frontend-side sorting for Dataset and Tabular. Just click on one of the headers.
Or course, if you export a notebook to an HTML file sorting may not work for large datasets, which are partially stored on the kernel.
Improved input elements
We fixed InputTerminal, now it is selectable and can hold up to 1000 entries
More styling options
We provide many styling options for InputButton, InputRange and others. Now you can directly assign classes or styles for labels or controls.
InputButton["Click me", "Style"->"text-transform: uppercase; letter-spacing: 0.04em; color: #6b7280;"]For sliders you have many options
InputRange[0,1,0.1, "SliderStyle"->"width:50vw; accent-color: red ", "CounterStyle"->"font-size:larger; padding:1rem"]Better texture support
We improved Texture support in 2D graphics. Now it no longer requires TextureVertexCoordinates (only optional)
Graphics[{
Texture[Array[BitXor, {128,128}]//Rescale//Image],
GraphicsComplex[RandomReal[{-1,1}, {3,2}], Polygon[{1,2,3}]]
}, Axes->True]Added update support for GraphicsComplex (2D)
GraphicsComplex was already supported, but it did not automatically react to data changes. With this update, lines and points now update automatically when the underlying data changes.
vert2 = CirclePoints[0.7, 50]//N;
f = (Uncompress["1:eJxTTMoPSmNkYGAo5gASbqV5ySWZ+XlpTCARFiARnlmSgeD5ZBaXQHjMQCI4taQYpLUAYgBIQXBOfkkmiIepqiSNASTEAyQck4rzc0pLUkMyc1MRhgfklBZDzUOxMJMBbh4rkABpKi76s/LjJd+kAntU7RCHgG3NzEOTQjUgkwvFkS75JVitBolB7GdG1f4fCDJByqB+Q3OeMRg8tifBQXxEOQjkFkgAY3MQG9xBAJbbXNw="]);
Graphics[{
GraphicsComplex[vert2//Offload, {
LightBlue, Polygon[Range[1,50]], Red, Point[Range[1,50]]
}],
EventHandler[AnimationFrameListener[vert2//Offload],
Function[Null, vert2 = f /@ vert2]
]
}, PlotRange->{{-1,1}, {-1,1}}]Drop files to a sidebar
We added support on both: desktop and server variants of WLJS Notebook for files uploading to a working directory by dropping them on a sidebar.
Shortcuts
- Added a shortcut for evaluating the whole notebook Alt-j or Cmd-j
- New command palette item: Optimize memory, which effectively runs a major garbage collector on the kernel and server using
Sharemethod.
Misc
- Fixed major issues with license activation on docker image
Readyevent forCreateWindownow returns aWindowObj- Offscreen rasterization support if window is not provided
- Minor issues with
Manipulate - Fixed pale 2D plots (
ParametricPlotand others)
Issues
v3.0.3
Highlights
- Fixed unintended window throttling for unfocused or hidden windows
- Added
WindowEventListenerfor global window events - Added texture mapping support for
Graphics3D ComplexPlot3Dnow works- Added support for
GPUArraysymbols - Added copy-as-plain-text support for cell groups as
InputForm Texturesupport
Misc
- Various bug fixes related to compressed entities such as images and large plots
- Fixed
Graphics3Dpan and rotation on custom WLX components - Added a "Controls" option to disable or enable rotation for
Graphics3D
v3.0.2
TeXView
We added a shorthand symbol for rendering expressions as LaTeX:
TeXView[1/2]Tooltip
A tooltip can be used on graphics primitives
Plot[{Tooltip[Sin[x], "This is sine"], Tooltip[Cos[x], "This is cosine"]}, {x,0,2Pi}]Read our documentation for more information and use cases
Documentation window fix
You should no longer have any troubles when copying code blocks from docs pages.
ListAnimate
We implemented a new member of Animate/Manipulate family of symbols
Raster
We improve the performance of Raster, which shows up in many 2D plots.
Moreover it supports Offload, that means you can make it dynamic manually or automatically
More examples
A new examples on presentations and interactive evaluation
Electron went Wayland-native
Electron switched to Wayland on Linux last fall.
Minor bug-fixes
- Incorrect cell content update, when a cell was morphed from output to input
- Incorrect rendering of
Rowinside ticks and other labels ofGraphics - NeuralNet package invalid format values
- Global styling of slide cells content (CSS issue)
- #489
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!
