GNU Octave 6.3.0 Released
Octave Version 6.3.0 has been released and is now available for download. An official Windows binary installer is also available. For macOS see the installation instructions in the wiki.
This version is a bug fixing release:
Important notice
- This bug fix release breaks ABI compatibility with Octave 6.2.0. Re-build
binaries (like
.octor.mexfiles) when updating to this version.
Improvements and fixes
ls-hdf5.cc: Avoid throwing inside HDF5 function (bug #60081).ls-hdf5.cc: Handle non-zero terminated type strings (bug #60081).- Fix occasional segfault in
symbfact(bug #60101). fsolve.m: Fix undefined output error when usingOutputfunction (bug #60144).- Avoid ambiguous call to
pow(bug #60169). - Fix context link when creating handle to nested function.
print.m: Warn when figure is too large to be printed to output page (bug #60236).- Defer clearing function vars until stack frame is deleted (bug #60137).
- Avoid memory leaks when returning handles to nested functions.
- Hold references to closure frames in anon functions if needed (bug #60237).
eigs: Prevent possible segmentation fault at exit (bug #60311).- Issue warning when gnuplot graphics toolkit is initialized.
mpoles.m: Fix detection of pole multiplicity (bug #60384).- Perform shutdown actions in interpreter destructor (bug #60334).
qz.cc: Return correct number of eigenvalues (bug #60357).qz.cc: Let test pass with LAPACK 3.9.1 and earlier versions (bug #60357).pkg.m: Use default prefixes unless otherwise set previously (bug #60472).betaincinv.m: Correctly handle small inputs (bug #60528).betaincinv.m: Correctly handle inputs very close to 1.0 (bug #60528).unistd-wrappers.c: Allocate sufficient memory fornew_argv(bug #60535).- Mark system functions correctly if
OCTAVE_HOMEis non-canonical (bug #60554). - Mark compiled system functions correctly if
OCTAVE_HOMEis non-canonical (bug #60554). - Return proper number of stack frames for
dbstack (N)call (bug #60531). - Avoid ambiguous match of overloaded function (bug #60531).
print: Fix error when"px"word is present in a figure (bug #60641).logm.m: Fix check for real negative values in complex vector (bug #60738).hist.m: Improve handling and docstring for third parameter “norm” (bug #60783).logm.m: Allow tolerance in check for real negative values in complex vector (bug #60738).expm.m,logm.m: Use functionisdiagto detect if input is a diagonal matrix (bug #60738).- Fix scoping issue for handles to sibling nested functions (bug #60845).
ls-mat5.cc: Avoid integer overflow in calculation of buffer size for zlib (bug #55427).- Avoid crash with
dbquitwhen executing command in terminal from GUI (bug #60813).
GUI
- Fix calling external editor (bug #60198).
- Fix missing file suffix
.mwhen saving a new script (bug #60214). - Do not run files that are not saved as Octave files (bug #60214).
- Fix confirm overwrite for native editor file “save as” dialogs (bug #60214).
- Fix crash when GUI tries to restore missing previous Octave dir (bug #60255).
- Fix restoring the horizontal position of docked GUI widgets (bug #59426).
- Prevent floating widgets from re-opening after restart (bug #60279).
- Avoid crash in GUI for
rmdir("")(bug #60473). - Fix EOL mode when saving files under new names (bug #60585).
- Fix auto indentation of switch-structure in GUI editor (bug #60649).
- Avoid crash when closing GUI with open editor tabs (bug #60500).
octave-qscintilla.cc(contextmenu_run): Fix keyboard command handling.
Build system / Tests
- build: Check for
stropts.h(bug #60163). - build: Make relocation of dependencies with Octave optional (bug #60413).
- build: Set necessary flags to allow execution on Windows Vista (bug #60746).
- build: Use correct path to
octavebinary in build tree on macOS. - build: Fix typo in folder to libraries when building
.octor.mexfiles. - build: Set
DL_LDFLAGSin the build rules for.octor.mexfiles. - Declare base_parser destructor virtual.
- Move top-level REPL from interpreter to evaluator.
- Fix compilation error with
iconv_ton Solaris (bug #60162). lo-array-errwarn.cc: Include<limits>(bug #60470).- Use
std::size_tandstd::ptrdiff_tin C++ code (bug #60471). - Use
std::size_tin more instances (bug #60471). - Fix error if test suite is run before Octave is installed (bug #60554).
- tests: Relax tolerance for some tests on macOS.
logspace.m: Mark tests as known to fail on macOS (bug #55538).hist.m: Use deterministic test (bug #60783).rgb2ind.m: Reduce memory usage and eliminate randomness in test.logm.m: Allow larger tolerance for test on macOS.rgb2ind.m: Suppress output in test.lscov.m: Relax BIST tolerance to pass with OpenBLAS (bug #60552).
Documentation
- Improve documentation for
log2function (bug #60817). ind2sub: Fix typo in “see also” section of docstring (bug #60842).mrdivide,mldivide: Document that functions might return minimum norm solutions (bug #60839).- Improve Differential Equations chapter and example for lsode (bug #57508).
- Clarify usage of “Depends” keyword in package
DESCRIPTIONfile (bug #60053). - Add note that wildcard patterns for
saveare glob patterns (bug #60157). - Change example for Delaunay triangulation to match the generating code (bug #60216).
- Document single precision issues with OpenGL graphics toolkits (bug #59418).
- Minor changes to documentation of single precision issues with OpenGL (bug #59418).
- Expand on documentation for command syntax (bug #60084).
isprop.m: Document that function only works on graphics objects in Octave 6.X (bug #60295).- Explain how to write dual-purpose executable scripts and Octave functions (bug #60291).
- Update keyword docstrings (bug #60275).
- Use Texinfo commands to improve
transpose()docstring rendering. betainc.m,betaincinv.m: Correct non-TeX definition of beta incomplete integral.- Grammarcheck documentation ahead of 6.3 release.
- Spellcheck documentation ahead of 6.3 release.