view NEWS @ 27237:67e5e997a3bf

setdiff.m: Accept a "legacy" flag for Matlab compatibility. * NEWS: Announce change to setdiff return values when given "rows" argument. Announce "legacy" flag. * setdiff.m Add new calling form and explanation of "legacy" option to docstring. Allow up to 4 inputs in input validation. Check for "legacy" in input options and set variable optlegacy. Set variable isrowvec based on optlegacy and orientation of inputs. Add BIST tests for "rows" and "legacy" inputs.
author Rik <rik@octave.org>
date Thu, 11 Jul 2019 15:29:38 -0700
parents 3d10834979f8
children 177be3c01238
line wrap: on
line source

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

### General improvements

- 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"`.

#### 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 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`, `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.


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

- `lightangle`
- `newline`
- `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)