Skip to content

Latest commit

 

History

History
238 lines (163 loc) · 9.99 KB

CHANGELOG.md

File metadata and controls

238 lines (163 loc) · 9.99 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.4.0 (UNRELEASED)

Added

  • Python interface (part 2):

    • #1168 Run Python script file from Nelson.
    • #1141 Help about Managing Data between Python and Nelson.
    • #1149 python bytes, and bytearray types were not managed.
    • #1163 pyenv searchs python by version on Windows.
    • #1164 Embed python distribution on Windows.
    • #1167 Help about how to install Python package from Nelson.
    • numpy types support if numpy available.
    • pyenv: can use environment variables to set values.
  • getenv: Retrieve the values of several environment variables.

  • pyenv: can use environment variables to set values.

  • pyrun: Python code object allowed as first input argument.

  • nelson --without_python starts nelson without python engine.

  • skip_testsuite: allows to skip test suite dynamically on condition.

Changed

  • Allow to call method of a variable of CLASS/HANDLE type like a function (currently, only plugged for python subtype).
  • #1142 Github Actions updated.
  • #1157 Qt 6.7 support (used on Windows 64 bits binary).
  • copyfile, isfile, isdir, mkdir allow string array type as input.

Fixed

  • #1144 test_run markdown help file had a typo.
  • #1143 Linux Snapcraft version did not allow to use python.
  • #1148 pyrun('print(A)','A','A',string(NaN)) did not return expected value.
  • single(int64([1 2; 3 4])) returned a wrong value.
  • py.tuple, py.list compatibility increased.
  • pyenv did not manage python's path with space on Windows.
  • Matio 1.5.27 compatibility on ArchLinux.
  • Ubuntu 24.04 LTS support.
  • #1178 Fedora 40 support (CI).
  • #1134 [CI] MacOS X Ventura restored.

1.3.0 (2024-03-30)

Added

  • Python interface (part 1):

    • CMake: Optional Python3 detection.
    • pyenv Change default environment of Python interpreter.
    • pyrun Run Python statements from Nelson.
    • Major types conversions are compatible (numpy in the next upcoming version).
  • ArchLinux packaging (https://aur.archlinux.org/packages/nelson-git).

  • contour Contour plot of matrix.

  • contour3 3-D contour plot.

  • shiftdim Shift array dimensions.

  • xcorr2 2-D cross-correlation.

  • deconv Deconvolution and polynomial division.

  • vecnorm Vector-wise norm.

  • normpdf Normal probability density function.

  • #310 gammaln Logarithm of gamma function.

  • #1112 gradient Numerical gradient.

  • #1126 isspace Determine which characters are space characters.

Changed

  • #1110 Eigen master branch (352ede96e4c331daae4e1be9a5f3f50fff951b8d) ready to use.
  • #1134 [CI] MacOS X Ventura disabled (Install dependencies fails)
  • struct supports scalar string array as field name.

Fixed

  • #1110 add help about build and use C/C++ on fly.
  • #1124 unexpected result from long statements on Multiple Lines.
  • #1127 Nelson could crash if an mxn characters is displayed in the variable browser.
  • #1125 Unsupported colon operator with char operands.
  • Missing 'zoom in', 'zoom out' icons for help viewer in linux package.
  • gcd without argument returned wrong error message.
  • #1133 [CI] [ARCH LINUX] Warning about MPI.

1.2.0 (2024-02-25)

Added

  • Recursive completion on Graphic handle, struct, handle, class (properties, methods).
  • Adding links between documents about mex and supported compilers.
  • GitHub CI for macOS Sonoma (Apple Silicon) support.
  • Export to ... context menu for console and text editor as pdf.
  • CTRL + Mouse wheel or CTRL + +/- to zoom in/out on console, editor, help.
  • Toolbar for figure with print, zoom in, zoom out, rotation, pan, restore axes.
  • zoom , pan , rotate3d functions.
  • MenuBar, ToolBar figure properties.
  • Window menu on graphic window, list all others available windows.
  • feature builtin (undocument features, debug, tests, ...) content can change with next releases.
  • GridAlpha, GridColor, View properties for Axes.
  • CTRL+C in help viewer, copy selected text.
  • checkupdate function and check update menu.
  • isScalarStringArray iinternal API C++ method.

Changed

  • Clicking on an axis automatically sets it as the current axes object.
  • Clicking on an figure automatically sets it as the current figure object.
  • saveas exports the figure as a PDF page with centered alignment.
  • Default color of grid for axes.
  • Default figure size updated.
  • Default MarkerFaceColor value for compatibility.
  • view function returns azimuth and elevation values.
  • Camera view reworked.
  • Minimal screen resolution supported 800x600.

Fixed

  • Change directory with file browser line editor did not work as expected.
  • Template to create a function with file browser was wrong.
  • Do not allow to select multiple variable in workspace browser.
  • File browser checks if files with the extension ".m" have a valid name before enable 'run' context menu.
  • Paste in editor with multiple tab.
  • Starting the Nelson desktop was taking longer than necessary.

1.1.0 (2024-01-29)

Added

  • Nelson Desktop environment: file browser, command history, workspace browser, desktop layout.
  • #1074 Roadmap v2.0.0
  • #1044: LU matrix factorization.
  • #1080 LineStyle, LineWidth properties were not implemented for surface objects.
  • sky, abyss colormaps.

1.0.0 (2024-01-04)

Nelson 1.0.0 has been released.

Nelson is an interactive, fully functional environment for engineering and scientific applications. It implements a matrix-driven language (which is largely compatible with MATLAB and GNU Octave), with advanced features such as 2-D 3-D plotting, image manipulation and viewing, a codeless interface to external C/C++/FORTRAN libraries, native support for various C types, and a host of other features.

Features

  • Types managed by Nelson:

    • double and double complex: scalar, vector, matrix 2D, N dimensions array, sparse matrix.
    • single and single complex: scalar, vector, matrix 2D, N dimensions array, sparse matrix.
    • logical: scalar, vector, matrix 2D, N dimensions array, sparse matrix.
    • character array (UNICODE supported).
    • string array (UNICODE supported).
    • integers 8, 16, 32, 64 signed and unsigned: scalar, vector, matrix 2D, N dimensions array.
    • handle objects.
    • anonymous functions,
    • all types can be overloaded.
  • OpenMP and SIMD extensions used.

  • 2D and 3D plotting with high-level plot commands.

  • Parallel Computing Module.

  • Fast Fourrier Transformation functions based on FFTW and MKL wrapper.

  • SLICOT (Subroutine Library in Systems and Control Theory) interfaces (optional).

  • Control System module.

  • Message Passing Interface (MPI): functions for parallel computing.

  • JSON decode/encode data support.

  • HDF5 high-level functions I/O,

  • HDF5 used as default data file format (.nh5) load/save workspace,

  • MAT-file compatible load/save workspace,

  • Foreign Function Interface C/Fortran.

  • Interfacing C/C++ or Fortran with Nelson (build and load external code on the fly).

  • MEX C API compatibility.

  • Nelson Engine API for C (compatible with MEX Engine). Call Nelson from your C code as engine.

  • RESTful API web service.

  • Inter-process communication between Nelson's process.

  • The QML engine enables nelson programs to display and manipulate graphical content using Qt's QML framework.

  • Component Object Model (COM) client interface: binary-interface standard for software components on Windows.

  • Write/Read xlsx files on Windows using COM.

  • Embedded Nelson code editor.

  • Help engine:

    Generate help files using Nelson dedicated functions. View your generated help files as html, markdown, pdf, gitbook or directly in Nelson help viewer.

  • Tests engine:

    Validate your algorithm using Nelson dedicated functions. Export the test results under the xUnit reports format.

  • Profiling and Code coverage tools for Nelson's language:

    Nelson has a built-in profiler that is very useful to profile your code and find out what script or function is taking the most time.

  • Nelson cloud: Instant access to Nelson anywhere from an web browser.

  • Module skeleton to extend Nelson available here:

  • Nelson Modules Manager (nmm) : package manager for Nelson

Previous changelog

Changelog v0.7.x

Changelog v0.6.x

Changelog v0.5.x

Changelog v0.4.x

Changelog v0.3.x

Changelog v0.2.x

Changelog v0.1.x