This file details the changes between Scilab 6.1.1 (this version), Scilab 6.1.0, and the previous 6.0.2 release. For changelogs of earlier releases, please see Scilab 6.0.2.
This file is intended for the specific needs of advanced users, and describes:
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 are:
uiSpreadsheet function has been added to easily interface csvReadargn
GNU autotools have been updated to :
Linux and macOS builds require a C++17 compiler. Toolboxes might also want to use this standard by specifying -std=c++17 as a CFLAGS
Migration to Microsoft Visual Studio 2017 and Intel Composer 2018
Scilab embedded JVM is Java 8. To run or compile Scilab you need at least:
Windows:
Mac OS X:
Linux:
For more information, please consult: What are the system requirements for Java?
SSE2, Streaming SIMD Extensions 2 support is now mandatory to run Scilab on Linux i686.
airy has been added: Evaluation of Airy functions of the first and second kind, and their first derivative, possibly scaled.bitget is upgraded:
log2(number_properties("huge")) = 1024).x > 2^52, queried bits below %eps (indices < log2(x)-52) now return Nan instead of 0.bitset is upgraded:
bitstring function added.edit now accepts a line number as text (like "23").profileEnable, profileDisable, profileGetInfo could be used to instrument functions and gather execution information within Scilab.prettyprint is upgraded:
mesh2d has been introduced to compute a 2d mesh from vectors (x,y) of points.loadmatfile is upgraded:
-toStruct option added, to return results in a structure instead of in the calling environment.jremove is optional and clear could be used to release Java objects mapped to Scilab.blockdiag is introduced to improve, replace, and extend sysdiag to strings.assert_checkequal is upgraded:
diophant is improved:
[] is returned.csvRead and csvTextScan are now implemented without extra copies.editvar GUI support copy-paste of strings removing quotes.calendar can now display formatted calendars.xmlSetValues clones setPreferencesValue that is now obsolete.unique is upgraded to:
"keepOrder" option.Nan values as the same one, with the "uniqueNan" option.ellipj function introduced, to compute the sn, cn, dn, ns, nc and nd Jacobi elliptic functions.riccati is upgraded:
riccati(H) and riccati(H,E) syntaxes added, to describe the Riccati equation through its Hamiltonian H or (E,H) pencil.X=[] | X1=[] is returned instead of yielding an error.hallchart is upgraded:
playsnd is upgraded:
nicholschart is improved: more neutral default frame color; improved labels positioning; colors can now be specified by their predefined name or "#RRGGBB" hexa code; a structure of handles is now returned to easily post-process both subframes and the set of labels.sciargs returns a column instead of formerly a row.[%f int8(-5)].gsort can now perform multilevel sorting. This noticeably allows sorting completely complex numbers.factorial can be used now from n=171 up to n=10^14.intersect now supports complex numbers.setdiff now supports complex numbers.twinkle can now blink together several hierarchically independent objects, like a curve and its labels, etc.repmat has been rewritten. It is 7 times faster now.plot can now work in semi or bi-logarithmic mode with some input logflag.plotimplicit function added.weekday accepts new date formats and new syntaxes. A language option applying to the day names is now available.vectorfind is upgraded:
joker and matching added.indType.datafit is now able to fit weighted data. It now supports any gap function vectorized for Data points, and so is much faster. It now accepts any matrix of parameters (not necessarily a column). It now returns the average Mode-to-data distance, and the termination status for the quasi-Newton algorithm.tree_show is upgraded:
rootTitle and styles optional inputs.arrayByFields option, to allow displaying each array component as an object in its whole.nchoosek is introduced, to compute the binomial coefficients.perms can now build and return only unique permutations, without duplicates.circshift is introduced.atomsGetInstalledPath is no longer sensitive to the case or completeness of the names of the modules. Providing the version of the modules is now optional.function replaces mc as the new overloading code for functions in Scilab language.gsort is upgraded:
g, r, c, lr, lc methods, including sparse booleans, and in a multi-level mode. It was formerly limited to sparse real or complex vectors and only to the g mode.unique is enabled for any 2D sparse arrays, in simple, 'c' and 'r' modes.%chars constant added, to easily access to some selected sets of Unicode symbols.interp1 is upgraded:
y now supported: the real and imaginary parts are interpolated separately.edgevalue mode added for all interpolations; periodic mode added for linear and spline interpolations. linear mode added for the spline interpolations.xlfont did not support the documented 4th argument.bitcmp is upgraded:
Arnoldi module is now internal.sgolay and the companion sgolayfilter and sgolaydiff functions have been added to implement Savitsky-Golay filters.clock now returns the time zone and the daylight saving time.mapsound is rewritten and handle parameters in a different way.mprintf, msprintf and mfprintf can now print input booleans, as 0|1 or as T|F.setdiff now supports input booleans and sparse matrices (boolean or numeric).intersect is extended to any sparse boolean or numeric arrays, in all simple, 'c' or 'r' modes.union supports boolean, sparse boolean, and sparse numerical matrices.kron and .*. are extended to boolean arrays.gamma is extended to incomplete gamma integrals.close is extended to close the help browser, xcos, the variables browser, or editor GUIs.polyint is introduced to compute polynomial antiderivatives.det is now actually extended to sparse matrices.deff is upgraded:
deff, the @ symbol can be used as function pseudo-name.mgeti can now read correctly 64-bit int64 / uint64 integers bigger than 2^52.mopen and mclose now handle multiple files and file descriptors.hash function with SHA-1, SHA-2 and SHA-3 Secure Hash Algorithms has been added.loglog, semilogx, semilogy Matlab-compatible functions added.scatter and scatter3d are reforged. New scatter options: "smallOnTop" and "datatips".asciimat now supports input strings of different lengths or including international UTF8 extended characters.int2d can now compute direcly a double integral over a rectangle.int3d can now compute direcly a triple integral over a cuboid.cutaxes function added.complex is extended to sparse arrays.m2sci Matlab-to-Scilab code converter upgraded for better code conversion.ans variable is editable as any other variable in Editvar.clear the big ones first.x_matrix can now edit matrices of booleans, integers, or text. Matrices of real or complex numbers are better displayed.importgui is renamed uiSpreadsheet.CURVE_c settings did not always display a window.CheckOutputArgument(ctx, min, max) the min argument should be set to 0 if needed.getNbOutputArgument(ctx) the return value could be 0_iRetCount argument value could be 0.frexp becomes an internal. Please use [m,e]=log2(x) instead.champ1 is obsolete. Please use champ.colored instead.setPreferencesValue is obsolete. Please use xmlSetValues instead.%sn is obsolete. Please use ellipj instead.sysdiag is obsolete. Please use blockdiag instead.ric_desc is obsolete and will be removed from Scilab 6.1.x. Please use riccati instead.noisegen will be removed from Scilab 6.1.x. Please use grand instead.get_figure_handle(n) is obsolete. Please use findobj('figure_id',n) instead.hist3d is renamed bar3d. The former hist3d function is declared obsolete and will be replaced by an actual 3D histogram function in Scilab 6.2.scatter3 is obsolete. Please use scatter3d instead.saveafterncommands is canceled. It will be removed from Scilab 6.1.xxname is obsolete. It will be removed from Scilab 6.2.x. Please use gcf().figure_name instead.soundsec is obsolete. It will be removed from Scilab 6.2.x. Please use 0 : 1/freq : t*(1-%eps) instead.fplot2d is obsolete. It will be removed from Scilab 6.2.x. Please use plot(x, f) instead.getPreferencesValue was obsolete and has been removed. Please use xmlGetValues instead.eval was obsolete and has been removed. Please use evstr instead.hypermat was obsolete and has been removed. Please use matrix instead.lstsize was obsolete and has been removed. Please use size instead.denom was obsolete and has been removed. Please use the .den rational field instead.numer was obsolete and has been removed. Please use the .num rational field instead.square was obsolete and has been removed.strcmpi was obsolete and has been removed. Please use strcmp(,'i') instead.xgetech was obsolete and has been removed. Please use gca instead.fac3d was obsolete since Scilab 4 and has been removed. Please use plot3d instead.fac3d1 was obsolete since Scilab 4 and has been removed. Please use plot3d1 instead.xinfo was obsolete and has been removed. Please use gcf().info_message instead.with_tk was obsolete and has been removed. Please use with_module('tclsci') instead.part() was slower than in Scilab 4.1.2.printf_conversion help page was poorly presented and had many issues: The described types of accepted value and the printed result were often switched; nothing was told about the processing of complex numbers; special escaped sequences \n \r \t \ was not described; possible numbering of placeholders was not described; in the pt_BR version, the itemized lists were wrongly unnested and characters typing placeholders (d,u,o,x,f,e,g..) were missing..wgetrc config file could make troubles in atomsDownload.cumsum() on sparse documented.ContextMenu => Delete last datatip was useless.MAXMIN block did not propose 2 input ports to work in an element-wise way (unlike MIN_f and MAX_f).browsevar, displaying the content of lists, structures, cells, or other custom tlists or mlists was not possible.mapsound page was poor with a single interesting example.rand() was parsing its inputs incorrectly.struct page did not document how to build an array of structures.ipar(9) > 1 led to an error.browsevar, clicking on any graphical handle did not edit its figure with ged.browsevar, clicking on any function did not edit it with edit. The content of libraries could not be displayed either.A(%s) gave the same result as A($).mprintf, msprintf and mfprintf could not print input booleans.csvRead page did not document the way to use the range up to the last row/column.csvRead() did not take the range into account when header is provided. [] could not be used as the default range.fft page, the formula for the inverse FFT missed the 1/n normalization factor.pause was not up-to-date and could be improved.x_matrix could not edit matrices of booleans, encoded integers, or text. Matrices of real or complex numbers were poorly displayed.genlib and library help pages were outdated concerning Scilab 6.cumsum() improved.mtlb_sparse() removed from the documentation.frameflag=9 and strf=".9." values of these plot2d options were no longer accepted. Their documentation was ambiguous.TODO keyword was no longer highlighted.user is removed for a while but was still documented.setfield page: The output and the 6.0 history were documented only on the en_US version. The input was wrongly restricted to matrices, while any Scilab object is acceptable. The specific role of setfield for mlists was not really described nor illustrated. The example did not include any call to setfield.covStart(["isempty" ; "isscalar"]) crashed Scilab.getdate page: The time referential was obscure: a) UTC for Unix Time Convention vs Coordinated Universal Time. b) unclear influence of the time zone.get page needed to be overhauled: get(0), get(0,prop), get(tag), get(tag,prop) and other features were not documented.gsort was unable to sort any hypermatrix along dimensions > "r"|"c".gsort: the only sparse possible input were real or complex vectors, and only with the g method.intersect supported neither sparse boolean nor sparse numeric inputs.unique could not process 2D sparse matrices.setdiff(s,s2) yielded an error when s or/and s2 is sparse encoded.mfile2sci abusively added a 6 lines mode(0); ieee(1) header to every converted file.[].figure_name crashes Scilab.(m:n)($) crashed Scilabisequal(1:$, 2:$) returned %T.covStart() clear previous coverage information. profileEnable() could be used to append a macro later on.covStart() help page was incomplete about the API usage.assert_checkequal() did not considered equal matching Nan or void elements in (nested) containers.typename() still considered removed uncompiled macros (11, "m"), and "mc" overloading code instead of "function".wavread was wrong.unwrap() failed unfolding curves with straight segments.[U,km,ku] = unique(..) was not implemented.setdiff("","") produced "" instead of []. The "c" and "r" options yielded an error for string inputs. Input arguments were poorly checked.strcat() was much slower in Scilab 6.0.2.isdef([],..) yielded an error instead of returning [].script2var did get variables generated by exec().median(m,"r") and median(m,"c") yielded wrong results (6.1.0 regression)plot([0 1], ":") plotted a dash-dotted curve instead of a dotted one.msprintf() did not handle LaTeX dollars anymore.Simulation => Modelica initialize displayed "Undefined variable: flag" in the console.csvRead() was crashing with CSV files containing empty lines.(m:n)(:) crashed Scilabmtlb_zeros([]) was crashing Scilab.external_object_java class was crashing Scilab.edit_curv yielded an error when reading data.toJSON(var, indent, filename) is the right call sequence. Documentation has been updated.asciimat(text) did not accept strings of different lengths or including some extended UTF-8 characters.colorbar(..) ignored how to guess umin and umax for a Champ object (with .colored="on").setdiff(a,b,"r"|"c") with a and b boolean yielded an error.setdiff(sparse([1 3 0 2]), sparse([3 7])) missed returning 0, and wrongly returned 3.gsort yielded an error when sorting any sparse vector including some NaN.mean() did not handle sparse numerical matrices.imult(%z) crashed Scilab.issquare was not overloaded.getdate page should be rewritten: a) getdate("s") does NOT take leap seconds into account. b) D=getdate(X) is vectorized, accepts fractional seconds and returns them in [0,1) in D(10) instead of milliseconds. Moreover, the time referential of the result was unclear (time zone, daylight saving offset).clock returned none of the milliseconds, time zone, and daylight saving time.csvTextScan() and csvRead() did not handle well complex data.1 ./ uint8(0) crashes Scilab (idem with int8, uint16, int16, uint32, int32, uint64, int64).getdate("s") truncated the actual time to integer seconds. getdate(u)(10) returned fractional seconds instead of milliseconds as getdate().bitget(x,pos) and bitset(x,pos) results could be wrong when pos is an encoded integer.soundsec(t,freq) has the trivial equivalence 0 : 1/freq : t*(1-%eps) and should be removed.deff could not return the created function as output argument, preventing to create and use anonymous functions. The function's headline and body had to be provided separately. For Simple functions, a one-string input (possibly console-oriented) definition was not supported.mapsound needed to be reforged.fplot2d is weaker than plot and useless. It should be removed.num2cell returned {} for any input array of empty strings.mfile2sci conversion of ispc and isunix still used MSDOS removed far ago. Conversion of ismac was missing. Conversion of exist missed using mtlb_exist. Conversion of dos yielded some "operation +" warnings. Unit tests for the conversion of cd, dir, and ferror overwrote some Scilab reserved keywords. Conversion of return yielded mtlb(resume).unique(["" ""]) returned ["" ""].macr2tree + tree2code translated e={2} into "e=1" and e={2,"ab"} into "e=[2,"ab"]".isempty(A) was true for a sparse matrix of dimension 2^16 or larger.histplot(-10:0.2:10, 2) yielded a warning from histc and an error.edit(user_defined_function) corrupted the original code.mfile2sci did not support Matlab block-comments %{ ..%}.** was undocumented.mfile2sci had several issues when converting the NOT ~ operator: 1) ~(1-1) was converted into ~1-1 instead of ~(1-1) 2) ~ applied to an integer expression yielded an error from convert2double 3) ~i was converted into ~%i instead of ~abs(%i).mfile2sci: Some axis conversions were wrong or not reliable.mfile2sci: The prettyprintoutput flag badly managed appended comments.%i|[], []|%i, %i&[], and []&%i were wrong. %t|%i, %t&%i, and %i&%t were not defined.libmatio >= 1.5.18 was not supported.union did not support input boolean, sparse boolean, nor sparse numerical matrices. The result of union(complexA, complexB) was wrongly conjugate.bitcmp needed to be upgraded for Scilab 6..*. operator, kron() was not defined for sparse numeric matrices..*. nor kron() worked with boolean or sparse boolean matrices.gamma did not support incomplete gamma integrals.close could not close the help browser, xcos, nor the variable editor or browser.derivat had no reciprocal polyint polynomial integration function.inv could no longer be overloaded for hypermatrices of decimal or complex numbers.rand(2,2,2)^2 yielded a wrong result instead of trying to call the %s_p_s overload for input hypermatrices.fullfile badly handled any forced final file separator when building a directory's path.== and <> between libraries were no longer defined.importgui function's name was not explicit enough. importgui is renamed uiSpreadsheet. importgui internals was public.interp1's documentation did not tell the spline edges conditions; extrapolation modes were poorly explained; the description of the result's size was completely wrong; x as an option was not documented. periodic and edgevalue extrapolation modes were not available. linear extrapolation was not available for splines. When xp is an hypermatrix with size(xp,1)==1, the size of the result was irregular/wrong.det(sparse) most often yielded Nan. [e,m]=det(sparse) was not actually implemented.getcolor had a bunch of issues.atomsInstall and atomsRemove did not update the Toolboxes menu.input("message:") yielded a wrong error message about mprintf in case of non-interpretable input.interp was leaking memory.x=spzeros(1e10,1e10) yielded an incorrect error message.diag(spzeros(2,2)) yielded an Operation -[] warning.help echo could not redirect to help mode when preferred, for new users coming from Octave.atomsInstall was flashing many times on the console.get_function_path("acosh") yielded an error (regression from Scilab 6.0.0).m2sci code converter needed a set of fix and improvements.asciimat("A";"";"B") yielded a transposed matrix of codes. When processing an hypermatrix of codes, the dim#2 of the result was squeezed (unlike Matlab/Octave's behavior).strsplit('a','a'), strsplit('ab','ab'), and strsplit("abcd","cd") yielded wrong results.spec documentation used messy concurrent notations. It still refered to the Arnoldi module instead of eigs. The fr_FR version was incomplete.mgetl could not read from stdin.prettyprint export to html failed under Linux and macOS.fullpath failed to resolve the path depending on pwd.bitget did not accept positive integers of types int8, int16 or int32.datafit algorithm was not documented.circshift introduced.factorial could use a huge memory amount even for a scalar argument.lstsize was a duplicate of size and should be removed.datafit help page needed to be fixed and overhauled.champ1 is useless. champ().colored is available for a long time.ged did not allow moving several objects.gsort could not perform multilevel sorting, and could not sort complex numbers completely.[ny,nx] of meshgrid(x,y) results and usages with graphics was not enough documented.definedfields wrongly considered as defined void elements in lists, tlists, and mlists.list2vec and vec2list were located in the optimization module instead of in data_structures, and were missing in the See also section of list.isdef and definedfields had mismatching answers for void elements in lists, mlists, or tlists.unique was not able to return the number of occurrences of returned distinct entities.SCALE_CSCOPE & SCALE_CMSCOPE in Xcos.disp puzzlingly displayed arguments in reverse order.sciargs() included twice -nw when -nw is used.assert_checkequal(list(1,,3), list(1,,3)) yielded an error.: operator was too lowDominationRank could be made private in optim_nsga2.isinf was not reliable for polynomials.gca().axes_bounds refered to fig.figure_size instead of fig.axes_size.colorbar, retrieving the handle of the new color bar was not trivial.subplot's action was unclearly described on its help page. Page improved.show_window() did not raise the current graphics window.bitset did not work for numbers greater than 2^32-1.toprint was not translated.strcmpi was an obsolete duplicate of strcmp(,'i'). It is removed.plot(1:3, 10) failed.unsetmenu() for a dockable="off" figure crashed Scilab.get_figure_handle was a specific duplicate of the more powerful findobj('figure_id',n) feature. It is now obsolete..figure_size were not documented.plot2d(), plot() did not accept logflags among input arguments.mgeti wrongly handled int64 or uint64 integers bigger than 2^52. The mget/mgeti help page was unclear.clc(0) did nothing, now clears last console entry. Remove leading blank after a clc().size([],3) returned 1 instead of 0.strsubst crashed on consecutive occurrences.csim failed when the system has no state.size([],3) returned 1 instead of 0.Demo > GUI > Uicontrols 2 could not be exported to a file.closeEditvar() had to be replaced with editvar("close").emptystr is 40x slower with 6.0.0 wrt 5.5.2bench_run was too strict about the specification of tests names.[names,mem]=who() was always zero.x = ric_desc(H,E) always yielded an error. [x1,x2,residual] = ric_desc(..) returned a wrong residual value.bitset worked only element-wise, without accepting mixed scalar and array inputs.dec2base was 53-bit limited by double and not uint64 readysimulated_annealing module was out of the optimization one.genetic_algorithms module was out of the optimization one.hist3d was not an histogram function. It is renamed bar3d.[m,e]=log2(x) was not documented. As public function frexp was in duplicate with [m,e]=log2(x).mprintf, msprintf a non-finite number displayed nothing.sleep 1 crashed Scilab.exportUI on a non dockable figure crashed Scilab.function replacing mc for functions in the Scilab language was not documented.msprintf segmentation fault was caught due to a wrong size.xmi files saved from Xcos could not be opened by drag & dropping them into the console.size(sum(ones(2,3,4,5),4)) was [4 2 3] instead of [2 3 4].weekday yielded an error for some row of input dates.lsqwas leaking memory.sci2exp was no longer able to convert non-scalar structures.xgetech was poor and stiff compared to any combination of gca() properties .axes_bounds, .data_bounds, .log_flags, and .margins. It is removed.bitget needed to be upgraded.eval was a weak duplicate of evstr. It should be removed.lu was leaking memory.ric_desc should be merged into riccati.atomsGetInstalledPath returned "" if the provided technical name differs only by the case, or is a fragment, or failed when the version is not provided.twinkle was not able to blink several independent objects.numer and denom were poor and duplicates of the .num and .den fields of rationals. They are removed.freson silently returned frequencies not corresponding to a maximum, or returned [] instead of some still computable maxima frequencies.comet and comet3d did not allow specifying colors with colors names.nicholschart plotted nothing. The default frame color was a flashy cyan. The position of gain labels could be puzzling. It was not possible to specify colors by their names. Postprocessing the frames and the set of labels was not easy.a .*. b failed when a or b or both are hypermatrices, with one or both being polynomials or rationals.repmat was slow. Its code did not use kron and was complex.[] and its non-convertibility were poorly documented.lucene 4.10 in Debian.scatter and scatter3d failed when specifying a single data point.set documentation page needed to be overhauled.factorial could be used up to only n=170.unique was not able to consider all Nan values as the same value. A uniqueNan option now allows it.%ODEOPTIONS(1)=2 didn't work with solvers 'rk' and 'rkf'edit did not accept a line number as text, as with edit linspace 21.det(sparse([],[])) yielded an error.unique was not able to return distinct values in their original order, without sorting them. A keepOrder option now allows it.with_tk was a duplicate of with_module('tclsci'). It is removed.save(filename) saved all predefined Scilab constants %e %pi etc.. (regression)loadmatfile could not return variables in a structure instead of into the calling environment.A\B was not faster when A is square and triangular.%nan indices crashed Scilab.intersect did not support complex numbers.setdiff was wrong with complex numbers.compatibility_functions module should be merged in the m2sci one.sylm(a,b) yielded an error when degree(a)==0 or degree(b)==0.diophant(0,0,m), diophant([p 0],q), diophant([0 p],q) with m<>0 and p>q were wrong. There was no flag for cases with an infinite number of solutions. When there is no solution, some values were returned anyway, instead of []. In this case, the documented definition of the err value was dubious. Decimal numbers and integers were accepted, but not encoded integers. Inf and NaN input coefficients were not rejected.fac3d and fac3d1 were still in Scilab 6.0 despite they were tagged obsolete 14 years ago in Scilab 4.1gsort could not sort completely dense matrices of complex numbers.grand(1,"prm",m) yielded an unsqueezed size([size(m) 1]) hypermatrixoverloadname internal macro defined in CACSD was a duplicate of typeof(,"overload"). It is removed.scatter3 function name was an unfounded naming exception. It had to be renamed scatter3d.scifunc_block_m block: any < in the expression was not displayed on the block's icon.^ hat page wrongly indicated that ^ applied to a rectangular matrix not being a vector is done element-wise.xlabel, ylabel, zlabel, and title needed to be upgraded.EXPRESSION block was more expected in the Mathematical palette.plot(x,y) did not accept y as encoded integers.setdiff(1,[]) was [] instead of 1. setdiff(a,[],..) was not enough tested.msprintf("%d", %nan) did not return Nanwavread(..,'info') had a mistake. The wavread page deserved some improvements.writewav page in English said that input data are one column per channel, instead of one row per channel. In addition, in case of writing error, savewave kept the output file open and locked.EXPRESSION, CLR and DLR Xcos blocks did not (always) correctly display multicharacter exponents in expressions displayed in their icons.wavread kept the wav file open and locked when returning on errors. It weakly managed the input file name. It claimed for invalid data formats instead of unsupported ones, with poor information about the current format vs the supported ones. Several error messages referred to a wrong function.group regressed in 5.5.2 due to a too intrusive fix.mfile2sci yielded an unsuitable warning when converting atan.mfile2sci converted acoth using atanh and yielding a wrong warning message.intdec example was biased and not robust when changing sampling frequencies.colorbar(umin, umax) did not work after plot3d2.[struct() struct()] crashed Scilab.x.a=1; x(:)=[] x.a was an empty list.intg(a,b,f) called f(x) with x outside [a,b].polarplot(x,Z) yielded an error when x is a vector and Z a matrix.tand([-90 90]) answered [Nan Nan] instead of [-Inf, Inf]. cotd([-90 90]) answered [Nan Nan] instead of [0 0]. 1 ./cosd([-90 90]) answered [Inf -Inf] instead of [Inf Inf].atanh, neither the documentation pages nor the m2sci converter was up to date.intdec(intdec(x, r), 1/r) was most often different from length(x).w=ssrand(2,3,4), []+w, []-w, w+[] and w-[] yielded an "operation +/- []" warning.plot(,"color",c) no longer supported standard abbreviated color names c like "k" for black.tbx_make did not allow easily to force building all toolbox sections without the toolbox builder (if any). tbx_make(Dir,"*") now does it.tbx_make(Dir,'localization') did not update .mo files from .po.prettyprint(complex(1,%nan)) omitted the "+" in 1 + Nani. Documentation was also improved.prettyprint did not support input encoded integers.prettyprint was broken for cells.part("",$) and part("",$-1:$+2) yielded an error instead of returning "" and " ".prettyprint did not allow to export of objects into HTML.x=1:1e10 freezed Scilab.prbs_a was poor and unclear.[].coth was more than twice slower than 1./tanh(). tanh and coth did not accept sparse-encoded input.lstcat could not concatenate input lists with mixed objects of types>10 like 1:$, sin, sind, struct, cells, tlists or mlists. In addition, it was slow for very long inputs lists.assert_checkequal did not support properly or at all Nan and void in lists, Nan in sparse, implicit lists, macros, libraries, built-in functions, graphical handles. For input arrays or lists of matching typeof and sizes, the failure message displayed neither the index nor the values of the first mismatching elements.isglobal was not supporting a non-scalar array of strings as input.%s <> (1+%s) returned %F.tree_show was broken cells within containers.tree_show void components were displayed as non-empty.sci2exp({}) result could not be executed.tree_show needs improvements.uiDumpTree() interpreted "\n" "\r" "\t" sequences in contents as special ones.base2dec() did not detect invalid numbers.playsnd on Windows for a long sound, it was not possible to stop it.playsnd could not be run in a non-modal (asynchronous) way on Linux and MacOS.auread and auwrite kept the sound file open and locked when returning on errors. They poorly handled the default .au sound file extension.playsnd could not directly accept an audio file and could not repeat the input sound.clc(n) cleared n+1 lines instead of n>0. Thus, it was not possible to clear only one line.integrate and intg default absolute tolerances atol was no longer the same. integrate's default relative tolerance rtol was not the same in the case of 3 or 4 input arguments.setPreferencesValue is a general usage function and deserved to be renamed xmlSetValues.fullpath did not support symbolic links in pathss, s([]) returned [] instead of sparse([]).flipdim(hypermat,dim,sb) yielded wrong results for dim<3 and sb>1, and yielded an error for dim>2.ppol changed values of the third input variable.noisegen() and prbs_a() deserved to be moved to the elementary_functions module, gathered with rand() and grand() in a new elementarymatrices/random help subsection.prbs_a() did not comply with the requested number of switches. The biased number of actual switches was unpredictable, preventing to manage its statistical distribution. The probability of the initial state was biased. For instance, prbs_a(n,0) always returned ones(1,n).noisegen is very poor. It is tagged as obsolete and will be removed from Scilab 6.1.x.test_run always failed.libraryinfo yielded 0x0 matrix of strings for libs without any macro.sci2exp yielded an error for any input macro without output argument.mfile2sci yielded an error on a(end) standing for a($) (Scilab 6 regression).zpk2tf and zpk2ss examples yielded an error.for i=1:$, end crashed Scilab.grand causes a freeze after several consecutive calls when using the default base generator.uicontrol.units = "normalized" property was not described.mfile2sci badly converted the colon : into mtlb(:)EXPRESSION, CLR, and DLR Xcos blocks sometimes displayed multiplied terms ambiguously in their icons.WSCI was not defined as an environment variable and could not be used as %WSCI% in commands sent with host or unix_*.bode and nyquist inline demos did not clear and reset the current axes where to draw, which could yield an error.help scilab page were misleading.MSWin>scilab --help missed displaying some options like -args.., -noatomsautoload, etc.colorbar did not support $ in colminmax, standing for the number of colors in the current colormap.loadmatfile could not read Octave native text data files.perms could freeze the whole computer. It could not ignore duplicate permutations.gsort could not sort booleans.isvector was broken for sparse matrices.blockdiag implemented to replace sysdiag, improved and extended to strings.* and .* multiplications involving a sparse boolean and a double, or involving 2 booleans, were not implemented.nnz was not possible (regression).warning documentation were not up-to-date.loadmatfile was never able to automatically detect the input data format.spzeros(0,n) and spzeros(n,0) were different from sparse(0,0).calendar had no formatted display mode.fsolve(x0, fun, tol) no longer took tol into account.cn, dn, ns, nc and nd Jacobi elliptic functions were not available.hallchart had bugs and a poor rendering.graypolarplot, colorbar displayed an empty ungraduated color bar.log10(x) had wrong dimensions when x is a hypermatrix.dockable="off" and closerequestfcn on figures crached Scilab.conj(sparse(x)) was complex when x is real.mgetl could not read single line data which is greater than ~260,000 characters.tree_show crashed for an input Xcos block.matrix(sparse([]),[0 0]) yielded [] instead of sparse([]).esb=sparse([%t %f]); esb(1,:)=[]; , size(esb) answered [0 2] instead of [0 0] .