Skip to content

v1.17.0

Latest

Choose a tag to compare

@Nelson-numerical-software Nelson-numerical-software released this 30 May 20:39
Immutable release. Only release title and notes can be modified.

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

    • Support for validation functions (e.g., mustBeNumeric, mustBeMember)
    • Default values for optional positional and name-value arguments
    • Separate validation blocks for input and output arguments
    • Improved error messages for invalid function arguments
  • Debugger Support

    • Full breakpoint management with commands: dbstop, dbstep, dbcont, dbquit, dbclear, dbdown, dbup, dbstatus.
    • Support for setting breakpoints at specific files, functions, and lines.
    • Conditional breakpoints and hit-count breakpoints (if applicable).
  • Interactive Debugging in Text Editor

    • Real-time feedback on breakpoints directly within the editor.
    • Inline variable inspection while stepping through code.
    • Highlighting of the current execution line.
  • Step Execution Controls

    • Step Into: move into function calls.
    • Step Over: execute functions without entering them.
    • Continue: resume execution until the next breakpoint.
  • Stack Inspection & Variable Evaluation

    • Examine the call stack during debugging with dbup and dbdown.
    • Evaluate and modify variables in the current workspace.
    • Inspect function arguments and local variables.
  • Enhanced Debugging Experience

    • Integration with the command-line interface and editor interface.
    • Improved visibility of function contexts and nested calls.
  • 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.