Skip to content

Releases: WLJSTeam/wolfram-js-frontend

2.8.0

27 Jul 09:56
Compare
Choose a tag to compare

🚀 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

01 Jul 12:49
Compare
Choose a tag to compare

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 .nb files.
  • New dragsignal Event: 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 Information output (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

2.7.8

14 Jun 13:30
Compare
Choose a tag to compare

Release notes 2.7.8

Performance: Smarter WLJS interpreter avoids duplicate reevaluations in dynamic expressions.
Graphics: Added more 2D primitives; new SVGGroup supports grouped styling.
Slides: Refined .slide cell styles for cleaner presentations.
Async: AsyncFunction + Await simplify async logic; supports If, Set, Module, etc, but no loops yet.
Animation Framework: Functional 2D animation engine built on async; supports scenes, easing, object control.

Bugs

See more at https://wljs.io/releases

2.7.6

28 May 16:56
d0c6632
Compare
Choose a tag to compare

Release notes 2.7.6

Knock-knock...

Yes! A week later - a new update. We would call it more like a hotfix

By the way, we were published on Open Source Collective 🫶

✨ Highlights

  • 🔧 More Control Over Manipulate
  • 📊 Expanded Plotly API
    Full access to Plotly's update methods:
    • Allows precise control over visual elements (e.g. opacity, color).
    • Enables dynamic updates using event handlers like sliders.
  • 🎞️ Improved GUI for Animate
  • 🌐 Improved Dynamic HTML Export (due to #400 ) (Live Demo)
    Full demo available here: LiveHTML Demo. Exporting widgets with Manipulate/Animate to HTML is now much more practical and feature-rich.
  • We disabled automatic updates of modules. This will prevent a confusion, when App has version X, while a module has Y.

2.7.5

22 May 09:36
Compare
Choose a tag to compare

Release Notes – v2.7.5

🐞 Fixes

🔧 Features & Enhancements

  • 2D Input

    • Helper Boxes: Show borders around expressions for easier editing.
    • MatrixForm: Updated display style for matrix outputs.
  • Datasets

    • Fixed rendering issues with complex datasets (e.g., CO₂ emissions data).
  • Speech & Audio

    • Speak supports conversion to Audio via SpeechSynthesize.
  • Video

    • Now supports audio playback and native browser streaming.
  • Graphics & Inset

    • Improved Inset handling for combining 2D/3D elements, overlays, and interactive views.

🧪 Internals

  • Welcome Screen: Intro tutorial on first WLJS Notebook launch.
  • Watchdog: Micro self-tests for kernel reliability and hot-reload support.
  • UI Fixes: Windows scrollbar layout bugs resolved.

🔓 On-Demand Licensing

Run WLJS Notebook without device-locked licenses using entitlements. Useful for server use — but expect slower evaluation speed.

See more here https://wljs.io/releases

2.7.4

10 May 18:14
Compare
Choose a tag to compare

📢 We’re almost there! Just 60 views to go!
Help us reach our goal to become full-right authors on Towards Data Science 🙌

Support WLJS by reading and sharing our latest article:
📖 How to Use Gyroscope in Presentations, or Why Take a JoyCon to DPG2025

Your view helps us cover essential expenses like licenses and domain names (and coffee capsules) 💡


👐 Open Source Support

  • Now on Open Collective! Support and engage with the project: Join us here.

📊 Plotting Improvements

  • Log plots fixed: LogPlot and LogLogPlot now scale correctly.
  • New ImageSizeRaw support: Precisely overlay raster and vector graphics with pixel-perfect control.

🧱 Dataset Overhaul

  • Major upgrade to Dataset support—now handles nested structures, symbolic keys, Entity, Quantity, and more.

🖼️ UI & Usability

  • Added “Insert Cell Before” button (based on GitHub feedback).
  • Extended MMAView: Native-style interactive 3D plots, Manipulate, Animate, and even ListAnimate now supported seamlessly.

🌐 Web & API Enhancements

  • Simplified REST API with a JavaScript helper class—build custom notebook interfaces in minutes.
  • MDX/React integration: Embed cells or full notebooks into blogs and React apps. See it in action here.

See more in our blog.

Bug fixes

and many more we did not count

2.7.3

24 Apr 11:47
7da84f7
Compare
Choose a tag to compare

See the full version of release notes here

📣 Our project was published in Towards Data Science (TDS) ✨

Bugfixes

and many more

🔄 New Features & Enhancements

🖨️ Export to PDF (Desktop Only)

  • Full support for rendering notebooks as high-quality PDFs using Electron (Chromium) engine.
  • Smart whitespace trimming via offscreen rendering and pixel analysis.

🤖 Semantic Interpretation Shortcut

  • New shortcut: Ctrl = to auto-convert natural language to Wolfram code.

📚 LaTeX Cells

  • Improved LaTeX and Markdown compatibility using proper environment handling.

🖼️ Optional Mathematica Rendering

  • Use MMAView to render static previews via Mathematica engine.

🔺 Graph3D Support

  • Added support for GraphPlot3D, Graph3D, and related primitives.

🎨 2D Graphics Improvements

  • Implemented missing primitives and symbols (e.g., FaceForm, RegularPolygon).
  • Support for date histograms and flag visuals.

🧊 3D Graphics Upgrades

  • New primitives: Cone, Icosahedron and others added

🕸️ Enhanced Graph Styling

  • Inspired by IGraphM.
  • Improved layout options, styling themes, and large graph support.

📖 More Tutorials

  • Integrated examples from An Elementary Introduction to the Wolfram Language for beginners.

All test were passed (playwright)

[All 143](http://localhost:9323/#?)
Passed 143 Failed 0 Flaky 0 Skipped 0
Project: chromium
Filtered: 143 (9.5m)
24/04/2025, 13:00:17
Total time: 10.2

2.7.2

06 Apr 17:27
Compare
Choose a tag to compare

🔥 What’s New

  • WebGL Hardware Acceleration – Smoother GraphicsComplex rendering for DensityPlot, ContourPlot, and more.
  • Experimental Texture Support – 2D GraphicsComplex now supports Texture mapping.
  • Placed with Legended – Fully supported for more flexible legend positioning.
  • TeXForm Returns – Convert, import, and render TeX in markdown cells.
  • GeoGraphics Raster Support – Improved rendering with full rasterization.
  • ImageUpscaling Option – Better quality when using Rasterize (Desktop App only).
  • WLJS Interpreter Enhancements – Improved support for dynamic/numeric arrays and Offload.
  • Improved HTML Export – Manipulate now works offline with better memory management.
  • Organized Examples & Guides – Revamped structure for easier learning (more content coming).

🦿 What's fixed

  • #369 (ports mismatches)
  • #361 (for Chromebook) libuv now is shipped together with WLJS
  • #326 (GeoGraphics, ClockGauge and some other broken functions)
All 123 test are passed

Project: chromium
06/04/2025, 18:02:33
Total time: 8.8m
integration/bars.show.spec.js
integration/basic.sugar.spec.js
integration/cells.show.spec.js
integration/graph.show.spec.js
integration/import.show.spec.js
integration/plot1d.show.spec.js
integration/plot2d.show.spec.js
integration/plot3d.show.spec.js
integration/style.sugar.spec.js
integration/userio.show.spec.js

See more here

2.7.1

18 Mar 21:05
Compare
Choose a tag to compare

Release 2.7.1

Note, if you are using WLJS Desktop App >= 2.6.9, this update will be installed automatically

Improvements

  • Added support for Legended, PlotLegends, and LineLegend objects.
  • Expanded coverage of Legended features in Mathematica.
  • Improved support for Mathematica and HTML notebooks.
  • Replaced JS-based bindings inspection with a Wolfram Kernel-based approach.
  • Streamlined and refined the Docker image for easier deployment.
  • Integrated playwright for automated DOM-based screenshot testing.
  • Added full support for ESM and Shell cells on Windows.

For more details and contributions see

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