nelson v1.17.0 Release Notes

Release Date: 2026-05-30 // about 1 month ago
  • 1.17.0 - (2026-05-25)

    ๐Ÿ•ฏ๏ธ In memory of Cleve Moler (1939โ€“2026)

    ๐Ÿš€ This release is dedicated to the memory of Cleve Moler, creator of MATLAB and a towering figure in numerical computing. His vision of making linear algebra accessible to engineers and scientists changed the way the world writes scientific software and inspired every project that followed in his footsteps, including Nelson.
    We are grateful for the path he blazed.

    โž• Added

    • function argument validation using arguments ... end blocks

    • ๐Ÿ‘ Debugger Support

    • Interactive Debugging in Text Editor

    • Step Execution Controls

    • Stack Inspection & Variable Evaluation

    • โœจ Enhanced Debugging Experience

    • โž• Added support for multi-line comments in the interpreter, editor, debugger, and headcomments.

    • interp2, interp3, interpn: interpolation functions

    • regexp, regexpi, regexprep, regextranslate: regexp functions added.

    • #309: erf, erfc, erfcinv, erfcx, erfinv error functions.

    • #1289: isbetween, allbetween, mustBeBetween functions.

    • tiledlayout, nexttile, tilenum, tilerowcol layout management.

    • #813: findobj Find graphics objects with specific properties.

    • contourf, contourc, Filled contour plot of matrix.

    • ๐Ÿ Dedicated Windows Terminal profile installed for the application.

    • help engine extending to manage subchapters.

    • xmldoclinkchecker Checks unresolved cross-references in Nelson help XML files.

    • ๐ŸŽ MacOS packaging as dmg installer.

    • ๐Ÿ‘ Qt 6.11.0 support.

    • ๐Ÿ‘ท Full CMake configuration and build system for Visual Studio (x64, Win32, ARM64).

    • Ubuntu 26.04 ready.

    • Fedora 44 ready.

    ๐Ÿ”„ Changed

    • โฌ‡๏ธ Reduced interpreter overhead in tight loops.
    • ๐Ÿ”จ Internal tooling refactored: nodejs and python tools for formatting and version updates replaced with Rust-based tools.
    • CMake factorized.
    • Innosetup installer modernized.
    • fmtlib 12.1

    ๐Ÿ›  Fixed

    • #1585: Memory leak during scalar assignments in tight/nested loops after scalar inline-data optimization.
    • ๐Ÿ #1567: UTF-16LE output despite encoding='UTF-8' in fprintf builtin (Windows).
    • #1564: Regression: modifying copy unexpectedly alters original array.
    • #1550: getpid('available') did not work as expected.
    • ๐Ÿ“œ #1547: Parsing of ~= operator with spaces was not working correctly, causing it to be misinterpreted as a matrix row separator.
    • unresolved cross-references in Nelson help XML files.
    • memory leak in uicontrol.

Previous changes from v1.16.0

  • 1.16.0 - (2025-12-27)

    โž• Added

    • ๐Ÿ Windows ARM64 support: build and installer available.
    • onCleanup: Execute code during function shutdown.
    • #188 audiorecorder: Record audio.
    • getaudiodata: Retrieve recorded audio as a numeric array.
    • isrecording: Check if audio recording is in progress.
    • record: Record audio to an audiorecorder object.
    • recordblocking: Record audio and block until completion.
    • getplayer: Create an associated audioplayer object.
    • TimerFcn, StartFcn, StopFcn callbacks for audioplayer and audiorecorder.
    • rms: Compute root mean square of array elements.
    • daspect: Set data unit length along each axis.
    • pbaspect: Set relative axis lengths.

    ๐Ÿ”„ Changed

    • Advanced terminal: linenoise replaced by replxx for improved line editing.
    • โฌ†๏ธ Autocomplete: Upgraded functionality in advanced command-line terminal.
    • Axis handling: Enhanced axis limit normalization and improved DataAspectRatio.

    ๐Ÿ›  Fixed

    • #1494: In advanced CLI mode, pasting long lines no longer causes character duplication.
    • #1493: doc function works again on Nelson Cloud (regression in 1.15.0).
    • ๐Ÿšš #1492: Temporary message removed when generating toolbox help.
    • ๐Ÿ”— BLAS/OpenBLAS detection improved in example run([modulepath('dynamic_link'), '/examples/call_fortran.m']) on some Linux systems.
    • ๐Ÿ‘ imresize: Now supports scalar string arrays as input arguments.
    • โšก๏ธ #1505: Updated CMake to 4.2 and ICU to 78.1 on Windows