Skip to content

Releases: WLJSTeam/wljs-notebook

v3.0.4

17 Apr 15:08

Choose a tag to compare

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 Share method.

Misc

  • Fixed major issues with license activation on docker image
  • Ready event for CreateWindow now returns a WindowObj
  • Offscreen rasterization support if window is not provided
  • Minor issues with Manipulate
  • Fixed pale 2D plots (ParametricPlot and others)

Issues

v3.0.3

05 Apr 12:20

Choose a tag to compare

Highlights

  • Fixed unintended window throttling for unfocused or hidden windows
  • Added WindowEventListener for global window events
  • Added texture mapping support for Graphics3D
  • ComplexPlot3D now works
  • Added support for GPUArray symbols
  • Added copy-as-plain-text support for cell groups as InputForm
  • Texture support

Misc

  • Various bug fixes related to compressed entities such as images and large plots
  • Fixed Graphics3D pan and rotation on custom WLX components
  • Added a "Controls" option to disable or enable rotation for Graphics3D

v3.0.2

25 Mar 11:10

Choose a tag to compare

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 Row inside ticks and other labels of Graphics
  • NeuralNet package invalid format values
  • Global styling of slide cells content (CSS issue)
  • #489

v3.0.1

27 Feb 22:36
501f449

Choose a tag to compare

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

19 Feb 08:20

Choose a tag to compare

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

23 Dec 10:10

Choose a tag to compare

Pre-release

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:

Screenshot 2025-12-23 at 11 07 16

The expression above is fully editable—unlike in Wolfram Cloud, where similar input is effectively “backed” by a static representation

Screenshot 2025-12-23 at 11 07 43

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

14 Dec 09:01
7b7c064

Choose a tag to compare

Screenshot 2025-12-12 at 20 50 06
  • New split notebook feature
  • Improved Manipulate GUI
  • Minor formatting improvements
  • New command palette tools
  • Tabular support (requires WL > 14.2)
  • InputTerminal element
  • 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

28 Nov 19:47

Choose a tag to compare

Minor update, but important changes:

  • fixes #461 for both Graphics and Graphics3D
  • fixes Export for PDF on Windows machines ‼️
  • fixes HTTP responce content length mismatch ‼️
  • safer Animate (frame rate clipping when JIT fails)
  • fixes timeout error on AnimatedImage derived from Animate
  • fixes indices bug on TabView
  • fixes pop up errors on HID (Human Interface Device) list window
  • better documentation

v2.8.9

16 Nov 16:22

Choose a tag to compare

  • Fixes #460, #454
  • Missing symbols for Entity, EntityProperty, StadiumShape
  • NotebookEvaluate, NotebookOpen, CreateDocument
  • TooltipBox was replaced with Identity (some invisible labels on Graphics plots now are visible)
  • Copy button was missing from cells properties
  • Automatic cache flushing occurs after an update.
  • Cells printing bug
  • ElectronJS SIGTRAP bug with WASM modules was fixed
  • Updated NextJS / React integration. See example
  • Access to notebook cells and its properties via EvaluationNotebook or EvaluationCell
mplecule

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

04 Nov 13:18

Choose a tag to compare

  • Polished native GUI on all platforms with system accent color support and customization in Settings.
  • Reimplemented Input / InputString with async variants (InputAsync, InputStringAsync) for interactive input; added simple ProgressIndicator (supports dynamic symbols).
  • Improved text rendering in graphics: Text can 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!
4OS