CoverityFix-CID:1360862 Inner class could be made static
[scilab.git] / scilab / CHANGES.md
1 Welcome to Scilab 6.1.X
2 =======================
3
4 This file details the changes between Scilab 6.1.X (this development branch), and the previous release 6.0.X.
5 For changelogs of earlier releases, please see [Scilab 6.0.0](https://help.scilab.org/docs/6.0.0/en_US/CHANGES.html).
6
7 This file is intended for the specific needs of advanced users, and describes:
8 - High-level new features,
9 - Changes in installation, compilation, and compatibility,
10 - Changes in the language,
11 - New and modified features, in each module,
12 - Changes in functions (removed/added/modified),
13 - Bug fixes.
14
15 This is an in-development version which might be unstable.
16 Please report any thing we could have missed, on the [mailing lists][1] or on the [bug tracker][2].
17
18 [1]: http://mailinglists.scilab.org
19 [2]: http://bugzilla.scilab.org
20
21
22 Main new features
23 -----------------
24
25 For a high-level description of the main new features of this release, please consult the [embedded help](modules/helptools/data/pages/homepage-en_US.html). It is also available as the "What's new" page of the help, by simply typing `help` in Scilab console.
26
27 In summary, the main new features are:
28 * Webtools utilities added for HTTP protocol, JSON data usage
29 * Profiled values are available as Scilab values 
30
31 Installation
32 ------------
33
34
35 Compilation
36 -----------
37
38 * GNU autotools have been updated to :
39    - automake 1.15
40    - autoconf 2.69
41    - libtool 2.4.6 (patched for Mac Os X)
42
43 * Migration to Microsoft Visual Studio 2017 and Intel Composer 2018
44
45
46 Dependencies
47 ------------
48
49
50 Packaging & Supported Operating Systems
51 ---------------------------------------
52
53 * Scilab embedded JVM is Java 8. To run or compile Scilab you need at least:
54   - Windows:
55      - Windows 10 (Desktop)
56      - Windows 8 (Desktop)
57      - Windows 7
58      - Windows Vista SP2
59      - Windows Server 2008 R2 SP1 (64-bit)
60      - Windows Server 2012 (64-bit)
61   - Mac OS X:
62      - Intel-based Mac running Mac OS X 10.8.3+, 10.9+
63   - Linux:
64      - Red Hat Enterprise Linux 5.5+, 6.x (32-bit), 6.x (64-bit), 7.x (64-bit)
65      - Oracle Linux 5.5+, 6.x (32-bit), 6.x (64-bit), 7.x (64-bit)
66      - Ubuntu Linux 12.04 LTS, 13.x
67      - Suse Linux Enterprise Server 10 SP2+, 11.x
68
69     For more information, please consult: [What are the system requirements for Java?](http://java.com/en/download/help/sysreq.xml)
70
71 * [SSE2](https://en.wikipedia.org/wiki/SSE2), Streaming SIMD Extensions 2 support is now mandatory to run Scilab on Linux i686.
72
73
74 Feature changes and additions
75 -----------------------------
76
77 * Empty strings are used as the default values on String allocation
78 * HTTP get, post, put, upload, patch, delete functions added
79 * JSON encoding / decoding for Scilab datatypes added
80 * Memory invalid accesses have been greatly reduced thanks to :
81   - PVS-Studio inspections blog report
82   - Coverity scan weekly source analysis
83 * bitget() is upgraded:
84   - It now accepts positive Signed encoded integers.
85   - It now supports the new uint64 and int64 types of encoded integers.
86   - For decimal numbers: bits with indices > 52 can now be retrieved (up to `log2(number_properties("huge"))` = 1024).
87   - For decimal numbers `x > 2^52`, querried bits below `%eps` (indices < log2(x)-52) now return `Nan` instead of 0.
88   - Several bits can now be retrieved from each component of an input array.
89 * `edit` now accepts a line number as text (like "23").
90 * `profileEnable`, `profileDisable`, `profileGetInfo` could be used to instrument functions and gather execution information within Scilab.
91
92
93 Help pages:
94 -----------
95
96 * overhauled / rewritten: `bitget`, `edit`
97 * fixed / improved:  `bench_run` `M_SWITCH`
98
99 User Interface improvements:
100 ----------------------------
101
102 * The `ans` variable is editable as any other variable
103 * Commands history is saved *before* executing a command to have the correct history on crash.
104
105
106 Xcos
107 ----
108
109 * Default ending time reduced from 100000 to 30, to fit default scope block
110
111
112 API modification
113 ----------------
114
115
116 Obsolete functions or features
117 ------------------------------
118
119
120 Removed Functions
121 -----------------
122
123 * `hypermat` was obsolete and has been removed. Please use `matrix` instead.
124 * `square` was obsolete and has been removed.
125 * `xgetech` was obsolete and has been removed. Please use `gca` instead.
126
127
128 Known issues
129 ------------
130
131
132 Bug Fixes
133 ---------
134
135 ### Bugs fixed in 6.1.0:
136 * [#2694](http://bugzilla.scilab.org/show_bug.cgi?id=2694): `bitget` did not accept positive integers of types int8, int16 or int32.
137 * [#8784](http://bugzilla.scilab.org/show_bug.cgi?id=8784): Automatic self-adjusting blocks `SCALE_CSCOPE` & `SCALE_CMSCOPE` in Xcos.
138 * [#12520](http://bugzilla.scilab.org/show_bug.cgi?id=12520): Vriable browser did not display the size of the variables.
139 * [#12534](http://bugzilla.scilab.org/show_bug.cgi?id=12534): Variable browser did not display the size of the variables.
140 * [#14604](http://bugzilla.scilab.org/show_bug.cgi?id=14604): `emptystr()` is 40x slower with 6.0.0 wrt 5.5.2
141 * [#14605](http://bugzilla.scilab.org/show_bug.cgi?id=14605): fixed - `bench_run` was too strict about the specification of tests names.
142 * [#14606](http://bugzilla.scilab.org/show_bug.cgi?id=14606): Memory used by variables returned by `[names,mem]=who()` was always zero.
143 * [#14812](http://bugzilla.scilab.org/show_bug.cgi?id=14812): Minor typos in messages.
144 * [#14863](http://bugzilla.scilab.org/show_bug.cgi?id=14863): In Xcos, the default ending time was unhandily high (100000), reduced it to 30.
145 * [#14982](http://bugzilla.scilab.org/show_bug.cgi?id=14982): `msprintf` segmentation fault was caught due to wrong size
146 * [#15269](http://bugzilla.scilab.org/show_bug.cgi?id=15269): `xgetech` was poor and stiff compared to any combination of `gca()` properties `.axes_bounds`, `.data_bounds`, `.log_flags`, and `.margins`. It is removed.
147 * [#15271](http://bugzilla.scilab.org/show_bug.cgi?id=15271): `bitget` needed to be upgraded.
148 * [#15425](http://bugzilla.scilab.org/show_bug.cgi?id=15425): The Kronecker product `a.*.b` failed when `a` or `b` or both are hypermatrices, with one or both being polynomials or rationals.
149 * [#15523](http://bugzilla.scilab.org/show_bug.cgi?id=15523): `%ODEOPTIONS(1)=2` didn't work with solvers 'rk' and 'rkf' 
150 * [#15577](http://bugzilla.scilab.org/show_bug.cgi?id=15577): `edit` did not accept a line number as text, as with `edit linspace 21`.
151 * [#15983](http://bugzilla.scilab.org/show_bug.cgi?id=15983): `group()` regressed in 5.5.2 due to a too intrusive fix.
152 * [#16005](http://bugzilla.scilab.org/show_bug.cgi?id=16005): The `intdec` example was biased and not robust when changing sampling frequencies.
153 * [#16021](http://bugzilla.scilab.org/show_bug.cgi?id=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].