Scilab Changelog

What's new in Scilab 6.1.1

Jul 20, 2021
  • High-level new features,
  • Changes in installation, compilation, and compatibility,
  • Changes in the language,
  • New and modified features, in each module,
  • Changes in functions (removed/added/modified),
  • Bug fixes.

New in Scilab 6.1 (Apr 24, 2020)

  • Main new features:
  • Webtools utilities added for HTTP protocol, JSON data usage
  • Profiled values are available as Scilab values
  • importgui function has been added to easily interface csvRead
  • function calls with zero output arguments can be detected with argn
  • Values have a cleaner display:
  • they are displayed in order on assignment
  • strings are quoted
  • complex numbers are aligned for matrices
  • numbers (IEEE 754 double) are not rounded
  • polynomials and rationals display is more compact
  • In structures, nested lists or structures are now displayed recursively compactly and more explicitly.
  • Feature changes and additions:
  • airy has been added: Evaluation of Airy functions of the first and second kind, and their first derivative, possibly scaled.
  • HTTP get, post, put, upload, patch, delete functions added
  • JSON encoding / decoding for Scilab datatypes added
  • Memory invalid accesses have been greatly reduced thanks to :
  • PVS-Studio inspections blog report
  • Coverity scan weekly source analysis
  • bitget is upgraded:
  • It now accepts positive Signed encoded integers.
  • It now supports the new uint64 and int64 types of encoded integers.
  • For decimal numbers: bits with indices > 52 can now be retrieved (up to log2(number_properties("huge")) = 1024).
  • For decimal numbers x > 2^52, queried bits below %eps (indices < log2(x)-52) now return Nan instead of 0.
  • Several bits can now be retrieved from each component of an input array.
  • bitset is upgraded:
  • It now accepts positive Signed encoded integers.
  • It now supports the new uint64 and int64 types of encoded integers.
  • For decimal numbers: bits with indices > 32 can now be set (up to #1024).
  • Several bits can now be set for each input component.
  • Distributive scalar inputs are now accepted.
  • 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:
  • Integer and Text input are now actually supported.
  • HTML is now supported as output format.
  • Default input arguments can be skipped instead of still having to be provided.
  • The result string is better formatted to be easily wrappable and indented.
  • mesh2d has been introduced to compute a 2d mesh from vectors (x,y) of points.
  • loadmatfile is upgraded:
  • Octave native text data files can now be read.
  • Automatic detection of the input data format implemented.
  • -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:
  • support added for Nan and void in lists, Nan in sparses, implicit lists, graphic handles, macros, libraries, and built-in.
  • For arrays of matching typeof and sizes, and for lists of matching lengths, the failure message now indicates the index and values of the first mismatching elements.
  • diophant is improved:
  • Encoded integers are accepted, in addition to decimal numbers. Only integer solutions are then searched.
  • When there is no solution, [] is returned.
  • When there is an infinite number of solutions, the err flag has a specific value.
  • The output size gets the input's size.
  • 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:
  • return the number of occurrences of distinct entities found in the input array.
  • return distinct entities in their initial order (rather than sorted), with the "keepOrder" option.
  • consider all 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.
  • The residual is returned as a new 3rd output argument.
  • When no solution is found, X=[] | X1=[] is returned instead of yielding an error.
  • hallchart is upgraded:
  • The default set of modules is set automatically, according to data bounds.
  • Handles of the grids and labels are returned. Post-processing them becomes easy.
  • Named colors accepted; better default colors.
  • Improved placement of labels.
  • playsnd is upgraded:
  • the name of a wav file can now be specified (instead of the sound data).
  • the input sound can now be repeated a given number of times.
  • the modal/non-modal processing is improved.
  • nicholschart is improved: more neutral default frame color; improved labels positionning; colors can now be specified by their predefined name or "#RRGGBB" hexa code; a structure of handles is now returned to easily postprocess both subframes and the set of labels.
  • sciargs returns a column instead of formerly a row.
  • Booleans and encoded integers can now be concatenated together, as in [%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.
  • The default smarter grid_style value is now 7 instead of 3.
  • weekday accepts new date formats and new syntaxes. A language option applying to the day names is now available.
  • vectorfind is upgraded:
  • vectorfind(m, []) now returns [] instead of an error.
  • A too long needle now returns [] instead of an error.
  • %nan values never matched. They are now regularly processed, as other values.
  • A needle shorter than the haystack size can now be used.
  • A wildcard value matching any value of the haystack can now be specified and used in the needle. Actual matching ranges can then be returned: Options joker and matching added.
  • Hypermatrices are now accepted as haystack.
  • The probing direction can now be numeric: 1, 2, ..
  • Returned indices can now be formatted with the new option indType.
  • There were no unit tests. More than 100 tests are added.
  • 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 colum). It now returns the average Mode-to-data distance, and the termination status for the quasi-Newton algo.
  • tree_show is upgraded:
  • New rootTitle and styles optional inputs.
  • New arrayByFields option, to allow displaying each array component as an object in its whole.
  • Improved layout: detailled indices for 2D arrays, simplified symbols, etc.
  • The content of implicitlist objects, and information for Scilab functions and libraries of functions are now displayed.
  • nchoosek is introduced, to compute the binomial coefficients.
  • The left .. and right ./. Kronecker divisions are now implemented, for arrays of decimal or complex numbers.
  • perms can now build and return only unique permutations, without duplicates.
  • Most of graphic objects can be moved interactively in opened figures.
  • circshift is introduced.
  • atomsGetInstalledPath is no longer sensitive to the case or completeness of the modules names. Providing the modules versions is now optional.
  • function replaces mc as the new overloading code for functions in Scilab language.
  • Help pages:
  • overhauled / rewritten: bitget, edit, factorial, vectorfind, datafit
  • fixed / improved: bench_run M_SWITCH, comet, comet3d
  • Rewritten: weekday
  • Translations added:
  • (ru): weekday
  • User Interface improvements:
  • The ans variable is editable as any other variable in Editvar.
  • Commands history is saved before executing a command to have the correct history on a crash.
  • Used memory per variable is displayed by BrowserVar to give the user numbers on memory usage repartition and let the user clear the big ones first.
  • Autoscroll of console in GUI mode is disabled when the user scrolls up until he scrolls to the bottom.
  • Xcos:
  • Default ending time reduced from 100000 to 30, to fit default scope block.
  • CURVE_c settings did not always display a window.
  • Exporting all layers from a diagram will generate one unique file per layer.
  • API/ABI modification:
  • Functions could return zeros arguments, the following gateway functions have been updated:
  • on APIv5 C CheckOutputArgument(ctx, min, max) the min argument should be set to 0 if needed.
  • on APIv5 C getNbOutputArgument(ctx) the return value could be 0
  • on APIv6 C++ the _iRetCount argument value could be 0.
  • On APIv6 C++, a virtual method has been added on internal types which break the ABI. Toolboxes need to be recompiled.
  • Obsolete functions or features:
  • 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.x
  • Removed Functions:
  • 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.
  • Bugs fixed in 6.1.0:
  • #2694: bitget did not accept positive integers of types int8, int16 or int32.
  • #5824: The datafit algorithm was not documented.
  • #6070: How to make multiscaled plots was not documented.
  • #7293: There was no function to circularly shift components, rows, columns or subarrays of an array. circshift introduced.
  • #7562: factorial could use a huge memory amount even for a scalar argument.
  • #7589: There was no function computing the binomial coefficients.
  • #7657: lstsize was a duplicate of size and should be removed.
  • #7724: When a figure is created in .auto_resize="on" mode, its .axes_size sets its .figure_size accordingly, not the reverse. But this was not documented.
  • #7732: The datafit help page needed to be fixed and overhauled.
  • #7765: champ1 is useless. champ().colored is available for a long time.
  • #7777: ged did not allow moving several objects.
  • #7948: gsort could not perform multilevel sorting, and could not sort complex numbers completely.
  • #7967: The tricky size [ny,nx] of meshgrid(x,y) results and usages with graphics was not enough documented.
  • #8301: definedfields wrongly considered as defined void elements in lists, tlists and mlists.
  • #8307: list2vec and vec2list were located in the optimization module instead of in data_structures, and were missing in the See also section of list.
  • #8328: Tabs of the Xcos block Format => Edit dialog were unclear.
  • #8393: isdef and definedfields had mismatching answers for void elements in lists, mlists or tlists.
  • #8418: unique was not able to return the number of occurences of returned dictinct entities.
  • #8784: Automatic self-adjusting blocks SCALE_CSCOPE & SCALE_CMSCOPE in Xcos.
  • #5512: disp puzzlingly displayed arguments in reverse order.
  • #9007: On Linux, sciargs() included twice -nw when -nw is used.
  • #9130: In the SigBuilder Xcos page, the parameters of the block were not described. The page refered to the CURVE_c block removed fron Scilab 5.0.0.
  • #9529: assert_checkequal(list(1,,3), list(1,,3)) yielded an error.
  • #9673: Priority of colon : operator was too low
  • #10014: DominationRank could be made private in optim_nsga2.
  • #10078: isinf was not reliable for polynomials.
  • #10092: The left and right Kronecker divisions were not actually implemented nor documented.
  • #10353: Documentation: The referential for the uicontrol.position property was not provided. Moreover, gca().axes_bounds refered to fig.figure_size instead of fig.axes_size.
  • #10553: After calling colorbar, retrieving the handle of the new color bar was not trivial.
  • #10702: The icon of the FROMWSB xcos block did not show the name of the source variable.
  • #10723: subplot's action was unclearly described in its help page. Page improved.
  • #11852: File browser didn't update after file creation or removal.
  • #11363: show_window() did not raise the current graphics window.
  • #12013: bitset did not work for numbers greater than 2^32-1.
  • #12302: Blocks of legends could not be moved interactively.
  • #12428: A part of an error message from toprint was not translated.
  • #12520: Variable browser did not display the size of the variables.
  • #12534: Variable browser did not display the size of the variables.
  • #12837: strcmpi was an obsolete duplicate of strcmp(,'i'). It is removed.
  • #13603: plot(1:3, 10) failed.
  • #13683: unsetmenu for a dockable="off" figure crashed Scilab.
  • #13738: get_figure_handle was a specific duplicate of the more powerful findobj('figure_id',n) feature. It is now obsolete.
  • #13766: Minimal values for .figure_size were not documented.
  • #14015: Nan terms added to a polynomial were ignored.
  • #14191: Unlike plot2d(), plot() did not accept logflags among input arguments.
  • #14422: clc(0) did nothing, now clears last console entry. Remove leading blank after a clc().
  • #14498: size([],3) returned 1 instead of 0.
  • #14501: strsubst crashed on consecutive occurrences.
  • #14557: csim failed when the system has no state.
  • #14498: size([],3) returned 1 instead of 0.
  • #14487: matrix indexing was not coherent with MATLAB.
  • #14502: Demo > GUI > Uicontrols 2 could not be exported to a file.
  • #14585: closeEditvar() had to be replaced with editvar("close").
  • #14604: emptystr is 40x slower with 6.0.0 wrt 5.5.2
  • #14605: fixed - bench_run was too strict about the specification of tests names.
  • #14606: Memory used by variables returned by [names,mem]=who() was always zero.
  • #14610: x = ric_desc(H,E) always yielded an error. [x1,x2,residual] = ric_desc(..) returned a wrong residual value.
  • #14642: No more "r" carriage return with printf.
  • #14655: bitset worked only element-wise, without accepting mixed scalar and array inputs.
  • #14660: dec2base was 53-bit limited by double and not uint64 ready
  • #14734: The simulated_annealing module was out of the optimization one.
  • #14735: The genetic_algorithms module was out of the optimization one.
  • #14738: hist3d was not actually an histogram function. It is renamed bar3d.
  • #14741: The syntax [m,e]=log2(x) was not documented. As public function frexp was in duplicate with [m,e]=log2(x).
  • #14742: mprintf, msprintf a non finite number displayed nothing.
  • #14746: Tiny numbers were sometimes displayed as 0.
  • #14791: sleep 1 crashed Scilab.
  • #14812: Minor typos in messages.
  • #14836: Calling exportUI on a non dockable figure crashed scilab.
  • #14863: In Xcos, the default ending time was unhandily high (100000), reduced it to 30.
  • #14900: In Scilab 6.0, the new overloading code function replacing mc for functions in Scilab language was not documented.
  • #14982: msprintf segmentation fault was caught due to wrong size
  • #14985: Scilab crashed if a .bin file was not found.
  • #15067: .xmi files saved from Xcos could not be opened by drag & dropping them into the console.
  • #15068: size(sum(ones(2,3,4,5),4)) was [4 2 3] instead of [2 3 4].
  • #15087: Deleting rows or columns from a matrix is slow (regression)
  • #15200: weekday yielded an error for some row of input dates.
  • #15248: lsqwas leaking memory.
  • #15260: sci2exp was no longer able to convert non-scalar structures.
  • #15269: xgetech was poor and stiff compared to any combination of gca() properties .axes_bounds, .data_bounds, .log_flags, and .margins. It is removed.
  • #15271: bitget needed to be upgraded.
  • #15309: eval was a weak duplicate of evstr. It should be removed.
  • #15321: lu was leaking memory.
  • #15350: ric_desc should be merged into riccati.
  • #15357: atomsGetInstalledPath returned "" if the provided technical name differs only by the case, or is a fragment, or failed when the version is not provided.
  • #15359: twinkle was not able to blink several independent objects.
  • #15360: numer and denom were poor and duplicates of the .num and .den fields of rationals. They are removed.
  • #15368: freson silently returned frequencies not corresponding to a maximum, or returned [] instead of some still computable maxima frequencies.
  • #15392: comet and comet3d did not allow specifying colors with colors names.
  • #15393: In a new figure, 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.
  • #15421: A new smarter default grid_style was required since smart lines styles #7-10 are available.
  • #15425: The Kronecker product a .*. b failed when a or b or both are hypermatrices, with one or both being polynomials or rationals.
  • #15428: repmat was slow. Its code did not use kron and was complex.
  • #15431: The empty matrix [] and its non-convertibility were poorly documented.
  • #15451: The code was not adapted to use lucene 4.10 in Debian.
  • #15514: The set documentation page needed to be overhauled.
  • #15517: factorial could be actually used up to only n=170.
  • #15522: unique was not able to consider all Nan values as the same value. A uniqueNan option now allows it.
  • #15523: %ODEOPTIONS(1)=2 didn't work with solvers 'rk' and 'rkf'
  • #15534: Booleans and encoded integers could not be concatenated together.
  • #15577: edit did not accept a line number as text, as with edit linspace 21.
  • #15580: det(sparse([],[])) yielded an error.
  • #15581: display of complex matrix was ugly.
  • #15595: unique was not able to return distinct values in their original order, without sorting them. A keepOrder option now allows it.
  • #15628: with_tk was a duplicate of with_module('tclsci'). It is removed.
  • #15643: Features with the signed zero -0 were not documented.
  • #15668: save(filename) saved all predefined Scilab constants %e %pi etc.. (regression)
  • #15680: loadmatfile could not return variables in a structure instead of into the calling environment.
  • #15701: AB was not faster when A is square and triangular.
  • #15715: %nan indices crashed Scilab.
  • #15734: intersect did not support complex numbers.
  • #15734: Trivial infinite loop could not be interrupted.
  • #15737: setdiff was wrong with complex numbers.
  • #15742: The compatibility_functions module should be merged in the m2sci one.
  • #15744: sylm(a,b) yielded an error when degree(a)==0 or degree(b)==0.
  • #15745: diophant(0,0,m), diophant([p 0],q), diophant([0 p],q) with m0 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.
  • #15812: On assigning variables the source variable may become become corrupted
  • #15821: fac3d and fac3d1 were still in Scilab 6.0 despite they were tagged obsolete 14 years ago in Scilab 4.1
  • #15825: gsort could not sort completely dense matrices of complex numbers.
  • #15840: grand(1,"prm",m) yielded an unsqueezed size([size(m) 1]) hypermatrix
  • #15861: The overloadname internal macro defined in CACSD was a duplicate of typeof(,"overload"). It is removed.
  • #15874: The scatter3 function name was an unfounded naming exception. It had to be renamed scatter3d.
  • #15921: Xcos user's function scifunc_block_m block: any < in the expression was not displayed on the block's icon.
  • #15934: The ^ hat page wrongly indicated that ^ applied to a rectangular matrix not being a vector is done element-wise.
  • #15948: xlabel, ylabel, zlabel and title needed to be upgraded.
  • #15964: A complex empty sparse matrix could be obtained after insertion.
  • #15965: plot(x,y) did not accept y as encoded integers.
  • #15967: setdiff(1,[]) was [] instead of 1. setdiff(a,[],..) was not enough tested.
  • #15969: Fix spelling
  • #15974: msprintf("%d", %nan) did not return Nan
  • #15977: The documentation for wavread(..,'info') had a mistake. The wavread page deserved some improvements.
  • #15978: The 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.
  • #15979: EXPRESSION, CLR and DLR Xcos blocks did not (always) correctly display multicharacter exponents in expressions displayed in their icons.
  • #15981: 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 refered to a wrong function.
  • #15983: group regressed in 5.5.2 due to a too intrusive fix.
  • #15984: display scale was wrong with Retina dispplays on OSX..
  • #15995: patch was missing in surface plot (regression)
  • #15998: mfile2sci yielded an unsuitable warning when converting atan.
  • #16000: mfile2sci converted acoth using atanh and yielding a wrong warning message.
  • #16003: Zoom with mouse scroll wheel was broken on simple surfaces.
  • #16005: The intdec example was biased and not robust when changing sampling frequencies.
  • #16007: Non-integer index in sparse makes Scilab crash.
  • #16008: Uimenu .callback_type, .children, .handle_visible, .user_data properties, and using HTML styling in .label were not documented.
  • #16011: colorbar(umin, umax) did not work after plot3d2.
  • #16012: [struct() struct()] crashed Scilab.
  • #16013: Load previously saved environment with "File/Load environment" menu failed.
  • #16014: after x.a=1; x(:)=[] x.a was an empty list.
  • #16015: intg(a,b,f) called f(x) with x outside [a,b].
  • #16019: polarplot(x,Z) yielded an error when x is a vector and Z a matrix.
  • #16021: 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].
  • #16026: For atanh, neither the documentation pages nor the m2sci converter were up to date.
  • #16028: The length of intdec(intdec(x, r), 1/r) was most often different from length(x).
  • #16046: After w=ssrand(2,3,4), []+w, []-w, w+[] and w-[] yielded an "operation +/- []" warning.
  • #16051: undefined list elements could be of 2 distinct typeof "void" or "listundefined" according to the way they are created.
  • #16053: plot(,"color",c) no longer supported standard abbreviated color names c like "k" for black.
  • #16062: tbx_make did not allow easily to force building all toolbox sections without the toolbox builder (if any). tbx_make(Dir,"*") now does it.
  • #16064: tbx_make(Dir,'localization') did not update .mo files from .po.
  • #16065: Building help pages including some scilab:image tags used and finally deleted the current on-screen figures (if any)!
  • #16067: The display of matrices of signed integers was misaligned (regression of 6.0.0 vs 5.5.2)
  • #16071: prettyprint(complex(1,%nan)) omitted the "+" in 1 + Nani. It printed positive exponents with a useless "+". For any input nul polynomial, the string result never included the name of the variable. Default input arguments could not be skipped. ExportFormat was uselessly case-sensitive. For tex|latex: for text input, $ % & { } ~ and ^ special characters were not protected ; spaces were not protected, all words were concatenated ; for polynomials and rationals, the result string could be extremely long and not easily wrappable. For MathML: "

New in Scilab 6.0.0 (Feb 16, 2017)

  • Highlights:
  • New language parser & new core
  • New utilities for development productivity
  • Xcos block diagram improvement
  • Newsfeed - a communication channel with the users

New in Scilab 6.0.0 Beta 2 (Feb 1, 2017)

  • Fixed issues:
  • #2104: iw(1:9) and w(1:10) ode output parameters were not documented
  • #2517: "position" property format was not accepted by figure despite what was said in help
  • #6057: trailing space after minus sign has been removed from the display of values
  • #6064: scatter did not exist in Scilab.
  • #6314: The identical code of %p_m_r and %r_m_p was not factorized
  • #7378: quart used with only NaNs yielded an error instead of returning NaN.
  • #7646: Extractions A'(1,2) and A.'(1,2) from a transposed matrix were not possible
  • #8210: UMFPACK demos were not well packaged and not numerous enough.
  • #8310: Non-convex plane or unplane polygons could be wrongly triangulated and badly rendered with extra facets.
  • #8990: Reframe to contents feature was missing on the graphics toolbar and Tools menu.
  • #9456: bench_run did not work on a path or in a toolbox
  • #9560: 1./M was parsed as 1. / M instead of 1 ./ M
  • #9621: A tlist with undefined fields can now be saved.
  • #10082: string(complex) with real(complex)>0 did not remove the leading space replacing "+"
  • #11511: error did not accept string matrix (non regression test added).
  • #11625: Uicontrol table did not update .string when values were modified interactively in the table.
  • #12044: Adding or substracting the empty matrix now return an empty matrix.
  • #12202: Mixing int8 and doubles with colon operator led to wrong results.
  • #12419: objects were cleared before the scilab.quit was called
  • #12559: FFTW had some memory leaks
  • #12872: Help pages of else, elseif, end, try, sciargs, global, halt, empty and power were in wrong help sections
  • #12928: intXX functions with %nan and %inf return wrong values.
  • #13154: In shellmode, completion now separates Files from Directories.
  • #13289: Using non-integer indexes for mlists made Scilab crash.
  • #13298: Static analysis bugs detected by PVS-Studio fixed.
  • #13308: Xcos had no Crank-Nicolson solver.
  • #13465: The display of polyline .display_function and .display_function properties was not conventional
  • #13468: Scilab hanged when incorrect format was used for file reading using mfscanf.
  • #13490: histc help page fixed to match the macro (by default, normalize the result).
  • #13517: isdef crashed Scilab when called with a vector of strings as input in a function and after a declaration of variable.
  • #13709: unique sometimes returned wrong index values.
  • #13725: Sometimes xfpoly polygon filling failed.
  • #13748: printf, sprintf (en,ja): short descriptions and obsolete flags were missing.
  • #13750: Calling ss2ss with flag = 2 returned an error.
  • #13751: lqg2stan returned wrong (inverted) values.
  • #13769: t = "abc..//ghi" was parsed as a continued + comment
  • #13780: size with two input and output arguments did not return an error.
  • #13795: grep with regexp option did not match the empty string properly
  • #13807: Invalid margins were computed when figure was not visible.
  • #13810: householder(v, k*v) returned column of Nan. Input parameters were not checked. The Householder matrix could not be returned. Help pages were inaccurate and without examples. There was no householder demo.
  • #13816: show_margins caused a scilab crash
  • #13829: mean and sum returned wrong results for hypermatrices.
  • #13831: ss2ss did not update the initial state
  • #13834: Drawing a high number of strings in a figure generated a Java exception.
  • #13838: Sparse and complex substraction made Scilab crash.
  • #13839: sign could not be used with sparse matrices
  • #13843: Scilab crashed when polarplot and plot2d were called with wrong strf value.
  • #13853: plzr returned wrong results for discrete-time systems with a numeric time step.
  • #13854: Under some operating systems, SciNotes did not initialize a new document at startup.
  • #13862: There was no lazy evaluation of or operands in if tests.
  • #13864: %l_isequal was useless in Scilab 6.
  • #13866: There were some issues with FFTW3 library.
  • #13869: bench_run with option nb_run=10 did not override the NB RUN tags
  • #13872: Non regression test added for unique (the indices returned were wrong)
  • #13873: %hm_stdev(H,idim>2) returned zeros(H)
  • #13881: datatipRemoveAll did not work.
  • #13890: getd did not return loaded symbols in previous scope.
  • #13893: simp did not set a rational denominator at 1 when numerator was equal to zero.
  • #13894: Default working directory of the previous session did not work.
  • #13897: Concatenating structures with same fields in mismatching orders failed
  • #13899: Syntax coloring was off in scinotes
  • #13903: get_function_path returned a path with a missing file separator.
  • #13907: Avoids the gray background on the right panel of the palette Browser.
  • #13908: part(text, n:$) was very slow.
  • #13918: Unmanaged operations on hypermatrix did not call overload functions.
  • #13919: Scilab parsed hidden as a reserved keyword but it is not used.
  • #13920: getscilabkeywords help page should be in the "Scilab keywords" section.
  • #13923: Changes of typeof(:) and typeof(n:$) were not documented.
  • #13924: rationals r1==r2 and r1~=r2 might sometimes be wrong.
  • #13925: SciNotes used the wrong paired bracket highlight style.
  • #13931: handle aarch64 processor for some Linux distribution.
  • #13939: In HTML help pages, itemizedlist were rendered as numbered ones
  • #13941: Internal timestamps of HDF5 files prevented having a fixed hash for an unvarying set of saved objects.
  • #13942: the palette browser tree was always resized when expanded/collapsed.
  • #13944: The menu "Toolboxes" was missing.
  • #13965: The rendering of histograms with histplot was poor
  • #13966: twinkle and twinkle(n) were not supported
  • #13971: A space has been added between Scilab prompt and cursor.
  • #13972: Wildcard * was not managed in printf expressions.
  • #13974: isoview(xmin, xmax, ymin, ymax) was unhandy.
  • #13983: who_user returned wrong values.
  • #13986: setdefaultlanguage did not set value correctly in Windows registry.
  • #13990: gettext did not manage the added _W macro.
  • #13999: editor was modal. It locked the console using an external editor.
  • #14020: Incorrect carriage return ascii code.
  • #14022: getscilabkeywords was KO (+gateway what() added).
  • #14023: It was not possible to concatenate cells.
  • #14024: Print of macrofile display a debug message instead of macro prototype.
  • #14025: head_comments did not take into account compiled functions.
  • #14028: force flag of genlib did not rebuild bin file.
  • #14030: Linear algebra demo crashed due to a bad delete in schur implementation.
  • #14035: ndgrid did not manage all homogeneous data type (booleans, integers, polynomials, rationals, strings, [])
  • #14036: .tag and .user_data properties were not displayed and not documented for light entity.
  • #14038: Encoded integers were no longer accepted for list extraction.
  • #14040: graphic property setting fails when using array of handles
  • #14041: genlib crashed when the file is locked by another program.
  • #14043: Examples of API Scilab help pages had to be updated (pvApiCtx in gateway prototypes).
  • #14044: MALLOC.h is now renamed to sci_malloc.h.
  • #14047: wrong behaviour of break ( continue ) in if and outside of loop fixed.
  • #14049: genlib hang if an unexpected endfunction occurs.
  • #14055: overload on matrix concatenation was not called with [].
  • #14057: grand(m,n) returned a wrong error and grand(m,n,p) called an overloading function instead of returning an error.
  • #14058: Scilab crashed with file("close", file()) instruction
  • #14059: Lack of performance on deletion of matrix elements.
  • #14065: Change "java size" in points in graphics font help page.
  • #14067: 3rd argument of fsolve became mandatory
  • #14082: m=1; m()=1; made Scilab crash.
  • #14093: atanh returns NaN for values with an absolute value greater than 1
  • #14095: Scilab crashed when a .fig file was loaded with loadmatfile function.
  • #14096: Issue with mscanf.
  • #14097: genlib no more adds a separator at the end of the lib path if it is not given in the directory path.
  • #14099: sci2exp macro was fixed to avoid "a+[] Warning". string(polynomials|rationals) had badly formated outputs and was not vectorized
  • #14105: New block comments /*...*/ feature was not documented.
  • #14107: lstcat of a string and a list did not produce consistent results.
  • #14109: lsq crashed Scilab when Scilab version depended on MKL library.
  • #14111: In Scilab 6, lib loading a Scilab 5 library did not give a proper error message.
  • #14113: Scilab 6 did not detect infinite loop.
  • #14115: In Scinotes, the switch and otherwise keywords were no longer colorized.
  • #14116: Invalid exponent in case of complex exponents especially 0*%i.
  • #14118: real, imag, conj, isreal did not accept rationals
  • #14135: crash when running "Graphics -> Matplot -> Java Image" demonstration.
  • #14141: gcf().attribute=value lead to "Wrong insertion: function or macro are not expected".
  • #14144: Scilab crashed with int64(2^63).
  • #14149: HDF5 could not restore hypermatrix with good dimensions.
  • #14150: The Windows SDK was not found on Windows 8.1.
  • #14156: mfscanf returned an empty matrix when datafile contained a header.
  • #14159: Matplot crashed Scilab on boolean input.
  • #14178: Tcl/Tk unavailability on MacOS is now documented.
  • #14181: intg (or integrate) in a function that is being integrated failed.
  • #14187: fscanfMat failed to read format %d, %i and %f.
  • #14199: sqrt returned wrong dimension results on matrix with more than dimensions.
  • #14203: Improve some error messages, some help pages and some comments.
  • #14204: dec2bin ( dec2base ) must show a better error message for too large values.
  • #14205: Console crash when assigning uint32 numbers to double matrix.
  • #14209: 1:245 created infinite loop.
  • #14212: Scilab 6 did not load array of struct from Scilab 5.5 files correctly
  • #14219: As bug #14203, improve some error messages, some help pages and some comments.
  • #14223: det returned an error when it is used with a singular matrix.
  • #14225: command-line option "-quit" should set the processs exit status
  • #14228: Setting .rotation_angles property to a matrix of any size did not return error message.
  • #14232: Typos fixed in Xcos.
  • #14245: Problem in recursive extraction using list with struct.
  • #14247: sqrt did not work on hypermatrices (non regression test added).
  • #14249: Ctrl-C can be used to stop writing control expression.
  • #14251: spec leaked some memory.
  • #14253: Insertion in a struct contained in a list fixed.
  • #14255: fftw without MKL leaked.
  • #14271: conjgrad displayed an incorrect error message about number of arguments.
  • #14297: cumsum's output was badly documented.
  • #14300: Crash when playing with structures.
  • #14303: matrix display for large number was not correctly aligned
  • #14304: find(x, nmax) returned [] (non regression test added).
  • #14313: Parser did not create a column separator after spaces and ... at the end of lines
  • #14316: Operation scalar^matrix was identical to scalar.^matrix instead of being expm( log(scalar) * matrix )
  • #14326: It was no longer possible to delete any part of a structure array with [].
  • #14331: The third argument of lsq crashed Scilab.
  • #14347: plot2d crashed with multiple entries (non regression test added).
  • #14348: Scilab did not open sce/sci file from Windows explorer.
  • #14359: Black Hole demo updated. Stop and Clear buttons did not have priority tag set. Callback_type property has been added and set to 10.
  • #14361: Parser did not manage -linebreak + blockcomment ... /* a comment */
  • #14362: The ode Lotka demo had typo errors
  • #14366: typeof(var,"overload") was not documented
  • #14374: The parser did not manage comments properly in shellmode
  • #14375: Calling input with a argument of 64 characters or more crashed Scilab.
  • #14389: The new int64 and uint64 were not documented, and other help pages were not updated for them.
  • #14390: double help page had irrelevant syntaxes and was poor
  • #14396: Real number display was not proper for very wide decimal parts
  • #14398: Matrix extraction was mistakenly considered a function call in calling sequence
  • #14405: GetScilabVariableJNI symbol was not resolved on xcosPalAdd()
  • #14415: Some spelling errors were detected in ~20 help pages
  • #14416: The file extension filter in Scinotes "Save as" window did not re-used the active file's extension when applicable.
  • #14418: saxon9he.jar made scilab throw an XPathFactoryConfigurationException.
  • #14419: Scinotes's highlighting of the new || and && operators was wrong.
  • #14423: bench_run did not have a return value, export file was not configurable
  • #14425: xpause was a duplicate of sleep. sleep did not propose "s" time unit.
  • #14429: Rationals r+(-r) and r-r did not simplify the denominator to 1 in simp_mode(%t)
  • #14432: Using an implicit list as scoped assignation to a variable in function call caused scilab to crash
  • #14433: acoth (which call atanh) crashed scilab
  • #14434: PlotSparse did not work anymore.
  • #14446: An error message generated by save(..) pointed a bad argument index.
  • #14450: builder_help.sce of a toolbox ignored some existing language directories
  • #14453: strcat([]) returned an empty string instead of [].
  • #14455: macr2tree crashed when passing a FieldExp.
  • #14468: Scinotes was unable to export to HTML.
  • #14471: strange([]) returned [] instead of Nan as all other functions for statistical dispersion
  • #14476: Operation .* between polynomials and imaginary numbers was always returning 0
  • #14493: and and or help pages were poor and inaccurate.
  • #14495: consolebox help page shew wrong syntaxes and was poor.
  • #14499: getd did not update already defined functions
  • #14500: Operator .^ was broken for sparse matrices.
  • #14517: The second argument of part function accepted an index of 0 without exiting in error.
  • #14524: Numeric locales were not set to standard "C" by default at scilab startup
  • #14540: Datatips did not clip outside axes bounds
  • #14685: datavec produced an invalid index error
  • #7884: typeof help page was poor, puzzled, and not up-to-date to Scilab 6:
  • new typeof uint64, int64, void, deletelist, implicitlist were missing
  • former hypermat and size implicit typeof weren't removed
  • typeof names longer than 8-char were not documented.

New in Scilab 6.0.0 Beta 1 (Feb 12, 2016)

  • NEW FEATURES:
  • New code productivity features: full-featured debugger, profiler and coverage tool, and "lint"-like commands.
  • Newsfeed, providing a continuous feed of news, tips, and general communication from the community and from Scilab Enterprises.
  • Licensing change: Scilab is now released under the terms of the GNU General Public License (GPL) v2.0 (but continues to be available under the terms of the CeCILL v2.1).
  • New language parser and interpreter, ensuring:
  • Support for bigger data sets: dynamic memory usage. No need for "stacksize" anymore.
  • Xcos also uses the new re-written Scilab engine.
  • OTHER FEATURE CHANGES:
  • Valgrind error detection added to test_run (on Linux only)
  • Addition or subtraction with an empty matrix now return an empty matrix.
  • SSE2, Streaming SIMD Extensions 2 support is now mandatory to run Scilab on Linux i686.
  • A call stack limit has been introduced. Default maximum depth is setup to 1000 andcan be changed by new function recursionlimit or by preferences interface.
  • The floating point exception mode (ieee) is now set to 2 by default: floating point exceptions now produce "Inf" or "Nan", and do not cause any error. The previous behavior can be recalled by simply calling: ieee(0)
  • OTHER FEATURE ADDITIONS:
  • scatter/scatter3 plot with different mark colors is now available.
  • parulacolormap is now available.
  • name2rgb can now handle a single string and a matrix of strings.
  • BUG FIXES:
  • Bug #6057 fixed - trailing space after minus sign has been removed from the display of values
  • Bug #9560 fixed - (1./M) was parsed as (1. / M) instead of (1 ./ M)
  • Bug #11511 fixed - error() did non accept string matrix (non regression test).
  • Bug #12044 fixed - Adding or substracting the empty matrix now return an empty matrix.
  • Bug #12419 fixed - objects were cleared before the scilab.quit was called
  • Bug #12928 fixed - int functions with %nan and %inf return wrong values.
  • Bug #13298 fixed - Static analysis bugs detected by PVS-Studio fixed.
  • Bug #13709 fixed - unique function sometimes returned wrong index values.
  • Bug #13750 fixed V- Calling ss2ss function with flag = 2 returned an error.
  • Bug #13780 fixed - size with two input and output arguments did not return an error.
  • Bug #13795 fixed - grep with regexp option did not match the empty string properly
  • Bug #13843 fixed - Scilab crashed when polarplot and plot2d were called with wrong strf value.
  • Bug #13853 fixed - plzr() returned wrong results for discrete-time systems with a numeric time step.
  • Bug #13862 fixed - There was no lazy evaluation of 'or' operands in 'if' tests.
  • Bug #13864 fixed - macro %l_isequal was useless in Scilab 6.
  • Bug #13872 fixed - Non regression test added for unique function (the indices returned were wrong)
  • Bug #13890 fixed - getd did not return loaded symbols in previous scope.
  • Bug #13893 fixed - simp() function did not set a rational denominator at 1 when numerator was equal to zero.
  • Bug #13894 fixed - Default working directory of the previous session did not work.
  • Bug #13903 fixed - get_function_path() returned a path with a missing file separator.
  • Bug #13907 fixed - Avoids the gray background on the right panel of the palette Browser.
  • Bug #13908 fixed - part(text, n:$) was very slow.
  • Bug #13918 fixed - Unmanaged operations on hypermatrix did not call overload functions.
  • Bug #13919 fixed - Scilab parsed "hidden" as a reserved keyword but it is not used.
  • Bug #13920 fixed - `getscilabkeywords` help page should be in the "Scilab keywords" section.
  • Bug #13931 fixed - handle "aarch64" processor for some Linux distribution.
  • Bug #13944 fixed - The menu "Toolboxes" was missing.
  • Bug #13983 fixed - who_user returned wrong values.
  • Bug #13986 fixed - setdefaultlanguage did not set value correctly in Windows registry.
  • Bug #13990 fixed - `gettext` did not manage the added '_W' macro.
  • Bug #13990 fixed - Windows installer did not ship all localization files.
  • Bug #13999 fixed - editor() was modal. It locked the console using an external editor.
  • Bug #14020 fixed - Incorrect carriage return ascii code.
  • Bug #14022 fixed - getscilabkeywords() was KO (+gateway what() added).
  • Bug #14023 fixed - It was not possible to concatenate cells.
  • Bug #14024 fixed - Print of macrofile display a debug message instead of macro prototype.
  • Bug #14025 fixed - head_comments did not take into account compiled functions.
  • Bug #14028 fixed - force flag of genlib did not rebuild bin file.
  • Bug #14030 fixed - Linear algebra demo crashed due to a bad delete in schur implementation and free a NULL pointer in fft implementation.
  • Bug #14036 fixed - tag and user_data properties were not displayed and not documented for light entity.
  • Bug #14038 fixed - Encoded integers were no longer accepted for list extraction.
  • Bug #14040 fixed - graphic property setting fails when using array of handles
  • Bug #14041 fixed - genlib crash when the file is locked by another program.
  • Bug #14043 fixed - Examples of api Scilab help pages had to be updated (pvApiCtx in gateway prototypes).
  • Bug #14047 fixed - wrong behaviour of break ( continue ) in if outside of loop.
  • Bug #14049 fixed - genlib hangs if an unexpected endfunction occurs.
  • Bug #14055 fixed - overload on matrix concatenation did not called with [].
  • Bug #14057 fixed - grand(m,n) returned a wrong error and grand(m,n,p) called an overloading function instead of returning an error.
  • Bug #14058 fixed - Scilab crashed with 'file("close", file())' instruction
  • Bug #14059 fixed - Lack of performance on deletion of matrix elements.
  • Bug #14065 fixed - Change "java size" in points in graphics font help page.
  • Bug #14082 fixed - m=1; m()=1; made Scilab crash.
  • Bug #14093 fixed - atanh returns NaN for values with an absolute value greater than 1
  • Bug #14095 fixed - Scilab crashed when a .fig file was loaded with loadmatfile function.
  • Bug #14096 fixed - Issue with mscanf Function.
  • Bug #14097 fixed - genlib no more adds a separator at the end of the lib path if it is not given in the directory path.
  • Bug #14105 fixed - New block comments /*...*/ feature was not documented.
  • Bug #14107 fixed - lstcat of a string and a list did not produce consistent results.
  • Bug #14109 fixed - lsq function crashed Scilab when Scilab version depended on mkl library.
  • Bug #14113 fixed - Scilab 6 did not detect infinite loop.
  • Bug #14135 fixed - crash when running "Graphics -> Matplot -> Java Image" demonstration.
  • Bug #14141 fixed - recursive insertion: gcf().attribute=value => "Wrong insertion : function or macro are not expected".
  • Bug #14144 fixed - Scilab crashed with int64(2^63).
  • Bug #14149 fixed - hdf5 could not restore hypermatrix with good dimensions.
  • Bug #14150 fixed - The Windows SDK was not found on Windows 8.1.
  • Bug #14156 fixed - mfscanf returned an empty matrix when datafile contained a header.
  • Bug #14159 fixed - Matplot crashed Scilab on boolean input.
  • Bug #14178 fixed - tcl/tk unavailability on MacOS is now documented.
  • Bug #14181 fixed - Calling intg (or integrate) in a function that is being integrated failed.
  • Bug #14187 fixed - fscanfMat failed to read format %d, %i and %f.
  • Bug #14199 fixed - sqrt returned wrong dimension results on matrix with more than dimensions.
  • Bug #14203 fixed - Improve some error messages, some help pages and some comments.
  • Bug #14204 fixed - dec2bin ( dec2base ) must show a better error message for too large values.
  • Bug #14205 fixed - Console crash when assigning uint32 numbers to double matrix.
  • Bug #14209 fixed - 1:245 created infinite loop.
  • Bug #14212 fixed - Scilab 6 did not load array of struct from Scilab 5.5 files correctly
  • Bug #14219 fixed - As bug #14203, improve some error messages, some help pages and some comments.
  • Bug #14223 fixed - det returned an error when it is used with a singular matrix.
  • Bug #14225 fixed - command-line option "-quit" should set the processs Exit status
  • Bug #14228 fixed - Setting rotation_angles property to a matrix of any size did not return error message.
  • Bug #14232 fixed - Typos in Xcos.
  • Bug #14245 fixed - Problem in recursive extraction using list with struct.
  • Bug #14247 fixed - sqrt function did not work on hypermatrices (non regression test).
  • Bug #14249 fixed - ctrl-c can be used to stop writing control expression.
  • Bug #14251 fixed - `spec` leaked some memory.
  • Bug #14253 fixed - Insertion in a struct contained in a list fixed.
  • Bug #14255 fixed - fftw without MKL leaked in internal withMKL function.
  • Bug #14300 fixed - Crash when playing with structures.
  • Bug #14303 fixed - matrix display for large number was not correctly aligned
  • Bug #14304 fixed - find(x, nmax) returned [] (non regression test).
  • Bug #14313 fixed - Parser did not create a column separator after spaces and '...' at the end of lines
  • Bug #14316 fixed - Operation scalar^matrix was identical to scalar.^matrix instead of being expm( log(scalar) * matrix )
  • Bug #14331 fixed - The third argument of lsq crashed Scilab.
  • Bug #14348 fixed - Scilab did not open sce/sci file from Windows explorer.

New in Scilab 6.0.0 Alpha 1 (Jul 30, 2015)

  • Includes a major rewrite of Scilab's internal core. The changes to the visible aspects of the software are limited. The first big internal change, is a complete new language parser and interpreter, with the following changes:
  • The language is much more coherent and predictable,
  • The grammar is stricter, but more consistent,
  • Error handling has been improved (but may still be limited in the alpha: please report issues you find),
  • The language has slightly better compatibility with Matlab's language (for example control instructions such as switch/ case statements).
  • The language changes are not all backward-compatible. You will have to update your scripts/programs/modules, but it
  • Will be very simple in pretty much all cases. In particular, the following changes may require modifications to existing code:
  • Literal strings cannot mix single-quote and double-quote delimiters: they have to start and finish with either both single-quotes, or both double-quotes,
  • Usage of commas (to put multiple instructions on the same line) has been clarified: it can not be used following control instructions such as try,
  • Three dots or more are not supported anymore.
  • The second big internal change, is the ability to manipulate bigger data sets, without exhausting system resources. This includes in particular:
  • A much better memory management. Memory usage
  • is now only limited by the machine's memory. This was a much-needed, and much-requested feature.
  • There is no need anymore for stacksize,
  • Support for bigger data sizes, in particular with better support for HDF5 files,
  • Some new and improved data types: 64-bit integers; ability to define user types in C++ modules. Also, matrices with more than two dimensions are now implemented natively.
  • Native data structures (cell, struct), as well as multidimensional matrices, which yield, in most cases, better performance, both in memory usage, and execution speed. There could be some performance degradation in some cases: please feel free to report them.
  • These changes may not amount much to end-users, but they were much needed, much worked-on, improvements to the Scilab platform. These improvements will enable further improvements in the future, in terms of code management, development tools (debugger, analyzer...), as well as improvements to other part of the platform (Xcos...) that would not be possible without this release.
  • Main Limitations:
  • Several important parts of the platform are not functional in this alpha:
  • Xcos is not functional yet; the editor is not working yet at in this alpha 1 (it will in the final release, for sure). The simulator has been ported but is still not usable,
  • The debugging and profiling capabilities present in the 5.5.2 version are not ported to 6; most likely it will be replaced by completly new features.
  • ATOMS is functional, but since none of ATOMS modules currently on http://atoms.scilab.org/ have been ported, it is not of much use.

New in Scilab 5.5.2 (Apr 1, 2015)

  • Includes new graphics features such as the improvement of fec function to enable the rendering of meshes based on any convex polygon type (not only triangles).

New in Scilab 5.5.1 (Oct 2, 2014)

  • REMOVED FUNCTIONS:
  • datatipContextMenu and datatipEventhandler removed.
  • Second output argument of add_param removed.
  • COMPILATION:
  • Required version of Arpack-ng updated to 3.1.5.
  • SCILAB BUG FIXES:
  • rlist help page was not clear.
  • titlepage help page was not clear.
  • edit_curv did not disable standard plot menus.Small improvements added to struct help page.Axis labels wrongly used number withdigits in the exponent.
  • The datatips contextual menu opened a selection list which was not ergonomic.
  • There was no error message when error was called with a complex value.
  • getdate help page improved.
  • Some demonstrations in graphics were automatically closed at the end of their execution.
  • Some error calling sequences produced screwed display.
  • parallel_run did not work under CentOS (GLIBC issue).
  • Insertion overloading did not seem to work with mlists.
  • kron produced a segfault in some cases.
  • Default key of rand could change from "uniform" to "normal".
  • Scilab failed to build with some configure options.
  • ./configure --without-xcos did not work../configure ARPACK check linked `-larpack -lblas` instead of `-larpack -llapack -lblas`.
  • "Home" and "End" keys were not trapped in CLI mode.
  • clc was not available in CLI & ADV-CLI modes.Scilab crashed when a file created with Matlab 7.was loaded.
  • Calling sequences added in file help page.
  • Hypermatrix support added for extraction.
  • Demonstration GUI now displays an arrow if a selected item has sub-categories.
  • uicontextmenus size was wrong when children were created invisible.
  • edit_curv (used by CURV_f) was broken.
  • Graphics did not work under Fedora (GLIBC issue).
  • OpenSUSE 12.xdid not have gluegen2-rt in library path.
  • Scilab did not start under CentOS 5.(GLIBC issue).
  • Scilab did not start under Ubuntu 10.(GLIBC issue).
  • eigs produced wrong results in some cases. Arpack-ng library has been updated to fix this bug.
  • surf did not handle degenerate cases.
  • xmltojar([],[],'ja_JP') might lead to a crash when the locale was not system-wide available.
  • The pkgconfig file did not used the right Tcl/Tkversion.
  • Setting datatips orientation did not disable auto_orientation mode.
  • There were missing tooltips on File Browser buttons.
  • Default figure "visible" property was ignored when creating a new figure.
  • Legends display were completely modified when an item was clicked and modified.
  • gtk2-oxygen theme engine (used by KDE) crashed Scilab.
  • Users are no longer able to write inconsistent options to mopen. mopen(file, "wr") now exits with a proper error.
  • Selecting "Offline mode" in Scilab installer installed Scilab in "Command line mode" (without GUI modules).
  • In SciNotes, it was not possible to complete brackets only at the end of a line.
  • Kronecker tensor product now works on hypermatrices.
  • In console popup menu, "help about a selected text" moved from bottom to top for better consistency with SciNotes.
  • User-defined ticks were not drawn at the right position.
  • Scilab did not start under Debian Wheezy (GLIBC issue).
  • filter did not work for simple delays. filter help page improved.
  • Double-clicking on a MAT-file in the file browser did not load it.
  • There was a buffer overrun with call.
  • xstringb failed with LaTeX code.
  • intersect and unique were slow due to an issue in quicksort implementation.
  • Nyquist datatip with symmetry now displays properly negative frequencies.
  • Scilab did not start under CentOS 6.5, RedHat 5.4, RedHat 5.(GLIBC issue).
  • Data bounds were not correctly updated in 3-D.ATOMS default repository was 5.one instead of 5.5.
  • samplef now works withfrequencies input values and normalized frequencies. sample and samplef now consistently return a row vector.
  • showprofile now displays lines numbers.
  • The "Console" handle display was not homogeneous with others.
  • eigs was failing when using a function as first input argument.
  • newaxes help page did not mention the call with a graphic handle as input.
  • uicontrol help page did not mention axes could be contained in frame style uicontrols.
  • An exception occurred when using entity picker on legends.
  • Display of Waitbar and Progressionbar handles did not show Tag and Userdata properties.
  • saveGui() returned an undocumented boolean parameter (success / failure flag).
  • Closing Scilab during halt() did not quit Scilab process.
  • Bounding boxes of xarcs were not correct.
  • Regression on axes labeling fixed.
  • rect property was not taken into account in polarplot.
  • permute(x, dims) failed when dims was greater than the dimensions of size(x). It now treats extra dimensions as 1.
  • crossover_ga_binary help page was not clear. mix to check the crossover positions also added.
  • mutation_ga_binary help page was not clear and lacked examples.
  • mutation_ga_binary did not calculate multiple mutations properly.
  • Callback functions for genetic algorithms were missing. Now the user can set functions to stop iterations and access the population.
  • Genetic algorithms did not log the minimum and maximum values properly.
  • crossover_ga_binary algorithm was not the classical point crossover one. Binary length usage also fixed.optim_ga and optim_moga needed optimization.
  • optim help page was written with bad indentation.
  • xstringl help page was not clear about fonts and LaTeX-rendered text.
  • Scilab under Windows crashed when calling xmlRemove on the first child.
  • drawaxis did not return the handle of the created axis.
  • Scilab crashed when uicontrol was called with a string for border property.
  • A warning message about libcurl.so version was displayed at Scilab startup.
  • ilib_build_jar entered an infinite loop when used on an empty directory.
  • varn did not work on rational fractions.
  • w #pfss changed the variable of the rational fractions. varn was also modified to keep variable "dt" of rational fractions.
  • intg now properly exits when the user function produces an error.
  • Typos fixed in English help pages.
  • xarrows made Scilab crashed in some cases.
  • Imaginary part in result of a complex power was missing (Real^Complex).
  • It was not possible to have an empty prefix with xmlNs.
  • Datatip callback cleared 'd'.
  • lcm returned incorrect results when used with doubles.
  • dae crashed if the evaluation function had wrong prototype.
  • There were wrong results for matrix / hypermatrix with bitset.
  • Russian and Japanese help pages were missing.strtod did not ignore the tabs and CR.
  • hilb did not check properly the type of the first input argument.
  • "slider" uicontrols did not work with the mouse wheel.
  • rubberbox returned wrong values.
  • bar displayed useless warnings.
  • SuiteSparse 4.3.was not supported.
  • Default values of "event_handler" and "event_handler_enable" properties were not taken into account when creating a new figure.
  • XCOS BUG FIXES:
  • The RELATION_OP box drawn in the workspace was not compliant with the programming.
  • Ctrl+Fshortcut did not work on a selected block.
  • Modelica Generic block reshaped the output ports and the label was double-written.
  • Loading a .scg file in CURVE block produced an error.
  • cdummy_ entry point was not found when using Code Generation.
  • There was no appropriate example of the syntax for scifunc_block_m GUI on the help page.
  • matrix * vector multiplication using MATMUL did not work properly.
  • Sawtooth generator icon was not a Sawtooth.
  • TOWS_c and FROMWSB Xcos blocks needed better examples on how to get or write a Scilab variable.
  • scifunc_block_m help page was not clear about the block use. An example has been added.
  • MBLOCK did not work with an external file containing Modelica class.
  • STEP function was not delayed with the Continuous Fix Delay.
  • There was no image on CSCOPXY3D block.
  • EXPRESSION block with "u1" as expression failed with a singularity error.
  • External modules loader_pal.sce file contained absolute path.
  • Tkscale block did not respect min and max value.
  • "Export all diagrams" failed if the directory did not exist.

New in Scilab 5.5.0 (Apr 16, 2014)

  • Highlights:
  • New extended functionalities for GUI creations and best rendering of user interfaces:
  • New uicontrols to create tabs, advanced and fully customizable graphical interfaces (adding icons, creating borders, etc.), new objects positioning and resizing capabilities.
  • New graphics capabilities providing users with an optimized interaction:
  • Display of images in true colors, management of lighting on 3-D graphics, new interactions on graphics enabling to edit graphics handles directly on figures using the mouse.
  • MPI capabilities:
  • Disabled by default, to leave the user the ability to adapt Scilab to its environment, MPI (The Message Passing Interface) capabilities are available in Scilab source tree for High Performance Computation users.
  • And also:
  • An interface to directly interact with Java external objects from Scilab, a dedicated module to read/write HDF5 files and datasets, and the ability to easily localize Scilab external modules.

New in Scilab 5.5.0 Beta 1 (Oct 2, 2013)

  • New sets of functions:
  • HDF5 module allowing to read/write HDF5 files and datasets.
  • Java external objects interface to interact directly with Java objects from Scilab.
  • Function getURL to retrieve/read remote files through ftp:// or http:// protocols.
  • Possibility to translate Scilab external modules.
  • MPI capabilities available in Scilab source tree (not activated by default).
  • New erfi and dawson special functions.
  • New daskr solver in Scilab and Xcos.
  • New graphics features aiming at improving Scilab usability and capabilities have been integrated:
  • Improvements of Matplot function capabilities in order to display images in true colors.
  • Management of lighting on 3-D graphics.
  • New interactions on graphics enabling to edit graphics handles directly on figures using the mouse.
  • Datatips features rewritten as native Java code.
  • and also many bug fixes and documentation improvements.

New in Scilab 5.4.1 (Apr 2, 2013)

  • IMPROVEMENTS:
  • A warning has been added for 1./x and 1.\x syntax clarification.
  • A new output argument has been added to regexp
  • function to retrieve subpatterns matches.
  • New xmlName function added to retrieve the name of a XML element.
  • clc(): New icon in the toolbar to clear the console. See Bug # 12049.
  • test_run no longer takes into account skipped tests in
  • the summary.
  • Search is now possible in the console. Shortcut F3 or CTRL+F enables it.
  • editvar proposes direct save to the CSV format of the whole variable or the selection.
  • Completion in Scilab is now case insensitive.
  • variance is now vectorized and allows the syntax
  • variance(x,"*",w). See Bug # 12362.
  • Console command history is now stored in SCIHOME/history file under all platforms.
  • In Scilab documentation, 'scilab:needs-examples="no"' tag has been added to specify that the help page does not need example.
  • Two new commands added:
  • For SciNotes: scinotes modules/core/macros/whos.sci opens a file. If the file does not exist, SciNotes proposes to create it. scinotes -indent modules/core/macros/whos.sci allows to indent automatically a Scilab file.
  • For Xcos: xcos modules/xcos/examples/integral.xcos opens the integral Xcos schema. If the file does not exist, Xcos proposes to createit.
  • XCOS:
  • New Flowmeter block in the thermohydraulics palette added to measure a thermohydraulics flow.
  • Palette icons and some blocks rendering improved.
  • xcosPalGenerateAllIcons function added as a Xcos palette utility function.
  • New ODE solver added: LSodar automatically switches methods to efficiently solve both stiff and nonstiff problems. It includes a rootfinding feature.
  • Two new fixed-size step ODE solvers added: Dormand-Prince 4(5) and Runge-Kutta 4(5) have been added to the CVode package. They also benefit from the rootfinding feature.
  • Implicit fixed-size stop ODE solver added: Implicit Runge-Kutta 4(5) also benefits from the CVode rootfinding feature.
  • Block parameter errors (types and sizes) reporting improved.
  • Some scopes blink on simulation avoided.
  • BUG FIXES:
  • Small size marks were not correctly exported.
  • In the documentation, the title of a link used the XML id instead of the title of the page.
  • sskf function did not work with two outputs (corresponding help page updated).
  • qr() was poorly documented.
  • Bad rendering of a big rotated label.
  • strtod returned 0 when no real number was detected.
  • Scilab could not be started with a non readable/writeable SCIHOME.
  • Error messages in some examples of Simulated Annealing help pages fixed.
  • interp() help page has been improved.
  • jmat() was poorly documented.
  • Strings were exported as shapes rather than Postscript strings in EPS / PS export.
  • xlabel(), ylabel() and zlabel() functions were not documented.
  • There was an error in MathML formula in beta help page.
  • is_absolute_path was not documented.
  • %h_p() and sci2exp() failed to display polyline entity associated to datatips.
  • binomial function moved in the distribution function chapter.
  • The "Graphics \ Animations \ Riemann surface" demonstration background was black (instead of white).
  • get_function_path did not have a unit test.
  • Line thickness was not taken into account when drawing marks.
  • geom3d help page had no examples.
  • dft has been deprecated to fft.
  • Some genetic algorithms functions had no examples.
  • syslin help page has been moved to CACSD chapter.
  • Examples given in gcd help page have been improved.
  • flag and flagexpand arguments were not documented in basename and dirname help pages.
  • In some cases, Scilab built from sources was looking for libraries at the wrong place.
  • splin2d help page was unclear about the size of the arguments.
  • interp2d help page was unclear about the size of the arguments.
  • The optim_{ga, moga, nsga, nsga2} functions did not always create initial population.
  • bitset function did not have any tests.
  • The threshold level for conditioning in backslash and slash was too small.
  • In optimization help pages, a new chapter untitled "Least Squares functions" has been created.
  • grand returned non-empty matrix for negative size argument.
  • clear([["A","B"]) returned a non standard error message.
  • clear() did not clear all variables.
  • clear(1) returned a wrong error message.
  • Removing a session line in the history caused the removal of the session node in the history browser.
  • fileinfo help page updated.
  • unix_g did not return standard output in somes cases.
  • xmltopdf and xmltopdf were failing in the binary version.
  • diff help page did not have a "See Also" section.
  • xgetmouse() prevented callback menu execution.
  • variance returned wrong results for complex arguments.
  • axes_properties help page did not explain that mark_style=mark_size=0 drew a single dot.
  • With Matplot, color outside the colormap was replaced with the last color in colormap.
  • save_format help page was still refering to the old save format (SEP # 64 content used to update this page).There were memory leaks with textures.
  • EDT violations were detected by the ThreadCheckingRepaintManager tool.
  • $$..$$ is now used for LaTeX in SciNotes comments to avoid confusion with Scilab code.
  • Preferences window changed its dimension when hitting Default button.
  • Scilab failed to start when there was an accentuated character in the pathname.
  • F5 to navigate in the dock was incompatible with SciNotes. F5 has been replaced by shift+F6 to go to the previous tab.
  • Uninstalling Scilab removed all Scilab registry information.
  • lattn help page had no example (resolved with Bug # 11663).
  • lattp and lattn help pages were incomplete.lev help page had no example.
  • lindquist help page had no example.
  • 11668- rpem help page had no example.
  • 11669- kalm and srkf help pages had no example.
  • "resizefcn" and "closerequestfcn" properties description was not precise enough in the figure properties help page.
  • xclick and xgetmouse did not work under Mac OS X.
  • winclose() was not tagged as obsolete.
  • In graphics, white space was not used as default thousand separator.
  • ssprint formatting lacked accuracy.
  • show_margins() failed in "nyquist" mode if the system was in state-space form.
  • In SciNotes, untabify several lines did not work properly.
  • save() help page did not explain how to append data to a SOD file.
  • In SciNotes, a Java exception occurred when a text containing a \E was selected.
  • export_to_hdf5 was not able to export the same variable twice.
  • axesflag=0 was not taken into account in plot2d3.
  • event_handler could be called with wrong figure_id.
  • Export to SVG converted texts in shapes.
  • Only the first line was executed when a code was piped under Linux.
  • Canceling "Open File" action when launched from icon in the toolbar opened SciNotes anyway.
  • csvTextScan third parameter validity was not checked.
  • csim returned an error message in some cases: "Submatrix incorrectly defined".
  • smooth French help page had a wrong declaration (colonnes => lignes).
  • Ticks computations were made when drawing.
  • Wrong xclick behaviour on keyboard input fixed.
  • Under Windows, some empty lines were added by csvWrite.
  • listvar_in_hdf5 did not close the hdf5 file.
  • Blank lines are now ignored by default by csvRead / read_csv.
  • Typo in spreadsheet module fixed.
  • "Configuring scaling factor" part added in karmarkar help page.
  • In eigs help page, NEV was unclear.
  • Default value of NCV parameter (eigs function) was not documented.
  • eigs help page improved.
  • ftuneq help page had an incorrect example.
  • The drawlater / drawnow functions did not work as expected.
  • assert_checkalmostequal was failing with two %inf values.
  • Typo in the atomsShow help page fixed.
  • Typo dimensionnal => dimensional fixed.
  • Indices returned by gsort were wrong for sparse matrices.
  • getsystemmetrics() failed for some properties such as 'SM_CXMAXIMIZED'.
  • Printed information of a XML object was inconsistent with available fields.
  • csvRead was not able to open CSV files when separators were not spaces.
  • In Scilab documentation, the attribute "bgcolor" was not handled in tables.
  • Loading multiple variables from a SOD file could failed.
  • profile help page did not mention add_profiling.
  • Scilab wrongly detected DLL platform information.
  • karmarkar function did not generate appropriate warnings.
  • phaseplot(frq,db,phi) did not work.
  • bar and barh had wrong x / y bounds.
  • eigs function was broken for complex sparse matrices.
  • lufact help page did not specify that lufact did not handle complex matrix.
  • parallel_run was not available.
  • Default stack size value was wrong in stacksize help page.
  • stacksize('max') failed without displaying error message.
  • eigs(A,B) returned incorrect results for sparse matrices.
  • eigs ran out of memory for sparse matrices.
  • csvRead failed when a comma was used as a decimal mark.
  • Calls to gettext in rubberbox help page examples have been removed. Items will be translated in each available languages.
  • csvRead triggered some error messages when ranges were wrong.
  • Axes did not pass through (0,0) when x_location and y_location were set to 'origin'.
  • There was a bad label with drawaxis.
  • matfile_listvar crashed when listing variables of a closed MAT-file.
  • routh_t function gave incorrect output for all denominators that included gain value "k".
  • Incompatibility with MPI version of HDF5 fixed.Performances of derivat function improved.
  • Performances of horner function improved.
  • sprspn help page description updated.
  • There were no log-scales with Fec and Fac3d.
  • Typo in French localization fixed.
  • delete("all") did not recreate a basic axe within a cleaned figure.
  • In SciNotes, a whole word search did not work properly.
  • There were several memory leaks in various fillers.
  • Graphics could crash with an invalid property.
  • Matplot did not update on color_map change.[d, v] = eigs(A) was broken for sparse matrices.
  • Recent changes in eigs applied to feigs.
  • eigs function refactored.
  • parallel_run did not run all calculations on 8 core processors.
  • An error message is now returned when reading invalid Excel files (which have declared wrong column / row count).
  • Typo in some error messages fixed.
  • SciNotes toolbar was missing.
  • Wrong translation for "Filled" fixed in SciNotes.
  • Grid was not drawn with log scale and user-defined ticks.
  • When the console lost the focus between SciNotes and the console, the caret could become visible in the console instead SciNotes.
  • Presentation of Cyrillic letters on sample images of Russian help page for grand function fixed.
  • Completion in console could led to a crash (or deadlock).
  • export_to_hdf5 function did not manage any matrix in append mode.
  • sub_ticks property was ignored.
  • A list of handles could not be displayed as a handle userdata.
  • Calling getenv with a big environment variable led to memory corruption.
  • Undocking, redocking and undocking a graphic figure led to an exception.
  • Legends could not be loaded from SOD files.
  • ftp addresses were not handled in the help browser.
  • eventhandler functions no more reported keyboard events.
  • Saving environment failed to save library variables. Now these variables are ignored like in previous versions of save function.
  • Command history was restored after reopening Scilab even when cleaned.
  • strtod did not work with negative numbers.
  • SciNotes help page was pointing to the editor() function.
  • lsslist() help pages moved to CACSD chapter.
  • surf() disabled lines(n) if there was no input variable.
  • SciNotes wrongly detected an invalid function with a semicolon after args declaration.
  • Format for purely real complex value was wrong in csvWrite.
  • Error in replot() help page examples fixed.
  • Example with marks added in xpoly help page.pmodulo(n,m

New in Scilab 5.4.0 (Oct 2, 2012)

  • GRaphicS
  • Entire refactoring of Scilab graphic capabilities in order to solve the known issues of graphical cards compatibilities and many Scilab crashes.
  • Based on SciRenderer (rendering library based on JoGL), Scilab graphics have been rewritten to provide new graphic functionalities with:
  • Better performances,
  • Better stability,
  • 2-D zoom using the mouse wheel,
  • New 3-D zoom capabilities,
  • Rotation available through the mouse right-click.
  • SciRenderer is a free and open source library developed by Scilab Enterprises for 2-D and 3-D rendering of scientific data.
  • Improved graphic exports:
  • Off-screen export (Scilab will not open a window to export with driver).
  • New bitmap formats supported: PNG, JPEG and BMP in the driver function.
  • New vectorial formats supported: PDF and SVG in the driver function.
  • Many portability issues fixed.
  • Obsolete value for line_style property:
  • 0 and 1 are equivalent values for SOLID rendering.
  • A warning message will be displayed if the user tries to set this property to 0. Setting this property to 0 will no more be supported in Scilab 5.4.1.
  • datatips tool improved on several aspects:
  • It is now possible to manage directional arrows as well as square mark markers.
  • The automatic label placement has been improved to avoid the overlapping with the curve.
  • It is now possible to have painted box or box free labels.
  • Markers can now be selected and moved using the arrow keys or deleted with the "Del" key.
  • 
  • Bug Fixes:
  • Bug # 2043 fixed - The graphic function copy() did not manage axes.
  • Thanks to Samuel Gougeon for the fix.
  • Bug # 4289 fixed - Graphic exports were not working when the drawlater or the pixmap modes were activated.
  • Bug # 4339 fixed - listvarinfile did not manage graphic handles.
  • Bug # 4818 fixed - Scilab could not export graphics which contained a lot of information.
  • Bug # 6582 fixed - A copy of a handle did not keep foreground property.
  • Bug # 6644 fixed - New graphic windows take care of default figure properties (uimenu).
  • Bug # 7412 fixed - Better management of datatips activation / deactivation.
  • Bug # 7419 fixed - Customization of datatips() is now available through a GUI.
  • Bug # 7998 fixed - %h_get failed on heterogeneous handle matrix.
  • Bug # 8239 fixed - Activation of datatips overwrote and destroyed any event_handler formerly defined. w Bug # 8241 fixed - Graphical properties were not always inherited.
  • Bugs # 8250, # 10567, # 10614 fixed - Artefacts dropped on vectorial exports (EPS/PDF/SVG).
  • Bug # 8705 fixed - Some specific graphics could not be saved.
  • Bug # 8916 fixed - Menu to export in PS format was missing in graphic figures.
  • Bug # 8965 fixed - copy function did not work for handles.
  • Bug # 9269 fixed - Specified graphic entities for legend were drawn in reverse order.
  • Bug # 9330 fixed - delete() called overloading instead of deleting the current graphic entity.
  • Bug # 9455 fixed - The contourf and contourf 2 demonstrations displayed unwanted dots.
  • Bug # 9721 fixed - tight_limits help page improved.
  • Bug # 10121 fixed - polyline.interp_color_vector where not saved or recoverable by xsave/xload.
  • Bug # 10240 fixed - In a Scilab localized in French, SVG export could use "," instead of "." for numerical separator.
  • Bug # 10290 fixed - Error message for bad assignement of interp_color_vector updated.
  • Bug # 10298 fixed - The example of datatipSetDisplay generated an error.
  • Bug # 10331 fixed - datatipCreate produced a warning and an error instead of a warning if the curve user_data was not a struct.
  • Bug # 10360 fixed - Default format for export is now PNG instead of BMP.
  • Bug # 10365 fixed - To copy a handle to a figure (instead of an axes) crashed Scilab.
  • Bug # 10395 fixed - xset("clipping", [1,2,3,4]) returned an error.
  • Bug # 10417 fixed - xget("background") returned a wrong value.
  • Bug # 10637 fixed - xs2svg crashed when the first input argument was not a figure handle. An error message is now displayed.
  • GUi:
  • Uicontrols tooltip can now be managed using the new TooltipString property.
  • Figure closure can now be managed by the user (confirmation, ...) through the CloseRequestFcn property.
  • F5 and F6 change the focus of the docked element. Improvement in the refresh of the docked elements.
  • A 'Console' handle has been created and can be obtained by calling get(0):
  • uimenus now appear as Children of this handle when they are added to the console,
  • the ShowHiddenHandles property enables the user to make some hidden graphic objects visible.
  • Scilab Console and graphic figure menus are now
  • uimenus.
  • They are hidden by default. To see them in the children list, use set(get(0), "ShowHiddenHandles", "on")
  • New uicontrols added:
  • 'image' style uicontrol: display, transformation and various other operations on images.
  • 'table' style uicontrol: display data in a table form (read-only).
  • The Value property can now contain non-integer values and allows to take full advantage of slider style uicontrols.
  • See Bug # 7380.
  • Figure resizing can now be managed by the user (uicontrol position setting, ...) through the resizefcn property.
  • cli coNSole (GNU/liNUx aND Mac oS x oNly)
  • Wide characters supported. Multiline command supported. Command line display improved.
  • List of shortcuts in NW/NWNI mode:
  • CTRL+W removes the previous word.
  • CTRL+U removes everything from the current position to the beginning of the line.
  • UP or Ctrl+P recalls the previous line.
  • DOWN or Ctrl+N recalls the next line.
  • TAB for completion. Scilab displays a list of all names (functions, variables) that start with the characters already typed by the user.
  • Ctrl + A or HOME moves the cursor to the beginning of current line.
  • Ctrl + B or LEFT moves the cursor one character to the left.
  • Ctrl + D or DELETE deletes the current character.
  • Ctrl + E or END moves the cursor to the end of command line.
  • Ctrl + F or RIGHT moves the cursor one character to the right.
  • Ctrl + H or BACKSPACE deletes the previous character.
  • Ctrl + K kills the command line from cursor to the end. w Alt+B or Ctrl+LEFT moves one word left.
  • Alt+F or Ctrl+RIGHT moves one word right.
  • Bug Fixes:
  • Bug # 3108 fixed - Some specific chars in the terminal were not correctly removed by the backspace.
  • Bug # 3400 fixed - Long lines in the history broke the display.
  • Bug # 6804 fixed - Prompt was removed in CLI mode when playing with arrow keys.
  • New function:
  • eigs function added. See SEP #82
  • eleMeNtaRy FUNctioNS
  • New functions:
  • dec2base function added. See SEP #75
  • nthroot function added. See SEP #78
  • linspace and logspace deprecate the use of non-integer values as third input argument.
  • The toeplitz macro is now vectorized.
  • SpaRSe
  • qmr function updated and modified.
  • Calling qmr(F, Fp, x) where F is a function returning A*x and Fp a function returning A'*x is deprecated. Use qmr(F, x) instead where F prototype is:
  • function y = F(x, t)
  • where t is used to make F return A*x or A'*x. Same behavior has been implemented for qmr( ..., M1, M1p, M2, M2p).
  • Scilab:
  • save/load functions can export / import Scilab data to SOD format:
  • Scilab data are saved and loaded using a standard, HDF5-based, documented, and fully tested: Scilab Open Data format (SOD).
  • Graphic handles can be saved under the SOD format. w 'save' writes data to HDF5 format when using new calling sequence save("filename.sod", "a", "b", "c"). This format is Scilab 6 compatible.
  • 'save' displays a message when using old calling sequence save("filename", a, b, c) and writes data in old Scilab binary format. This format will not be supported by Scilab 6.
  • The 'matfile2sci' function now converts MAT-files to SOD files.

New in Scilab 5.3.3 (Jul 22, 2011)

  • The Japanese and Polish localizations to fail,
  • The Mac OS X version to fail under Mac OS X 10.6.8 following Apple last update.

New in Scilab 5.3.1 (Mar 4, 2011)

  • With this new version, Scilab users can discover improvements of usability, stabilization of current features and user experiences. New functionalities and Japanese version are available on Scilab embedded help.
  • Among bug fixes, improvements and new functionalities, note in particular:
  • New in the console:
  • Scilab provides an on the fly rendering when a LaTeX expression is being typed.
  • Some performance improvements have been made for the display of long computation with a lot of output (before the more text was entered in the console, the slower was the display).
  • New in the editor:
  • Scilab users can now export code to PDF, PS, EPS and RTF.
  • New in the Embedded help:
  • A homepage has been added in the help browser to highlight the new features of Scilab and list the online available resources which might be interested for Scilab users when they look for help.
  • An incremental search bar to search for text in the browser was added.
  • In the functions help pages, many improvements have been conducted to facilitate the understanding and getting started of users:
  • Execution of any example in Scilab and edition in Scinotes
  • Execution of demonstrations
  • Opening of a Xcos diagram from the help browser
  • Links in between functions pages in the given examples
  • Scilab help is now also available in Japanese.

New in Scilab 5.3.0 (Dec 22, 2010)

  • Scilab 5.3.0 provides to users new innovative functionalities such as the first Scilab HPC (High Performance Computing) features and major ergonomics improvements of Xcos and ATOMS tools. Documentation was also improved in order to best fit users needs.

New in Scilab 5.2.1 (Feb 18, 2010)

  • Scilab 5.2.1 version includes many bugs fixes and new functionalities requested by Scilab users.
  • "Find & Replace" window has been totally rewritten and improved in Scilab Editor.
  • ATOMS now accepts local repositories. Updating a module from ATOMS graphical user interface is effective.
  • The export of figures containing Latex/MathML formulae is possible.
  • Xcos is improved with the following features:
  • During diagram edition, menu and buttons are now (de)activated according to the user actions (for example, actions related to blocks are only made available when at least one block is selected),
  • Simulation is now faster under Linux with a major bug fixed in the HDF5 library which made simulation time consuming for big diagrams,
  • Superblocks masks are now managed.

New in Scilab 5.1.1 (Apr 15, 2009)

  • Improvements:
  • Catalan localization added (Thanks Oriol Gonzalez and others)
  • German Localization added (Thanks Armin Mohring and others)
  • Spanish Localization added (Thanks Federico Vera and others)
  • Online Help translated into português do Brasil (pt_BR) added (Thanks Daniel de Souza Grilo)
  • Compilation:
  • Defining the environment variable SCI_JAVA_ENABLE_HEADLESS disables the X11 access when building the documentation (necessary when building the documentation in a chroot)
  • ./configure && make all && make distclean == tarball (ie, make distclean is cleaning all the elements)
  • In the source tree of Scilab, ant target "build-example" added in order to build only the javasci examples (cd modules/javasci && ant build-example)
  • Source reorganisation:
  • New module added call_scilab: the goal of this module is to highlight the possibility to call Scilab engine from other languages.
  • "SCI/modules/output_stream/includes/error.h" renamed to "do_error_number.h"
  • Help & Tests:
  • Some equations in the documentation converted to the MathML format (bugs #4180 & #4182)
  • Page "Compile and run with Javasci" added
  • Examples in javasci translated into english
  • Examples and unit tests added for the function find
  • Examples provided in the help of the function argn
  • Unit tests for the completion (GUI & NW/NWNI modes)
  • Minor improvements in the documentation of the ilib_* functions and fprintf
  • Unitary tests for isfield() function have been added
  • Enhancement:
  • isfield() now accepts matrix of strings (fieldnames) as second input argument. Then, it returns a matrix of booleans.
  • test_run() now accepts "skip_tests" as optionnal argument (3rd argument), if present, the second input argument of test_run is no more the list of tests to launch but the list of tests to skip. For example, test_run("time",["bug_1506" "bug_793"],"skip_tests");
  • test_run() : The following tags have been added :
  • If the operating system isn't Windows, the test is skipped.
  • If the operating system isn't an unix OS, the test is skipped.
  • If the operating system isn't Linux, the test is skipped.
  • If the operating system isn't MacOSX, the test is skipped.
  • License:
  • Examples in SCI/modules/javasci/examples/ are now released under the public domain
  • Internal API:
  • GetLengthStringMatrixByName function added in stack3.h (return length of strings)
  • Scilab / Scipad synchronisation bugs
  • A critical bug present in Scilab 5.0.X and 5.1.0 has been fixed. It has been reported a numerous number of time:
  • bug 2578 fixed - Calling input function within Scipad.
  • bug 3345 fixed - From SciPad editor ending Scilab with exit is not correct.
  • bug 3394 fixed - A malformed script originating from the editor window hangs Scilab and the editor.
  • bug 3553 fixed - System crash executing tk_getfile() from within scipad by CTRL+L.
  • bug 3643 fixed - Scilab spec function is the equivalent of Matlab function (mtlb_eig is now obsolete).
  • bug 3705 fixed - During execution of any Scipad sequence, entering abort after the prompt hang up both Scipad and Console.
  • bug 3778 fixed - Calling TK gui from Scipad.
  • bug 3799 fixed - Using xgetmouse from Scipad makes Scilab crash.
  • bug 4149 fixed - Calling TCL functions within Scipad
  • bug 4178 fixed - Scilab crash when using "legend" via Scipad.
  • bug 4196 fixed - Scipad and Scilab crashing when using menu "Execute->load into Scilab".
  • bug 4204 fixed - Strange error message when using usecanvas(%F).
  • bug 4331 fixed - Wrong result for gamma(13).
  • Bug fixes:
  • bug 3186 fixed - input is lost when graphics window is closed.
  • bug 3240 fixed - msprintf error in plotprofile.
  • bug 3587 fixed - gsort is not stable: It does not preserve the relative order of equal values creates problem with function unique.
  • bug 3852 fixed - Line wrapping problem in help browser
  • bug 3944 fixed - ilib_mex_build() wasn't using the content of the variable tables to compile other files
  • bug 3945 fixed - Error with the help example of library()
  • bug 3962 fixed - incorrect first left hand side argument of pca (one col instead of two)
  • bug 4052 fixed - A wrong usage of xmlCleanupParser (libxml2) was causing a seg fault on startup
  • bug 4067 fixed - bug with completion and some paths
  • bug 4073 fixed - mprintf does not display some special characters
  • bug 4074 fixed - Scilab now uses native MacOSX menubar.
  • bug 4088 fixed - When Tcl/Tk is disable, demos are now deactivated.
  • bug 4099 fixed - Demos mixing gui and plots were not desactivated on plateforms having usecanvas set to %T.
  • bug 4120 fixed - amell returns wrong value on Scilab x64 (Windows)
  • bug 4123 fixed - %i_prod crashs scilab (Windows release mode built with F2C only)
  • bug 4128 fixed - 'win' argument of the event_handler function did not work (was always 0 instead of current figure ID).
  • bug 4132 fixed - fullpath crashs
  • bug 4134 fixed - In some cases, bad detection of a 64 bit arch was causing a seg fault during the "make doc" process
  • bug 4242 fixed - Copyright added (INRIA code) on modules/linear_algebra/src/fortran/doldqr.f
  • bug 4150 fixed - user startup executed twice if you change directory to SCIHOME in this file.
  • bug 4159 fixed - coshlt was defined twice on windows
  • bug 4164 fixed - isinf is now defined in more recent versions of the Sun Compiler. Detection and replacement of the function is now done in the configure.
  • bug 4166 fixed - test_run was broken
  • bug 4179 fixed - The dec2hex "see also" part was missing in the help page.
  • bug 4192 fixed - When doing a getd in a directory where there are no .sci files, getd displayed a error message not clear at all.
  • bug 4197 fixed - inaccurate floating point results computed by norm with large/small vector matrices.
  • bug 4197 fixed - When warning messages are disabled, a blank line is printed out.
  • bug 4199 fixed - Missing information in findobj help page + findobj did not find figures.
  • bug 4201 fixed - Confusing error message in datafit
  • bug 4228 fixed - mclearerr with a false file descriptor crashs
  • bug 4231 fixed - graphics exports functions crash (xs2png, xs2svg, ...)
  • bug 4235 fixed - error.h renamed
  • bug 4238 fixed - waitbar and progressionbar won't close when clicking on the X in the upper-right corner of the window.
  • bug 4245 fixed - The icon of the progressionbar is a java icon. It should it be a Scilab one instead.
  • bug 4249 fixed - filter dos not work with perfect all pass system
  • bug 4250 fixed - The online help of intx function was badly located
  • bug 4258 fixed - Configure script does not contain the correct detection code for the JNI libraries under Solaris SPARC.
  • bug 4266 fixed - ones, rand, zeros functions do not remove highest dimensions equal to 1
  • bug 4269 fixed - Fix a bashim in the macros of detection of swig (causing problems with netbsd)
  • bug 4270 fixed - The module tclsci wasn't really desactivated when using the option --without-tk
  • bug 4274 fixed - Open dialog invoked from Toolbar to select file to open with Scipad has wrong "Scilab SCI files" filter instead of "All Scilab files" like dialog invoked from File -> Open a file...
  • bug 4282 fixed - When doing a symlink of scilab script, when calling this script, it changes the PWD
  • bug 4284 fixed - The online help of isfield() was missing.
  • bug 4295 fixed - mdelete no more works with "*.extension" as input (wildcard).
  • bug 4297 fixed - A spelling mistake was causing in some cases with the pfss function
  • bug 4299 fixed - getmemory is reporting bad total memory on system with a lot of memory (> 3Go)
  • bug 4301 fixed - Better reporting at the end of the configure
  • bug 4302 fixed - Do not build the helptool module when --disable-build-help is used
  • bug 4309 fixed - Under Scilab5 the dashed lines are not well displayed. They are reinitialized for each segment.
  • bug 4311 fixed - rcond(eye()) returns 1 and not eye()
  • bug 4312 fixed - Support for NetBSD in the memory detection (getmemory)
  • bug 4316 fixed - mfprintf(0,'string') does not redirect stderr as fprintf(0,...)
  • bug 4321 fixed - strcat with 3 input parameters crashs if input type parameters are wrong.
  • bug 4325 fixed - set("auto_clear","off") crashes Scilab.
  • bug 4326 fixed - move called with an already deleted handle crashes Scilab.
  • bug 4315 fixed - completion("",["commands","macros"]) will only returns "commands"
  • bug 4332 fixed - completion copies selected item instead of completing according to this one.
  • bug 4342 fixed - When the coutour function is called, an error message is printed.
  • bug 4343 fixed - the plot3d demo doesn't seems to work.
  • bug 4372 fixed - The graphics from the genetic_algorithms and simulated_annealing toolbox where not displayed.

New in Scilab 4.1.2 (May 19, 2008)

  • Editor :
  • Windows style editing: basic operations implemented.
  • Multi-diagram editing: for example copy and paste from any window to any other.
  • Documentation: fairly complete on-line help and supporting documentation.
  • Active Scilab prompt: menu activated.
  • Undo operation: one step per window.
  • Diagram browser: a much nicer replacement for the old navigator.
  • From/To workspace blocks: support vector Scilab variables of various types but not matrices.
  • Palette operations: New Palette browser.
  • Palettes: enriched Palettes of elementary blocks (Modelica blocks, Matrix operation blocks, Integer operation blocks).
  • Modelica blocks: on-line Modelica code editing and more.
  • Inspection of available parameters: available in every window.
  • Block Masking: create, delete, customize, and save Block GUI.
  • From/Goto blocks: available in every sub-system.
  • Block/Diagram data inspection: Details menu.
  • General data types: vector and matrix of double (real and complex), int8, int16, int32, signed and unsigned, for block input/outputs, discrete states and parameters.
  • Compiler :
  • New compiler algorithm: fixing some errors.
  • Support for extended data types.
  • Improved error message handling.
  • Implicitly defined multi-frequency event clocks.
  • Simulator :
  • Use of the numerical solvers of SUNDIALS.
  • Support for extended data types.
  • Improved error message handling.
  • Scope graphics based on Scilab's new graphics library: possible to edit simulation results a posteriori.
  • Code generator :
  • New algorithm adapted to the new compiler: avoids recursive calls.
  • Support for extended data types.