Update of the test
[scilab.git] / scilab / CHANGES
1                      Main Changes Scilab 4.X -> 5.0
2                      ==============================
3
4 License:
5 ========
6  - License changed to CeCILL (fully compatible with the GPL v2)
7         More information about the CeCILL http://www.cecill.info/index.en.html
8         Therefore, Scilab is now a 100% free software.
9
10 Graphical User Interface:
11 =========================
12  - Advanced docking system
13  - Follow the Tango Desktop Project http://tango.freedesktop.org/
14  - GUI re-written in Java Swing:
15         + Same GUI for all OS (Menubars, toolbars...)
16         + Window docking available using FlexDock https://flexdock.dev.java.net/
17  - Uicontrols are now Java objects: they can be included in a graphic window with graphics and are managed as graphic handles in Scilab
18  - Uimenus are now Java objects and are managed as graphic handles in Scilab
19  - Uimenus and Uicontrols can be saved and loaded like other graphic entities using save and load functions
20  - Dialogs are now Java objects (x_message, x_dialog...)
21  - Completion on variable and function names avaible using TAB key or CTRL-SPACE
22
23 Event Handling Functions:
24 =========================
25  - All the event hadling functions "xclick", "xgetmouse" and the "envent_handler"
26        * they have been rewritten in Java   
27        * they use the same "-1000" code to signal the "window close" actions 
28          (previously "xclick" and "xgetmouse" used "-100" code) 
29  - Obsolete functions:
30        * Using xgetmouse with a flag to avoid the event queue to be cleared is now obsolete. This functionnality will be removed in Scilab 5.1.
31
32 Graphics:
33 =========
34  - New rendering engine based on JOGL (Java Binding for the OpenGL API):
35         * Support 3D hardware acceleration.
36         * Facet ordering issues fixed with the use of Z-buffer.
37  - Text possibilities extended:
38         * Support for floating point sizes.
39         * Text object are able to handle matrices of strings.
40  - All graphic objects are fully operational both in 2D and 3D modes.
41  - Clipping is operational both in 2D and 3D modes.
42  - New functions:
43         * swap_handles - Permute two handles in the graphic hierarchy.
44         * relocate_handle - Move handles inside the graphic hierarchy.
45         * get_figure_handle - Get a figure handle from its id without changing current figure.
46         * rotate_axes - Interactive rotation of an Axes handle.
47         * is_handle_valid - Check wether a set of graphic handles is still valid.
48  - Behavior changes:
49     * clf now deletes user menus which are children of the figure (Created by addmenu or uimenu).
50  - Obsolete functions:
51     * xclea, xaxis, loadplots and xtape functions have been removed because of their incompatibilities with the new graphic syntax.
52
53 Graphic file export:
54 ====================
55   - xs2jpeg, xs2png, xs2svg, xs2pdf functions added to export graphics under JPEG, PNG, SVG and PDF formats.            
56   - Option color in xs2eps and xs2ps has been removed.
57   - Export GUI has been rewritten to match the new Java Swing style.
58
59
60 Signal processing:
61 ==================
62  - FFTW (Fastest Fourier Transform in the West) features added in Scilab.
63         + fftw                - fast fourier transform that use fftw library
64         + fftw_flags          - set computation method of fast fourier transform of
65                                 the fftw function
66         + fftw_forget_wisdom  - reset fftw wisdom
67         + get_fftw_wisdom     - return fftw wisdom
68         + set_fftw_wisdom     - set fftw wisdom
69         + disposefftwlibrary  - free fttw library
70         + fftwlibraryisloaded - checks if fftw library is loaded
71
72
73 Sparse LU factorization:
74 ========================
75  - UMFPACK features added in Scilab. Many thanks to Bruno Pincon.
76         + umfpack       - Solve sparse linear system 
77         + umf_lufact    - LU factorisation of a sparse matrix 
78         + umf_lusolve   - Solve a linear sparse system given the LU factors
79         + umf_luinfo    - Get information on LU factors
80         + umf_luget     - Retrieve LU factors at the Scilab level 
81         + taucs_chfac   - Cholesky factorisation of a sparse Symmetric Positive Definite (s.p.d.) matrix
82         + taucs_chsolve - Solve a linear sparse (s.p.d.) system given the Cholesky factors
83         + taucs_chinfo  - Get information on Cholesky factors
84         + taucs_chget   - Retrieve the Cholesky factorization at the Scilab level
85         + res_with_prec - Computes the residual r = Ax-b with precision
86         + cond2sp       - Computes an approximation of the 2-norm condition number of a s.p.d. sparse matrix
87         + condestsp     - Estimate the condition number of a sparse matrix
88         + PlotSparse    - Plot the pattern of non nul elements of a sparse matrix 
89         + ReadHBSparse  - Read a Harwell-Boeing sparse format file
90
91 Optimization:
92 =============
93   + qpsolve       - Linear quadratic programming solver
94   + qp_solve      - Linear quadratic programming solver builtin
95   - quapro        - This function has been moved in a toolbox (due to license restrictions from the Universidad de Cantabria)
96   - linpro        - This function has been moved in a toolbox (due to license restrictions from the Universidad de Cantabria)
97
98 Genetic Algorithms:
99 ===================
100  - Genetic algorithms have been added into Scilab. Many thanks to Yann Collette
101         + codage_binary                 - Performs conversion between binary and continuous representation
102         + codage_identity               - "no-operation" conversion function
103         + crossover_func_binary         - Crossover function for binary code
104         + crossover_func_default        - Crossover function for continuous variable functions
105         + init_func_default             - Initialize a population 
106         + mutation_func_binary          - Performs binary mutation 
107         + mutation_func_default         - Continuous variable mutation
108         + optim_ga                      - Flexible genetic algorithm 
109         + optim_nsga                    - Multi-objective Niched Sharing Genetic Algorithm
110         + optim_nsga2                   - Multi-objective Niched Sharing Genetic Algorithm version 2
111         + pareto_filter                 - Extracts non dominated solution from a set
112         + selection_func_elitist        - 'Elitist' selection function 
113         + selection_func_random         - Random selection of individuals 
114
115
116 Param/parameters module:
117 ========================
118  - This package allows to deal with list of parameters efficiently (like optim_set in Matlab from The Mathworks (TM)). Many thanks to Yann Collette
119         + add_param             - Add a parameter to a list of parameters
120         + get_param             - Get the value of a parameter in a parameter list
121         + init_param            - Initialize an empty parameter list
122         + is_param              - Check if a parameter is present in a parameter list
123         + list_param            - List all the parameters name in a list of parameters 
124         + remove_param          - Remove a parameter and its associated value from a list of parameters 
125         + set_param             - Set the value of a parameter in a parameter list 
126
127
128 Simulated Annealing:
129 ====================
130  - Simulated annealing (SA) is a generic probabilistic meta-algorithm for the global optimization problem. Many thanks to Yann Collette
131         + compute_initial_temp          - Compute the initial temperature of the simulated annealing
132         + neigh_func_csa                - The classical neighborhood relationship for the simulated annealing 
133         + neigh_func_default            - Computes a neighbor of a given point
134         + neigh_func_fsa                - The Fast Simulated Annealing neghborhood relationship 
135         + neigh_func_vfsa               - The Very Fast Simulated Annealing neighborhood relationship 
136         + optim_sa                      - Simulated Annealing optimization method 
137         + temp_law_csa                  - The classical temperature decrease law
138         + temp_law_default              - Computes the temperature of the next temperature stage 
139         + temp_law_fsa                  - The Szu and Hartley Fast simulated annealing
140         + temp_law_huang                - The Huang temperature decrease law for the simulated annealing
141         + temp_law_vfsa                 - The Very Fast Simulated Annealing from L. Ingber 
142
143
144 Other Numerical Functions
145 =========================
146  - new functions 
147         + filter                - signal filtering 
148         + erfinv                - inverse of the erf function
149         +                       - support for rational fraction hypermatrices added
150  - Bug fixes
151         + Major bug in qld fixed
152
153 Input/Output functions (files):
154 ===============================
155  - New functions:
156         + getdrives           - get the drive letters of all mounted filesystems on the computer.
157         + getrelativefilename - given an absolute directory and an absolute filename, returns a relative file name.
158         + fullpath            - creates an full path name for the specified relative path name.
159         + is_absolute_path    -
160         + createdir           - make new directory
161         + removedir           - remove a directory
162         + deletefile          - delete a file
163         + fileext             - returns extension for a file path
164         + filesep             - returns directory separator for current platform
165         + pathsep             - returns path separator for current platform
166         + maxfiles            - sets the limit for the number of files a scilab is allowed to have open simultaneously.
167         + findfiles           - Finds all files with a given filespec
168
169  - Profile changed:
170         + ls under Linux/Unix has lost his second input argument (unix/linux command line option). It is now based on listfiles. ls in Scilab 5 will always return one file per line (2 per lines before)
171         + cd and chdir now return a boolean instead of 0 or an error as it used to. T (true) means that operation was successful while F (false) means that operation failed
172         
173  - Rewrite in native code:
174         + isdir
175         + newest
176
177
178 Regular expression features:
179 ============================
180  - Based on the library PCRE
181  - Involved functions
182         + grep(...,'r')
183         + regexp
184         + strindex(...,'r')
185         + strsubst(...,'r')
186
187
188 String manipulation:
189 ====================
190  - New functions:
191         + blanks     - create string of blank characters 
192         + isalphanum - check that characters of a string are alphanumerics
193         + isascii    - tests if character is a 7-bit US-ASCII character
194         + isdigit    - check that characters of a string are digits between 0 and 9
195         + isletter   - check that characters of a string are alphabetics letters
196         + regexp     - find a substring that matches the regular expression string
197         + strchr     - locate first occurrence of character in string
198         + strcmp     - compare character strings
199         + strcmpi    - compare character strings (case independent)
200         + strcspn    - get span until character in string
201         + strncpy    - copy characters from strings
202         + strrchr    - locate last occurrence of character in string
203         + strrev     - returns string reversed
204         + strspn     - get span of character set in string
205         + strstr     - locate substring
206         + strtod     - convert string to double
207         + strtok     - split string into tokens
208
209
210 System relative Functions:
211 =========================
212  - New functions:
213         + getdebuginfo          - returns informations about scilab and your system
214         + getscilabmode         - returns scilab mode
215         + getvariablesonstack   - get variable names on stack of scilab
216         + getmd5                - get the MD5 checksum of strings or files.
217         + getmodules            - returns list of modules installed in Scilab
218         + with_module           - Checks if a Scilab module is installed
219         + islittleendian        - Checks if machine architecture is "little-endian"
220         + librarieslist         - get scilab libraries
221         + libraryinfo           - get macros and path of a scilab library
222         + completion            - returns words that start with the text you pass as parameter.
223         + add_profiling         - prepare a function for profiling
224         + remove_profiling      - remove  profiling instruction in a function
225         + reset_profiling       - reset  profiling data of a function
226
227  - Rewrite in native code:
228   + warning
229   
230  - Profile changed:
231         + unix_g                - a third output argument (optional) has been added to get standard error output in a variable.
232
233
234 Time and date functions:
235 ========================
236  - New functions:
237         + clock   - return current time as date vector
238         + eomday  - return last day of month
239         + weekday - return day of week
240         + now     - return current date and time
241
242
243 Binary, octal and hexadecimal representation:
244 =============================================
245  - New functions:
246         + bin2dec  - return integer corresponding to a binary form
247         + bitand   - AND applied to binary representation of inputs argument
248         + bitcmp
249         + bitget
250         + bitor    - OR applied to binary representation of inputs arguments
251         + bitxor   - XOR applied to binary representation of inputs arguments
252         + dec2bin  - return binary representation
253         + dec2oct  - return octal representation of integers
254
255
256 jvm module:
257 ===========
258         + with_embedded_jre        - checks if scilab uses a embedded JRE
259         + system_getproperty       - gets the system property indicated by a specified key.
260         + javaclasspath            - set and get dynamic Java class path
261         + javalibrarypath          - set and get dynamic java.library.path
262
263
264 Localization:
265 =============
266  - All the standard, warning and error messages have been rewritted to uniform output and also to provide more feedbacks to the user.
267  - Scilab is coming with the included french localization (basic GUI for the beta version)
268  - Russian localization (by Vorona Aleksey)
269  - Traditionnal chinese localization (by Yung-Jang Lee)
270  - Simplified chinese localization (by Shiqi Yu)
271  - New functions:
272         + gettext(string) / _(string) - get text translated into the current locale
273                                         and domain
274         + dgettext                    - get text translated into the current
275                                         locale and a specific domain domain
276         + setlanguage(string)
277         + getlanguage()
278
279
280 Online Help management:
281 =======================
282  - New Java help browser
283  - New help system based on DocBook
284  - New functions:
285         + check_help
286         + del_help_chapter
287         + add_module_help_chapter
288         + del_module_help_chapter
289         + xmltojar
290         + xmltopdf
291         + xmltops
292         + xmltochm
293  - xmltohtml function is now deprecated
294  - For more information, have a look to :
295     + http://wiki.scilab.org/howto/scilab_documentation_kit
296     + SCI/modules/helptools/doc directory
297
298
299 Metanet : graph and network toolbox
300 ===================================
301  - Data structures have been reorganized and made more flexible (user
302    can define and handle its own data fields for nodes and edges)
303  - New functions:
304         + hilite_edges   - highlights a set of edges
305         + unhilite_edges - unhighlights a set of edges
306         + hilite_nodes   - highlights a set of nodes
307         + unhilite_nodes - unhighlights a set of nodes
308         + add_edge_data  - associates new data fields to the edges data structure 
309                            of a graph
310         + add_node_data  - associates new data fields to the nodes data structure
311                            of a graph
312         + arc_length
313         + nodedatafields - returns the vector of node data fields names
314         + set_edges_id
315         + set_nodes_id
316         + show_arcs      - highlights a set of arcs
317         + show_edges     - highlights a set of edges
318         + update_graph   - converts an old graph data structure to the current one
319
320
321 Windows_tools:
322 ===============
323  - New functions:
324         + consolebox          - show or hide console box
325         + findfileassociation - searches for and retrieves a file association-related string from the registry.
326         + dos                 - shell (cmd) command execution 
327         + win64               - determine whether Windows x64 version of Scilab
328         + istssession         - determine if scilab is launched from a ms terminal service session.
329         + getsystemmetrics    - retrieves the specified system metric or system configuration setting.
330         + createGUID          - creates a Globally Unique IDentifier (GUID)
331
332
333 History manager:
334 ================
335  - New functions:
336         + displayhistory          - displays current scilab history
337         + addhistory              - add lines to current history
338         + saveconsecutivecommands - Save consecutive duplicate commands
339         + saveafterncommands      - Save the history file after n statements are added to the file.
340         + gethistoryfile          - get filename used for scilab's history
341         + sethistoryfile          - set filename for scilab history
342         + removelinehistory       - remove the Nth line in history.
343         + historysize             - get number of lines in history
344         + historymanager          - enable or disable history manager
345
346  - Rewrite:
347         + loadhistory
348         + savehistory
349         + gethistory
350         + resethistory
351
352
353 Consoles:
354 =========
355  - Based on a joint project Artenum ( http://www.artenum.com ) - INRIA/Scilab called Jrosetta
356  - Completion
357         + Functions
358         + Variables
359         + Paths
360  - Advanced completion also available in NW & NWNI modes
361
362 Modules/toolboxes template:
363 ===========================
364  - A template model has been defined to normalize how modules and toolboxes 
365         should be.
366         + See http://wiki.scilab.org/Scilab_Module_Architecture for module
367         + See contrib/toolbox_skeleton/ for toolboxes
368
369
370 Source reorganisation:
371 ======================
372  - Source code split into dedicated and clear modules
373  - Clear separation between the Scilab gateway (argument management, etc) and 
374         the code
375  - Use XML declaration for the list of functions
376  - Use XML declaration for the list of modules (and activation or not)
377  - Massive cleanup of the code 
378  - Thousand of warnings removed
379  - First step to a future Scilab API
380
381
382 New Scilab Functions:
383 =====================
384  - Function rewrited from Fortran to C for better maintenance
385
386
387 Scilab modes:
388 =============
389  - Scilab is now available in four modes:
390         + Normal mode
391                 The standard Java
392         + NW (No window) mode
393                 Run in command line but can launch help or rendering/graphics 
394                 (loads the Java Virtual Machine)
395         + NWNI (No window No interactive) mode
396                 Run in command line but no help, TCL or rendering
397                 (does not load the Java Virtual Machine)
398         + API mode
399                 Scilab as API/computing engine
400
401
402 GNU/Linux - Unix:
403 =================
404  - New configure (based on autoconf)
405  - New compilation process (based on automake and libtool)
406  - LSB/FHS compliant
407  - Switched to dynamic libraries
408  - Advanced numerical libraries can be used (Atlas, MKL...)
409  - Use librairies when available on the system
410  - Build by default with gfortran
411  - Versioned libraries
412  - Easier profiling (memory and call graph)
413  - Better startup script
414         + Debug
415         + Profiling (valgrind)
416
417
418 Windows:        
419 ========
420  - Compilation process :
421         + Visual Studio 2008 solution (requires Intel Fortran 10.1) support (x86 & x64)
422         + Visual Studio 2008 express solution (fortran conversion with f2c) support
423  - Dynamic libraries    
424  - Atlas 3.8 support (Core 2 Duo and more support)
425  - Intel Math Kernel Library support
426  - Better support on Windows Vista
427
428
429 Dynamic/incremental link:
430 =========================
431  - Module renamed to dynamic link
432  - Visual Studio 2008 support
433  - Intel Fortran 10 support on Windows
434  - Under Linux/Unix, now based on basic autotools for the detection of compiler
435         and compilation.
436  - New functions:
437   + getdynlibext - get the extension of dynamic libraries on your operating system.
438  - Function improved:
439   + ilib_for_link - now accept the actual filename (not only filename.o but also filename.c or filename.f)
440
441
442 TCL/TK:
443 =======
444  - New event loop 
445         + @TODO detail
446  - Provided with version 8.5 of TCL/TK
447  - Removed Functions:
448         + tcl_?
449         + demoplay is obsolete
450         + sciGUIhelp is obsolete 
451  - TCL_Create slave now allows to create "safe" or "unsafe" slave interpreters (new option added)
452
453 Java/Scilab API:
454 ================
455  - Refactoring of the Java API
456
457
458 Tests:
459 ======
460  - Tests are now embedded into Scilab (binary and sources)
461  - Many tests added 
462         + Unitary
463         + Non regression
464         + Benchmarks
465  - New functions:
466     + test_run
467     + unitary_test_run
468     + nonreg_test_run
469
470 OTHERS IMPROVEMENTS:
471 ====================
472  - Update to the new version of Lapack (3.1.1)
473
474 Internal API:
475 =============
476  - Used in functions GetRhsVar, PutLhsVar... The datatype naming have been 
477         changed to:
478         + "c" => STRING_DATATYPE
479         + "S" => MATRIX_OF_STRING_DATATYPE
480         + "d" => MATRIX_OF_DOUBLE_DATATYPE
481         + "r" => MATRIX_OF_RATIONAL_DATATYPE
482         + "I" => MATRIX_OF_VARIABLE_SIZE_INTEGER_DATATYPE
483         + "i" => MATRIX_OF_INTEGER_DATATYPE
484         + "b" => MATRIX_OF_BOOLEAN_DATATYPE
485         + "z" => MATRIX_OF_COMPLEX_DATATYPE
486         + "s" => SPARSE_MATRIX_DATATYPE
487         + "l" => LIST_DATATYPE
488         + "t" => TYPED_LIST_DATATYPE
489         + "m" => MATRIX_ORIENTED_TYPED_LIST_DATATYPE
490         + "p" => SCILAB_POINTER_DATATYPE
491         + "h" => GRAPHICAL_HANDLE_DATATYPE
492         + "f" => EXTERNAL_DATATYPE
493         These declarations are in modules/core/includes/stackTypeVariable.h
494  - define TRUE_ and FALSE_ removed for TRUE and FALSE
495  - Many other things... Have a look to the sources...
496
497
498 Scicos:
499 =======
500  - Test framework currently under development:
501   + Unitary tests (95% done)
502   + Non-regression tests (vs. Scicos 4.2 in Scilab 4.1.2) (95% done)
503   + Benchmarks (0% done)
504
505
506 Known incompatibilty
507 --------------------
508
509   - The Metanet graph data structure has been completely redesigned
510     see update_graph for translation, Graph saving is not more
511     possible in a formatted way.
512
513   - due to a bug fix the xstringb x and y arguments meaning had
514     changed "lower" and "left" are now relative to user coordinates
515     order.
516
517   - the xgetmouse flag option has been removed 
518
519   - Due to license restrictions from the Universidad de Cantabria, the quapro 
520         and linpro functions are no more available in the Scilab distribution, but
521         as an external toolbox.
522
523                      Main Changes Scilab 3.0 -> 4.0
524                      ==============================
525
526 Graphics:
527 =========
528
529   - Graphical entities (objects) have been extended with a particular effort on:
530     + The Axes entity with respect to change of coordinates (logscale enable, 
531       axes inversion in 2D and 3D) and graduation display.
532     + Versatile Title and labels entities in 2D and 3D.
533     + 3D object merge and zoom.
534     + Rotation of text entities.
535     + Save and load of all graphical entities.
536
537   - New functions have been defined to mimic their Matlab equivalent:
538     + plot.
539     + surf.
540     + mesh.
541     + bar, barh and barhomogenize.
542     + pie.
543
544   - Graphical Environment improved and extended:
545     + Manipulation of the hierachy of the entities has been made easier thanks 
546       to a hierachy browser.
547     + Annotation edition is now possible with the Insert menu and toolbar. 
548       Text, polylines, arrows, rectangles, circles, lines can be added.
549     + Copy/Paste/Delete/Move Menus allow to customize graphics and Annotations.
550
551   - Graphic window Events (mouse, keyboard,...) handling have been improved and 
552     extended:
553     + click, double_click, press, release ,move.
554     + key press and release, with or without Shift and Ctrl modifiers.
555
556   - xs2bmp xs2emf functions added to export graphics under bmp and EMF
557     (Enhanced Meta File) formats. These functions are only available under
558     Windows.
559
560   - Colorbar function added. Thanks to Bruno Pincon.
561
562   - Under Windows a toolbar  has been added to the graphic windows, the 
563     function toolbar can be used to set or unset it.
564
565
566 Numerical computation:
567 ======================
568
569   - Sparse operations and functions like real, imag, matrix, spones revisited to 
570     improve efficiency. Thanks to Bruno Pincon.
571
572   - Bessel functions extended to work in the complex case (using Slatec routines)
573     Incompatibilities: The semantics of besseli, besselj, besselk and bessely 
574     functions has been changed and extended.
575     The oldbesseli, oldbesselj, oldbesselk and oldbessely correspond to the old
576     obsolete semantics.
577
578   - New version of linpro and quapro. Thanks to Cecilia Pola.
579
580   - bvodeS function added to solve differential equation with boundary value. 
581     Thanks to Rainer Von Seggern.
582
583   - detrend function added to remove constant, linear or piecewise linear trend 
584     from a vector. Thanks to Bruno Pincon.
585
586   - Interface with Excel (Functions to read Excel files).
587   
588
589
590 Matlab to Scilab converter:
591 ===========================
592
593   - translatepaths function improved to allow conversion on an entire toolbox 
594     agating inference throught toolbox functions.
595     
596   - The set of translated function has been extented in particular with the 
597     basic graphic functions.
598     
599   - Scilab function sum, prod,... extented to the "first non singleton" matlab
600     semantics to improve readability and efficiency of translated code.
601     
602   - Try catch construct added to Scilab for a better translation.
603
604
605 Scipad editor:
606 ==============
607
608   - A debugging tool is now available.
609
610   - Drag'n'drop is now supported.
611
612   - Split a Scipad window.
613
614   - Print file from Scipad is now available.
615
616   - Scipad is easily localized (See "Adding translations..." in the Scipad Help
617     Menu). Today English, German, French, Swedish, Polish, Norwegian and Italian 
618     languages are supported.
619
620   - User settings and text colors are now configurable and save across editing 
621     sessions.
622
623   - Colorization of strings rewritten - now supports strings on continued lines.
624
625   - Colorization of files launched in the background, with progressbar.
626
627   - Miscellaneous file management improvements: readonly flag, 
628     absolute pathnames to files, pruned pathnames display, revert to 
629     saved feature, MRU (Most Recently Used) list.
630
631   - Quick access in the file menu for recently opened/saved files.
632
633   - Identification of Scilab predefined variables and library functions in 
634     scilab scripts.
635
636   - Keyword completion added, keyword list now completely dynamical.
637
638   - Undo/Redo rewritten.
639
640   - Go to... functions rewritten and expanded.
641
642   - Find/Replace rewritten, includes find files, find in files, find in multiple 
643     buffers, find in selection only, find full word.
644
645   - Creation of XML help page templates and xmltohtml compilation available from 
646     within Scipad.
647
648 Syntax:
649 =======
650
651   - try-catch instruction added to improve programming with error control.
652
653
654 Other Improvements:
655 ===================
656
657   - Configure adapted to linux 64bit architectures.
658
659   - Use tcltk 8.4.12 - TCL interface has been totally rewritten (for better 
660     error detection and better data transfert). ScilabEval improve to handle 
661     synchronism.
662
663   - Memory improvements under Windows platforms (particularly the management 
664     of virtual memory or swap file).
665     
666   - Exception management added under Windows version.
667
668   - Windows platforms with:
669     + Intel C Compiler 9.0.
670     + Intel Fortran 9.0.
671
672   - The source files have been updated to optimise the compiled version built
673     with VC6 tool. Please note that the Windows binary version provided on 
674     our Web site is built with .NET
675     
676   - Improvement of the integration of Visual Studio Compiler to the dynamic 
677     links: findmsvccompiler() and configure_msvc() macros have been added.
678
679   - Integration of the ATLAS library (specific Windows version).
680     During the installation of Scilab, dynamic library (Atlas.dll) is 
681     automatically chosen according to the CPU detected.
682     See details in the Atlas.spec file under scilab\bin directory.
683     
684     Scilab can be used with Atlas library on all platforms by:
685     
686     + downloading Atlas library sources.
687     + compiling Atlas sources.
688     + compiling scilab sources with the following configure option : 
689          --with-atlas-library=ATLAS_LIB_DIRECTORY
690          
691       (see <SCI>/configure --help).
692     
693   - Java interface written to allow calling Scilab computational engine from Java.
694
695   - Font rotation is now possible under Xwindow.
696
697   - SCI and HOME are redefined if not correct ( Bug 1488 Only for Windows ).
698
699   - HOME variable (%HOME%) defined under Windows: c:/Documents and Setting/USER.
700
701   - New environment variable SCIHOME:
702     + Under Windows: %HOME%\scilab\SCILAB_VERSION
703     + Under Linux: $HOME/USER/.scilab/SCILAB_VERSION
704
705   - Function what() has been rewritten : alphabetical sort, print modified.
706
707   - mkdir, rmdir, copyfile, toprint functions added for handling files and
708     directories from Scilab.
709
710   - getshortpathname, getlongpathname, winqueryreg (Registers), console, 
711     mcisendstring (MCI device), clipboard, functions added for a better 
712     interaction with Windows environment.
713
714   - getos, setenv, getmemory, sleep, functions added for a better interaction 
715     with the operating system (Unix and Windows).
716
717   - The perl function as been added to allow execution of Perl scripts from 
718     Scilab.
719
720   - The calendar function has been added.
721
722
723 New primitives:
724 ===============
725
726   - clipboard (specific Windows)
727   - perl
728   - calendar
729   - mkdir
730   - rmdir
731   - copyfile
732   - sleep
733   - getos
734   - setenv
735   - toprint("file")
736   - getmemory()
737   - getshortpathname (specific Windows)
738   - getlongpathname (specific Windows)
739   - toolbar (specific Windows)
740   - hidetoolbar (specific Windows)
741   - console (specific Windows)
742   - mcisendstring (specific Windows)
743   - banner
744   - winqueryreg (specific Windows)
745   - xls_open
746   - xls_read
747   - scicos_debug_count
748
749
750 Please note:
751 ============
752
753   - "xgetmouse", "eventhandler" event set extended to click, double-click, <Ctrl> Key. 
754     See more details in xclick and xgetmouse on line help.
755     Warning: Because of distinction of click events, some users' scripts can 
756     have a different behavior.
757     To make it work as before please check and modified test on events as follow:
758     supposing that button contains the value returned by xclick (left most argument) 
759     or xgetmouse (third componant of returned vector) then replace test like:
760       button==0 by or(button==[0,3])
761       button==1 by or(button==[1,4])
762       button==2 by or(button==[2,5])
763
764
765
766                      Main Changes Scilab 3.0 -> 3.1
767                      ==============================
768 NEW FUNCTIONALITIES
769 ===================
770 xsave and xload function now work for new graphic mode
771 A Scilab code debugger is now available under scipad (thanks to F Vogel)
772
773 OTHERS IMPROVEMENTS
774 ===================
775 Graphic editor has been extended
776
777 Graphic entity proterties have been extended
778
779 the besseli, besselj, besselk and bessely functions have been extended
780 to the complex case and to non regularily spaced alpha
781
782
783 INCOMPATIBLITIES
784 ================
785 The semantics of besseli, besselj, besselk and bessely functions has been changed and extended. The 
786 oldbesseli, oldbesselj, oldbesselk and oldbessely correspond to the old obsolete semantics.
787
788
789                      Main Changes Scilab 2.7 -> 3.0
790                      ==============================
791 NEW FUNCTIONALITIES
792 ===================
793  NUMERICAL ALGORITHMS
794   - arpack algorithms for sparse matrix eigenvalues/eigenvectors computation added 
795   - Levenberg-Marquardt algorithm of Minpack used to define function lsqrsolve
796   - beta and legendre function added (thanks to Bruno Pincon)
797   - New 1D 2D 3D interpolation functions  (thanks to Bruno Pincon)
798  GRAPHICS and GUI
799   - graphical editor available
800   - demoplayer, variable browser, variable editor GUI added (thanks to Jaime Urzua Grez)
801  MISC
802   - Scicos has been extended to handle non causal systems description (supported by RNTL)
803   - Matlab to Scilab translator has been re-written, and extended to current Matlab syntax.
804 OTHERS IMPROVEMENTS
805 ===================
806  SCICOS
807   - Better discontinuities handling in Scicos
808   - An enlarged set of blocks
809   - A new API for simulation functions
810  GRAPHICS
811   - New graphic mode has been debugged and extended. It is now the default mode
812   - More efficient 3D Zoom (thanks to E Segre)
813   - Helvetica (Arial on Windows) fonts added (corresponding font identifiers are
814     from 6 to 9) (thanks to B Pincon)
815   - Graphic windows refresh improved under Windows
816   - figure sizes can now be taken into account in Postscript export 
817  GUI
818   - Improved scipad, shortcuts, language handling, colorization, bug fixes.. 
819     (thanks to Enrico Segre and Francois Vogel)
820    - New imbedded help and html browser  (thanks to Jaime Urzua Grez)
821    - Main Scilab window improvedunder  Windows (standard editing facilities, menus,...)
822  SYNTAX
823   - continue instruction added
824   - [a(i,j),b(..),..]=foo(..) syntax is now handled
825   - for loop variable is no more removed at the end of the loops
826   - logical expressions shortcuts handled in if and while
827   - functions with no argument can be called without () if called as a command
828   - More efficient number parsing (thanks to Bruno Pincon)
829  MISC
830   - N dimensionnal matrices efficiency improved (thanks to Bruno Pincon)
831   - cd, ls, clc, clf, tohome functions added
832   - Elementary functions evaluation in the complex plane revisited  (thanks to Bruno Pincon)
833   - History of commands rewritten to make it persistant between calls to Scilab
834
835
836  PORTS
837  - Scilab has been adapated to IA64 architecture
838
839 INCOMPATIBLITIES
840 ================
841 - returned arguments f1 f2 f3 of interp have been transposed
842 - variable named cd, ls, color,... should be renamed  to avoid run time warnings
843 - The instructions <function_name>; used to load the sub-functions of the file 
844   <function_name>.sci within a function have to be rewritten <function_name>=<function_name>;
845
846                      Main Changes Scilab 2.6 -> 2.7
847                      ==============================
848 THANKS
849 ======
850 Scilab group wants to thank the increasing number of people who have
851 contributed to this new version of Scilab, with special mention to 
852 Anders Blomdell, St�phane Mottelet, Dan McMahill
853 Ton van Overbeek, Bruno Pincon and Enrico Segre.
854
855
856 NEW FUNCTIONALITIES
857 ===================
858 Slicot based control routines (www.win.tue.nl/wgs/slicot.html)
859 have been introduced with a special attention 
860 to identification functions, lyapunov, sylvester and riccati equation solvers.
861
862 Interface with TeXmacs (www.texmacs.org) a high level scientific text editor. 
863 The editor allows you to write structured documents via a wysiwyg interface 
864 including Scilab sessions and results.
865
866 An embedded text editor scipad derived from TkNotepad 
867 (www.mindspring.com/~joeja/programs.html) as been developped.
868
869 C Code generation from Scicos discrete models 
870
871 Blocks defining DAE are now usable in Scicos.
872
873 Statistic toolbox added (labostat).
874
875 A new graphics version based on objects and entities has been developped
876 (beta version). It allows to edit the properties of graphics
877 objects. By default, the old graphics version is used. Tu use the new graphics
878 version see the help of "graphics_entities".
879
880 OTHERS IMPROVEMENTS
881 ===================
882 Linear algebra primitives now based on Lapack instead of Linpack/Eispack.
883
884 Basic functions revised (thanks to B Pincon).
885
886 stacksize use is no more restricted.
887
888 Hypertext, xml based, online help.
889
890 Binary Matlab file .mat loader (loadmatfile) added.
891
892 Possibility to customize graphics window event handlers (seteventhandler).
893
894 PVM interface now also works with Windows versions.
895
896 edit_graph, a graph editor for Metanet toolbox, written in Scilab, replaces
897 xmetanet. It works on both Unix and Windows.
898
899 INCOMPATIBLITIES
900 ================
901 It is higly recommended to rebuild user's scilab functions libraries. This 
902 can be done as follow:
903 predef(0);genlib('mylib','mylib_path',%t)
904
905 gschur and gspec functions are now obsolete and replaced by schur and spec.
906
907 Geci and the communication library have been removed. Use PVM interface instead.
908
909 Metanet graph editor has been rewritten. Use edit_graph instead.
910
911 man pages have to be written in HTML or better in XML but chapters 
912 written in the old ascii files are still handled.
913
914 Scicos internal data structure have been changed. Automatic translation 
915 is made when  old diagrams are loaded.
916
917                      Main Changes Scilab 2.5 -> 2.6
918                      ==============================
919 THANKS
920 ======
921 Scilab group wants to thank the increasing number of people who have
922 contributed to this new version of Scilab, with special mention to 
923 Anders Blomdell, Lydia Ellen van Dijk, Stephane Mottelet, Dan McMahill
924 Ton van Overbeek, Bruno Pincon and Enrico Segre.
925
926
927 NEW FUNCTIONALITIES
928 ===================
929 Automatic graphic rescaling when combining 2D plots, axis handling
930
931 Isometric 3D plots. Thanks to Enrico Segre
932
933 3D plots shading. Thanks to Stephane MOTTELET
934
935 Error messages handling
936
937 Grep function added
938
939 Modeless message box added
940
941 Profiling of functions execution added
942
943 Real time simulation in Scicos. Thanks to Anders Blomdell
944
945 Scicos diagram linearization and fixed point computation
946
947 OTHERS IMPROVEMENTS
948 ===================
949 A more professional licence
950
951 Input/Output improved (carriage return at the end of the file are not
952 required anymore, OS independent ascii file input, handling of opened
953 files )
954
955 More complete mexlib for MatlabV mex interface.
956
957 Many bug corrected in integer types manipulation
958
959 API improved, many examples given
960
961 A better window management under KDE
962
963 A better plugin interface (help, demos,...) and new Scilab functions for
964 building and loading interfaces.
965
966 Interactive demos for ODE and DAE solving added
967
968 Scicos' GUI improved, customizable keyboard shortcuts added
969
970 Default list, tlist and mlist display can be overloaded
971
972 It is now possible to draw dashed lines in color. Background now work
973 with postscript driver. Easiest argument passing to plot2d, plot3d,...
974 GIF driver bugs fixed.
975
976 INCOMPATIBLITY
977 ==============
978 help and scicos palettes handling have changed.
979
980 Fraclab toolbox has been moved to the contributions part and is no
981 more  included in the package 
982
983 The Communication Toolbox (geci) is now obsolete. It will be removed in 
984 next release. Use PVM instead.
985
986                      Main Changes Scilab 2.4.1 -> 2.5
987                      ================================
988
989 NEW FUNCTIONALITIES
990 ===================
991 Global variables have been introduced
992
993 New graphic mode has been added to allow scrollbar handling (panner
994 for X Window and scrollbars for Windows). 
995 GIF export format is now available for Scilab graphic windows.
996
997 Keyboard events and window closing within graphical windows can now be
998 captured.
999
1000 Scicos graphical user interface has been made more intuitive and
1001 keyboard shortcuts have been added.
1002
1003 Scilab Binary files created by "save" are now system-independent so
1004 they can be exchanged. In particular (compiled macros) *.bin files and
1005 *.cos (scicos diagrams) can be exchanged.
1006
1007 It is now possible to dynamically link C++ procedures with Scilab.
1008
1009 A new data type "mlist" has been added.
1010
1011 A new function "genlib" allows users to compile the .sci files in a
1012 given directory, generate associated library and load it. This
1013 function is particularly useful under windows if VC++ is not
1014 available. 
1015
1016 C formatted input output functions (printf, scanf, ..) have been
1017 interfaced to scilab.
1018
1019 OTHERS IMPROVEMENTS
1020 ===================
1021 Efficiency has been improved using reference argument passing when
1022 possible instead of value passing.
1023
1024 Hypermatrix opreations have been accelerated.
1025
1026 On X Window systems 3D Athena Widgets are preferably used instead of
1027 standard  Athena Widgets for a better look.
1028
1029 The "Matlab 4" to Scilab translator has been completed and considerably
1030 improved.
1031
1032
1033
1034 NEW TOOLBOXES
1035 =============
1036 True integer data types (1,2 and 4 bytes) with associated operations
1037 and some functions acting on them have been added. 
1038
1039 A library of procedures has been added to allow the use of Matlab
1040 mex-files under Scilab.
1041
1042 PORTS
1043 =====
1044 Scilab has been successfully compiled with Windows ABSOFT development
1045 environment.
1046
1047 INCOMPATIBILITIES
1048 =================
1049 New Scilab "save"d files cannot be loaded by earlier Scilab versions.
1050 A new function "oldsave" has been added to save in old format.
1051
1052 Scilab help mechanism has changed. The $MANCHAPTERS/Chapter is no more
1053 used, instead a Scilab variable "helps" is used.
1054
1055
1056
1057
1058
1059                      Main Changes Scilab 2.4 -> 2.4.1
1060                      ================================
1061
1062 Many bugs fixed.
1063
1064 Option "--without-pvm" added to configure to compile Scilab 
1065   without PVM library.
1066
1067 NEW MACHINES
1068 ============
1069
1070 Scilab runs now on MAC Mklinux and DEC Alpha Linux.
1071
1072 NEW FUNCTIONALITIES
1073 ===================
1074
1075 The Matlab to Scilab translator has been considerably improved.
1076
1077 After fixing a number of bugs, Scicos is no longer considered a beta release.
1078
1079 Metanet toolbox: Function "netclose" for closing a Metanet window 
1080                  has been added.
1081
1082                      Main Changes Scilab 2.3 -> 2.4
1083                      ==============================
1084
1085 WINDOWS 95/NT
1086 =============
1087
1088 This version is no longer a beta version. Incremental link is now possible.
1089
1090 PVM interface and Xmetanet do not work yet.
1091
1092 NEW TOOLBOXES
1093 =============
1094
1095 m2sci: beta version of a Matlab to Scilab translator.
1096
1097 Fraclab: fractal and wavelet analysis.
1098
1099 Tksci: beta Tcl/Tk interface.
1100
1101 PVM: beta PVM interface (not yet available on Windows).
1102
1103 dcd: cumulative distribution functions and inverses...
1104
1105 grand: random number generators.
1106
1107 NEW FUNCTIONALITIES
1108 ===================
1109
1110 Metanet toolbox: Function "pipe_network" for solving the pipe network problem 
1111                  has been added.
1112
1113 Scicos toolbox: - New and improved formalism
1114                 - Faster Compiler 
1115                 - Improved GUI
1116
1117 Maple toolbox: The Maple to Scilab interface (maple/maple2scilab.mpl)
1118                has been improved. Sparse matrices are handled. There is
1119                now the choice between C and Fortran code generation.
1120
1121 Nonlinear toolbox: Addition of 2D and 3D definite integrals int2d et int3d.
1122
1123 Data types: N dimensional arrays have been introduced (see hypermatrices).
1124
1125 chdir and getcwd functions added to change and get working directory.
1126
1127 Floating points exception handling may be set by "ieee" function.
1128
1129 Overloading: It is now possible to overload display of tlist data
1130              structure. It is also possible to extend basic primitive
1131              function definition to new data types. To avoid possible
1132              ambiguity overloading function names have been
1133              changed. Old names still work, but for efficiency it
1134              desirable to change it. See overloading help.
1135
1136 Syntax: Functions with strings arguments may be called as commands.
1137         For instance "exec('foo.sce')" can be entered as "exec foo.sce".
1138
1139         It is now possible to define functions with unbounded number
1140         of input and output arguments (see varargin help).
1141
1142 INCOMPATIBILITIES
1143 =================
1144
1145 Some old Scicos diagrams may not be translated properly into Scilab 2.4.
1146
1147 Binary files created by "save" in Scilab 2.4 cannot be read by Scilab 2.3.
1148
1149 Scicos diagrams created by "save" in Scilab 2.4 cannot be read by Scilab 2.3.
1150