Skip to content

Releases: DrTimothyAldenDavis/GraphBLAS

v9.3.0 (Aug 2, 2024)

05 Aug 22:43
671c925

Choose a tag to compare

Aug 2, 2024: version 9.3.0

* code restructuring:  Source folder split into many subfolders, and
    some files and internal functions renamed.  No visible external change.
* (55) bug fix: GrB_apply with user-defined index-unary op would fail if
    A was iso and the JIT was disabled (failure in generic case).
    Caught by Christina Koutsou.
* (54) bug fix: reducing a huge iso full matrix to a scalar resulted in
    integer overflow if nrows*ncols was larger than about 2^60.
* reduced size of compiled library: int16 and uint16 types and operators
    for FactoryKernels are disabled in GB_control.h.  The JIT will always
    be used instead.

v9.2.0 (May 22, 2024)

29 May 14:11
9bdf19d

Choose a tag to compare

May 22, 2024: version 9.2.0

* Added graphblas_install.m: for a simpler method of compiling
    the MATLAB/Octave interface for GraphBLAS.
* JIT: sanitizing the JIT cache path, better burble for compiler errors
* GrB_get/GrB_set: better handling of concurrent get/set between different
    user threads

v9.1.0 (Mar 22, 2024)

26 Mar 21:18
6680f9f

Choose a tag to compare

Mar 22, 2024: version 9.1.0

* minor updates to build system
* C11 complex type detection:  this is now detected and configured by
    cmake, instead of using an #if ... in the GraphBLAS.h header.
    This change was required to port GraphBLAS to the clang-cl compiler
    on Windows when it simulates the MSVC compiler.  Also added a new
    feature (thus the minor version update to 9.1.0): GxB_HAVE_COMPLEX* to
    GraphBLAS.h to indicate which kind of complex data types are available
    in C11 or MSVC.  Contributed by Markus Mützel.
* port to clang-cl: fixing the GxB_get and GxB_set macro
* (53) bug fix: eWiseAdd C<M>=A+B when M, A, and B are all hypersparse;
    access to M was incorrect (also affects C<M>+=T for any operation, if
    M and T are both hypersparse).  Caught by Roi Lipman.

Full Changelog: v9.0.3...v9.1.0

v9.0.3 (Mar 1, 2024)

02 Mar 04:05
6fea8b7

Choose a tag to compare

Fixes a performance bug, where the JIT kernels (since v8.3.1) were not compiled with openmp.

v9.0.2 (Feb 26, 2024)

28 Feb 15:07
cc3e1af

Choose a tag to compare

Fixes the Makefile, "make static", which builds just the static library.

v9.0.1 (Jan 20, 2024)

25 Jan 00:49
a5b7d1e

Choose a tag to compare

Jan 20, 2024: version 9.0.1

* minor updates to build system

Full Changelog: v9.0.0...v9.0.1

v9.0.0 (Jan 10, 2024)

10 Jan 17:29
4f242bf

Choose a tag to compare

Jan 10, 2024: version 9.0.0

* GrB_get/GrB_set: new functions from the v2.1 C API.
* GrB_Type_new, GrB_UnaryOp_new, GrB_IndexUnaryOp_new: no longer macros,
    since GrB_set can be used to set the names of the operators.  These
    methods no longer extract the name, so the default name is now the
    empty string.  This is because GrB_get/set can only set these names
    once.  This is a non-compatible change of behavior for these 3
    methods, so SuiteSparse:GraphBLAS must become v9.0.0.
* historical methods:  many methods are replaced by GrB_get and GrB_set.
    They remain in SuiteSparse:GraphBLAS but have been declared historical.
    Terse prototypes exist in GraphBLAS.h, and any discussion is removed
    from the User Guide:  GxB_get, GxB_set, and the methods they call, and
    many more.  Use GrB_get/set in place those methods, and for:
    GxB_*type_name, GxB_*type, GxB_Monoid_operator, GxB_Monoid_identity,
    GxB_Monoid_terminal, GxB_Semiring_add, GxB_Semiring_multiply.  Use
    GrB_STORAGE_ORIENTATION_HINT in place of GxB_FORMAT.
* hyper_hash: constructed only if the # of non-empty vectors in a
    hypersparse matrix is large (> 1024, by default)
* minor updates to build system: *.pc files for pkgconfig

The GraphBLAS v2.1 C API appears at https://github.com/GraphBLAS/graphblas-api-c/releases/tag/v2.1 .

v8.3.1 (Dec 30, 2023)

30 Dec 00:58
e408f01

Choose a tag to compare

Dec 30, 2023: version 8.3.1

* major change to build system: by Markus Mützel
* GraphBLAS.h: remove "undef I" 

v8.3.0 (Dec 7, 2023)

07 Dec 10:29

Choose a tag to compare

Dec 7, 2028, version 8.3.0

* major change to build system: by Markus Mützel

v8.2.1 (Oct 13, 2023)

13 Oct 13:50

Choose a tag to compare

Oct 13, 2023: version 8.2.1

* (49) bug fix: GrB_mxm saxpy4 and saxpy5 had incorrectly handling of
    typecasting in v8.0.0 to v8.2.0 (caught by Erik Welch)
* cross-compiler support: replace check_c_source_runs with _compiles,
    for GraphBLAS and SuiteSparse_config, and remove check for
    getenv("HOME").
* cmake update: add "None" build type, from Antonio Rojas, for Arch Linux
* (50) bug fix: remove undefined behavior in Source/GB_add.c (Cnvec_nonempty), caught by Yves Vandreissche, Intel