annotate etc/NEWS.8.md @ 31878:942ca5f2c71c stable

mean: Process single as double to avoid precision limits on stable (bug #63848). * mean.m: Change all sum calls to process as "double" to avoid single precision limits from producing erroneous output. Update output conversion block to preserve single output for 'default' after forcing double processing and replace expensive call to cast with feval in 'native'. Add BISTs to test calls to sum that could lose precision. Add xfail BIST showing the same problem with large doubles. * NEWS.8.md: Update description of changes to mean.m.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Thu, 02 Mar 2023 21:42:42 -0500
parents 74aa32d5fd08
children fc40c78a8421 75b1efe727d4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31766
74aa32d5fd08 bump version for first 8.1 release candidate
John W. Eaton <jwe@octave.org>
parents: 31710
diff changeset
1 Summary of important user-visible changes for version 8 (2023-01-22):
74aa32d5fd08 bump version for first 8.1 release candidate
John W. Eaton <jwe@octave.org>
parents: 31710
diff changeset
2 --------------------------------------------------------------------
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
3
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
4 ### General improvements
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
5
30550
c24457a42219 maint: merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30466
diff changeset
6 - Octave's libraries are now built using symbol visibility by default.
31517
b2882cf2a547 NEWS.8.md: Minor copyedits to preexisting items
Arun Giridhar <arungiridhar@gmail.com>
parents: 31516
diff changeset
7 That means that fewer symbols are exported from these libraries.
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
8 Configure with `--disable-lib-visibility-flags` to export all symbols
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
9 (as in previous versions).
30550
c24457a42219 maint: merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30466
diff changeset
10
31180
6203e303c5ac NEWS.8.md: mention speed of filter (bug #61674)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31140
diff changeset
11 - `filter` is now 5X faster, which also speeds up `deconv`, `fftfilt`
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
12 and `arma_rnd` by the same amount.
31180
6203e303c5ac NEWS.8.md: mention speed of filter (bug #61674)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31140
diff changeset
13
30978
e8ced722b19e integral: Add optional output error argument (bug #62412)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30958
diff changeset
14 - `integral` can now output a second argument passing the error
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
15 measurement used by the underlying integrator.
30978
e8ced722b19e integral: Add optional output error argument (bug #62412)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30958
diff changeset
16
31026
f03e1eebf46d perms.m: Add new input option "unique" to return only unique permutations (bug #60364)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31020
diff changeset
17 - `perms` now accepts a second argument "unique" to return only unique
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
18 permutations for inputs with repeated elements. It is faster and
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
19 takes less memory to call `perms ('aaaabbbbcccc', "unique")` than to
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
20 call `unique (perms ('aaaabbbbcccc'), "rows")`.
31026
f03e1eebf46d perms.m: Add new input option "unique" to return only unique permutations (bug #60364)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31020
diff changeset
21
31063
451fb63a10a0 update integral to call quadgk for 'ArrayValued' integrations (bug #62468)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31026
diff changeset
22 - `quadgk` can now accept the `ArrayValued` input parameter to handle
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
23 array-valued input functions.
31063
451fb63a10a0 update integral to call quadgk for 'ArrayValued' integrations (bug #62468)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31026
diff changeset
24
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
25 - `delaunayn` now has consistent trivial simplex checking and removal
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
26 for all input dimensions, simplex checking 3D inputs is now
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
27 vectorized, and >3D simplex checking performance has been improved.
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
28 Simplexes points are now ordered so they will all have positive
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
29 outward normal vectors. Input type checking has also been added for
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
30 improved error handling.
31240
bf8f33249e86 delaunayn simplex check consistency and performance improvement (bug #60818)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31213
diff changeset
31
31408
870036573716 NEWS.8.md: Add text about factor behavior.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31380
diff changeset
32 - `factor` now factorizes all 64-bit integers in roughly the same time.
870036573716 NEWS.8.md: Add text about factor behavior.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31380
diff changeset
33 Previously, the product of two large primes took much longer to factorize
870036573716 NEWS.8.md: Add text about factor behavior.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31380
diff changeset
34 than highly composite inputs.
870036573716 NEWS.8.md: Add text about factor behavior.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31380
diff changeset
35
31421
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
36 - `Refine` option is now implemented in functions `ode45`, `ode23`,
31263
449ed6f427cb ode45/23/23s: Implement Events, OutputFcn, & Refine options (bug #49408 and #63063)
Ken Marek <marek_ka@mercer.edu>
parents: 31253
diff changeset
37 and `ode23s`.
449ed6f427cb ode45/23/23s: Implement Events, OutputFcn, & Refine options (bug #49408 and #63063)
Ken Marek <marek_ka@mercer.edu>
parents: 31253
diff changeset
38
31517
b2882cf2a547 NEWS.8.md: Minor copyedits to preexisting items
Arun Giridhar <arungiridhar@gmail.com>
parents: 31516
diff changeset
39 - Octave is now compatible with PCRE2 (UTF-8). PCRE2 is preferred over PCRE
b2882cf2a547 NEWS.8.md: Minor copyedits to preexisting items
Arun Giridhar <arungiridhar@gmail.com>
parents: 31516
diff changeset
40 if both are installed. Configure with `--without-pcre2` if you prefer Octave
b2882cf2a547 NEWS.8.md: Minor copyedits to preexisting items
Arun Giridhar <arungiridhar@gmail.com>
parents: 31516
diff changeset
41 to use PCRE in this case.
31878
942ca5f2c71c mean: Process single as double to avoid precision limits on stable (bug #63848).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31766
diff changeset
42
942ca5f2c71c mean: Process single as double to avoid precision limits on stable (bug #63848).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31766
diff changeset
43 - `mean` now internally processes data as type double to reduce liklihood of
942ca5f2c71c mean: Process single as double to avoid precision limits on stable (bug #63848).
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31766
diff changeset
44 hitting overflow or precision limits with other types (bug #63848).
31427
662499ba0d21 NEWS: Add note that PCRE2 can be used (bug #61542).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31421
diff changeset
45
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
46 ### Graphical User Interface
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
47
31516
e88ad18ca0ee NEWS.8.md: Add notes about GUI improvements
Arun Giridhar <arungiridhar@gmail.com>
parents: 31515
diff changeset
48 - The GUI has a dark style and several new icons in toolbars for better
e88ad18ca0ee NEWS.8.md: Add notes about GUI improvements
Arun Giridhar <arungiridhar@gmail.com>
parents: 31515
diff changeset
49 visibility and higher contrast.
e88ad18ca0ee NEWS.8.md: Add notes about GUI improvements
Arun Giridhar <arungiridhar@gmail.com>
parents: 31515
diff changeset
50
31672
c9430c9cda2e NEWS.8.md: Clarify that the new terminal widget is experimental.
Markus Mützel <markus.muetzel@gmx.de>
parents: 31562
diff changeset
51 - A new terminal widget has been added for the GUI. It is still experimental
c9430c9cda2e NEWS.8.md: Clarify that the new terminal widget is experimental.
Markus Mützel <markus.muetzel@gmx.de>
parents: 31562
diff changeset
52 and is disabled by default. It can be enabled with the command line
c9430c9cda2e NEWS.8.md: Clarify that the new terminal widget is experimental.
Markus Mützel <markus.muetzel@gmx.de>
parents: 31562
diff changeset
53 parameter `--experimental-terminal-widget`.
c9430c9cda2e NEWS.8.md: Clarify that the new terminal widget is experimental.
Markus Mützel <markus.muetzel@gmx.de>
parents: 31562
diff changeset
54
c9430c9cda2e NEWS.8.md: Clarify that the new terminal widget is experimental.
Markus Mützel <markus.muetzel@gmx.de>
parents: 31562
diff changeset
55 - More fonts for the documentation browser are included.
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
56
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
57 ### Graphics backend
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
58
31432
df8bdaf1164b print.m: Use -svgconvert by default (bug #62979)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 31427
diff changeset
59 - When printing, the option `-svgconvert` is now the default. If you want to
df8bdaf1164b print.m: Use -svgconvert by default (bug #62979)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 31427
diff changeset
60 use the more limited EPS-based tool chain (the former default)&mdash;e.g., if
df8bdaf1164b print.m: Use -svgconvert by default (bug #62979)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 31427
diff changeset
61 you encounter inaccurate image rendering&mdash;you can pass the `-nosvgconvert`
df8bdaf1164b print.m: Use -svgconvert by default (bug #62979)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 31427
diff changeset
62 option to the `print` function.
df8bdaf1164b print.m: Use -svgconvert by default (bug #62979)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 31427
diff changeset
63
31020
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
64 - Additional properties have been added to the `figure` graphics object:
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
65 * `"innerposition"` (equivalent to `"position"`)
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
66 * `"windowstate"` (not yet implemented)
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
67
31253
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
68 - Legend now features a new property `"itemhitfcn"`, allowing the
a40c0b7aa376 maint: changes to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 31248
diff changeset
69 execution of a callback function when a legend item is clicked.
31213
bc385e42e09a NEWS.8.md: Announce new legend property "itemhitfcn"
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 31180
diff changeset
70
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
71 ### Matlab compatibility
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
72
30912
ec5b57af230a Improve performance of inline functions.
Rik <rik@octave.org>
parents: 30902
diff changeset
73 - `inline` functions now support all Matlab methods. The performance
ec5b57af230a Improve performance of inline functions.
Rik <rik@octave.org>
parents: 30902
diff changeset
74 of `inline` functions has also been improved.
ec5b57af230a Improve performance of inline functions.
Rik <rik@octave.org>
parents: 30902
diff changeset
75
30902
972959edc3ff Allow sub2ind() to accept indices outside the size of the input subscripts (bug #62184)
John W. Eaton <jwe@octave.org>
parents: 30876
diff changeset
76 - `sub2ind` now supports index values outside of the size specified by
972959edc3ff Allow sub2ind() to accept indices outside the size of the input subscripts (bug #62184)
John W. Eaton <jwe@octave.org>
parents: 30876
diff changeset
77 the subscripts.
972959edc3ff Allow sub2ind() to accept indices outside the size of the input subscripts (bug #62184)
John W. Eaton <jwe@octave.org>
parents: 30876
diff changeset
78
30876
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
79 - `cylinder` now accepts a scalar for the radius argument.
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
80
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
81 - `clock` now has an optional second output `ISDST` which indicates if
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
82 Daylight Savings Time is in effect for the system's time zone.
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
83
30958
8a8f82c0235e print.m: Add options "-image"/"-vector" for Matlab compatibility.
Rik <rik@octave.org>
parents: 30912
diff changeset
84 - `print` now accepts option `-image` to specify the "opengl" renderer
8a8f82c0235e print.m: Add options "-image"/"-vector" for Matlab compatibility.
Rik <rik@octave.org>
parents: 30912
diff changeset
85 and `-vector` to specify the "painters" renderer.
8a8f82c0235e print.m: Add options "-image"/"-vector" for Matlab compatibility.
Rik <rik@octave.org>
parents: 30912
diff changeset
86
30992
4ef25c610433 format: Add 'default' format option (bug #62430)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30978
diff changeset
87 - `format` now accepts the option "default", which is equivalent to
4ef25c610433 format: Add 'default' format option (bug #62430)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30978
diff changeset
88 calling `format` without any options to reset the default state.
4ef25c610433 format: Add 'default' format option (bug #62430)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30978
diff changeset
89
30996
4298af839d20 quadgk.m: Change stopping criterion to "<=" from just "<".
Rik <rik@octave.org>
parents: 30992
diff changeset
90 - `quadgk` now stops iterating when `error <= tolerance` while the previous
4298af839d20 quadgk.m: Change stopping criterion to "<=" from just "<".
Rik <rik@octave.org>
parents: 30992
diff changeset
91 condition was `error < tolerance`.
4298af839d20 quadgk.m: Change stopping criterion to "<=" from just "<".
Rik <rik@octave.org>
parents: 30992
diff changeset
92
31421
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
93 - `mean` now accepts vector dimensions and options to handle `NaN` values.
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
94 The option `"a"` (arithmetic mean), `"g"` (geometric mean), and `"h"`
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
95 (harmonic mean) are no longer accepted, only the arithmetic mean is computed.
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
96 For the geometric and harmonic mean, please use respective functions
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
97 `geomean` and `harmmean` from the Octave Statistics package.
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
98
30997
5330efaf9476 Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30996
diff changeset
99 - `var` and `std` now optionally output a second argument containing the mean
5330efaf9476 Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30996
diff changeset
100 or weighted mean.
5330efaf9476 Add optional second output to var and std (bug #62395)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 30996
diff changeset
101
31063
451fb63a10a0 update integral to call quadgk for 'ArrayValued' integrations (bug #62468)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31026
diff changeset
102 - `integral` can now accept the 'ArrayValued' option in combination with
451fb63a10a0 update integral to call quadgk for 'ArrayValued' integrations (bug #62468)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31026
diff changeset
103 'RelTol' and 'WayPoints'.
451fb63a10a0 update integral to call quadgk for 'ArrayValued' integrations (bug #62468)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31026
diff changeset
104
31380
980059c3b129 unlink: Also remove files with read-only file attribute on Windows (bug #63265).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31351
diff changeset
105 - File system operations that remove files (e.g., `unlink` or `rmdir`) now also
980059c3b129 unlink: Also remove files with read-only file attribute on Windows (bug #63265).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31351
diff changeset
106 remove files that have their read-only file attribute set on Windows.
980059c3b129 unlink: Also remove files with read-only file attribute on Windows (bug #63265).
Markus Mützel <markus.muetzel@gmx.de>
parents: 31351
diff changeset
107
31020
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
108 - The default state for certain graphics properties has been made
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
109 consistent with Matlab.
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
110
31470
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
111 Object | Property | Default State
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
112 ------------|------------------|------------
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
113 figure | "dockcontrols" | "on"
31421
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
114
31263
449ed6f427cb ode45/23/23s: Implement Events, OutputFcn, & Refine options (bug #49408 and #63063)
Ken Marek <marek_ka@mercer.edu>
parents: 31253
diff changeset
115 - `ode45`, `ode23`, and `ode23s` have improved results for options `Events`,
31421
21962c678648 mean.m: more Matlab compatibility (bugs #58116, #50571).
Andreas Bertsatos <abertsatos@biol.uoa.gr>
parents: 31408
diff changeset
116 `OutputFcn`, and `Refine`, along with corrected orientation of struct
31263
449ed6f427cb ode45/23/23s: Implement Events, OutputFcn, & Refine options (bug #49408 and #63063)
Ken Marek <marek_ka@mercer.edu>
parents: 31253
diff changeset
117 outputs.
31020
cb9451780a15 Update figure graphics object for Matlab compatibility.
Rik <rik@octave.org>
parents: 31005
diff changeset
118
31515
45328547bc12 NEWS.8.md: Add note about breaking change (strings)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31470
diff changeset
119 - *Early notice of future breaking changes*: Due to many user requests that
45328547bc12 NEWS.8.md: Add note about breaking change (strings)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31470
diff changeset
120 Octave should have a Matlab-compatible string class, there is work under way
31562
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
121 to implement a string class that will differ from a vector of characters. In
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
122 Octave, single-quoted character arrays are currently compatible with Matlab,
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
123 but double-quoted forms are not. Currently in Octave, both 'foo' and "foo"
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
124 are largely interchangeable, barring certain escape sequence interpretations
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
125 such as "\n" (converted to a single newline character) as opposed to '\n'
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
126 (two separate characters). Matlab’s single-quoted character arrays and
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
127 double-quoted strings do not process backslash escape sequences, unlike many
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
128 other languages, and those escape sequences are instead processed by
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
129 individual functions such as `fprintf`.
31515
45328547bc12 NEWS.8.md: Add note about breaking change (strings)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31470
diff changeset
130
31562
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
131 Octave's behavior is likely to change in future as a consequence of
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
132 implementing Matlab-style string syntax. For example, 'foo' will remain a
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
133 three-element character vector, but "foo" will become a single-element string
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
134 object. Some backslash escape sequences are likely to differ from their
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
135 current Octave behavior, but will achieve greater Matlab compatibility. The
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
136 exact implementation is a work in progress, and may or may not include
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
137 methods of preserving backward compatibility.
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
138
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
139 *What this means for user code*: If your code currently relies on
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
140 double-quoted strings (e.g., "foo") representing character vectors as
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
141 opposed to string objects, and if you intend to update to a future version of
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
142 Octave incorporating the above changes, then consider replacing all
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
143 double-quoted strings with single-quoted strings in your code over time
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
144 (e.g., replace "foo" with 'foo'). Single-quoted strings are expected to
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
145 retain current behavior. Further, if your code relies on backslash escape
8029e9b88950 NEWS.8.md: Expand note about string changes.
Arun Giridhar <arungiridhar@gmail.com>
parents: 31525
diff changeset
146 sequence interpretation in double-quoted strings (except for special cases
31710
bc24b226891a strip trailing whitespace and extra blank lines
John W. Eaton <jwe@octave.org>
parents: 31672
diff changeset
147 like the `printf` family), that code may need to change as well.
31515
45328547bc12 NEWS.8.md: Add note about breaking change (strings)
Arun Giridhar <arungiridhar@gmail.com>
parents: 31470
diff changeset
148
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
149 ### Alphabetical list of new functions added in Octave 8
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
150
31245
a887ffb997a7 New function memoize to optimize repetitive function calls (bug #60860).
Guillaume Flandin <guillaume.offline@gmail.com>
parents: 31240
diff changeset
151 * `clearAllMemoizedCaches`
a887ffb997a7 New function memoize to optimize repetitive function calls (bug #60860).
Guillaume Flandin <guillaume.offline@gmail.com>
parents: 31240
diff changeset
152 * `matlab.lang.MemoizedFunction`
a887ffb997a7 New function memoize to optimize repetitive function calls (bug #60860).
Guillaume Flandin <guillaume.offline@gmail.com>
parents: 31240
diff changeset
153 * `memoize`
31351
ecfb41743fd2 Implement new function 'normalize' (bug #55765)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31263
diff changeset
154 * `normalize`
31140
7c5cb8f8a21e pagetranspose.m, pagectranspose.m: New functions for transposing the page (3-D) of an N-D array.
Rik <rik@octave.org>
parents: 31063
diff changeset
155 * `pagectranspose`
7c5cb8f8a21e pagetranspose.m, pagectranspose.m: New functions for transposing the page (3-D) of an N-D array.
Rik <rik@octave.org>
parents: 31063
diff changeset
156 * `pagetranspose`
31005
81b51b823663 uifigure.m: Add new function.
Rik <rik@octave.org>
parents: 30999
diff changeset
157 * `uifigure`
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
158
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
159 ### Deprecated functions, properties, and operators
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
160
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
161 The following functions and properties have been deprecated in Octave 8
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
162 and will be removed from Octave 10 (or whatever version is the second
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
163 major release after 8):
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
164
30604
a5e92ddf0a4d doc: etc/NEWS.8.md: announce shift.m deprecation.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 30550
diff changeset
165 - Functions
a5e92ddf0a4d doc: etc/NEWS.8.md: announce shift.m deprecation.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 30550
diff changeset
166
31470
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
167 Function | Replacement
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
168 -----------------------|------------------
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
169 shift | circshift
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
170 sparse_auto_mutate | none (see below)
30604
a5e92ddf0a4d doc: etc/NEWS.8.md: announce shift.m deprecation.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 30550
diff changeset
171
30876
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
172 - The `sparse_auto_mutate` function no longer has any effect on Octave's
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
173 behavior. Previously, after calling `sparse_auto_mutate (true)`,
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
174 Octave would automatically convert sparse matrices to full when a
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
175 sparse matrix required more memory than simply using full matrix
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
176 storage. This setting was `false` by default for compatibility with
6ddc9c9bab50 NEWS.8.md: Add notes to Matlab Compatibility section.
Rik <rik@octave.org>
parents: 30815
diff changeset
177 Matlab. Now you must manually convert to full storage when desired.
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
178
30999
fef2957c38ec Deprecate uimenu properties "label" and "callback" (bug #62443)
Rik <rik@octave.org>
parents: 30997
diff changeset
179 - Properties
fef2957c38ec Deprecate uimenu properties "label" and "callback" (bug #62443)
Rik <rik@octave.org>
parents: 30997
diff changeset
180
fef2957c38ec Deprecate uimenu properties "label" and "callback" (bug #62443)
Rik <rik@octave.org>
parents: 30997
diff changeset
181 The following property names are discouraged, but there is no fixed
fef2957c38ec Deprecate uimenu properties "label" and "callback" (bug #62443)
Rik <rik@octave.org>
parents: 30997
diff changeset
182 date for their removal.
fef2957c38ec Deprecate uimenu properties "label" and "callback" (bug #62443)
Rik <rik@octave.org>
parents: 30997
diff changeset
183
31470
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
184 Object | Property | Replacement
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
185 -----------------|-------------|------------
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
186 uimenu | label | text
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
187 uimenu | callback | menuselectedfcn
30999
fef2957c38ec Deprecate uimenu properties "label" and "callback" (bug #62443)
Rik <rik@octave.org>
parents: 30997
diff changeset
188
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
189 The following functions were deprecated in Octave 6 and have been removed
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
190 from Octave 8.
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
191
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
192 - Functions
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
193
31470
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
194 Function | Replacement
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
195 -------------|------------
2b83190294b5 NEWS.8.md: Update spacing for Markdown syntax.
Rik <rik@octave.org>
parents: 31445
diff changeset
196 runtests | oruntests
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
197
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
198 - The environment variable used by `mkoctfile` for linker flags is now
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
199 `LDFLAGS` rather than `LFLAGS`. `LFLAGS` was deprecated in Octave 6,
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
200 and will be removed in a future version of Octave.
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
201
31766
74aa32d5fd08 bump version for first 8.1 release candidate
John W. Eaton <jwe@octave.org>
parents: 31710
diff changeset
202 Summary of bugs fixed for version 8.1.0 (2023-01-22):
31519
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
203 ----------------------------------------------------
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
204
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
205 - Improved input validation and/or output handling for `poly`, `pinv`, `patch`,
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
206 `fill`, `fill3`, `qp`, `datevec`, `textscan`, `sub2ind`, `qr`, `airy`,
31525
24ca5cb70a4a mean.m: improve error handling for dim input (bug #63410)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents: 31521
diff changeset
207 `regexp`, `dec2bin`, `dec2hex`, `mean`, and many others.
31519
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
208 - Improved performance for `complex`, `fftw`, `delaunayn`, `isfield`, `tsearch`,
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
209 sparse matrix exponentiation, other sparse operations, and many others.
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
210 - Overhauled `@audiorecorder` and `@audioplayer` classes.
e3a133bf920f NEWS.8.md: Add short list of bugs fixed for Octave 8
Arun Giridhar <arungiridhar@gmail.com>
parents: 31517
diff changeset
211
30458
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
212 ### Old release news
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
213
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
214 - [Octave 7.x](etc/NEWS.7)
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
215 - [Octave 6.x](etc/NEWS.6)
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
216 - [Octave 5.x](etc/NEWS.5)
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
217 - [Octave 4.x](etc/NEWS.4)
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
218 - [Octave 3.x](etc/NEWS.3)
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
219 - [Octave 2.x](etc/NEWS.2)
df7feab99999 maint: etc/NEWS.8 make Markdown file.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
220 - [Octave 1.x](etc/NEWS.1)