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.