view NEWS @ 27653:3564d3999960

fix message box when trying to open a non-existant function in the editor * main-window.cc (handle_edit_mfile_request): move message box from the interpreter thread into a gui slot and just emit the related new signal; (warning_function_not_found): new slot showing the message box (construct): connect new signal to new slot * main-window.h: new signal warning_function_not_found_signal and new slot warning_function_not_found
author Torsten Lilge <ttl-octave@mailbox.org>
date Thu, 07 Nov 2019 20:11:08 +0100
parents 698c8b08fe8c
children a780677b845c
line wrap: on
line source

Summary of important user-visible changes for version 6 (yyyy-mm-dd):
----------------------------------------------------------------------

### General improvements

- The `intersect`, `setdiff`, `setxor`, `union`, and `unique` functions
  accept a new sorting option `"stable"` which will return output values
  in the same order as the input, rather than in ascending order.

- The `linspace` function now produces symmetrical sequences when the
  endpoints are symmetric.  This is more intuitive and also compatible
  with recent changes made in Matlab R2019b.

- The `edit` function option `"editinplace"` now defaults to `true` and
  the option `"home"` now defaults to the empty matrix `[]`.  Files will
  no longer be copied to the user's HOME directory for editing.  The old
  behavior can be restored by setting `"editinplace"` to `false` and
  `"home"` to `"~/octave"`.

- The `format` command supports two new options: `uppercase` and
  `lowercase` (default).  With the default, print a lowercase 'e' for
  the exponent character in scientific notation and lowercase 'a-f' for
  the hex digits representing 10-15.  With `uppercase`, print 'E' and
  'A-F' instead.  The previous uppercase formats, `E` and `G`, no longer
  control the case of the output.

  Additionally, the `format` command can be called with multiple options
  for controlling the format, spacing, and case in arbitrary order.
  For example:

        format long e uppercase loose

  Note, that in case of multiple competing format options the rightmost
  one is used and in case of an error the previous format remains
  unchanged.

- New warnings have been added about questionable uses of the colon ':'
  range operator.  Each has a new warning ID so that it can be disabled
  if desired.

  >  `Octave:colon-complex-argument`   : when any arg is complex  
  >  `Octave:colon-nonscalar-argument` : when any arg is non-scalar

- The `regexp` and related functions now correctly handle and *require*
  strings in UTF-8 encoding.  As with any other function that requires
  strings to be encoded in Octave's native encoding, you can use
  `native2unicode` to convert from your preferred locale.  For example,
  the copyright symbol in UTF-8 is `native2unicode (169, "latin1")`.

#### Graphics backend

- Graphic primitives now accept a color property value of `"none"`
  which is useful when a particular primitive needs to be hidden
  (for example, the Y-axis of an axes object with `"ycolor" = "none"`)
  without hiding the entire primitive `"visibility" = "off"`.

- A new property `"FontSmoothing"` has been added to text and axes
  objects that controls whether anti-aliasing is used during the
  rendering of characters.  The default is `"on"` which produces smooth,
  more visually appealing text.

- The figure property `"windowscrollwheelfcn"`is now implemented.
  This makes it possible to provide a callback function to be executed
  when users manipulate the mouse wheel on a given figure.

- The figure properties `"pointer"`, `"pointershapecdata"`, and
  `"pointershapehotspot"` are now implemented.  This makes it possible
  to change the shape of the cursor (pointer in Matlab-speak) displayed
  in a plot window.

- The figure property `"paperpositionmode"` now has the default `"auto"`
  rather than `"manual"`.  This change is more intuitive and is
  Matlab compatible.

- The appearance of patterned lines `"LineStyle" = ":"|"--"|"-."` has
  been improved for small widths (`"LineWidth"` less than 1.5 pixels)
  which is a common scenario.

- Printing to EPS files now uses a tight bounding box (`"-tight"`
  argument to print) by default.  This makes more sense for EPS
  files which are normally embedded within other documents, and is
  Matlab compatible.  If necessary use the `"-loose"` option to
  reproduce figures as they appeared in previous versions of Octave.

- The following print devices are no longer officially supported: cdr,
  corel, aifm, ill, cgm, hpgl, mf and dxf.  A warning will be thrown
  when using those devices, and the code for supporting those formats
  will eventually be removed from a future version of Octave.

### Matlab compatibility

- The function `unique` now returns column index vectors for the second
  and third outputs.  When duplicate values are present, the default
  index to return is now the `"first"` occurrence.  The previous Octave
  behavior, or Matlab behavior from releases prior to R2012b, can be
  obtained by using the `"legacy"` flag.

- The function `setdiff` with the `"rows"` argument now returns Matlab
  compatible results.  The previous Octave behavior, or Matlab behavior
  from releases prior to R2012b, can be obtained by using the `"legacy"`
  flag.

- The functions `intersect`, `setxor`, and `union` now accept a
  `"legacy"` flag which changes the index values (second and third
  outputs) as well as the orientation of all outputs to match Matlab
  releases prior to R2012b.

- Complex RESTful web services can now be accessed by the `webread` and
  `webwrite` functions alongside with the `weboptions` structure.  One
  major feature is the support for cookies to enable RESTful
  communication with the web service.

  Additionally, the system web browser can be opened by the `web` function.

- The interpreter now supports handles to nested functions.

- The graphics properties `"LineWidth"` and `"MarkerSize"` are now
  measured in points, *not* pixels.  Compared to previous versions
  of Octave, some lines and markers will appear 4/3 larger.

- The meta.class property "SuperClassList" has been renamed
  "Superclasslist" for Matlab compatibility.  The original name will
  exist as an alias until Octave version 8.1.

### Alphabetical list of new functions added in Octave 6

* `is_same_file`
* `lightangle`
* `namedargs2cell`
* `newline`
* `rotx`
* `roty`
* `rotz`
* `uisetfont`
* `verLessThan`
* `web`
* `weboptions`
* `webread`
* `webwrite`


### Deprecated functions and properties

The following functions and properties have been deprecated in Octave 6
and will be removed from Octave 8 (or whatever version is the second
major release after 6):

- Functions

  Function               | Replacement
  -----------------------|------------------
  `runtests`             | `oruntests`

- Properties

  Object           | Property      | Value
  -----------------|---------------|------------
                   |               |


### Removed functions and properties

The following functions and properties were deprecated in Octave 4.4
and have been removed from Octave 6.

- Functions

  Function             | Replacement
  ---------------------|------------------
  `chop`               | `sprintf` for visual results
  `desktop`            | `isguirunning`
  `tmpnam`             | `tempname`
  `toascii`            | `double`
  `java2mat`           | `__java2mat__`

- Properties

  Object               | Property                  | Value
  ---------------------|---------------------------|-----------------------
  `figure`             | `doublebuffer`            |
                       | `mincolormap`             |
                       | `wvisual`                 |
                       | `wvisualmode`             |
                       | `xdisplay`                |
                       | `xvisual`                 |
                       | `xvisualmode`             |
  `axes`               | `drawmode`                |
  `annotation`         | `edgecolor ("rectangle")` |
  `text`               | `fontweight`              | `"demi"` and `"light"`
  `uicontrol`          | `fontweight`              | `"demi"` and `"light"`
  `uipanel`            | `fontweight`              | `"demi"` and `"light"`
  `uibuttongroup`      | `fontweight`              | `"demi"` and `"light"`
  `uitable`            | `fontweight`              | `"demi"` and `"light"`


### Old release news

- [Octave 5.x](etc/NEWS.5)
- [Octave 4.x](etc/NEWS.4)
- [Octave 3.x](etc/NEWS.3)
- [Octave 2.x](etc/NEWS.2)
- [Octave 1.x](etc/NEWS.1)