Age | Commit message (Collapse) | Author | Files | Lines |
|
This updates octave and also gets some more recommened dependencies in,
namely qrupdate and Mesalib (for osmesa) and gl2ps as well as the
qscintilla editor. The glpk option is on by default again.
This version of octave comes rather close to a standard build, with
optimzied BLAS and GUI fluff. We are still missing SuiteSparse and
SUNDIALS solvers, see
https://octave.org/doc/v6.2.0/External-Packages.html
PortAudio should also be considered, and LLVM be watched if that
experimental JIT settles in.
Upstream changes since 5.x:
Summary of important user-visible changes for version 6.1.0 (2020-11-26):
------------------------------------------------------------------------
### 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.
- 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 `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 underlying algorithm of the `rand` function has been changed.
For single precision outputs, the algorithm has been fixed so that it
produces values strictly in the range (0, 1). Previously, it could
occasionally generate the right endpoint value of 1 (See bug #41742).
In addition, the new implementation uses a uniform interval between
floating point values in the range (0, 1) rather than targeting a
uniform density (# of random integers / length along real number
line).
- Numerical integration has been improved. The `quadv` function has
been re-written so that it can compute integrands of periodic
functions. At the same time, performance is better with ~3.5X fewer
function evaluations required. A bug in `quadgk` that caused complex
path integrals specified with `"Waypoints"` to occasionally be
calculated in the opposite direction was fixed.
- 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, in the case of multiple competing format options the rightmost
one is used, and, in case of an error, the previous format remains
unchanged.
- L-value references (e.g., increment (++), decrement (--), and all
in-place assignment operators (+=, -=, *=, /=, etc.)) are no longer
allowed in anonymous functions.
- 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")`.
- The startup file `octaverc` can now be located in the platform
dependent location for user local configuration files (e.g.,
${XDG_CONFIG_HOME}/octave/octaverc on Unix-like operating systems or
%APPDATA%\octave\octaverc on Windows).
- `pkg describe` now lists dependencies and inverse dependencies
(i.e., other installed packages that depend on the package in
question).
- `pkg test` now tests all functions in a package.
- When unloading a package, `pkg` now checks if any remaining loaded
packages depend on the one to be removed. If this is the case `pkg`
aborts with an explanatory error message. This behavior can be
overridden with the `-nodeps` option.
- The command
dbstop in CLASS at METHOD
now works to set breakpoints in classdef constructors and methods.
#### Graphics backend
- The use of Qt4 for graphics and the GUI is deprecated in Octave
version 6 and no further bug fixes will be made. Qt4 support will be
removed completely in Octave version 7.
- The `legend` function has been entirely rewritten. This fixes a
number of historical bugs, and also implements new properties such as
`"AutoUpdate"` and `"NumColumns"`. The gnuplot toolkit---which is no
longer actively maintained---still uses the old legend function.
- The `axis` function was updated which resolved 10 bugs affecting
axes to which `"equal"` had been applied.
- 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.
- The placement of text subscripts and superscripts has been
re-engineered and now produces visually attractive results similar to
Latex.
### 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.
- The function `streamtube` is Matlab compatible and plots tubes along
streamlines which are scaled by the vector field divergence. The
Octave-only extension `ostreamtube` can be used to visualize the flow
expansion and contraction of the vector field due to the local
crossflow divergence.
- 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.
- Inline functions created by the function `inline` are now of type
"inline" when interrogated with the `class` function. In previous
versions of Octave, the class returned was "function_handle". This
change is Matlab compatible. Inline functions are deprecated in
both Matlab and Octave and support may eventually be removed.
Anonymous functions can be used to replace all instances of inline
functions.
- The function `javaaddpath` now prepends new directories to the
existing dynamic classpath by default. To append them instead, use
the new `"-end"` argument. Multiple directories may now be specified
in a cell array of strings.
- An undocumented function `gui_mainfcn` has been added, for compatibility
with figures created with Matlab's GUIDE.
- Several validator functions of type `mustBe*` have been added. See
the list of new functions below.
### Alphabetical list of new functions added in Octave 6
* `auto_repeat_debug_command`
* `commandhistory`
* `commandwindow`
* `filebrowser`
* `is_same_file`
* `lightangle`
* `mustBeFinite`
* `mustBeGreaterThan`
* `mustBeGreaterThanOrEqual`
* `mustBeInteger`
* `mustBeLessThan`
* `mustBeLessThanOrEqual`
* `mustBeMember`
* `mustBeNegative`
* `mustBeNonempty`
* `mustBeNonNan`
* `mustBeNonnegative`
* `mustBeNonpositive`
* `mustBeNonsparse`
* `mustBeNonzero`
* `mustBeNumeric`
* `mustBeNumericOrLogical`
* `mustBePositive`
* `mustBeReal`
* `namedargs2cell`
* `newline`
* `ode23s`
* `ostreamtube`
* `rescale`
* `rotx`
* `roty`
* `rotz`
* `stream2`
* `stream3`
* `streamline`
* `streamtube`
* `uisetfont`
* `verLessThan`
* `web`
* `weboptions`
* `webread`
* `webwrite`
* `workspace`
### 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
-----------------|---------------|------------
| |
- The environment variable used by `mkoctfile` for linker flags is now
`LDFLAGS` rather than `LFLAGS`. `LFLAGS` is deprecated, and a warning
is emitted if it is used, but it will continue to work.
### 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
---------------------|---------------------------|-----------------------
`annotation` | `edgecolor ("rectangle")` |
`axes` | `drawmode` |
`figure` | `doublebuffer` |
| `mincolormap` |
| `wvisual` |
| `wvisualmode` |
| `xdisplay` |
| `xvisual` |
| `xvisualmode` |
`line` | `interpreter` |
`patch` | `interpreter` |
`surface` | `interpreter` |
`text` | `fontweight` | `"demi"` and `"light"`
`uibuttongroup` | `fontweight` | `"demi"` and `"light"`
`uicontrol` | `fontweight` | `"demi"` and `"light"`
`uipanel` | `fontweight` | `"demi"` and `"light"`
`uitable` | `fontweight` | `"demi"` and `"light"`
|
|
Remove hack that had a high chance of resulting in a dysfunctional package
qttools can't be a build dependency because we link against something
in it.
XXX pkgsrc claims this package has work directory references
Summary of important user-visible changes for version 4.4 (2018-04-30):
----------------------------------------------------------------------
** A graphical Variable Editor has been added to the GUI interface.
It uses a spreadsheet-like interface for quick, intuitive editing
of variables. The Variable Editor is launched by double-clicking
on a variable name in the Workspace Window or by typing
"openvar VARIABLE_NAME" in the Command Window.
** On systems with 64-bit pointers, --enable-64 is now the default and
Octave always uses 64-bit indexing. However, if the configure
script determines that the BLAS library uses 32-bit integers, then
operations using the following libraries are limited to arrays with
dimensions that are smaller than 2^31 elements:
BLAS LAPACK QRUPDATE SuiteSparse ARPACK
Additionally, the following libraries use "int" internally, so
maximum problem sizes are always limited:
glpk Qhull
** The octave command no longer starts the GUI by default. Most users
starting Octave from a shell were expecting the command line
interface, and desktop launchers already required the `--force-gui'
option. With this change, desktop launchers should be modified to
use the new option `--gui'. The previous `--force-gui' option will
continue to work, and maps to `--gui', but it will be removed in
Octave 6.
** A known bug in Qt (https://bugreports.qt.io/browse/QTBUG-55357) is
addressed by limiting GUI sub-panel relocation capabilities for Qt
versions in the range >= 5.6.1 and < 5.7.1. However, this may not
thoroughly avoid issues on all platforms.
** A new container data type--containers.Map--is available. Map is a
key/value storage container (a.k.a, a hash) that efficiently allows
storing and retrieving values by name, rather than by position which
is how arrays work.
** The bareword "import" is now recognized in scripts and functions.
However, the functionality to import functions and classes from
other namespaces into the local scope has not yet been implemented.
Attempting to use "import" will provoke an error message.
** hex2num and num2hex now work for integer and char types and num2hex
may optionally return a cell array of strings instead of a character
array. If given a cell array of strings, hex2num now returns a
numeric array of the same size as the input cell array. Previously,
hex2num would accept a cell array of strings of arbitrary dimension
but would always return a column vector.
** New special functions cosint, sinint, and gammaincinv have been added.
** Special functions in Octave have been rewritten for larger input
domains, better accuracy, and additional options.
* gammainc now accepts negative real values for X.
* improved accuracy for gammainc, betainc, betaincinv, expint.
* gammainc has new options "scaledlower" and "scaledupper".
* betainc, betaincinv have new option "upper".
** The "names" option used in regular expressions now returns a struct
array, rather than a struct with a cell array for each field. This
change was made for Matlab compatibility.
** The quadcc function now uses both absolute tolerance and relative
tolerance to determine the stopping criteria for an integration.
To be compatible with other quadXXX functions, such as quadgk, the
calling syntax has changed to
quadcc (f, a, b, [AbsTol, [RelTol]])
To update existing code, change instances of RelTol to [0, RelTol].
quadcc (f, a, b, tol) => quadcc (f, a, b, [0, tol])
A warning that a single tolerance input is now interpreted as an
absolute tolerance will be issued in Octave versions 4.4 and 5,
after which it will be removed. The warning has ID
"Octave:quadcc:RelTol-conversion" and can be disabled with
warning ("off", "Octave:quadcc:RelTol-conversion")
** The qr function now returns a standard factorization unless
explicitly instructed to perform an economy factorization by using a
final argument of 0.
** The Qt graphics toolkit now supports offscreen printing without osmesa
if Octave was built with Qt >= 5.1.
** The built-in pager for display of large data is now disabled by
default. To re-enable it for every Octave session add the following
to your .octaverc file:
more on;
** The FLTK toolkit is no longer prioritized for development. The
number of Octave Maintainers is too small to support three different
graphic toolkits. New development will target the Qt toolkit.
While no longer prioritized, the FLTK toolkit is not deprecated and
there is no schedule for its removal.
** The graphic object property "PickableParts" has been implemented
which controls whether an object can accept mouse clicks.
** The graphic object property "Interruptible" has been fully
implemented which controls whether a running callback function can
be interrupted by another callback function.
** The graphic object property "HitTest" has been updated to be fully
compatible with Matlab.
** Text objects now implement the properties "BackgroundColor",
"EdgeColor", "LineStyle", "LineWidth", and "Margin".
** An initial implementation of alpha transparency has been made for
patch and surface objects. Printing to svg and pdf is supported.
** ishandle now returns true for both graphics handle objects and
Java objects. The latter change was made for Matlab compatibility.
Use ishghandle or isgraphics if it is important not to include Java
objects.
** The pkg command now accepts a URL as an argument, allowing a valid
Octave package to be installed from any remote host with one command,
for example
pkg install https://example.org/download/example-package.tar.gz
** The following statistical functions have been moved from core
Octave to the statistics package available from Octave Forge.
BASE
cloglog
logit
prctile
probit
qqplot
table (renamed to crosstab)
DISTRIBUTIONS
betacdf
betainv
betapdf
betarnd
binocdf
binoinv
binopdf
binornd
cauchy_cdf
cauchy_inv
cauchy_pdf
cauchy_rnd
chi2cdf
chi2inv
chi2pdf
chi2rnd
expcdf
expinv
exppdf
exprnd
fcdf
finv
fpdf
frnd
gamcdf
gaminv
gampdf
gamrnd
geocdf
geoinv
geopdf
geornd
hygecdf
hygeinv
hygepdf
hygernd
kolmogorov_smirnov_cdf
laplace_cdf
laplace_inv
laplace_pdf
laplace_rnd
logistic_cdf
logistic_inv
logistic_pdf
logistic_rnd
logncdf
logninv
lognpdf
lognrnd
nbincdf
nbininv
nbinpdf
nbinrnd
normcdf
norminv
normpdf
normrnd
poisscdf
poissinv
poisspdf
poissrnd
stdnormal_cdf
stdnormal_inv
stdnormal_pdf
stdnormal_rnd
tcdf
tinv
tpdf
trnd
unidcdf
unidinv
unidpdf
unidrnd
unifcdf
unifinv
unifpdf
unifrnd
wblcdf
wblinv
wblpdf
wblrnd
wienrnd
MODELS
logistic_regression
TESTS
anova
bartlett_test
chisquare_test_homogeneity
chisquare_test_independence
cor_test
f_test_regression
hotelling_test
hotelling_test_2
kolmogorov_smirnov_test
kolmogorov_smirnov_test_2
kruskal_wallis_test
manova
mcnemar_test
prop_test_2
run_test
sign_test
t_test
t_test_2
t_test_regression
u_test
var_test
welch_test
wilcoxon_test
z_test
z_test_2
** The following image functions have been moved from core Octave to
the image package available from Octave Forge.
ntsc2rgb
rgb2ntsc
** Other new functions added in 4.4:
bounds
camlookat
camorbit
campos
camroll
camtarget
camup
camva
camzoom
corrcoef
cosint
decic
erase
gammaincinv
getframe
groot
gsvd
hgtransform
humps
integral
integral2
integral3
isgraphics
isstring
mad
ode15i
ode15s
openvar
quad2d
repelem
rgb2gray
rticks
sinint
tfqmr
thetaticks
vecnorm
winqueryreg
xticklabels
xticks
yticklabels
yticks
zticklabels
zticks
** Deprecated functions.
The following functions have been deprecated in Octave 4.4 and will
be removed from Octave 6 (or whatever version is the second major
release after 4.4):
Function | Replacement
---------------------|------------------
chop | sprintf for visual results
desktop | isguirunning
tmpnam | tempname
toascii | double
java2mat | __java2mat__
** The following functions were deprecated in Octave 4.0 and have been
removed from Octave 4.4.
allow_noninteger_range_as_index
bicubic
delaunay3
do_braindead_shortcircuit_evaluation
dump_prefs
find_dir_in_path
finite
fmod
fnmatch
gmap40
loadaudio
luinc
mouse_wheel_zoom
nfields
octave_tmp_file_name
playaudio
saveaudio
setaudio
syl
usage
** The "Octave:undefined-return-values" warning ID is obsolete. Octave
now throws an error for any attempts to assign undefined values that
might be returned from functions.
** Deprecated graphics properties.
The following properties or allowed corresponding values have been
deprecated in Octave 4.4 and will be removed from Octave 6 (or whatever
version is the second major release after 4.4):
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"
** The rectangle and ellipse annotation property "edgecolor" has been
deprecated and will be removed from Octave 6 (or whatever version
is the second major release after 4.4). Use the property "color"
instead.
** The header file oct-alloc.h has been removed along with the macros
that it defined (DECLARE_OCTAVE_ALLOCATOR, DEFINE_OCTAVE_ALLOCATOR,
and DEFINE_OCTAVE_ALLOCATOR2).
|
|
allow overriding MKOCTFILE_* and use it to provide a full path gfortran,
so the invocation doesn't fail because gfortran isn't normally in PATH
Force the use of bsdtar. unpacking yielding random PaxHeaders.1234 triggers
an octave package sanity check making the build of the 'signal' package
fail with a cryptic error with no further diagnostics.
bump PKGREVISION
|
|
pkgsrc changes: removed all patches to do with qt5 support, upstream
code does it now. blindly moved some patches that were replacing
INSTALL_PROGRAM to INSTALL_LIB as the build changed. added patch
replacing struct tm_zone with timezone_t to accommodate for missing
type in NetBSD - same as libgnu does.
ok adam
Summary of important user-visible changes for version 4.2:
---------------------------------------------------------
** The parser has been extended to accept, but ignore, underscore
characters in numbers. This facilitates writing more legible code
by using '_' as a thousands separator or to group nibbles into bytes
in hex constants.
Examples: 1_000_000 == 1e6 or 0xDE_AD_BE_EF
** The parser has been extended to understand binary numbers which
begin with the prefix '0b' or '0B'. The value returned is Octave's
default numeric class of double, not at unsigned integer class.
Therefore numbers greater than flintmax, i.e., 2^53, will lose some
precision.
Examples: 0b101 == 5 or 0B1100_0001 == 0xC1
** gnuplot 4.4 is now the minimum version supported by Octave.
** The default set of colors used to plot lines has been updated to be
compatible with Matlab's new default color scheme. The line plot
color scheme can be set with the axes property "ColorOrder".
** The default colormap is now set to "viridis" which is also the
default colormap in matplotlib. This new colormap fixes some of the
main issues with the old default colormap "jet" such as its bad
"luminance profile" and is also more similar to Matlab's new default
colormap "parula".
** The colormap function no longer supports the input argument "list"
to show built-in colormaps. Use "help colormap" to find the
built-in colormaps.
** The graphics command "hold on" now ensures that each new plot added
to an existing plot has a different color or linestyle according to
the "ColorOrder" and/or "LineStyleOrder" properties. This is
equivalent to the old command "hold all" and was made for Matlab
compatibility. Existing code *may* produce differently colored
plots if it did not specify the color for a plot and relied on each
new plot having the default first color in the "ColorOrder"
property.
** When starting, Octave now looks in the function path for a file
startup.m and executes any commands found there. This change was
made to accommodate Matlab users. Octave has it's own configuration
system based on the file .octaverc which is preferred.
** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted
strings are now interpreted by the function do_string_escapes().
The *printf family of functions now supports octal and hex escape
sequences in single-quoted strings for Matlab compatibility.
** Special octal and hex escape sequences for the pattern and
replacement strings in regular expressions are now interpreted for
Matlab compatibility.
octal: '\oNNN' or '\o{NNN}'
hex : '\xNN' or '\x{NN}'
** Unknown escape sequences in the replacement string for regexprep are
now substituted with their unescaped version and no warning is
emitted. This change was made for Matlab compatibility.
Example: regexprep ('a', 'a', 'x\yz')
=> 'xyz'
** mkfifo now interprets the MODE argument as an octal, not decimal,
integer. This is consistent with the equivalent shell command.
** linspace now returns an empty matrix if the number of requested
points is 0 or a negative number. This change was made to be
compatible with Matlab releases newer than 2011. In addition,
Octave no longer supports matrix inputs for A or B.
** The cov function now returns the complex conjugate of the result
from previous versions of Octave. This change was made for
compatibility with Matlab.
** condest now works with a normest1 compatible syntax.
** The griddata function no longer plots the interpolated mesh if no
output argument is requested, instead the vector or array of
interpolated values is always returned for Matlab compatibility.
** The new function "light" and the corresponding graphics object
provide light and shadow effects for patch and surface objects.
** The surfnorm function now returns unnormalized (magnitude != 1)
normal vectors for compatibility with Matlab.
** The normal vectors returned from isonormals have been reversed to
point towards smaller values for compatibility with Matlab.
** The quadl function now uses an absolute, rather than relative,
tolerance for Matlab compatibility. The default tolerance is 1e-6
which may result in lower precision results than previous versions
of Octave which used eps as the relative tolerance. The quadl
function has also been extended to return a second output with the
total number of function evaluations.
** The textscan function is now built-in and is much faster and much
more Matlab-compatible than the previous m-file version.
** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox,
questdlg, and warndlg--now exclusively use Qt for rendering.
Java based versions have been removed.
** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight"
are now implemented which control the default appearance of text
created with title().
The axes property "LabelFontSizeMultiplier" is now implemented
which controls the default appearance of text created with
xlabel(), ylabel(), or zlabel().
** The graphics property "box" for axes now defaults to "off".
To obtain equivalent plots to previous versions of Octave use
set (0, "DefaultAxesBox", "on");
in your .octaverc file.
** The graphics property "boxstyle" has been implemented. The default
is "back" which draws only the back planes in a 3-D view. If the
option is "full" then all planes are drawn.
** The graphics property "erasemode" has been hidden, and will
eventually be removed. This property has also been removed
from Matlab, and was never implemented in Octave.
** The graphics property "graphicssmoothing" for figures now controls
whether anti-aliasing will be used for lines. The default is "on".
** The value "zero" for the axes properties "xaxislocation" and
"yaxislocation" has been deprecated and will be removed from
Octave 4.6. Use "origin" instead.
** The publish function allows easy publication of Octave script files
in HTML or other formats, including figures and output created by
this script. It comes with its counterpart grabcode, which lets one
literally grab the HTML published code from a remote website, for
example.
** The value of the MEX variable TrapFlag now defaults to 0, which will
cause Octave to abort execution of a MEX file and return to the
prompt if an error is encountered in mexCallMATLAB.
** The MEX API now includes the function mexCallMATLABWithTrap. This
function will not abort if an error occurs during mexCallMATLAB, but
instead will return execution to the MEX function for error
handling.
** The MEX API functions for input validation that begin with "mxIs"
(e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than
type int.
** The functions mxAssert and mxAssertS for checking assertions have
been added. In order to avoid a performance penalty they are only
compiled in to debug versions of a MEX file, i.e., that are produced
when the '-g' option is given to mex or mkoctfile.
** Other new MEX API functions include mexEvalStringWithTrap,
mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix.
** Other new functions added in 4.2:
audioformats
camlight
condeig
deg2rad
dialog
evalc
hash
im2double
isocaps
lighting
localfunctions
material
normest1
ode23
ode45
odeget
odeplot
odeset
padecoef
profexport
psi
rad2deg
reducepatch
reducevolume
smooth3
uibuttongroup
** Deprecated functions.
The following functions have been deprecated in Octave 4.2 and will
be removed from Octave 4.6 (or whatever version is the second major
release after 4.2):
Function | Replacement
---------------------|------------------
bitmax | flintmax
mahalanobis | mahal in Octave-Forge statistics pkg
md5sum | hash
octve_config_info | __octave_config_info__
onenormest | normest1
sleep | pause
usleep | pause
wavread | audioread
wavwrite | audiowrite
** The following functions were deprecated in Octave 3.8 and have been
removed from Octave 4.2.
default_save_options java_new
gen_doc_cache java_unsigned_conversion
interp1q javafields
isequalwithequalnans javamethods
java_convert_matrix re_read_readline_init_file
java_debug read_readline_init_file
java_invoke saving_history
** The global error_state variable in Octave's C++ API has been
deprecated and will be removed in a future version. Now the error
and print_usage functions throw an exception
(octave::execution_exception) after displaying the error message.
This makes the error and print_usage functions in C++ work more like
the corresponding functions in the scripting language.
** The default error handlers in liboctave have been updated to use
exceptions. After displaying an error message they no longer return
control to the calling program. The error handler function can be
customized through the global variables
"current_liboctave_error_handler" and
"current_liboctave_error_with_id_handler". If a programmer has
installed their own custom error handling routines when directly
linking with liboctave then these must be updated to throw an
exception and not return to the calling program.
** The system for common errors and warnings has been renamed from
gripe_XXX to either err_XXX if error is called or warn_XXX if
warning is called. The gripe_XXX functions are deprecated and will
be removed in version 4.6.
** New configure option, --enable-address-sanitizer-flags, to build
Octave with memory allocator checks (similar to those in valgrind)
built in.
|
|
Octave 4.0 is a major new release with many new features,
including a graphical user interface, support for classdef
object-oriented programming, better compatibility with Matlab,
and many new and improved functions.
A list of important user-visible changes is availble at
http://octave.org/NEWS-4.0.html, by selecting the Release Notes
item in the News menu of the GUI, or by typing news at the Octave
command prompt.
|
|
regenerate patch sums in distinfo
bump PKGREVISION
|