Mercurial > web-octave
comparison NEWS-4.2.md @ 114:9f48dc9ba715
Add release notes for Octave 4.2.
author | Kai T. Ohlhus <k.ohlhus@gmail.com> |
---|---|
date | Tue, 15 Nov 2016 19:26:33 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
113:f4797e8f4c3d | 114:9f48dc9ba715 |
---|---|
1 --- | |
2 layout: default | |
3 --- | |
4 | |
5 <pre> | |
6 | |
7 | |
8 Summary of important user-visible changes for version 4.2: | |
9 --------------------------------------------------------- | |
10 | |
11 ** The parser has been extended to accept, but ignore, underscore | |
12 characters in numbers. This facilitates writing more legible code | |
13 by using '_' as a thousands separator or to group nibbles into bytes | |
14 in hex constants. | |
15 | |
16 Examples: 1_000_000 == 1e6 or 0xDE_AD_BE_EF | |
17 | |
18 ** The parser has been extended to understand binary numbers which | |
19 begin with the prefix '0b' or '0B'. The value returned is Octave's | |
20 default numeric class of double, not at unsigned integer class. | |
21 Therefore numbers greater than flintmax, i.e., 2^53, will lose some | |
22 precision. | |
23 | |
24 Examples: 0b101 == 5 or 0B1100_0001 == 0xC1 | |
25 | |
26 ** gnuplot 4.4 is now the minimum version supported by Octave. | |
27 | |
28 ** The default set of colors used to plot lines has been updated to be | |
29 compatible with Matlab's new default color scheme. The line plot | |
30 color scheme can be set with the axes property "ColorOrder". | |
31 | |
32 ** The default colormap is now set to "viridis" which is also the | |
33 default colormap in matplotlib. This new colormap fixes some of the | |
34 main issues with the old default colormap "jet" such as its bad | |
35 "luminance profile" and is also more similar to Matlab's new default | |
36 colormap "parula". | |
37 | |
38 ** The colormap function no longer supports the input argument "list" | |
39 to show built-in colormaps. Use "help colormap" to find the | |
40 built-in colormaps. | |
41 | |
42 ** The graphics command "hold on" now ensures that each new plot added | |
43 to an existing plot has a different color or linestyle according to | |
44 the "ColorOrder" and/or "LineStyleOrder" properties. This is | |
45 equivalent to the old command "hold all" and was made for Matlab | |
46 compatibility. Existing code *may* produce differently colored | |
47 plots if it did not specify the color for a plot and relied on each | |
48 new plot having the default first color in the "ColorOrder" | |
49 property. | |
50 | |
51 ** When starting, Octave now looks in the function path for a file | |
52 startup.m and executes any commands found there. This change was | |
53 made to accommodate Matlab users. Octave has it's own configuration | |
54 system based on the file .octaverc which is preferred. | |
55 | |
56 ** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted | |
57 strings are now interpreted by the function do_string_escapes(). | |
58 The *printf family of functions now supports octal and hex escape | |
59 sequences in single-quoted strings for Matlab compatibility. | |
60 | |
61 ** Special octal and hex escape sequences for the pattern and | |
62 replacement strings in regular expressions are now interpreted for | |
63 Matlab compatibility. | |
64 | |
65 octal: '\oNNN' or '\o{NNN}' | |
66 hex : '\xNN' or '\x{NN}' | |
67 | |
68 ** Unknown escape sequences in the replacement string for regexprep are | |
69 now substituted with their unescaped version and no warning is | |
70 emitted. This change was made for Matlab compatibility. | |
71 | |
72 Example: regexprep ('a', 'a', 'x\yz') | |
73 => 'xyz' | |
74 | |
75 ** mkfifo now interprets the MODE argument as an octal, not decimal, | |
76 integer. This is consistent with the equivalent shell command. | |
77 | |
78 ** linspace now returns an empty matrix if the number of requested | |
79 points is 0 or a negative number. This change was made to be | |
80 compatible with Matlab releases newer than 2011. In addition, | |
81 Octave no longer supports matrix inputs for A or B. | |
82 | |
83 ** The cov function now returns the complex conjugate of the result | |
84 from previous versions of Octave. This change was made for | |
85 compatibility with Matlab. | |
86 | |
87 ** condest now works with a normest1 compatible syntax. | |
88 | |
89 ** The griddata function no longer plots the interpolated mesh if no | |
90 output argument is requested, instead the vector or array of | |
91 interpolated values is always returned for Matlab compatibility. | |
92 | |
93 ** The new function "light" and the corresponding graphics object | |
94 provide light and shadow effects for patch and surface objects. | |
95 | |
96 ** The surfnorm function now returns unnormalized (magnitude != 1) | |
97 normal vectors for compatibility with Matlab. | |
98 | |
99 ** The normal vectors returned from isonormals have been reversed to | |
100 point towards smaller values for compatibility with Matlab. | |
101 | |
102 ** The quadl function now uses an absolute, rather than relative, | |
103 tolerance for Matlab compatibility. The default tolerance is 1e-6 | |
104 which may result in lower precision results than previous versions | |
105 of Octave which used eps as the relative tolerance. The quadl | |
106 function has also been extended to return a second output with the | |
107 total number of function evaluations. | |
108 | |
109 ** The textscan function is now built-in and is much faster and much | |
110 more Matlab-compatible than the previous m-file version. | |
111 | |
112 ** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox, | |
113 questdlg, and warndlg--now exclusively use Qt for rendering. | |
114 Java based versions have been removed. | |
115 | |
116 ** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight" | |
117 are now implemented which control the default appearance of text | |
118 created with title(). | |
119 The axes property "LabelFontSizeMultiplier" is now implemented | |
120 which controls the default appearance of text created with | |
121 xlabel(), ylabel(), or zlabel(). | |
122 | |
123 ** The graphics property "box" for axes now defaults to "off". | |
124 To obtain equivalent plots to previous versions of Octave use | |
125 set (0, "DefaultAxesBox", "on"); | |
126 in your .octaverc file. | |
127 | |
128 ** The graphics property "boxstyle" has been implemented. The default | |
129 is "back" which draws only the back planes in a 3-D view. If the | |
130 option is "full" then all planes are drawn. | |
131 | |
132 ** The graphics property "erasemode" has been hidden, and will | |
133 eventually be removed. This property has also been removed | |
134 from Matlab, and was never implemented in Octave. | |
135 | |
136 ** The graphics property "graphicssmoothing" for figures now controls | |
137 whether anti-aliasing will be used for lines. The default is "on". | |
138 | |
139 ** The value "zero" for the axes properties "xaxislocation" and | |
140 "yaxislocation" has been deprecated and will be removed from | |
141 Octave 4.6. Use "origin" instead. | |
142 | |
143 ** The publish function allows easy publication of Octave script files | |
144 in HTML or other formats, including figures and output created by | |
145 this script. It comes with its counterpart grabcode, which lets one | |
146 literally grab the HTML published code from a remote website, for | |
147 example. | |
148 | |
149 ** The value of the MEX variable TrapFlag now defaults to 0, which will | |
150 cause Octave to abort execution of a MEX file and return to the | |
151 prompt if an error is encountered in mexCallMATLAB. | |
152 | |
153 ** The MEX API now includes the function mexCallMATLABWithTrap. This | |
154 function will not abort if an error occurs during mexCallMATLAB, but | |
155 instead will return execution to the MEX function for error | |
156 handling. | |
157 | |
158 ** The MEX API functions for input validation that begin with "mxIs" | |
159 (e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than | |
160 type int. | |
161 | |
162 ** The functions mxAssert and mxAssertS for checking assertions have | |
163 been added. In order to avoid a performance penalty they are only | |
164 compiled in to debug versions of a MEX file, i.e., that are produced | |
165 when the '-g' option is given to mex or mkoctfile. | |
166 | |
167 ** Other new MEX API functions include mexEvalStringWithTrap, | |
168 mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix. | |
169 | |
170 ** Other new functions added in 4.2: | |
171 | |
172 audioformats | |
173 camlight | |
174 condeig | |
175 deg2rad | |
176 dialog | |
177 evalc | |
178 hash | |
179 im2double | |
180 isocaps | |
181 lighting | |
182 localfunctions | |
183 material | |
184 normest1 | |
185 ode23 | |
186 ode45 | |
187 odeget | |
188 odeplot | |
189 odeset | |
190 padecoef | |
191 profexport | |
192 psi | |
193 rad2deg | |
194 reducepatch | |
195 reducevolume | |
196 smooth3 | |
197 uibuttongroup | |
198 | |
199 ** Deprecated functions. | |
200 | |
201 The following functions have been deprecated in Octave 4.2 and will | |
202 be removed from Octave 4.6 (or whatever version is the second major | |
203 release after 4.2): | |
204 | |
205 Function | Replacement | |
206 ---------------------|------------------ | |
207 bitmax | flintmax | |
208 mahalanobis | mahal in Octave-Forge statistics pkg | |
209 md5sum | hash | |
210 octve_config_info | __octave_config_info__ | |
211 onenormest | normest1 | |
212 sleep | pause | |
213 usleep | pause | |
214 wavread | audioread | |
215 wavwrite | audiowrite | |
216 | |
217 ** The following functions were deprecated in Octave 3.8 and have been | |
218 removed from Octave 4.2. | |
219 | |
220 default_save_options java_new | |
221 gen_doc_cache java_unsigned_conversion | |
222 interp1q javafields | |
223 isequalwithequalnans javamethods | |
224 java_convert_matrix re_read_readline_init_file | |
225 java_debug read_readline_init_file | |
226 java_invoke saving_history | |
227 | |
228 ** The global error_state variable in Octave's C++ API has been | |
229 deprecated and will be removed in a future version. Now the error | |
230 and print_usage functions throw an exception | |
231 (octave::execution_exception) after displaying the error message. | |
232 This makes the error and print_usage functions in C++ work more like | |
233 the corresponding functions in the scripting language. | |
234 | |
235 ** The default error handlers in liboctave have been updated to use | |
236 exceptions. After displaying an error message they no longer return | |
237 control to the calling program. The error handler function can be | |
238 customized through the global variables | |
239 "current_liboctave_error_handler" and | |
240 "current_liboctave_error_with_id_handler". If a programmer has | |
241 installed their own custom error handling routines when directly | |
242 linking with liboctave then these must be updated to throw an | |
243 exception and not return to the calling program. | |
244 | |
245 ** The system for common errors and warnings has been renamed from | |
246 gripe_XXX to either err_XXX if error is called or warn_XXX if | |
247 warning is called. The gripe_XXX functions are deprecated and will | |
248 be removed in version 4.6. | |
249 | |
250 ** New configure option, --enable-address-sanitizer-flags, to build | |
251 Octave with memory allocator checks (similar to those in valgrind) | |
252 built in. | |
253 </pre> |