Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
This file details the changes between Scilab 2025.0.0 (this version), and the previous 2024.1.0 release. For changelogs of earlier releases, please see Scilab 2024.1.0.
Summary:
Please report anything we could have missed, on Discourse or on GitLab.
For a high-level description of the main new features of this release, please consult the "What's new" page of embedded documentation available by simply typing doc in the Scilab console.
frank: Computes Frank matrix.getdeprecated: Gets names of deprecated functions and replacement function names.hilbm: Computes Hilbert matrix.invhilb: Computes inverse of Hilbert matrix.kmeans: K-means clustering function.magic: Computes magic square matrix.polyfit: Fits a curve with a polynomial.polyval: Evaluates a polynomial for some given values.vander: Computes Vandermonde matrix.-e and -f command-line options can now be used at the same time (and are run is the order they are given to Scilab).x_dialog and x_mdialog can now be used to enter hidden entries such as passwords.#(x) -> (x+1)1i and 1j (equivalent to 1*%i).timeout optional parameter has been added to http_* functions.http_upload can be used to upload a remote file with a different name as local one."TooltipString" added for uimenu handles."cdata_bounds" & "color_range" added for Fac3d handles."anti_aliasing" property value is now "8x" by default for graphic figures (Anti-aliasing was deactivated by default in previous versions)."fractional_font" property value is now "on" by default for text handles (is was "off" by default in previous versions).h = plot(), h = surf(), ... This feature can be used to replace h = gce() in some cases.New way to manage rendering (raw text, LaTeX, MathML) of strings in graphics figures with:
"interpreter" property added for Text, Datatip, Label and Legend handles,"tics_interpreters" property added for Axis handles,"interpreters" property added for x_ticks, y_ticks and z_ticks for Axes handles.Some GUI (File Browser, Help Browser, ...) have been improved.
CACSD, Linear Algebra, ...) have been updated to use the arguments block hence enhancing their performances.All these functions and features will be removed in Scilab 2026.0.0 (October 2025):
impl(): Please use dae() instead.princomp(): Please use pca() instead.testmatrix(): Please use magic(), invhilb() or frank() instead.captions(): Please use legend() instead.help(): Please use doc() instead.The following functions have been removed:
getURL, obsolete since 2023.1.0, replaced by http_get.sound, obsolete since 2023.1.0, replaced by playsnd.splitURL, obsolete since 2023.1.0, replaced by url_split.If you are familiar with building Scilab from sources, these dependencies have been updated:
lyap function no more accepts non-square matrices as input.pca: the order of the first three output arguments have been modified. The old [lambda, comprinc, scores] = pca(x) syntax has been replaced by [comprinc, scores, lambda] = pca(x). See the history part of pca documentation for more information.show_pca(lambda, facpr, N): Following the pca function improvements, lambda is now a p-by-1 vector. The ratio of the corresponding eigenvalue over the sum of eigenvalues now is computed in the show_pca function.isvector function and mustBeVector helper now return %T for scalars (instead of %F in previous versions) to be coherent with isrow and iscolumn.legend(h1,h2,h3,....,strings) is no more supported."links" property is now a vector with the same order as the legend strings.x_ticks, y_ticks and z_ticks, the new "interpreters" property must be managed.fec no more creates a Compound object.h = plot(x1, y1, x2, y2) now returns handles in h as in arguments i.e. [h1, h2].32-bit platforms are not supported (no binary versions released).
Native macOS M1/arm64 build is provided (at least 2 x faster than Intel build using Rosetta emulation).
Scilab embedded JVM is Java 17 without a memory usage limit. Java heap size limit can still be set in Preferences (General / Java Heap Memory).
To run or compile Scilab, you might need:
TooltipString property was missing for uimenu handles.gcf().resize = "off" (and other similar recursive settings) displayed a useless output.set_io was not documented.delete(dtHandle) created a ghost "????" component.SCI/modules/graphics/macros/datatips/ contained useless functions.try block, continue was ignored../configure did not detect JARs symbolic links.sound() was a duplicate of playsnd() and has been removed.bar() was inconsistent.findobj(propertyName, propertyValue, ...) statement did not work as explained in documentation.uiimport() code export failed when using non-alphanumeric in variable used as time.uiimport() failed with TAB as delimiter when having some spaces variable names.uiimport() failed to import files with multiple header lines.Grayplot and Champ entities could no more be displayed in Scilab console.string([1 2]).uiimport() failed to import .txt file but succeeded with same file renamed in .csv.datetime() help page had two history sections.zpk or state-space variables.datetime("1999-06","InputFormat","yyyy-MM") produced an error.toJSON() created "/" strings instead of "/".legend() made Scilab crash when an empty value was used as first input argument and 5 as the second one.mxstep in ODEOPTIONS does work with ODE type rkf adn it was not documented.cvode() could make Scilab crash under Windows because of uncaught exception.struct, tlist, ...leastsq() could make Scilab crash in case of error under macOS/arm64.graypolarplot() failed when called with 4 or 5 input arguments.size() did not return any output for vectors of datetime.datetime type was not managed in datenum() and datevec().dae("root2",...) did not work as documented.synchronize() now explains how to use lists of timeseries as input argument.captions() input/output order was inconsistent. This function has been set as obsolete.Datatip object wass found by get() after deletion of parent figure.compress() could not compress a single file without a container.addmenu() documentation example could not be executed.