Вы находитесь на странице: 1из 5

Scilab 6.0.

0 alpha 1 - Release Notes

30 July 2015

32/64-bit Linux, Mac OS X, 32/64-bit Windows

This document details new features, changes, bug fixes and improvements found in Scilab 6.0.0 alpha 1 release.
Scilab 6.0.0 alpha 1 is available for download at: http://www.scilab.org/download

Whats new2
Main Limitations2
New Features3
Compilation 3
Packaging & Supported Operating Systems3
Signal Processing3
Input/Output File3
Data Structures 3
Removed Functions3
Modified Functions4
Syntax Modifications4
Deprecated Behaviors 4
Known Issues4
Scilab Bug Fixes5

Scilab 6.0.0 alpha 1 Release Notes | 1

Scilab 6.0.0 is a major new release of Scilab, the open source platform for numerical computation.
This 6.0.0-alpha-1 release, is a preview for developers, partners and community evaluation.
As an alpha, this release is not yet ready for production usage. If you are new to Scilab, or if you are simply a user of Scilab, you should
probably continue using the 5.5.2 release, and wait for a beta version before trying the 6 family.
However, if you have already developed code on Scilab, or if you are an experienced user, then you should start looking at this
release. Please try the work you have done on earlier releases of Scilab with this version: checking for compatibility may save you
time later. If you find bugs or incompatibilities, please report them on our Bug Tracker: this will help get a better product, faster,
which ultimately will be benefit you too.

What's new in Scilab 6.0.0-alpha-1?

This release 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:
w The language is much more coherent and predictable,
w The grammar is stricter, but more consistent,
w Error handling has been improved (but may still be limited in
the alpha: please report issues you find),
w 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.
w 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
- 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:
w 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,
w 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.
w ATOMS is functional, but since none of ATOMS modules
currently on http://atoms.scilab.org/ have been ported, it is not
of much use.

Scilab 6.0.0 alpha 1 Release Notes | 2

New Features

Input/Output File

scatter/scatter3 plot with different mark colors is

now available.

The use of I/O console is now allowed with the following


parulacolormap is now available.

name2rgb can now handle a single string and a matrix of

Under Windows, MKL packages are now included in Scilab
installer and no more downloaded while installing Scilab.


mget, mgetl, mgetstr, mput, mputl and mputstr.

mclearerr now returns a flag indicating the file

identifier validity.
fileinfo can now take a row vector as input.
msprintf no more returns an error message when there
are too many input arguments (more values that format

Data Structures

A C++11 compliant compiler is now needed.

cells and structs are now native types, hence improving


Java minimal version switch to 1.8.


Ant minimal version switched to 1.9.0 (for Java 1.8


w insertion and extraction must be done via () or {}.

w .dims and .entries fields have been removed, please use
size and () instead.

ecj minimal version switched to 4.4.0 (for Java 1.8



--without-xcos now only disable Xcos compilation.

Xcos graphical interface is disabled using --withoutgui.


Packaging & Supported Operating Systems

Scilab embedded JVM has been upgraded to Java 1.8.

To run or compile Scilab 6.0.0-alpha-1 you need at least:

w Windows:
- Windows 8 (Desktop)
-Windows 7
-Windows Vista SP2
-Windows Server 2008 R2 SP1 (64-bit)
-Windows Server 2012 (64-bit)
w Mac OS X:
-Intel-based Mac running Mac OS X 10.8.3+, 10.9+
w Linux:
-Red Hat Enterprise Linux 5.5+, 6.x (32-bit), 6.x (64-bit), 7.x
-Oracle Linux 5.5+, 6.x (32-bit), 6.x (64-bit), 7.x (64-bit)
-Ubuntu Linux 12.04 LTS, 13.x
-Suse Linux Enterprise Server 10 SP2+, 11.x
For more information, please consult:

w dims field has been removed, please use size instead.

w hypermatrices are natively managed (without mlist

w typeof function now returns real type like constant, string,
... instead of hypermat
w type function returns real type like 1, 10, ... instead of 17
w .dims and .entries fields have been removed, please use
size and () instead.

Removed Functions
Removed Function

New Function










Signal Processing
amell function

w now checks its parameters are real numbers,

w now throws an error if the second parameter is not a scalar.

Scilab 6.0.0 alpha 1 Release Notes | 3

Removed Function

New Function

Symbolic module functions

have been removed:

Removed functions (based on

former Scilab stack):
-mem option (used to set

stacksize at startup)

{"foo"} returns a cell not a string matrix.

Declaring non-homogenous strings ("string' or
'string") is no more allowed.
New shortcut operators have been introduced:
&& and ||.

Deprecated Behaviors
{} becomes different of [] and will be used on cells.
Syntax %i:10 is now deprecated (only real scalars can be
Writing string or string matrix in a file does not add blanck
space before each value:
write("TMPDIR/test", ["test", "sample";
"sample", "test"])
"-" + mgetl("TMPDIR/test") + "-"

while/else control instruction is no more supported.

(a=b) executed like a == b is now deprecated and
returns an error.

Known issues

Modified Functions

Xcos does not work in this version.


Debugging capabilities are not yet replugged.

exec of macro executes the body in the current scope but the

prototype must have zero input and output arguments.


An error number in input is deprecated.

Profiling capabilities are not yet replugged.

This version will start in English by default.


Recall impl with the same parameters as in its previous stop is

now available.


y0 is restricted to a column vector.


Return a scalar of type 'constant' when the rank is 0.


Return a matrix of type 'constant' when all the rank are 0.


Add a 2nd argument "overload" of get overloaded name

(typeof(cell(), "overload") -> "ce")

Syntax Modifications
Declaration of a number on two lines is no longer

Scilab 6.0.0 alpha 1 Release Notes | 4

Scilab Bug Fixes




scatter function did not exist in Scilab.


zoom_auto feature was missing on the plot toolbar.


A tlist with undefined fields can now be saved.


Mixing int8 and doubles with colon operator led to wrong results.


Using non-integer indexes for mlists made Scilab crash.


isdef crashed Scilab when called with a vector of strings as input in a function and after a declaration of variables.


Invalid margins were computed when figure was not visible.


mean and sum functions returned wrong results for hypermatrices.


Drawing a high number of strings in a figure generated a Java exception.


Sparse and complex substraction made Scilab crash.


Under some operating systems, SciNotes did not initialize a new document at startup.


There were some issues with FFTW3 library.


datatipRemoveAll did not work.


Rationals r1==r2 and r1~=r2 might sometimes be wrong.


SciNotes used the wrong paired bracket highlight style.


Internal timestamps of HDF5 files prevented having a fixed hash for a unvarying set of saved objects.


A space has been added between Scilab prompt and cursor.


Wildcard ('*') was not managed in printf expressions.

All bugs description and fix can be found online at http://www.bugzilla.scilab.org/bugnumber.

Scilab 6.0.0 alpha 1 Release Notes | 5