bug 4753 + 4796
[scilab.git] / scilab / CHANGES_5.2.X
1                Changes between version 5.1.X and 5.2.0 of Scilab
2                =================================================
3
4
5 Extension capabilities of Scilab :
6 ==================================
7
8 * A new API called api_scilab is available. This API provides functions to
9   read/write data from/to Scilab memory.
10   It provides many advantages:
11   - manages all Scilab data types
12   - consistency over all data types
13   - will be maintained over future versions of Scilab
14   - fully documented
15   - fully tested by unitary tests
16
17   Note that all other Scilab API (straight access to the Scilab stack, stack1,
18   stack2 and stack3) will be maintained in the Scilab 5.X familly but most of
19   them will be dropped in the 6 family.
20
21 * In the enum sci_types which list all Scilab datatypes, the type 
22   "sci_lufact_pointer" has been renamed to "sci_pointer".
23   A define of "sci_lufact_pointer" on "sci_pointer" has been added to backward
24   compabilities.
25
26 Compilation:
27 ============
28
29 * Visual studio uses default runtime library /MD (msvcrt.lib) to build all libraries of scilab.
30
31 * Symbols in dlls are explicitly exported on Windows.
32   In previous versions of scilab all symbols were exported.
33
34 * modelicac (scicos) built with Ocaml 3.11.0 on Windows
35
36 * blas, lapack, arpack libraries moved as pre-requirements (Windows)
37
38 * blas, lapack libraries moved as pre-requirements (Linux/Unix/MacOSX)
39
40 * lapack 3.2 used on Windows
41
42 * functions module is loaded dynamically by Scilab.
43
44 * autoconf updated to version 2.64
45
46 * automake updated to version 1.11
47
48 * libtool updated from version 1.5.26 to 2.2.6a (Closes bug #4279)
49
50 Source reorganisation:
51 ======================
52
53 * Makefile.incl.mak (Windows, dynamic link) moved from SCI directory to
54   SCI/modules/src/scripts
55   
56 * newest, get_absolute_file_path, getrelativefilename moved from io to fileio.
57
58 * bug 3668 fixed - formatnumber.f, dmdsp.f, ... moved in output_stream module.
59
60 * printf, msprintf, mprintf, print moved in output_stream module.
61
62 * disp moved in output_stream module.
63
64 * bug 3668 fixed - lib, deff, getf, exec, execstr moved in functions module.
65
66 * oldsave, oldload functions (only used with macros of scilab 2.4) are removed
67   Replaces oldsave, oldload by save and load in your code.
68
69 * libs/MALLOC/src/malloc.c is no longer build (used to be built for 64 
70 bits archs). Note that if Scilab is built on a 64 bits and triggers a 
71 seg fault on startup, uncomment the related line in 
72 libs/MALLOC/Makefile.am and launch autoreconf.
73
74 toolbox_skeleton:
75 =================
76
77 * examples of gateways functions (c_sum, f_sum, cpp_find) rewritten with new API.
78
79 * cleaner added
80
81 Input/Output functions:
82 =======================
83
84 * Input arguments of fprintf are checked 
85
86 * Rewrite :
87     + getenv
88     + diary - SEP 23
89
90 Core functions:
91 ===============
92
93 * Request 505 : Add error code capability to exit (SEP #19).
94
95 * Rewrite :
96    + mode
97    + predef
98    + type
99    + typename
100    + whereis
101      
102 * sethomedirectory is obsolete (see home). 
103
104 fileio functions:
105 =================
106
107 * Input arguments of functions are now checked 
108     (mclearerr, mclose, merror, mget, mgetstr, meof, mopen, mput, mputstr, mseek, mtell)
109     
110 * fileinfo manages column vector of strings (SEP #25)
111   
112 * basename uses fileparts
113   
114 * pathconvert : If the flagtrail argument is set to FALSE and the trailing separator
115                 of the path is removed (if present of course). See Bug 4468.
116                   
117 * getcwd is obsolete (see pwd). 
118
119 * isfile : checks if filename is a existing file.
120
121 * movefile : move files or directory (Request 661)
122
123 * Rewrite :
124    + copyfile (primitive)
125    + fileparts (primitive)
126   
127 Dynamic link:
128 =============
129
130 * Windows : temporary files (objects) are generated in a intermediate subdirectory (Release or Debug)
131    ilib_for_link and ilib_gen_Make (with Visual studio) use a same makefile template.
132    (SCI/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.VC)
133   
134 * ilib_for_link and ilib_gen_Make with lcc-win32 use a same makefile template.
135    (SCI/modules/dynamic_link/src/scripts/TEMPLATE_MAKEFILE.LCC)
136
137 * ilib_verbose (SEP #17) Set level of display returned by dynamic link functions.
138  
139 * add a example to call a scilab macro from a C interface
140    (see SCI/modules/dynamic_link/examples/interfaces/call_scilab_function directory)
141    
142 * a 'cleaner.sce' file is generated by 'ilib_for_link' and 'ilib_build'.
143  
144 * addinter : each interface added can manage 999 functions (bug 4675). 
145
146 * ilib_gen_gateway can generated gateway without PutLhsVar (Managed by user, in this case)
147   see help of 'ilib_gen_gateway' about this modification and 
148   SCI/contrib/toolbox_skeleton/sci_gateway/c/builder_gateway_c.sce (example)
149
150 Online Help :
151 =============
152
153 * Sub-Chapters are now allowed (See SEP #24)
154 * xmltochm exports help to chm format (Windows)
155 * add_help_chapter now accepts string array as input argument : consequently,
156    several online help chapters can be added at the same time.
157 * add_help_chapter now accepts to add help chapters with the same title.
158  
159 call_scilab module :
160 ====================
161
162 * A example to call scilab from C# added.
163    see SCI/modules/call_scilab/examples/call_scilab/NET/C# directory
164
165 * A example to call scilab from VB.NET added.
166    see SCI/modules/call_scilab/examples/call_scilab/NET/VB.NET directory
167  
168 * CallScilab.h renamed call_scilab.h
169
170 tests :
171 =======
172
173 * test_run() now accepts Sub-Modules (See SEP #31)
174
175 char encoding bugs :
176 ====================
177
178 * bug 2627 fixed - Scilab 5 console retrieve input strings in UTF-8 format and Scilab doesn't
179                    manage this format but ISO-8859.
180
181 * bug 3228 fixed - ascii function broken for extended set (example : ascii('é')).
182
183 * bug 3433 fixed - length with a UTF string returns a incorrect size
184
185 * bug 3472 fixed - Dropping files in the Scilab shell doesn't work when the path
186                    contains accented characters.
187
188 * bug 3666 fixed - 'input' returns accented characters.
189
190 * bug 3701 fixed - "Error during call to UTFToLocale: No such file or directory" on Windows.
191
192 * bug 3839 fixed - strrev() doesn't work correctly if the string to be reversed
193                    includes some accentuated characters.
194
195 * bug 4003 fixed - setenv & getenv do not manage utf string on Windows.
196
197 * bug 4012 fixed - display of month and week are wrong in sessions starts and ends (history manager).
198
199 * bug 4019 fixed - with -nw or -nwni mode on Windows, console returns error about
200                    localization.
201
202 * bug 4068 fixed - Accentuated names in directories not supported.
203
204 * bug 4145 fixed - Simplified Chinese file names can not shown correctly.
205
206 * bug 4233 fixed - exec command with a UTF filename fails.
207
208 * bug 4277 fixed - strsubst,regexp, strindex, grep return strange results if accented
209                    characters and character class are associated in the pattern to match.
210
211 * bug 4758 fixed - embedded version of autoconf libs.m4 were causing some issues
212
213 * bug 4768 fixed - strsplit returns strange results with accened characters
214
215 String manipulation:
216 ====================
217
218 * Rewrite :
219     + strsplit - SEP 26
220
221
222 Java/Scilab API:
223 ================
224
225  - uses api_scilab functions to write & read data (internal for javasci)
226
227  - SciInteger class added  
228
229
230 Optimization:
231 =============
232  - Created neldermead component for simplex-based direct search optimization
233  - Created optimbase component to build optimization algorithms
234  - Created optimsimplex component to build direct search algorithms
235  - Created fminsearch optimization function
236  
237 Linear algebra
238 =============
239  - Clarified documentation for lu function.
240
241 Bug fixes:
242 ==========
243
244 * bug 1412 fixed - A(3,3)=%s,A(:)=%z causes scilab to hang
245
246 * bug 1628 fixed - with long programs (several hours) I get a negative value for
247                    timer()
248
249 * bug 1776 fixed - funcprot accepts non-integer arguments
250
251 * bug 2275 fixed - add the isvector help page
252
253 * bug 2453 fixed - mfscanf and probably the other variants msscanf mscanf may crash Scilab when
254                    first argument is -1 (any number of lines)
255
256 * bug 2570 fixed - LCC does not work with some "stk" ref on some old toolboxes.
257
258 * bug 3201 fixed - add the help page for the function del_help_chapter
259
260 * bug 3533 fixed - lib(dir_path) doesn't work if the final slash is missing in dir_path.
261
262 * bug 3580 fixed - a gateway declaration containing a false primitive ID or gateway ID crashs scilab.
263
264 * bug 3772 fixed - input argument of 'predef' was not correctly checked.
265
266 * bug 3773 fixed - 'ans' was protected with predef('all').
267
268 * bug 3884 fixed - chdir, getcwd, pwd moved from core to fileio module.
269
270 * bug 3953 fixed - delete() always sets the current entity to the parent of the
271                    deleted entity.
272
273 * bug 3992 fixed - remove some invalid dependencies on external libraries.
274
275 * bug 4090 fixed - draw does not work any more while inside drawlater/drawnow scope.
276
277 * bug 4110 fixed - Demos order differs between Linux and Windows versions
278
279 * bug 4181 fixed - remove the AdCommunications help page
280
281 * bug 4184 fixed - style of the examples has been corrected
282
283 * bug 4217 fixed - gsort sort complex by magnitude only with 'g' and not support 'r', 'c', 'lr', 'lc'
284
285 * bug 4262 fixed - lines returns incorrect values.
286
287 * bug 4267 fixed - A non initilization of a lock under Netbsd was 
288                    causing an error on startup
289                    
290 * bug 4278 fixed - typename() called with a wrong number of input arguments returns incoherent errors.
291
292 * bug 4307 fixed - Desactivate (in modules.xml) modules if its functionnalities
293                    are not available.
294                    
295 * bug 4307 fixed - %io has no help file.                   
296
297 * bug 4330 fixed - stacksize('max') + stacksize(required_mem) doesn't work
298
299 * bug 4358 fixed - changing defaultstacksize in scilab.start doesn't work
300
301 * bug 4360 fixed - The reference of bug_3954.tst was missing.
302
303 * bug 4364 fixed - stacksize('max') + stacksize(required_mem) doesn't work
304
305 * bug 4379 fixed - If the thickness property (of plot3d for example) is set to 0,
306                    the lines/edges should disappear.
307
308 * bug 4380 fixed - diary(0) without a initialization of diary crashs scilab.
309
310 * bug 4380 fixed - help page of the printf command has a problem.
311
312 * bug 4380 fixed - merror error codes not documented.
313
314 * bug 4409 fixed - fortran optim subroutines use write (fortran) and not basout as
315                    standard output.
316
317 * bug 4403 fixed - isinf was defined (when not provided by the system) with a return
318
319 * bug 4407 fixed - help file scilab_xx_XX_help.jar have another scilab_xx_XX_help.jar embedded
320                    and not valid.
321
322 * bug 4433 fixed - problem using optim. On some examples, the optim function makes scilab hangs.
323
324 * bug 4461 fixed - redefines prompt not displayed in a diary.
325
326 * bug 4467 fixed - getshortpathname,getlongpathname do not manage string matrix as input
327
328 * bug 4468 fixed - pathconvert(<path>,%F) should remove last trailing separator.
329
330 * bug 4474 fixed - help of 'fort' is obsolete.
331
332 * bug 4474 fixed - addinter help has no example.
333
334 * bug 4489 fixed - oldsave and oldload removed.
335
336 * bug 4492 fixed - output_stream_gateway.xml was not include in windows binary.
337
338 * bug 4496 fixed - in tbx_build_gateway help page, ismex parameter is not documented.
339
340 * bug 4497 fixed - xmltoformat gets stuck in directories beginning with '.'.
341
342 * bug 4498 fixed - merror() returns weird strings if called before opening files.
343
344 * bug 4499 fixed - basename returns a wrong value if file or a directory starts with a dot
345
346 * bug 4500 fixed - basename('') returns a error
347
348 * bug 4501 fixed - mput() no more allowed integer types as first input argument.
349
350 * bug 4507 fixed - Depending on the fortran runtime libraries a dummy main
351                    definition may be needed.
352
353 * bug 4516 fixed - ilib_for_link does not use ilib_gen_loader but a internal function.
354
355 * bug 4518 fixed - ilib_build with a column vector of strings as filenames does not work on linux
356
357 * bug 4522 fixed - The Tcl interpreter initialization code makes use of some unitialized variables.
358
359 * bug 4515 fixed - linking and loading some external functions already used crashs scilab.
360
361 * bug 4525 fixed - scilab.sln and scilab_f2c.sln do not apply same dependencies on libraries (windows).
362
363 * bug 4528 fixed - makefile (windows) generated by ilib_for_link forces to rebuild all files each time.
364
365 * bug 4530 fixed - leg labels curves are in reverse order
366
367 * bug 4533 fixed - link fails on some path (windows)
368
369 * bug 4539 fixed - some optional parameters where not set in hist3d
370
371 * bug 4547 fixed - examples of javasci with graphics are no more interactive.
372
373 * bug 4548 fixed - with intel fortran, file unit opened in a external dll are not shared.
374
375 * bug 4552 fixed - c++ comments in stack3.h have been translated into c comments
376
377 * bug 4573 fixed - core.start tried to load add_module_help_chapter even if it not exists
378
379 * bug 4574 fixed - ilib_build does not check if library is already loaded in scilab.
380
381 * bug 4584 fixed - On Windows , home value was wrong
382
383 * bug 4585 fixed - Scilab fails to build with intel C++ compiler 11.0.074 on Windows
384
385 * bug 4586 fixed - Function fieldnames added for getting tlist, mlist and struct field names (see SEP#28)
386
387 * bug 4604 fixed - rmdir(<dir>,"s") doesn't work if it contains a hidden file (starting with a dot).
388
389 * bug 4605 fixed - basename('') returns a error.
390
391 * bug 4606 fixed - example of 'link' in help does not work
392
393 * bug 4608 fixed - get_function_path returns a non-consistent path.
394
395 * bug 4611 fixed - what function doesn't returns a complete list of functions.
396
397 * bug 4626 fixed - when using the CLI version, completion make Scilab crash
398
399 * bug 4636 fixed - Metanet on-line help : an accent was missing on the "e" in the french version 
400
401 * bug 4638 fixed - this example with optim freezes scilab
402
403 * bug 4641 fixed - the parameter Q of the function derivative was not clear.
404
405 * bug 4645 fixed - french 'gsort' help had some wrong informations.
406
407 * bug 4654 fixed - max of an empty sparse matrix makes Scilab hangs
408
409 * bug 4666 fixed - SCIHOME was not well defined if scilab has been launched in another scilab session.
410
411 * bug 4676 fixed - diary() removes whitespaces characters from the output of mprintf()
412
413 * bug 4684 fixed - printf(), mprintf, msprintf do not properly deal with -%inf.
414
415 * bug 4688 fixed - listfiles("/") returned an error.
416
417 * bug 4689 fixed - diary() do not report interactive commands into the output file
418
419 * bug 4695 fixed - some help pages + examples where missing in the arnoldi package
420
421 * bug 4719 fixed - fsolve may fail on some system of equations. Add an example in the documentation.
422
423 * bug 4724 fixed - when the f variation of a data set is too small, plot hangs
424
425 * bug 4727 fixed - The function 'length' does not return the same value in Scilab 5.1 and Scilab 4.1.2
426
427 * bug 4728 fixed - The function 'strcat' does not return the same value in Scilab 5.1 and Scilab 4.1.2
428
429 * bug 4732 fixed - the help page of function ss2ss has some missing part
430
431 * bug 4744 fixed - whereis, librairieslist, libraryinfo primitives should be moved in "functions" modules.
432
433 * bug 4753 fixed - if you have a toolbox and you launch scilab-cli, you have a error message at startup. 
434
435 * bug 4789 fixed - number of input arguments is not checked in ilib_functions (dynamic_link module)
436
437 * bug 4795 fixed - CallScilab.h renamed call_scilab.h