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 2023.0.0 (this version), and the previous 6.1.1 release. For changelogs of earlier releases, please see Scilab 6.1.1.
Summary:
Please report anything we could have missed, on the mailing lists or the bug tracker.
For a high-level description of the main new features of this release, please consult the embedded help. It is also available as the "What's new" page of the help, by simply typing help in Scilab console.
In summary, the main new features and additions are:
axes.auto_stretch property added.http_get() function now sets accept-encoding flag.verbose parameter added to http_get().atomsInstall() will now try to build a package (containing only Scilab code) locally from sources when no compatible binary version is found.toJSON(var, filename, indent) implemented, after toJSON(var, filename).fromJSON and toJSON processing of tab (ascii(9)) is changed.for c = h,.., end now accepts an hypermatrix h and iterates over its columns matrix(h, size(h,1),-1).covWrite("html", dir) results is improved.tbx_make(".", "localization") can now update files of translated messages according to new gettext entries in the code.All these functions and features will be removed in Scilab 2024.0.0 (October 2023):
dnaupd(), dneupd(), dsaupd(), dseupd(), znaupd(), zneupd(): Please use eigs() instead.plotframe(): Please use plot2d([], [], 0, "011", " ", [xmin ymin ymax ymax]) instead.svd(X, 0): Please use svd(X, "e") instead.xget('fpf') and xset('fpf'): Please use fpf argument of contour(), contourf(), contour2d() instead.The following functions have been removed:
%sn, obsolete since 6.1.0, replaced by ellipj.champ1, obsolete since 6.1.0, replaced by champ().colored='on'.closeEditvar, obsolete since 6.1.0, replaced by close editvar.datatipToggle, obsolete since 6.0.2, replaced by datatipManagerMode.dgettext, obsolete since 6.0.1, replaced by gettext(domain,..).dirname, obsolete since 6.0.2, replaced by fileparts(..,'path').fplot2d, obsolete since 6.1.1, replaced by plot(x, f).get_figure_handle, obsolete since 6.1.0, replaced by findobj("figure_id", id).hist3d, obsolete since 6.1.0, replaced by bar3d.noisegen, obsolete since 6.1.0, replaced by grand.ric_desc, obsolete since 6.1.0, replaced by riccati.saveafterncommands, obsolete since 6.1.0.scatter3, obsolete since 6.1.0, replaced by scatter3d.setPreferencesValue, obsolete since 6.1.0, replaced by xmlSetValues.soundsec, obsolete since 6.1.1, replaced by 0 : 1/freq : t*(1-%eps).sysdiag, obsolete since 6.1.0, replaced by blockdiag.xdel, obsolete since 6.1.1, replaced by close.xname, obsolete since 6.1.1, replaced by gcf().figure_name.The following features and usages have been removed or disabled:
"z_component" property.-costfunction and -outputcommandarg options of neldermead_configure() function. Please use -function and -outputcommand options.-myterminate and -myterminateflag options of neldermead_new() function.add_param() usage with two input arguments.sinc() usage with two input arguments.<-- JVM NOT MANDATORY --> tag in tests. Please use <-- CLI SHELL MODE --> instead.%hm code.0 value as "linestyle" property for polyline handles. Please use 1 instead."hidden_axis" value as "box" property for axes handles. Please use "hidden_axes" instead.m2sciassume usage to annotate code for mfile2sci(). Please use m2scideclare instead.qmr(A, Ap) usage. Please use qmr(A) instead.histc() usage with normalization (boolean) as third argument.ode() usage with "roots" as solver (third argument). Please use "root" instead.frexp is now an internal function. Please use [m,e]=log2(x) instead.GNU autotools have been updated to :
All builds require a C++17 compiler. Toolboxes might also want to use this standard by specifying -std=c++17 as a CFLAGS under Linux and macOS.
Migration to Microsoft Visual Studio 2022 and Intel® oneAPI HPC Toolkit 2022.3.
macOS: Build environment has been migrated to conda and now relies on clang and libc++, hence (existing) toolboxes with binary gateways have to be (re)compiled using the same conda environment (see https://gitlab.com/scilab/scilab/-/wikis/Developers/setup-Scilab-repository-macOS)
32-bit Windows platforms are no more supported (no binary versions released).
Scilab embedded JVM is Java 8.
To run or compile Scilab you need at least:
analysis module removed.scilab_setVar function added to API.write() function.try/catch, returned value assigned in catch statement was not displayed.fft(), Scilab crashed.log10(3) made Scilab crash.copyfile() crashed Scilab while playing with locales.hilbert() function made Scilab crash.atomsSystemUpdate() was slow.readxls could make Scilab crash without any error message.a=L(2:3) returned an error after L=list(1,"a",%t).fsolve() was no longer reentrant.isequalbitwise() was made internal in Scilab 6.0.0 but was still documented.closeEditvar() had to be replaced by close("editvar").; a=1 returned an error.mscanf() introduced a leading newline (\n) and the prompt, before prompting the user for input.xcorr() led to immediate crash.write Fortran subroutine crashed Scilab in debug mode.gca()("thickness") crashed Scilab.histplot().struct("v", cell()) crashed Scilab.c = {1:$} crashed Scilab.pause inhibited error display when executed in try-catch block.covStart() did not report errors on invalid arguments.bezout(%inf, 1) and bezout(%nan, 1) crashed Scilab.toJSON crashed in case of wrong parameters order.load()/save() did not handle the "layout" property correctly.Details of Xcos CLOCK_c block led to Scilab crash.macr2tree + tree2code translated e={2} into "e=1" and e={2,"ab"} into "e=[2,"ab"]".for m=rand(2,2,2), end crashed Scilab.macr2tree() (and maybe tree2code()) killed recursive extractions made with indices (was OK with fields).for o = L(3:$), o, end after L = list(1,2); crashed Scilab.glue() crashed Scilab when called with 'Figure' handle as input.fromJSON() crashed with a non existing file.c(1)(3).line_style = 8; where c is a list of vectors of polyline handles crashed Scilab.sfact([%s %s ; %s %s]) crashed Scilab after "sfact: Wrong value for input argument #1: singular or asymmetric problem." message.findobj() when no object existed.write() help page.findobj() was slower than before.plot3d polygon facets rendering could be wrong when exactly in horizontal or vertical plane.fullpath("existing_path/*.ext") crashed Scilab under Windows.xsave/save of datatips produced double free in data model.zoom_box property was not correctly saved.isreal(complex(1,%nan),0) returned %T instead of %F.atomsGui() could produce some field <module_name> unknown error after running the File / Update List of Packages menu.scinotes() with option and non existing file crashed Scilab.covWrite("html") results wrapping was wrong.tbx_build_localization(…) and tbx_make(dir, "localization") never updated existing .po files.atomsLoad("linalg") errored and broke the loading.getrelativefilename() returned incorrect value in case of same beginning of directory names.Mtbxfun_db.txt was missing the Scilab releases (m2sci module).file() or file(fid) could return outdated relative paths.tbx_generate_pofile(…) (and so tbx_build_localization(…)) silently failed for any module with too (but no so) many files to process.replot(gcf()) failed for legends.mcolors values, scatter() and scatter3d() did not map correctly the colormap.toJSON("\\") was on escaping "\\" properly.plot(1:2, 'MarkerEdgeColor', [0.2 0.8 0.6]) returned an error.repmat() was broken for any sparse matrix input.macr2tree() interpreted a=1:2, b=a(2) as a funcall instead of as an extraction operation (Scilab 6.0 regression).macr2tree() encoded .' (transpose) as ' (conjugate transpose).members(N,H) was very slow and crashed the computer for big N or/and H arrays of non-double data.mprintf("%d %d\n", h); called after h=cat(3, [1 2], [3 4]); crashed Scilab (same issue with msprintf()).tbx_build_loader() messages fixed.exec() instruction could make Scilab crash.-lstdc++fs flag broke link for recent C++17 compilers.copy() did not work for some handle types in Scilab 6.--without-gui option.macr2tree crashed when members of an object were called as a function.read() might crash when building Scilab with gfortran >= 11.a =[]; a(:)=["a","a"];) crashed Scilab.var2vec() documentation improved.http_get(..., follow=%t) could not be used without a filename argument.-.toJSON() did not escape TABs properly.string of cell, struct, list did not call overload.