Octave Version 8.2.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:

Improvements and fixes

  • fopen: Use “UTF-8” as default encoding for fopen (bug #63930).
  • fopen, unicode2native: Fix converting the encoding of short char arrays with invalid UTF-8 (bug #63930).
  • fopen: Try to gather complete UTF-8 surrogates when converting encoding (bug #63930).
  • fopen: Do not convert encoding for file streams with libc++ (bug #63930).
  • pr-output.cc: Fix output for format native-bit (bug #63940).
  • Fix evaluation of & and | expressions in conditional contexts (bug #63935).
  • Avoid clang warning about very unlikely buffer overflow.
  • mpoles.m: Overhaul function and use absolute tolerance for zero poles (bug #63937).
  • perms.m: Change "unique" output order to reverse lexicographic to match non-unique order (bug #63962).
  • Remove trailing '\r' from curl dir list (bug #63851).
  • Fix display of scalar complex variables with mixed Inf/NaN and floating point values (bug #63961).
  • Don’t use encoding facet when writing bytes to stream (bug #63931).


  • Speedup loading and saving preferences dialog (bug #63909).

Build system / Tests

  • inpolygon.m: Fix demo code (bug #63865).
  • if.tst: New test for (bug #63935).
  • acinclude.m4: Correct typo in #define PCRE2_CODE_UNIT_WIDTH.
  • lu: Add self-test with complex valued input.
  • Disable visibility flags by default (bug #61855, bug #63916).
  • Check whether using STL from LLVM or Apple (bug #63930).


  • Improve documentation for linspace and logspace functions.
  • Correct and improve documentation for sparse() function.