# HG changeset patch # User Rik # Date 1523548862 25200 # Node ID ef521f780839b3486d6f0974de9630734d00e5b2 # Parent 114ad8f22ee6697d28bde4e4a0fcd8cfd03c56bb NEWS: Update for version 5 and move old file to NEWS.4. * NEWS: Updated for 5.0 release. * etc/NEWS.4: NEWS file for previous 4.X releases. * etc/module.mk: Add NEWS.4 to build system. diff -r 114ad8f22ee6 -r ef521f780839 NEWS --- a/NEWS Wed Apr 11 21:53:26 2018 -0700 +++ b/NEWS Thu Apr 12 09:01:02 2018 -0700 @@ -1,363 +1,24 @@ -Summary of important user-visible changes for version 4.6 (yyyy-mm-dd): ----------------------------------------------------------------------- - - ** The following properties or allowed corresponding values were deprecated in - Octave 4.2 and have been removed from Octave 4.6: - - Object | Property | Value - ---------------------|-------------------------|------------------- - axes | xaxislocation | "zero" - | yaxislocation | "zero" - patch | normalmode | - surface | normalmode | - -Summary of important user-visible changes for version 4.4 (yyyy-mm-dd): +Summary of important user-visible changes for version 5.0 (yyyy-mm-dd): ---------------------------------------------------------------------- - ** 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 command line were expecting the command line - interface and Desktop launchers required the `--force-gui' option - anyway. With this change, desktop launchers should change to use - the new option `--gui'. The previous `--force-gui' will continue to - work and maps to `--gui' but 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.m - ode15s.m - openvar - quad2d - repelem - rgb2gray - rticks - sinint - tfqmr - thetaticks - vecnorm - winqueryreg - xticklabels - xticks - yticklabels - yticks - zticklabels - zticks + ** The functions issymmetric and ishermitian accept an option "nonskew" + or "skew" to calculate the symmetric or skew-symmetric property + of a matrix. Performance has also been increased. ** 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): + The following functions have been deprecated in Octave 5.0 and will + be removed from Octave 7 (or whatever version is the second major + release after 5.0): Function | Replacement ---------------------|------------------ - chop | sprintf for visual results - desktop | isguirunning - tmpnam | tempname - toascii | double - java2mat | __java2mat__ + | + + ** The following functions were deprecated in Octave 4.2 and have been + removed from Octave 5.0. - ** 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. @@ -381,982 +42,16 @@ 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). - - -Summary of bugs fixed for version 4.2.2 (2018-03-13): ----------------------------------------------------- - -Using the bug numbers listed below, find bug reports on the web using -the URL https://savannah.gnu.org/bugs/?NNNNN - - ** make leftdiv work for scalar \ int-matrix (bug #51682) - - ** inputdlg.m: Avoid crash when prompt and defaults sizes differ (bug #53209) - - ** tie octave_classdef::numel method to "numel" user override method - (bug #46571) - - ** fix performance of Sparse fsolve for complex sparse matrices (bug #53140) - - ** fix performance of Sparse fsolve (bug #53140) - - ** octave.desktop.in: No repetition of Name in Comment field and start I10n - (bug #53078) - - ** don't create partially invalid graphic objects (bug #52904) - - ** test for incorrect regexprep on ARM platforms (bug #52810) - - ** fix incorrect regexprep on ARM platforms (bug #52810) - - ** correctly handle reading of characters >127 in scanf family (bug #52681) - - ** fix addpath for UNC paths on Windows (bug #51268) - - ** protect being-deleted objects on figure list from second deletion - (bug #52666) - - ** dlmwrite.m: Close fid if filename is only one char long (bug #52679) - - ** set gnuplot color data to half output range when autoscaling zero input - range (bug #52624) - - ** add polarplot() to the list of unimplemented functions (bug #52643) - - ** configure.ac: Fix test for Java version (bug #52617) - - ** for gnuplot toolkit, do not map TrueColor data to colormap size (bug #52599) - - ** make wheel scroll behave more consistently in pan mode (bug #52588) - - ** make gnuplot color have three components for interpolated edge color - (bug #52595) - - ** simplify gnuplot toolkit scripts for image/non-image data plots (bug #52589) - - ** fix concatenation of empty char matrices with other strings (bug #52542) - - ** build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425) - - ** trisurf.m, trimesh.m: Fix input validation (bug #48109) - - ** allow uncommenting in editor when line begins with whitespace (bug #52406) - - ** do not extend selection when indenting/commenting in editor (bug #45610) - - ** remove all delimiters from whitespace list in textscan function (bug #52479) - - ** calculate 1-norm of matrices to assess whether NaN or Inf are present - (bug #39000) - - ** prevent extra ampersand under KDE in cd-or-add-to-path dialog (bug #52423) - - ** plotyy.m: Fix error when using FUN2 argument (bug #48115) - - ** check ARPACK library for buggy behavior in configure (bug #52425) - - ** fix printing integer type images (bug #51558) - - ** fix segfault in delaunayn when Qhull memory is not properly cleared - (bug #52410) - - ** fix segfault with CHOLMOD library and empty matrices (bug #52365) - - ** tag global and persistent symbols as variables when parsing (bug #52363) - - ** properly restore the input stream pointer at end of textscan (bug #52116 et - al.) - - ** fix building with Qt4 for Windows (bug #52237) - - ** ensure numeric values are passed for the axes "clim" property (bug #52053) - - ** avoid abort on exit from GUI (bug #50664) - - ** correct auto limits on log axes with negative and zero values (bug #51861) - - ** fix warning in quadgk with zero size interval (bug #51867) - - ** sparse: correctly handle scalar column index (bug #51880) - - ** fix segfault in ichol under certain conditions (bug #51736) - - ** configure: ensure empty pkg-config results are actually empty (bug #51680) - - ** fix 'legend hide' for gnuplot (bug #50483) - - ** qqplot.m: Fix typo in input validation (bug #51458) - - ** add possible '\r' to smartindent regex exprepression (Bug #51279) - - ** make strncmp case sensitive again (bug #51384) - - ** fix possible infinite loop in normest1.m (bug #51241) - - ** also run unwind protect cleanup code on interrupt exceptions (bug #51209) - - ** fix crash when inverting complex matrices with NaNs (bug #51198) - - ** improve accuracy of residue for inputs with very different magnitudes - (bug #51148) - - ** publish.m: Fix corruption of results for some code inputs (bug #51178) - - ** residue.m: Remove code that filters out small return values (bug #34266, bug - #49291) - - ** avoid possible double free at interpreter exit (bug #51088) - - ** show stack trace for errors in command line and startup files (bug #49346) - - ** interp1.m: Return NA for all columns which are out of bounds (bug #51030) - - ** use idx_type for dimensions instead of int (bug #50934) - - ** show stack trace for wrong type arg errors (bug #50894) - - ** let mouse selection of Qt figures update "currentfigure" (bug #50666) - - ** disable qscintilla editor drag and drop so parent will handle it (Bug - #50559) - - ** quadgk.m: Correct error messages which point to quadv (bug #50604) - - ** set version on AppUserModelId (Bug #50428) - - ** version-rcfile: Don't try to execute startup directory, only startup.m - (bug #50593) - - ** dlmread: Return empty matrix when requested range is outside data - (bug #50102) - - ** fix eigs for generalized nonsymmetric and shift-invert problems (bug #39573) - - ** fix eigs for the generalized eigenvalue problem (bug #50546) - - ** datetick.m: Fix uneven range bugs (bug #50493) - - ** datenum.m: Correct calculation for fractional leap years (bug #50508) - - ** datenum.m: Allow horizontal vectors of dates with fractional months - (bug #50508) - - ** datenum.m: Accept legal input of vectors with fractional months (bug #50508) - - ** fix the anchor position in the info text of the doc browser (bug #50422) - - ** fix order of legend labels with plotyy axes (bug #50497) - - ** correct hggroup plot legends for gnuplot toolkit, add legend demo 17 items - (bug #49341) - - ** for gnuplot graphics toolkit, show only one key entry for errorbars - (bug #49260) - - ** fix compilation of jit caused by cset d0562b3159c7 (bug #50398) - - ** remove inline keyword on file_stat destructor which breaks MacOS compilation - (bug #50234) - -Documentation bugs fixed: - - ** playblocking.m: Correct documentation about start and limits inputs - (bug #51217) - - ** fix eig output argument description (bug #50524) - - ** remove backslashes before double quotes in m-file docstrings (bug #52870) - - ** tweaks to use single quotes instead of double quotes (bug #52870) - - ** correct fieldname of returned struct in ver (bug #52845) - - ** cleanup @code example in Appendix on test functions (bug #52852) - - ** fixes for signal, image, audio, and OOP chapters (bug #52844) - - ** fix issues in geometry, polynomial, and interpolation chapters (bug #52835) - - ** fix TeX documentation for qp and clarify size of inputs (bug #52829) - - ** correct errors in Diagonal matrix chapter of manual (bug #52814) - - ** replace @math{1e^{XXX}} sequences with raw 1eXXX (bug #52827) - - ** use '...' rather than deprecated '\' for line continuation (bug #52828) - - ** make documentation Sec 26.1 more consistent and Sec 25.4 clearer - (bug #52685) - - ** documentation fixes for linspace, logspace, lookup (bug #52785) - - ** atan2d.m: Correct documentation to match atan docstring (bug #52786) - - ** small tweaks to fplot and surfnorm docstrings (bug #52761) - - ** rewrite documentation for Advanced Indexing (bug #52723) - - ** delete extra ']' in scanf docstring (bug #52742) - - ** fix mistaken use of space between function and '(' in documentation - (bug #52723) - - ** fix various inconsistencies in manual (bug #52712) - - ** fix typo in cset 8354b505ad6b (bug #52702) - - ** fix inconsistencies with char, strvcat, strread docstrings (bug #52702. - - ** explain Matlab compatibility of fopen modes (bug #52644) - - ** update documentation for keywords to include classdef statements - (bug #52591) - - ** fix documentation of third input to lsode() (bug #52664) - - ** clarify quiver/quiver3 documentation when a linestyle is given (bug #52608) - - ** new section about classdef classes with example (bug #44590) - - ** correct surface plot explanation of meshgridded results of 1 input - (bug #52536) - - ** fix definition of Delaunay triangulation in docstrings (bug #52416) - - ** accumarray.m: Add '@' to function handles in docstring (bug #52418) - - ** update manual to explain \deg and \circ symbols (bug #52287) - - ** correct documentation for randg (bug #52118) - - ** add documentation about PCRE library regexp stack overflow (bug #51589) - - ** play.m: Correct documentation about start and limits inputs (bug #51217) - - ** redo docstring for qz (bug #50846) - - ** describe optional install dependencies PortAudio and SUNDIALS (bug #50513) - - ** update CITATION date, version, and permalink to manual (bug #47058) - - -Summary of bugs fixed for version 4.2.1 (2017-02-22): ----------------------------------------------------- - -Using the bug numbers listed below, find bug reports on the web using -the URL https://savannah.gnu.org/bugs/?NNNNN - - ** guarantee returning std::string from tilde_expand functions (bug #50234) - - ** workaround segfault in file_stat (bug #50234) - - ** genpropdoc.m: document more graphics properties (bug #50337) - - ** always fork and exec when starting the gui (bug #49609) - - ** print.m: fix regression with -append option (bug #50318) - - ** don't display legend, colorbar, and annotation axes coordinates - (bug #50272) - - ** qp.m: Fix regression with incorrect vector dimensions (bug #50067) - - ** prevent infinite loop in global documentation search (bug #50177) - - ** connect execute command signal in editor constructor (bug #50171) - - ** connect editors execute command signal to the required slot (bug #50171) - - ** check if input is class method before declaring it unimplemented - (patch #9238) (bug #49694) - - ** workaround segfault when an error occurs while printing (bug #49779) - - ** axis.m: Do not set plotboxaspectratio to 0 (bug #49755) - - ** don't rethrow exception in destructor (bug #49304) - - ** rethrow octave::exit_exception (bug #49304) - - ** update appdata.xml to follow conventions (bug #49952) - - ** mexproto.h (mxAssert, mxAssertS): ensure operator precedence (bug #50050) - - ** calculate error in solution for ode solvers correctly (bug #49950) - - ** use GetModuleFileName for getting octave path in windows (bug #48671) - - ** use C++ updaters for labels color (bug #49980) - - ** distinguish elements vs. bytes in fread (bug #49699) - - ** move frame2im and im2frame to image/ directory (bug #49939) - - ** fix undefined return argument for more than 2 outputs from ode solver - (bug #49890) - - ** fix inv for hermitian matrices (bug #49904) - - ** fix gzip for certain types of gzip files (bug #49760) - - ** fix typo in liboctave version info (bug #49860) - - ** initialize ODE Event function with start time (bug #49846) - - ** allow configure test to succeed without implicit fcn decls (bug #49782) - - ** allow external docstrings from .oct files to be found again (bug #49687) - - ** don't require semicolon between property list elements (bug #49819) - - ** display.m: Correctly display output for non-class objects - (bug #49753, #49794) - - ** don't run publish.tst unless OSMESA or gnuplot are available (bug #49767) - - ** find help for function aliases again (bug #49687) - - ** legend.m: backport cset 7184b4516a68 (bug #49675) - - ** preserve lasterror info on rethrow (bug #49642) - - ** norm: fix error in input argument validation leading to segfault - (bug #49634) - -Documentation bugs fixed: - - ** overhaul Java interface description (bug #50299) - - ** add documentation for hex and binary prefix and _ separator - (bug #50305, #50334) - - ** fix build of docs broken in sub2ind (bug #50348) - - ** version.m: document that "-release" returns an empty string (bug #50294) - - ** remove trailing "\n\" from sleep and usleep docstrings (bug #50301) - - ** expand documentation for cast() (bug #50201) - - ** correct two entries in Table 34.1 (bug #50203) - - ** oop.txi: Improve table formatting (bug #50203) - - ** fix '##' in middle of docstring/comment lines (bug #50145) - - ** reword documentation about subplots in 15.2.4 (bug #50148) - - ** update unimplemented list of functions and where to find them - (bug #50098) - - ** compare_plot_demos: fix HTML syntax, simplify output, remove - external deps (bug #49709) - - ** add more depth to explanation of '~' function argument (bug #49444) - - ** correct documentation for javaclasspath file (bug #49873) - - ** small fixes to docstrings (bug #49733) - - ** change text describing demo plots to reflect new ColorOrder (bug #49288) - -Other bugs fixed: - - ** add missing classdef test files (bug #49819) - - -Summary of important user-visible changes for version 4.2 (2016-11-13): ----------------------------------------------------------------------- - - ** 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 following properties or allowed corresponding values were + deprecated in Octave 4.2 and have been removed from Octave 5.0: - ** 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 5. 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 5 (or whatever version is the second major - release after 4.2): - - Function | Replacement - ---------------------|------------------ - bitmax | flintmax - mahalanobis | mahal in Octave-Forge statistics pkg - md5sum | hash - octave_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 5. - - ** New configure option, --enable-address-sanitizer-flags, to build - Octave with memory allocator checks (similar to those in valgrind) - built in. - -Summary of important user-visible changes for version 4.0 (2015-05-23): ----------------------------------------------------------------------- - - ** A graphical user interface is now the default when running Octave - interactively. The start-up option --no-gui will run the familiar - command line interface, and still allows use of the GUI dialogs and - qt plotting toolkit. The option --no-gui-libs runs a minimalist - command line interface that does not link with the Qt libraries and - uses the fltk toolkit for plotting. - - ** Octave now uses OpenGL graphics with Qt widgets by default. If - OpenGL libraries are not available when Octave is built, gnuplot is - used. You may choose to use the fltk or gnuplot toolkit for - graphics by executing the command - - graphics_toolkit ("fltk") - OR - graphics_toolkit ("gnuplot") - - Adding such a command to your ~/.octaverc file will set the default - for each session. - - ** A new syntax for object oriented programming termed classdef has - been introduced. See the manual for more extensive documentation of - the classdef interface. - - New keywords: - - classdef endclassdef - enumeration endenumeration - events endevents - methods endmethods - properties endproperties - - ** New audio functions and classes: - - audiodevinfo audioread sound - audioinfo audiorecorder soundsc - audioplayer audiowrite - - ** Other new classes in Octave 4.0: - - audioplayer inputParser - audiorecorder - - ** Optional stricter Matlab compatibility for ranges, diagonal - matrices, and permutation matrices. - - Octave has internal optimizations which use space-efficient storage - for the three data types above. Three new functions have been added - which control whether the optimizations are used (default), or - whether the data types are stored as full matrices. - - disable_range disable_diagonal_matrix disable_permutation_matrix - - All three optimizations are disabled if Octave is started with the - --braindead command line option. - - ** The preference - - do_braindead_shortcircuit_evaluation - - is now enabled by default. - - ** The preference - - allow_noninteger_range_as_index - - is now enabled by default and the warning ID - - Octave:noninteger-range-as-index - - is now set to "on" by default instead of "error" by default and "on" - for --traditional. - - ** The "backtrace" warning option is now enabled by default. This - change was made for Matlab compatibility. - - ** For compatibility with Matlab, the "ismatrix (x)" function now only - checks the dimension of "x". The old behavior of "ismatrix" is - obtained by "isnumeric (x) || islogical (x) || ischar (x)". - - ** The nextpow2 function behavior has been changed for vector inputs. - Instead of computing `nextpow2 (length (x))', it will now compute - nextpow2 for each element of the input. This change is Matlab - compatible, and also prevents bugs for "vectors" of length 1. - - ** polyeig now returns a row vector of eigenvalues rather than a matrix - with the eigenvalues on the diagonal. This change was made for - Matlab compatibility. - - ** Interpolation function changes for Matlab compatibility - - The interpolation method 'cubic' is now equivalent to 'pchip' for - interp1, interp2, and interp3. Previously, 'cubic' was equivalent - to 'spline' for interp2. This may produce different results as - 'spline' has continuous 1st and 2nd derivatives while 'pchip' only - has a continuous 1st derivative. The methods 'next' and 'previous' - have been added to interp1 for compatibility. - - ** The delaunay function has been extended to accept 3-D inputs for - Matlab compatibility. The delaunay function no longer plots the - triangulation if no output argument is requested, instead, the - triangulation is always returned. The delaunay3 function which - handles 3-D inputs has been deprecated in favor of delaunay. - - ** The trigonometric functions asin and acos return different phase - values from previous versions of Octave when the input is outside - the principal branch ([-1, 1]). If the real portion of the input is - greater than 1 then the limit from below is taken. If the real - portion is less than 1 then the limit from above is taken. This - criteria is consistent with several other numerical analysis - software packages. - - ** The hyperbolic function acosh now returns values with a phase in the - range [-pi/2, +pi/2]. Previously Octave returned values in the - range [0, pi]. This is consistent with several other numerical - analysis software packages. - - ** strfind changes when using empty pattern ("") for Matlab - compatibility - - strfind now returns an empty array when the pattern itself is empty. - In previous versions of Octave, strfind matched at every character - location when the pattern was empty. - - NEW - strfind ("abc", "") => [] - OLD - strfind ("abc", "") => [1, 2, 3, 4] - - ** Integer formats used in the printf family of functions now work for - 64-bit integers and are more compatible with Matlab when printing - non-integer values. Now instead of truncating, Octave will switch - the effective format to '%g' in the following circumstances: - - * the value of an integer type (int8, uint32, etc.) value exceeds - the maximum for the format specifier. For '%d', the limit is - intmax ('int64') and for '%u' it is intmax ('uint64'). - - * round(x) != x or the value is outside the range allowed by the - integer format specifier. - - There is still one difference: Matlab switches to '%e' and Octave - switches to '%g'. - - ** The functions intersect, setdiff, setxor, and union now return a - column vector as output unless the input was a row vector. This - change was made for Matlab compatibility. - - ** The inpolygon function now returns true for points that are within - the polygon OR on it's edge. This change was made for Matlab - compatibility. - - ** The archive family of functions (bzip2, gzip, zip, tar) and their - unpacking routines (bunzip2, gunzip, unzip, untar, unpack) have been - recoded. Excepting unpack, the default is now to place files in the - same directory as the archive (on unpack) or as the original files - (on archiving). - - ** Qt and FLTK graphics toolkits now support offscreen rendering on - Linux. In other words, print will work even when the figure - visibility is "off". - - ** Z-order stacking issues with patches, grid lines, and line object - plot markers for on screen display and printing have all been - resolved. For 2-D plots the axis grid lines can be placed on top of - the plot with set (gca, "layer", "top"). - - ** The patch graphic object has been overhauled. It now produces - visual results equivalent to Matlab even for esoteric combinations - of faces/vertices/cdata. - - ** The polar() plot function now draws a circular theta axis and radial - rho axis rather than using a rectangular x/y axis. - - ** linkprop has been completely re-coded for performance and Matlab - compatibility. It now returns a linkprop object which must be - stored in a variable for as long as the graphic objects should - remain linked. To unlink properties use 'clear hlink' where hlink - is the variable containing the linkprop object. - - ** isprime has been extended to operate on negative and complex inputs. - - ** xor has been extended to accept more than two arguments in which - case it performs cumulative XOR reduction. - - ** The following functions now support N-dimensional arrays: - - fliplr flipud rot90 rectint - - ** The new warning ID "Octave:data-file-in-path" replaces the three - previous separate warning IDs "Octave:fopen-file-in-path", - "Octave:load-file-in-path", and "Octave:md5sum-file-in-path". - - ** The warning ID Octave:singular-matrix-div has been replaced by - Octave:nearly-singular-matrix and Octave:singular-matrix. - - ** The warning ID Octave:matlab-incompatible has been replaced by - Octave:language-extension to better reflect its meaning. - - ** The warning ID Octave:broadcast has been removed. Instead automatic - broadcasting will throw an Octave:language-extension warning. This - warning ID is used for broadcasting as well as other features not - available in Matlab. - - ** Other new functions added in 4.0: - - annotation - bandwidth - cubehelix - dir_in_loadpath - flip - frame2im - get_home_directory - hgload - hgsave - ichol - ilu - im2frame - isbanded - isdiag - isstudent - istril - istriu - javachk - jit_failcnt - linkaxes - lscov - metaclass - numfields - open - ordschur - pan - qmr - rotate - rotate3d - sylvester - unsetenv - validateattributes - zoom - - ** inline() scheduled for eventual deprecation by Matlab - - Functions created through the use of inline are scheduled for - deprecation by Matlab. When this occurs Octave will continue to - support inline functions for an indeterminate amount of time before - also removing support. All new code should use anonymous functions - in place of inline functions. - - ** Deprecated functions. - - The following functions have been deprecated in Octave 4.0 and will - be removed from Octave 4.4 (or whatever version is the second major - release after 4.0): - - Function | Replacement - ---------------------|------------------ - bicubic | interp2 - delaunay3 | delaunay - dump_prefs | individual preference get/set routines - find_dir_in_path | dir_in_loadpath - finite | isfinite - fmod | rem - fnmatch | glob or regexp - gmap40 | ---- - loadaudio | audioread - luinc | ilu or ichol - mouse_wheel_zoom | mousewheelzoom axes property - nfields | numfields - octave_tmp_file_name | tempname - playaudio | audioplayer - saveaudio | audiowrite - syl | sylvester - usage | print_usage - - allow_noninteger_range_as_index - do_braindead_shortcircuit_evaluation - setaudio - - ** The following functions were deprecated in Octave 3.8 and will be - removed from Octave 4.2 (or whatever version is the second major - release after 3.8): - - 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 following functions were deprecated in Octave 3.6 and have been - removed from Octave 4.0. - - cut polyderiv - cor shell_cmd - corrcoef studentize - __error_text__ sylvester_matrix - error_text - - ** The following keywords were deprecated in Octave 3.8 and have been - removed from Octave 4.0 - - static - - ** The following configuration variables were deprecated in Octave 3.8 - and have been removed from Octave 4.0 - - CC_VERSION (now GCC_VERSION) - CXX_VERSION (now GXX_VERSION) - - ** The internal function atan2 of the sparse matrix class has been - deprecated in Octave 4.0 and will be removed from Octave 4.4 (or - whatever version is the second major release after 4.0). Use the - Fatan2 function with sparse inputs as a replacement. - - ** The internal class Octave_map was deprecated in Octave 3.8 and has - been removed from Octave 4.0. Replacement classes are octave_map - (struct array) or octave_scalar_map for a single structure. - - ** Octave now has OpenMP enabled by default if the system provides a - working OpenMP implementation. This allows oct-file modules to take - advantage of OpenMP if desired. This can be disabled when building - Octave with the configure option --disable-openmp. - - ** Octave now automatically truncates intermediate calculations done - with floating point values to 64 bits. Some hardware math - co-processors, such as the x87, maintain extra precision, but this - leads to disagreements in calculations when compared to reference - implementations in software using the IEEE standard for double - precision. There was no measurable performance impact to this - change, but it may be disabled with the configure option - --disable-float-truncate. MinGW and Cygwin platforms, as well as - GCC compilers >= 5.0 require this feature. Non-x87 hardware, or - hardware using SSE options exclusively, can disable float truncation - if desired. + Object | Property | Value + ---------------------|-------------------------|------------------- + axes | xaxislocation | "zero" + | yaxislocation | "zero" + patch | normalmode | + surface | normalmode | --------------------------------------------------------- -See NEWS.3 for old news. +See NEWS.4 for old news. diff -r 114ad8f22ee6 -r ef521f780839 etc/NEWS.4 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/NEWS.4 Thu Apr 12 09:01:02 2018 -0700 @@ -0,0 +1,1362 @@ +Summary of important user-visible changes for version 4.6 (yyyy-mm-dd): +---------------------------------------------------------------------- + + ** The following properties or allowed corresponding values were deprecated in + Octave 4.2 and have been removed from Octave 4.6: + + Object | Property | Value + ---------------------|-------------------------|------------------- + axes | xaxislocation | "zero" + | yaxislocation | "zero" + patch | normalmode | + surface | normalmode | + +Summary of important user-visible changes for version 4.4 (yyyy-mm-dd): +---------------------------------------------------------------------- + + ** 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 command line were expecting the command line + interface and Desktop launchers required the `--force-gui' option + anyway. With this change, desktop launchers should change to use + the new option `--gui'. The previous `--force-gui' will continue to + work and maps to `--gui' but 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.m + ode15s.m + 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). + + +Summary of bugs fixed for version 4.2.2 (2018-03-13): +---------------------------------------------------- + +Using the bug numbers listed below, find bug reports on the web using +the URL https://savannah.gnu.org/bugs/?NNNNN + + ** make leftdiv work for scalar \ int-matrix (bug #51682) + + ** inputdlg.m: Avoid crash when prompt and defaults sizes differ (bug #53209) + + ** tie octave_classdef::numel method to "numel" user override method + (bug #46571) + + ** fix performance of Sparse fsolve for complex sparse matrices (bug #53140) + + ** fix performance of Sparse fsolve (bug #53140) + + ** octave.desktop.in: No repetition of Name in Comment field and start I10n + (bug #53078) + + ** don't create partially invalid graphic objects (bug #52904) + + ** test for incorrect regexprep on ARM platforms (bug #52810) + + ** fix incorrect regexprep on ARM platforms (bug #52810) + + ** correctly handle reading of characters >127 in scanf family (bug #52681) + + ** fix addpath for UNC paths on Windows (bug #51268) + + ** protect being-deleted objects on figure list from second deletion + (bug #52666) + + ** dlmwrite.m: Close fid if filename is only one char long (bug #52679) + + ** set gnuplot color data to half output range when autoscaling zero input + range (bug #52624) + + ** add polarplot() to the list of unimplemented functions (bug #52643) + + ** configure.ac: Fix test for Java version (bug #52617) + + ** for gnuplot toolkit, do not map TrueColor data to colormap size (bug #52599) + + ** make wheel scroll behave more consistently in pan mode (bug #52588) + + ** make gnuplot color have three components for interpolated edge color + (bug #52595) + + ** simplify gnuplot toolkit scripts for image/non-image data plots (bug #52589) + + ** fix concatenation of empty char matrices with other strings (bug #52542) + + ** build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425) + + ** trisurf.m, trimesh.m: Fix input validation (bug #48109) + + ** allow uncommenting in editor when line begins with whitespace (bug #52406) + + ** do not extend selection when indenting/commenting in editor (bug #45610) + + ** remove all delimiters from whitespace list in textscan function (bug #52479) + + ** calculate 1-norm of matrices to assess whether NaN or Inf are present + (bug #39000) + + ** prevent extra ampersand under KDE in cd-or-add-to-path dialog (bug #52423) + + ** plotyy.m: Fix error when using FUN2 argument (bug #48115) + + ** check ARPACK library for buggy behavior in configure (bug #52425) + + ** fix printing integer type images (bug #51558) + + ** fix segfault in delaunayn when Qhull memory is not properly cleared + (bug #52410) + + ** fix segfault with CHOLMOD library and empty matrices (bug #52365) + + ** tag global and persistent symbols as variables when parsing (bug #52363) + + ** properly restore the input stream pointer at end of textscan (bug #52116 et + al.) + + ** fix building with Qt4 for Windows (bug #52237) + + ** ensure numeric values are passed for the axes "clim" property (bug #52053) + + ** avoid abort on exit from GUI (bug #50664) + + ** correct auto limits on log axes with negative and zero values (bug #51861) + + ** fix warning in quadgk with zero size interval (bug #51867) + + ** sparse: correctly handle scalar column index (bug #51880) + + ** fix segfault in ichol under certain conditions (bug #51736) + + ** configure: ensure empty pkg-config results are actually empty (bug #51680) + + ** fix 'legend hide' for gnuplot (bug #50483) + + ** qqplot.m: Fix typo in input validation (bug #51458) + + ** add possible '\r' to smartindent regex exprepression (Bug #51279) + + ** make strncmp case sensitive again (bug #51384) + + ** fix possible infinite loop in normest1.m (bug #51241) + + ** also run unwind protect cleanup code on interrupt exceptions (bug #51209) + + ** fix crash when inverting complex matrices with NaNs (bug #51198) + + ** improve accuracy of residue for inputs with very different magnitudes + (bug #51148) + + ** publish.m: Fix corruption of results for some code inputs (bug #51178) + + ** residue.m: Remove code that filters out small return values (bug #34266, bug + #49291) + + ** avoid possible double free at interpreter exit (bug #51088) + + ** show stack trace for errors in command line and startup files (bug #49346) + + ** interp1.m: Return NA for all columns which are out of bounds (bug #51030) + + ** use idx_type for dimensions instead of int (bug #50934) + + ** show stack trace for wrong type arg errors (bug #50894) + + ** let mouse selection of Qt figures update "currentfigure" (bug #50666) + + ** disable qscintilla editor drag and drop so parent will handle it (Bug + #50559) + + ** quadgk.m: Correct error messages which point to quadv (bug #50604) + + ** set version on AppUserModelId (Bug #50428) + + ** version-rcfile: Don't try to execute startup directory, only startup.m + (bug #50593) + + ** dlmread: Return empty matrix when requested range is outside data + (bug #50102) + + ** fix eigs for generalized nonsymmetric and shift-invert problems (bug #39573) + + ** fix eigs for the generalized eigenvalue problem (bug #50546) + + ** datetick.m: Fix uneven range bugs (bug #50493) + + ** datenum.m: Correct calculation for fractional leap years (bug #50508) + + ** datenum.m: Allow horizontal vectors of dates with fractional months + (bug #50508) + + ** datenum.m: Accept legal input of vectors with fractional months (bug #50508) + + ** fix the anchor position in the info text of the doc browser (bug #50422) + + ** fix order of legend labels with plotyy axes (bug #50497) + + ** correct hggroup plot legends for gnuplot toolkit, add legend demo 17 items + (bug #49341) + + ** for gnuplot graphics toolkit, show only one key entry for errorbars + (bug #49260) + + ** fix compilation of jit caused by cset d0562b3159c7 (bug #50398) + + ** remove inline keyword on file_stat destructor which breaks MacOS compilation + (bug #50234) + +Documentation bugs fixed: + + ** playblocking.m: Correct documentation about start and limits inputs + (bug #51217) + + ** fix eig output argument description (bug #50524) + + ** remove backslashes before double quotes in m-file docstrings (bug #52870) + + ** tweaks to use single quotes instead of double quotes (bug #52870) + + ** correct fieldname of returned struct in ver (bug #52845) + + ** cleanup @code example in Appendix on test functions (bug #52852) + + ** fixes for signal, image, audio, and OOP chapters (bug #52844) + + ** fix issues in geometry, polynomial, and interpolation chapters (bug #52835) + + ** fix TeX documentation for qp and clarify size of inputs (bug #52829) + + ** correct errors in Diagonal matrix chapter of manual (bug #52814) + + ** replace @math{1e^{XXX}} sequences with raw 1eXXX (bug #52827) + + ** use '...' rather than deprecated '\' for line continuation (bug #52828) + + ** make documentation Sec 26.1 more consistent and Sec 25.4 clearer + (bug #52685) + + ** documentation fixes for linspace, logspace, lookup (bug #52785) + + ** atan2d.m: Correct documentation to match atan docstring (bug #52786) + + ** small tweaks to fplot and surfnorm docstrings (bug #52761) + + ** rewrite documentation for Advanced Indexing (bug #52723) + + ** delete extra ']' in scanf docstring (bug #52742) + + ** fix mistaken use of space between function and '(' in documentation + (bug #52723) + + ** fix various inconsistencies in manual (bug #52712) + + ** fix typo in cset 8354b505ad6b (bug #52702) + + ** fix inconsistencies with char, strvcat, strread docstrings (bug #52702. + + ** explain Matlab compatibility of fopen modes (bug #52644) + + ** update documentation for keywords to include classdef statements + (bug #52591) + + ** fix documentation of third input to lsode() (bug #52664) + + ** clarify quiver/quiver3 documentation when a linestyle is given (bug #52608) + + ** new section about classdef classes with example (bug #44590) + + ** correct surface plot explanation of meshgridded results of 1 input + (bug #52536) + + ** fix definition of Delaunay triangulation in docstrings (bug #52416) + + ** accumarray.m: Add '@' to function handles in docstring (bug #52418) + + ** update manual to explain \deg and \circ symbols (bug #52287) + + ** correct documentation for randg (bug #52118) + + ** add documentation about PCRE library regexp stack overflow (bug #51589) + + ** play.m: Correct documentation about start and limits inputs (bug #51217) + + ** redo docstring for qz (bug #50846) + + ** describe optional install dependencies PortAudio and SUNDIALS (bug #50513) + + ** update CITATION date, version, and permalink to manual (bug #47058) + + +Summary of bugs fixed for version 4.2.1 (2017-02-22): +---------------------------------------------------- + +Using the bug numbers listed below, find bug reports on the web using +the URL https://savannah.gnu.org/bugs/?NNNNN + + ** guarantee returning std::string from tilde_expand functions (bug #50234) + + ** workaround segfault in file_stat (bug #50234) + + ** genpropdoc.m: document more graphics properties (bug #50337) + + ** always fork and exec when starting the gui (bug #49609) + + ** print.m: fix regression with -append option (bug #50318) + + ** don't display legend, colorbar, and annotation axes coordinates + (bug #50272) + + ** qp.m: Fix regression with incorrect vector dimensions (bug #50067) + + ** prevent infinite loop in global documentation search (bug #50177) + + ** connect execute command signal in editor constructor (bug #50171) + + ** connect editors execute command signal to the required slot (bug #50171) + + ** check if input is class method before declaring it unimplemented + (patch #9238) (bug #49694) + + ** workaround segfault when an error occurs while printing (bug #49779) + + ** axis.m: Do not set plotboxaspectratio to 0 (bug #49755) + + ** don't rethrow exception in destructor (bug #49304) + + ** rethrow octave::exit_exception (bug #49304) + + ** update appdata.xml to follow conventions (bug #49952) + + ** mexproto.h (mxAssert, mxAssertS): ensure operator precedence (bug #50050) + + ** calculate error in solution for ode solvers correctly (bug #49950) + + ** use GetModuleFileName for getting octave path in windows (bug #48671) + + ** use C++ updaters for labels color (bug #49980) + + ** distinguish elements vs. bytes in fread (bug #49699) + + ** move frame2im and im2frame to image/ directory (bug #49939) + + ** fix undefined return argument for more than 2 outputs from ode solver + (bug #49890) + + ** fix inv for hermitian matrices (bug #49904) + + ** fix gzip for certain types of gzip files (bug #49760) + + ** fix typo in liboctave version info (bug #49860) + + ** initialize ODE Event function with start time (bug #49846) + + ** allow configure test to succeed without implicit fcn decls (bug #49782) + + ** allow external docstrings from .oct files to be found again (bug #49687) + + ** don't require semicolon between property list elements (bug #49819) + + ** display.m: Correctly display output for non-class objects + (bug #49753, #49794) + + ** don't run publish.tst unless OSMESA or gnuplot are available (bug #49767) + + ** find help for function aliases again (bug #49687) + + ** legend.m: backport cset 7184b4516a68 (bug #49675) + + ** preserve lasterror info on rethrow (bug #49642) + + ** norm: fix error in input argument validation leading to segfault + (bug #49634) + +Documentation bugs fixed: + + ** overhaul Java interface description (bug #50299) + + ** add documentation for hex and binary prefix and _ separator + (bug #50305, #50334) + + ** fix build of docs broken in sub2ind (bug #50348) + + ** version.m: document that "-release" returns an empty string (bug #50294) + + ** remove trailing "\n\" from sleep and usleep docstrings (bug #50301) + + ** expand documentation for cast() (bug #50201) + + ** correct two entries in Table 34.1 (bug #50203) + + ** oop.txi: Improve table formatting (bug #50203) + + ** fix '##' in middle of docstring/comment lines (bug #50145) + + ** reword documentation about subplots in 15.2.4 (bug #50148) + + ** update unimplemented list of functions and where to find them + (bug #50098) + + ** compare_plot_demos: fix HTML syntax, simplify output, remove + external deps (bug #49709) + + ** add more depth to explanation of '~' function argument (bug #49444) + + ** correct documentation for javaclasspath file (bug #49873) + + ** small fixes to docstrings (bug #49733) + + ** change text describing demo plots to reflect new ColorOrder (bug #49288) + +Other bugs fixed: + + ** add missing classdef test files (bug #49819) + + +Summary of important user-visible changes for version 4.2 (2016-11-13): +---------------------------------------------------------------------- + + ** 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 5. 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 5 (or whatever version is the second major + release after 4.2): + + Function | Replacement + ---------------------|------------------ + bitmax | flintmax + mahalanobis | mahal in Octave-Forge statistics pkg + md5sum | hash + octave_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 5. + + ** New configure option, --enable-address-sanitizer-flags, to build + Octave with memory allocator checks (similar to those in valgrind) + built in. + +Summary of important user-visible changes for version 4.0 (2015-05-23): +---------------------------------------------------------------------- + + ** A graphical user interface is now the default when running Octave + interactively. The start-up option --no-gui will run the familiar + command line interface, and still allows use of the GUI dialogs and + qt plotting toolkit. The option --no-gui-libs runs a minimalist + command line interface that does not link with the Qt libraries and + uses the fltk toolkit for plotting. + + ** Octave now uses OpenGL graphics with Qt widgets by default. If + OpenGL libraries are not available when Octave is built, gnuplot is + used. You may choose to use the fltk or gnuplot toolkit for + graphics by executing the command + + graphics_toolkit ("fltk") + OR + graphics_toolkit ("gnuplot") + + Adding such a command to your ~/.octaverc file will set the default + for each session. + + ** A new syntax for object oriented programming termed classdef has + been introduced. See the manual for more extensive documentation of + the classdef interface. + + New keywords: + + classdef endclassdef + enumeration endenumeration + events endevents + methods endmethods + properties endproperties + + ** New audio functions and classes: + + audiodevinfo audioread sound + audioinfo audiorecorder soundsc + audioplayer audiowrite + + ** Other new classes in Octave 4.0: + + audioplayer inputParser + audiorecorder + + ** Optional stricter Matlab compatibility for ranges, diagonal + matrices, and permutation matrices. + + Octave has internal optimizations which use space-efficient storage + for the three data types above. Three new functions have been added + which control whether the optimizations are used (default), or + whether the data types are stored as full matrices. + + disable_range disable_diagonal_matrix disable_permutation_matrix + + All three optimizations are disabled if Octave is started with the + --braindead command line option. + + ** The preference + + do_braindead_shortcircuit_evaluation + + is now enabled by default. + + ** The preference + + allow_noninteger_range_as_index + + is now enabled by default and the warning ID + + Octave:noninteger-range-as-index + + is now set to "on" by default instead of "error" by default and "on" + for --traditional. + + ** The "backtrace" warning option is now enabled by default. This + change was made for Matlab compatibility. + + ** For compatibility with Matlab, the "ismatrix (x)" function now only + checks the dimension of "x". The old behavior of "ismatrix" is + obtained by "isnumeric (x) || islogical (x) || ischar (x)". + + ** The nextpow2 function behavior has been changed for vector inputs. + Instead of computing `nextpow2 (length (x))', it will now compute + nextpow2 for each element of the input. This change is Matlab + compatible, and also prevents bugs for "vectors" of length 1. + + ** polyeig now returns a row vector of eigenvalues rather than a matrix + with the eigenvalues on the diagonal. This change was made for + Matlab compatibility. + + ** Interpolation function changes for Matlab compatibility + + The interpolation method 'cubic' is now equivalent to 'pchip' for + interp1, interp2, and interp3. Previously, 'cubic' was equivalent + to 'spline' for interp2. This may produce different results as + 'spline' has continuous 1st and 2nd derivatives while 'pchip' only + has a continuous 1st derivative. The methods 'next' and 'previous' + have been added to interp1 for compatibility. + + ** The delaunay function has been extended to accept 3-D inputs for + Matlab compatibility. The delaunay function no longer plots the + triangulation if no output argument is requested, instead, the + triangulation is always returned. The delaunay3 function which + handles 3-D inputs has been deprecated in favor of delaunay. + + ** The trigonometric functions asin and acos return different phase + values from previous versions of Octave when the input is outside + the principal branch ([-1, 1]). If the real portion of the input is + greater than 1 then the limit from below is taken. If the real + portion is less than 1 then the limit from above is taken. This + criteria is consistent with several other numerical analysis + software packages. + + ** The hyperbolic function acosh now returns values with a phase in the + range [-pi/2, +pi/2]. Previously Octave returned values in the + range [0, pi]. This is consistent with several other numerical + analysis software packages. + + ** strfind changes when using empty pattern ("") for Matlab + compatibility + + strfind now returns an empty array when the pattern itself is empty. + In previous versions of Octave, strfind matched at every character + location when the pattern was empty. + + NEW + strfind ("abc", "") => [] + OLD + strfind ("abc", "") => [1, 2, 3, 4] + + ** Integer formats used in the printf family of functions now work for + 64-bit integers and are more compatible with Matlab when printing + non-integer values. Now instead of truncating, Octave will switch + the effective format to '%g' in the following circumstances: + + * the value of an integer type (int8, uint32, etc.) value exceeds + the maximum for the format specifier. For '%d', the limit is + intmax ('int64') and for '%u' it is intmax ('uint64'). + + * round(x) != x or the value is outside the range allowed by the + integer format specifier. + + There is still one difference: Matlab switches to '%e' and Octave + switches to '%g'. + + ** The functions intersect, setdiff, setxor, and union now return a + column vector as output unless the input was a row vector. This + change was made for Matlab compatibility. + + ** The inpolygon function now returns true for points that are within + the polygon OR on it's edge. This change was made for Matlab + compatibility. + + ** The archive family of functions (bzip2, gzip, zip, tar) and their + unpacking routines (bunzip2, gunzip, unzip, untar, unpack) have been + recoded. Excepting unpack, the default is now to place files in the + same directory as the archive (on unpack) or as the original files + (on archiving). + + ** Qt and FLTK graphics toolkits now support offscreen rendering on + Linux. In other words, print will work even when the figure + visibility is "off". + + ** Z-order stacking issues with patches, grid lines, and line object + plot markers for on screen display and printing have all been + resolved. For 2-D plots the axis grid lines can be placed on top of + the plot with set (gca, "layer", "top"). + + ** The patch graphic object has been overhauled. It now produces + visual results equivalent to Matlab even for esoteric combinations + of faces/vertices/cdata. + + ** The polar() plot function now draws a circular theta axis and radial + rho axis rather than using a rectangular x/y axis. + + ** linkprop has been completely re-coded for performance and Matlab + compatibility. It now returns a linkprop object which must be + stored in a variable for as long as the graphic objects should + remain linked. To unlink properties use 'clear hlink' where hlink + is the variable containing the linkprop object. + + ** isprime has been extended to operate on negative and complex inputs. + + ** xor has been extended to accept more than two arguments in which + case it performs cumulative XOR reduction. + + ** The following functions now support N-dimensional arrays: + + fliplr flipud rot90 rectint + + ** The new warning ID "Octave:data-file-in-path" replaces the three + previous separate warning IDs "Octave:fopen-file-in-path", + "Octave:load-file-in-path", and "Octave:md5sum-file-in-path". + + ** The warning ID Octave:singular-matrix-div has been replaced by + Octave:nearly-singular-matrix and Octave:singular-matrix. + + ** The warning ID Octave:matlab-incompatible has been replaced by + Octave:language-extension to better reflect its meaning. + + ** The warning ID Octave:broadcast has been removed. Instead automatic + broadcasting will throw an Octave:language-extension warning. This + warning ID is used for broadcasting as well as other features not + available in Matlab. + + ** Other new functions added in 4.0: + + annotation + bandwidth + cubehelix + dir_in_loadpath + flip + frame2im + get_home_directory + hgload + hgsave + ichol + ilu + im2frame + isbanded + isdiag + isstudent + istril + istriu + javachk + jit_failcnt + linkaxes + lscov + metaclass + numfields + open + ordschur + pan + qmr + rotate + rotate3d + sylvester + unsetenv + validateattributes + zoom + + ** inline() scheduled for eventual deprecation by Matlab + + Functions created through the use of inline are scheduled for + deprecation by Matlab. When this occurs Octave will continue to + support inline functions for an indeterminate amount of time before + also removing support. All new code should use anonymous functions + in place of inline functions. + + ** Deprecated functions. + + The following functions have been deprecated in Octave 4.0 and will + be removed from Octave 4.4 (or whatever version is the second major + release after 4.0): + + Function | Replacement + ---------------------|------------------ + bicubic | interp2 + delaunay3 | delaunay + dump_prefs | individual preference get/set routines + find_dir_in_path | dir_in_loadpath + finite | isfinite + fmod | rem + fnmatch | glob or regexp + gmap40 | ---- + loadaudio | audioread + luinc | ilu or ichol + mouse_wheel_zoom | mousewheelzoom axes property + nfields | numfields + octave_tmp_file_name | tempname + playaudio | audioplayer + saveaudio | audiowrite + syl | sylvester + usage | print_usage + + allow_noninteger_range_as_index + do_braindead_shortcircuit_evaluation + setaudio + + ** The following functions were deprecated in Octave 3.8 and will be + removed from Octave 4.2 (or whatever version is the second major + release after 3.8): + + 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 following functions were deprecated in Octave 3.6 and have been + removed from Octave 4.0. + + cut polyderiv + cor shell_cmd + corrcoef studentize + __error_text__ sylvester_matrix + error_text + + ** The following keywords were deprecated in Octave 3.8 and have been + removed from Octave 4.0 + + static + + ** The following configuration variables were deprecated in Octave 3.8 + and have been removed from Octave 4.0 + + CC_VERSION (now GCC_VERSION) + CXX_VERSION (now GXX_VERSION) + + ** The internal function atan2 of the sparse matrix class has been + deprecated in Octave 4.0 and will be removed from Octave 4.4 (or + whatever version is the second major release after 4.0). Use the + Fatan2 function with sparse inputs as a replacement. + + ** The internal class Octave_map was deprecated in Octave 3.8 and has + been removed from Octave 4.0. Replacement classes are octave_map + (struct array) or octave_scalar_map for a single structure. + + ** Octave now has OpenMP enabled by default if the system provides a + working OpenMP implementation. This allows oct-file modules to take + advantage of OpenMP if desired. This can be disabled when building + Octave with the configure option --disable-openmp. + + ** Octave now automatically truncates intermediate calculations done + with floating point values to 64 bits. Some hardware math + co-processors, such as the x87, maintain extra precision, but this + leads to disagreements in calculations when compared to reference + implementations in software using the IEEE standard for double + precision. There was no measurable performance impact to this + change, but it may be disabled with the configure option + --disable-float-truncate. MinGW and Cygwin platforms, as well as + GCC compilers >= 5.0 require this feature. Non-x87 hardware, or + hardware using SSE options exclusively, can disable float truncation + if desired. + +--------------------------------------------------------- + +See NEWS.3 for old news. diff -r 114ad8f22ee6 -r ef521f780839 etc/module.mk --- a/etc/module.mk Wed Apr 11 21:53:26 2018 -0700 +++ b/etc/module.mk Thu Apr 12 09:01:02 2018 -0700 @@ -8,6 +8,7 @@ %reldir%/NEWS.1 \ %reldir%/NEWS.2 \ %reldir%/NEWS.3 \ + %reldir%/NEWS.4 \ %reldir%/PROJECTS \ %reldir%/gdbinit