Skip to content

Gamut 2.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 01:48
· 98 commits to main since this release
de8d99c

Install: pip install --upgrade gamut-format (Python 3.11 or later). MATLAB R2023b or later: open Gamut.mltbx below. Julia 1.10 or later, C and C++: the gamut-core-2.0.0-<platform> archive below.

Gamut 2.0 settles the interface for the 2.x series: later 2.x releases only add to it. The file format is unchanged (gamut/1), so files move between 1.3 and 2.0 alike.

What can change code written for 1.3 is listed in the changelog's Upgrading from 1.3. The ones most scripts meet:

  • Creating a file never replaces an existing one.
  • A parameter is float64 unless you declare it int64. Integers no longer make it int64.
  • In MATLAB, [] selects nothing and ':' everything.
  • Input that used to be stored wrongly is refused, for example a field given sites × runs.
  • The C interface takes the length of every array.
  • C++ reads name their type: get_parameter<double>.
  • Two rules split: E25 for a valid file that cannot grow, and E26 for a limit reached.

Fixes. This release fixes about forty bugs. Among them:

  • fields stored scrambled;
  • integers rounded or truncated silently;
  • a crash on a crafted file;
  • MATLAB reading every row after an empty selection;
  • every limit on hostile files enforced and listed in docs/security.md.

Supported versions: Python 3.11, NumPy 1.26, MATLAB R2023b and Julia 1.10, or later. Each is tested, and none rises within 2.x.