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