Mercurial > octave
annotate etc/NEWS.10.md @ 33624:e0c037a01fde default tip
redirect stdout and stderr into experimental terminal widget
* command-widget.cc (command_widget): open temp files for redirecting
stdout and stderr, setup a file system watcher for signals on changes
to these files;
(~command_widget): close and remove the temp. files;
(insert_interpreter_output): use the style as second argument
(print_stream): add new contents of temp. files for stdout and stderr
to the end of the terminal contents;
(notice_settings): set the terminal preferences to the new lexer of
the console;
(console): create and set new lexer;
(new_command_line): use prompt style for the prompt;
(execute_command): use second command line argument for the style;
(append_string): use style as second argument and style the added
text accordingly;
* command-widget.h (console) append_string with second argument for style,
(command_widget): now with destructor, new method print_stream,
insert_interpreter_output with second argument for style, new class
variables for temp. file descriptors and file system watcher
* console-lexer.cc/h: new lexer derived from QScintillas default lexer
for styling the terminal output, styles used so far: Default, Error,
and Prompt
* gui-preferences-cs.h: new constants for error and prompt colors
* libgui/src/module.mk: new files console_lexer.cc/h
* qt-interpreter-events.cc (display_exception): interpreter_output_signal
with second argument for the style, here Error style
* qt-interpreter-events.h: interpreter_output_signal with second
argument for the style
* terminal-dock-widget.h: interpreter_output_signal with second
argument for the style
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sat, 25 May 2024 14:36:01 +0200 |
parents | 742d8fc77688 |
children |
rev | line source |
---|---|
32483 | 1 Summary of important user-visible changes for version 10 (yyyy-mm-dd): |
2 --------------------------------------------------------------------- | |
3 | |
4 ### General improvements | |
5 | |
32669
b18af44b044b
Add new short form aliases of runtime long form options to octave.
Rik <rik@octave.org>
parents:
32660
diff
changeset
|
6 - Three short form aliases have been added for long form options when starting |
b18af44b044b
Add new short form aliases of runtime long form options to octave.
Rik <rik@octave.org>
parents:
32660
diff
changeset
|
7 `octave`. |
b18af44b044b
Add new short form aliases of runtime long form options to octave.
Rik <rik@octave.org>
parents:
32660
diff
changeset
|
8 * `-e CODE` for `--eval CODE` |
b18af44b044b
Add new short form aliases of runtime long form options to octave.
Rik <rik@octave.org>
parents:
32660
diff
changeset
|
9 * `-g` for `--gui` |
b18af44b044b
Add new short form aliases of runtime long form options to octave.
Rik <rik@octave.org>
parents:
32660
diff
changeset
|
10 * `-G` for `--no-gui` |
b18af44b044b
Add new short form aliases of runtime long form options to octave.
Rik <rik@octave.org>
parents:
32660
diff
changeset
|
11 |
32678
49d6ecd07a76
Rename command-line options for handling configuration files.
Rik <rik@octave.org>
parents:
32677
diff
changeset
|
12 - Three long form options have been introduced for clarity. |
49d6ecd07a76
Rename command-line options for handling configuration files.
Rik <rik@octave.org>
parents:
32677
diff
changeset
|
13 * `--no-init-user` : Don't read user configuration files ~/.octaverc or |
49d6ecd07a76
Rename command-line options for handling configuration files.
Rik <rik@octave.org>
parents:
32677
diff
changeset
|
14 .octaverc files at startup. |
49d6ecd07a76
Rename command-line options for handling configuration files.
Rik <rik@octave.org>
parents:
32677
diff
changeset
|
15 * `--no-init-site` : Don't read site-wide configuration files at startup. |
49d6ecd07a76
Rename command-line options for handling configuration files.
Rik <rik@octave.org>
parents:
32677
diff
changeset
|
16 * `--no-init-all` : Don't read any configuration files at startup. |
49d6ecd07a76
Rename command-line options for handling configuration files.
Rik <rik@octave.org>
parents:
32677
diff
changeset
|
17 |
33170
82ae00b40c2c
maint: strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
33160
diff
changeset
|
18 - `nchoosek` algorithm is now ~2x faster and provides greater precision. |
32926
39b341c858a7
nchoosek: Improve input validation and code clarity (bug #65238)
Rik <rik@octave.org>
parents:
32726
diff
changeset
|
19 |
33199
297fd823a953
nextpow2.m: Overhaul function for improved accuracy and Matlab compatibility (bug #65441)
Rik <rik@octave.org>
parents:
33170
diff
changeset
|
20 - `nextpow2` algorithm is now more accurate for inputs very close to a power |
33559 | 21 of 2. The output class now matches the input class for Matlab compatibility. |
22 The function no longer accepts complex inputs and will emit an error for | |
23 these inputs. | |
33199
297fd823a953
nextpow2.m: Overhaul function for improved accuracy and Matlab compatibility (bug #65441)
Rik <rik@octave.org>
parents:
33170
diff
changeset
|
24 |
33200
9f97974976cd
Allow integer inputs greater than 999999 to jsonencode (bug #65447)
Rik <rik@octave.org>
parents:
33199
diff
changeset
|
25 - `jsonencode` now outputs integers and floating point integers without ".0" |
33559 | 26 suffix. |
33463
7594fda4aab4
NEWS.10.md: Minor changes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
33461
diff
changeset
|
27 |
33222
67480f3843c7
hist.m: allow processing of n-D array inputs (bug #65478)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
33200
diff
changeset
|
28 - `hist` now accepts N-dimensional array inputs for input `Y` which is |
33559 | 29 processed in columns as if the array was flattened to a 2-dimensional array. |
30 | |
31 - The third output for `unique` is now correct when `stable` sort option is | |
32 used. | |
33200
9f97974976cd
Allow integer inputs greater than 999999 to jsonencode (bug #65447)
Rik <rik@octave.org>
parents:
33199
diff
changeset
|
33 |
33571
742d8fc77688
Support setting breakpoints in get and set methods of classdef properties (bug #65610).
Markus Mützel <markus.muetzel@gmx.de>
parents:
33559
diff
changeset
|
34 - Support setting breakpoints in `set` or `get` methods of `classdef` |
742d8fc77688
Support setting breakpoints in get and set methods of classdef properties (bug #65610).
Markus Mützel <markus.muetzel@gmx.de>
parents:
33559
diff
changeset
|
35 properties (bug #65610). |
742d8fc77688
Support setting breakpoints in get and set methods of classdef properties (bug #65610).
Markus Mützel <markus.muetzel@gmx.de>
parents:
33559
diff
changeset
|
36 |
32483 | 37 ### Graphical User Interface |
38 | |
39 ### Graphics backend | |
40 | |
33559 | 41 - `polar` plots now include the center tick mark value, typically 0, in the |
42 `'rtick'` parameter when the plot is created. Subsequent modifications to | |
43 `'rtick'` by the function `rticks` will only include the center tick mark | |
44 value if it is specified. | |
32587
a6b7c5620240
polar.m: Populate rtick with center value on plot creation (bug #64991)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32583
diff
changeset
|
45 |
33463
7594fda4aab4
NEWS.10.md: Minor changes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
33461
diff
changeset
|
46 - `view` correctly interprets cartesian viewpoints on main axes (bug #65641). |
33461
2f5a875246ae
view.m: Move input validation to avoid creating figure on error (bug #65641)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
33453
diff
changeset
|
47 |
32483 | 48 ### Matlab compatibility |
49 | |
32583
c273d7fdab3a
doc: Add height and width info to rows and columns docstrings (bug #64995)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32505
diff
changeset
|
50 - `height` and `width` are now aliases for the `rows` and `columns` functions. |
c273d7fdab3a
doc: Add height and width info to rows and columns docstrings (bug #64995)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32505
diff
changeset
|
51 |
33559 | 52 - All colormaps now default to a size of 256 colors. (The previous default size |
53 was 64.) | |
54 | |
55 - The first argument to `colormap` may now be a figure or axes object. Calling | |
56 `colormap` on a figure object will clear any "colormap" properties set at the | |
57 axes level. | |
32647
dfb9b770ae77
Increase default colormap size to 256 colors, add colormap BISTs (bug #65010)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32625
diff
changeset
|
58 |
32726
d970ec60aa64
griddata: Match output size to vector interpolation points. (bug #65134)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32678
diff
changeset
|
59 - `griddata` output size more consistently matches the input interpolation |
33559 | 60 points when they are input as vectors. When they are same-orientation |
61 vectors, the outputs will be the same size as those vectors. When either is | |
62 a row vector and the other is a column vector, the interpolating points are | |
63 processed through meshgrid and the output is a matrix the same size as the | |
64 meshgrid. | |
33088
49dec190c4da
unqiue.m: Implement third output when 'stable' sort is used. (bug #65176)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32926
diff
changeset
|
65 |
33267
95c195edc257
iqr: Produce compatible output for empty x inputs (bug #65531)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
33222
diff
changeset
|
66 - `iqr` now provides compatible output for empty inputs. |
95c195edc257
iqr: Produce compatible output for empty x inputs (bug #65531)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
33222
diff
changeset
|
67 |
33559 | 68 - `cross` now produces row vector outputs when the inputs are a mix of row and |
69 column vectors (bug #61295). | |
33287
1db14e08bee4
cross: Change mixed vector orientation input to row vector output (bug #61295)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
33267
diff
changeset
|
70 |
33453
2a0cdc52220b
rat.m: Accept complex inputs (bug #55198)
Arun Giridhar <arungiridhar@gmail.com>
parents:
33365
diff
changeset
|
71 - `rat` now accepts complex inputs. |
2a0cdc52220b
rat.m: Accept complex inputs (bug #55198)
Arun Giridhar <arungiridhar@gmail.com>
parents:
33365
diff
changeset
|
72 |
33534
9bfc3c313ec4
NEWS.10.md: Mention input validation change in system() (bug #65665)
Arun Giridhar <arungiridhar@gmail.com>
parents:
33463
diff
changeset
|
73 - The optional second input argument of `system`, denoting whether to return |
33559 | 74 the output as a variable, is now required to be a boolean value if used. |
33534
9bfc3c313ec4
NEWS.10.md: Mention input validation change in system() (bug #65665)
Arun Giridhar <arungiridhar@gmail.com>
parents:
33463
diff
changeset
|
75 |
33365
fb44a9db1bc6
Replace `xint_value` and related functions with stricter versions (bug #65538)
Arun Giridhar <arungiridhar@gmail.com>
parents:
33326
diff
changeset
|
76 - Octave functions whose Matlab equivalents give errors when passed non-integer |
33559 | 77 values as sizes or dimensions now also give similar errors. For example, |
78 `cell (e, pi)` now gives an error in Octave about requiring integer sizes for | |
79 the cell array, matching Matlab behavior. Previously, Octave's conversion | |
80 from non-integers to integers was more lenient. | |
33365
fb44a9db1bc6
Replace `xint_value` and related functions with stricter versions (bug #65538)
Arun Giridhar <arungiridhar@gmail.com>
parents:
33326
diff
changeset
|
81 |
32483 | 82 ### Alphabetical list of new functions added in Octave 10 |
83 | |
33129
92b8822976fe
clim.m: New function identical to caxis, but more clearly named.
Rik <rik@octave.org>
parents:
33088
diff
changeset
|
84 * `clim` |
32602
65084aa09317
rticklabels.m, tticklabels.m: Add new functions. (patch #10408)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32595
diff
changeset
|
85 * `rticklabels` |
65084aa09317
rticklabels.m, tticklabels.m: Add new functions. (patch #10408)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32595
diff
changeset
|
86 * `tticklabels` |
65084aa09317
rticklabels.m, tticklabels.m: Add new functions. (patch #10408)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
32595
diff
changeset
|
87 |
32483 | 88 ### Deprecated functions, properties, and operators |
89 | |
90 The following functions and properties have been deprecated in Octave 10 | |
91 and will be removed from Octave 12 (or whatever version is the second | |
92 major release after 10): | |
93 | |
94 - Functions | |
95 | |
96 Function | Replacement | |
97 -----------------------|------------------ | |
98 | |
32625
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
99 - Core |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
100 |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
101 Function | Replacement |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
102 --------------------------------------|------------------ |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
103 symbol_record_rep::mark_as_variable | symbol_record_rep::mark_variable |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
104 symbol_record_rep::unmark_as_variable | symbol_record_rep::unmark_variable |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
105 symbol_record::mark_as_variable | symbol_record::mark_variable |
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
106 symbol_record::unmark_as_variable | symbol_record::unmark_variable |
32677
03dcf031fbf3
Deprecate '--verbose' option in favor of '--init-trace'.
Rik <rik@octave.org>
parents:
32669
diff
changeset
|
107 interpreter::verbose | interpreter::init_trace |
03dcf031fbf3
Deprecate '--verbose' option in favor of '--init-trace'.
Rik <rik@octave.org>
parents:
32669
diff
changeset
|
108 cmdline_options::verbose | cmdline_options::init_trace |
32625
b60af3354ac3
maint: Deprecate mark_as_variable, unmark_as_variable methods for code clarity.
Rik <rik@octave.org>
parents:
32602
diff
changeset
|
109 |
33559 | 110 - A new method `rwdata ()` provides direct read/write access (a pointer) to |
111 the data in a liboctave `Array` object (or its derived classes such as | |
112 `Matrix`). Historically, the method `fortran_vec ()` provided this access, | |
113 but the name is unclear, and it is recommended to use `rwdata ()` in any | |
114 new code. There are no plans to deprecate `fortran_vec`. | |
32660
f53ac65ffba6
maint: New method rwdata() as clearer alternative to fortran_vec().
Rik <rik@octave.org>
parents:
32647
diff
changeset
|
115 |
32677
03dcf031fbf3
Deprecate '--verbose' option in favor of '--init-trace'.
Rik <rik@octave.org>
parents:
32669
diff
changeset
|
116 - The `--verbose`,`-V` command-line option has been deprecated. Use |
33559 | 117 `--init-trace` to print the configuration files executed during |
118 initialization. | |
32677
03dcf031fbf3
Deprecate '--verbose' option in favor of '--init-trace'.
Rik <rik@octave.org>
parents:
32669
diff
changeset
|
119 |
32483 | 120 The following features were deprecated in Octave 8 and have been removed |
121 from Octave 10. | |
122 | |
123 - Functions | |
124 | |
125 Function | Replacement | |
126 -----------------------|------------------ | |
127 shift | circshift | |
128 sparse_auto_mutate | none (see below) | |
129 | |
33559 | 130 - `fminsearch` parameter passing: A legacy, undocumented, and only partially |
131 supported syntax for passing parameters to the minimized function `fcn` | |
132 called by `fminsearch` by appending them to the input argument list was | |
133 partly implemented since Octave 4.4.0. Due to conflicts with other input | |
134 methods, the documentation of this syntax was removed in Octave 5.1.0. The | |
135 remaining functionality has been completely removed in Octave 10. Attempts | |
136 to call `fminsearch` with that syntax will result in an error. The preferred | |
137 method of passing parameters to any of the minimization functions (including | |
138 `fminsearch`, `fminbnd`, and `fminunc`) is through the use of anonymous | |
139 functions. Specific examples of this can be found in the "Minimizers" | |
140 section of the Octave manual. | |
33326
3f3d7dde7f61
fminsearch: Remove direct parameter passing capability. (bug #55742)
Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
parents:
33287
diff
changeset
|
141 |
33160
4584cb4207f1
build: Require a C++ compiler that is compliant with C++17.
Markus Mützel <markus.muetzel@gmx.de>
parents:
33129
diff
changeset
|
142 ### Build system |
4584cb4207f1
build: Require a C++ compiler that is compliant with C++17.
Markus Mützel <markus.muetzel@gmx.de>
parents:
33129
diff
changeset
|
143 |
4584cb4207f1
build: Require a C++ compiler that is compliant with C++17.
Markus Mützel <markus.muetzel@gmx.de>
parents:
33129
diff
changeset
|
144 - Octave now requires a C++ compiler that is compliant with C++17 (preferably |
33559 | 145 with GNU extensions). |
33160
4584cb4207f1
build: Require a C++ compiler that is compliant with C++17.
Markus Mützel <markus.muetzel@gmx.de>
parents:
33129
diff
changeset
|
146 |
32483 | 147 |
148 Summary of bugs fixed for version 10.1.0 (yyyy-mm-dd): | |
149 ---------------------------------------------------- | |
150 | |
33536
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
151 - Improve nchoosek.m algorithm to prevent numerical issues (bug #65238) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
152 - nchoosek error "gcd: all values must be integers" (bug #65495) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
153 - nextpow2 incorrect for some inputs slightly larger than powers of two (bug #65441) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
154 - jsonencode does not accept integer values larger than 999999 (bug #65447) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
155 - hist produces nonconformtant arguments error when input has ndims > 2 (bug #65478) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
156 - compatibility: colormaps now default to 256 colors in matlab (bug #65010) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
157 - implement height and width as aliases for rows and columns for matlab compatibility (bug #64995) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
158 - 'view' produces incorrect viewpoint when given a vector aligned with the primary axes (bug #65641) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
159 - polar doesn't populate rtick with center tick value (bug #64991) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
160 - iqr handling of empty inputs is not compatible (bug #65531) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
161 - griddata: output size inconsistent for vector input interpolation points (bug #65134) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
162 - unique.m - Enable third output with option 'stable' (bug #65176) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
163 - Input validation for system() (bug #65665) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
164 - rat() should support complex numbers (bug #55198) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
165 - cross() dimensions inconsistent with Matlab when using mismatched input vector dimensions (bug #61295) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
166 - xint_value does not work the way it is intended (bug #65538) |
a7248dd08efa
NEWS.10.md: Populate bugs fixed for 10.1.0
Arun Giridhar <arungiridhar@gmail.com>
parents:
33534
diff
changeset
|
167 |
32483 | 168 ### Old release news |
169 | |
32505
fe131ab1011a
NEWS: Update links to previous NEWS files.
Markus Mützel <markus.muetzel@gmx.de>
parents:
32483
diff
changeset
|
170 - [Octave 9.x](etc/NEWS.9.md) |
fe131ab1011a
NEWS: Update links to previous NEWS files.
Markus Mützel <markus.muetzel@gmx.de>
parents:
32483
diff
changeset
|
171 - [Octave 8.x](etc/NEWS.8.md) |
fe131ab1011a
NEWS: Update links to previous NEWS files.
Markus Mützel <markus.muetzel@gmx.de>
parents:
32483
diff
changeset
|
172 - [Octave 7.x](etc/NEWS.7.md) |
fe131ab1011a
NEWS: Update links to previous NEWS files.
Markus Mützel <markus.muetzel@gmx.de>
parents:
32483
diff
changeset
|
173 - [Octave 6.x](etc/NEWS.6.md) |
fe131ab1011a
NEWS: Update links to previous NEWS files.
Markus Mützel <markus.muetzel@gmx.de>
parents:
32483
diff
changeset
|
174 - [Octave 5.x](etc/NEWS.5.md) |
32483 | 175 - [Octave 4.x](etc/NEWS.4) |
176 - [Octave 3.x](etc/NEWS.3) | |
177 - [Octave 2.x](etc/NEWS.2) | |
178 - [Octave 1.x](etc/NEWS.1) |