Skip to content

Releases: JerryI/wolfram-js-frontend

2.7.0 - Minor Update

26 Feb 10:38
Compare
Choose a tag to compare

Note, if you are using WLJS Desktop App >= 2.6.9, you do not need to manually install this update.

See more release notes here

UI changes

  • Insert a cell by moving with arrow keys and typing any letter.
  • Copy cell groups as a single string and paste into a new input cell.

Decorations and GUI blocks

  • Improved Short function for better formatting in outputs.

  • New controls for navigating presentation slides using RevealJS API.

  • InputRange sliders can be updated programmatically while maintaining state.

  • Manipulate supports programmatic control with persistent state.

  • Improved comand palette

  • Minor bug fixes with Electron App

2.6.9 - Auto Updater 🎁

23 Feb 13:16
91e4654
Compare
Choose a tag to compare

Finally we have managed to set up updates channel like in native desktop applications!
You no longer need to check releases to be up-to-date with WLJS Notebook. Everything is automated.

Instead of two binaries (normal and bundled) now we have a single version for all users with all latest libraries included and fully offline installation procedure.

It should fix issues

  • #354
  • #332
  • #353
  • #273
  • and many more, where the access to Github servers was problematic.

As a bonus we have the first build of WLJS Notebook for GNU/Linux ARM64 contributed by @asukaminato0721 (not yet tested).

Major update

16 Feb 14:27
91e4654
Compare
Choose a tag to compare

WLJS Notebook

  • Code Refactor: Improved organization of extensions and streamlined context handling for better usability.
  • Graphics Enhancements: Extra padding in framed mode, grid lines added (limited to Automatic for now).
  • 3D Plots: Progress made towards full support for ticks and labels.

Desktop App

  • custom window sizes and positions for extensions
  • support for Bluetooth + HID devices (a dedicated dialog window)
  • bugfix in Rasterize for Windows machines with DPR differs from 1.0

Note, please give the preference to non -offline-bundle- version if you have no troubles with a normal version of the binary. Both of them do not require internet access after the installation has been completed

Major Update

28 Jan 19:02
ac1ed7b
Compare
Choose a tag to compare

See full list of release notes at wljs website

UI Update

  • added focusable separator between the cells (similar to Mathematica)
  • unicode character support in Dataset
  • admonitions in markdown cells
  • bookmarks in markdown cells
  • more formatting options
  • failsafe WLJS makes 2 kinds of backups; prevents window from closing if saving is not yet done

WLX and WebUI framework support

WLJS Notebook is built on the WLX and WebUI technology stack. Now it is fully usable even inside the notebook. Want to build a more complex application? A fully functional sidebar? Here we go!

Release of the public API (Iframe & REST)

WLJS Notebook (both desktop app and server) does support special embedding of a notebook window to iframe. Moreover, REST
API
is provided by a core extension. All communication is done via HTTP POST request in JSON format.

Image3D

We implemented a shader version of Image3D using maximum intensity projection (MIP).

Export to Mathematica

Is is possible to convert .wln notebook to .nb with some limitations.

Desktop App

  • update option in the launcher window
  • minor bugs with filesystem, paths

Closed issues

Minor X-Mas Update

27 Dec 13:57
Compare
Choose a tag to compare

Issues

  • #313 large formatted output
  • #321 dataset improvements
  • #322 Failure message
  • minor issues with Sound, Video and Audio objects
  • improvements for CellPrint

New features

Experimental: Standalone Widgets 🔥

WLJS Notebook can be used as a runtime for standalone widgets. It is 1 window app, which uses the full capabilities of a normal notebook (similar to Wolfram CDF or LabView programs) and runs in the isolated generated context.

Other features are listed in Release notes

Happy Holidays and see you in 2025 🎄

Hot fix 2.6.3

05 Dec 17:48
002ed13
Compare
Choose a tag to compare

This release should cover #315 , #314 including all patches from #316

What's new?

  • Refined UI for Windows, Linux & browser interface
  • Improvements in Manipulate
  • Improvements in autocomplete (rescanning the context path variable in a case you imported some library)
  • WLX / Slide cells now report errors, instead of crashing

For homebrew (and other package repositories) users

If you have a restricted internet access, please, use offline-bundle-* version, since it includes all libraries and does not require an active connection to Github servers upon installation.

Minor update & CLI

05 Nov 16:29
Compare
Choose a tag to compare

Desktop App

  • moved to a new Electron version & Node
  • automatic cache purging after an update
  • UI improvements in Linux version (reverted native menu back, fixed rounded corners)
  • fixed #302
  • fixed Linux binaries issue with no-sandbox and icons (you might still need to lift apparmor restrictions on Ubuntu due to the global mutual bug in the electron and Ubuntu services. See README.md)

CLI in OS terminal

Similar to VSCode it is possible to start or open a folder in WLJS Notebook using the command

wljs .

Misc

  • new examples
  • moved to a new version of LPM (local package manager), which solves many issues with conflicting versions of libraries (including this one #299 ).
  • Check updates button added to the main menu
  • Output truncation control see here
  • fixed #303
  • added shared libraries to the bundle for Linux binaries (Windows, OSX libs are statically linked, but Linux libs are not)
  • WXF support improvements
  • added #301
  • Runtime controls (add external scripts globally on fly)
  • wider support for NeuralNet package
  • improved support for Legended, Video, Audio
  • new command palette item, which helps with voice recording

Minor update (October 2024)

12 Oct 13:48
Compare
Choose a tag to compare

Summary

  • fixed #287
  • fixed (login dialog) #284
  • added support for SystemOpen
  • added support for Entity, Quantity
  • added support for offsetting FrameLabel or AxesLabel in Graphics, Plot (see more here)
  • fixed unescaped character in html export
  • added support for custom global CSS (see Settings)
  • by the default New notebook now open a window with no sidebar
  • Print now supports styled output (Style)
  • new examples on slides
  • InputText, TextView, HTMLView have extended options

Hot fix: 2.5.6

12 Sep 13:13
Compare
Choose a tag to compare

We added the missing feature used in Rasterize and Export.

Notes:

  • electronAPI.requestScreenshot added
  • new examples available

2.5.5

27 Aug 17:10
Compare
Choose a tag to compare

Major Update 👨‍🏫

A cumulative update from the version 2.5.0. We fixed a few bugs in 2D math input and cursor navigations, expanded markdown editor and added new export feature for individual figures used in the notebook. Graphics3D now has ticks (finnally). We introduce massive changes in possibilities of exporting notebooks.

As usual, if you need a fully offline installation, use the -offline- binaries. Otherwise, use the standard version, which requires less disk space.

New features

Excalidraw in Markdown and slide cells

The famous drawing editor now is integrated into .md and .slide cells. Use the following symbol to spawn excalidraw editor

!![]
Screenshot 2024-08-27 at 18 50 13

Figures export

There is a way to embed individual graphs from your notebook to a web. You need just a little knowledge about HTML technology. THis feature is available in Share menu (top bar)

Screenshot 2024-08-27 at 18 50 36

You select which plot to export and as a result you get two section of HTML/JS code: head and figure itself. Paste it to your blog

Graphics3D now has ticks

Ticks cannot be customized, but this is a big step compared to what we had before

Screenshot 2024-08-27 at 18 49 36

AnimatePlot

We have more function for making animations easier. It is important to note, that AnimatePlot keeps the data inside notebook and is safe to be exported to HTML file or using Figure export or embedded to a page.

try to evaluate

AnimatePlot[(*TB[*)Sum[(*|*)(*FB[*)((Sin[2π(2j - 1) x])(*,*)/(*,*)(2j - 1))(*]FB*)(*|*), {(*|*)j(*|*),(*|*)1.0(*|*),(*|*)n(*|*)}](*|*)(*1:eJxTTMoPSmNiYGAoZgMSwaW5TvkVmYwgPguQCCkqTQUAeAcHBQ==*)(*]TB*), {x, -1,1}, {n, 1,30, 1}]

Dynamic HTML export

yes, it runs on a web page without Wolfram Kernel

gigf

A new experimental feature now is available! It order to make the system more general and be able to capture the effects of ManipulatePlot, any combinations of InputRange, InputButton, Offload and many more it is abstracted by the design from the controlling elements and purely analyses the events and mutations of symbols.

You can find some example of this technology in our blog

Please see our documentation.

MDX export is also on the way. We are working on integration it with Docusaurus and other MDX static page generators.

Manipulate

We have implemented Mathematica's basic function

try it

Manipulate[Series[Sinc[x], {x, 0, n}], {n, 1, 5, 1}]

Please, consider to use ManipulatePlot, AnimatePlot, ManipulateParametricPlot or general dynamics using Offload (see Dynamics) for any plots, rapidly changing data and smooth transitions instead of Manipulate.

Outline

Table of content is automatically created for notebook with more than 1 headings. It scans all markdown cells and extracts headings from them

Screenshot 2024-08-27 at 18 55 48

If you click on labels it will automatically scroll into its view

Find and replace

The most basic feature you know from other IDE is now implemented. The search is localized for each cell and can be called using Ctrl/Cmd+f combination of keys

Screenshot 2024-08-14 at 20 56 31

Links to documentation in autocomplete panel

Click to 🔎 icon to open a documentation on a given symbol

Screenshot 2024-08-15 at 12 50 31

This closes #211 report

Animated Equation

We use separate engine to animate TeX equations more efficiently. This subsystem is integrated with Fragments, you can combine both if needed.

This particular technique was developed by Cian Luke Martin, which is basically a post-processing engine for SVGs generated from LaTeX equations

.slide

## Animated LaTeX

$$
\\begin{align*}
\\mathbf{E}(t,x) &= \\sum_{\\omega} \\mathbf{E}_0^{\\omega} ~ exp\\Big( i\\omega t - \\frac{i\\hat{n}(\\omega) \\omega x}{c}\\Big) \\\\ &= \\sum\\mathbf{E}_0^{\\omega} \\colorbox{white}{$exp(-\\frac{\\alpha x}{2})$} ~exp\\Big(i\\omega t - \\frac{i n \\omega x}{c}\\Big)
\\end{align*}
$$ <!-- .element: data-eq-speed="0.1" -->

aniamtedLatex-ezgif com-optimize

Bugs

  • Fixed launching problems #273
  • UI problems on Linux machines
  • Optimizations of WLJS Interpreter. Now we can run quite complex animations like this one (Real Time Fluid Simulation) with many moving vector objects
  • many more, sorry, we do not remember ;)