Changes in version 2.24.0 o Automatically cast integer/logical NAs to their double equivalents in the matrices wrapped by initializeCpp(). This can be disabled by setting .check.na=FALSE. o Added a initializeCpp() method for the ConstantArraySeed class. Changes in version 2.22.0 o Moved all C++ libraries to the assorthead package. This uses the latest versions of the tatami framework. o Automatically attempt to use beachmat.hdf5 (if installed) when encountering the various HDF5Array classes. o Minor optimization when dealing with some known no-op matrices, e.g., WrapperArraySeed objects from alabaster.matrix. o Map delayed type coercions from type<- to their corresponding native representations (or no-ops). o Bugfix for initializeCpp() to work properly with dense Matrix instances. o Soft-deprecated whichNonZero() in favor of SparseArray's new nzwhich() and nzvals() functions. o Exported tatami.* utilities for manipulating already-initialized pointers from initializeCpp(). This includes all of the delayed operation wrappers, some previously internal functions for extracting matrix data, a new function for realizing the matrix into a standard R representation, and a new function for matrix multiplication. Changes in version 2.14.0 o Added the tatami C++ library for LinkingTo from other packages. Changes in version 2.8.0 o Improve the efficiency of sparse row subsetting in non-DelayedArray rowBlockApply(). o Avoid overhead of DelayedArray block processing when DelayedArray is pristine and the type is supported. o Migrated whichNonZero() from scuttle. o Added toCsparse() to make it easier to convert SparseArraySeeds to CsparseMatrixes. o Added realizeFileBackedMatrix() to, well, realize a DelayedMatrix with file-backed components. Changes in version 2.6.0 o Added version 3 of the C++ API. This relies on DelayedArray block processing to handle the various abstractions, and provides convenient C++ abstractions for the different input types. More methods for non-zero extraction are provided for sparse algorithms, and the class hierarchy handles flexibility of the input types rather than requiring user-side templating. o Added the colBlockApply() and rowBlockApply() functions for more convenient and efficient column/row-block processing. o Added doxygen documentation for the C++ API. Changes in version 2.0.0 o Converted beachmat into a header-only library to simplify linking, avoid ABI incompatibilities. o Minor API change for external native support to avoid using C++ classes with C-style linkage. Changes in version 1.4.0 o Removed native support for RleMatrix and packed symmetric matrices. o Added multi-row/column getters. o Added mechanism for native support of arbitrary developer-defined matrices. o Switched to row/colGrid() for defining chunks in unsupported matrices. Changes in version 1.2.0 o Changed environment variable to BEACHMAT_RPATH for consistency with other packages. o Added native support for transposition and subsetting in DelayedMatrix objects. o Added support for chunk-by-chunk realization of otherwise unsupported matrices, including DelayedMatrix objects with other delayed operations. o Added the get_const_col_indexed() method for input matrices, especially fast for sparse representations. o Added the set_col_indexed() and set_row_indexed() methods for output matrices. o Updated vignettes and expanded the test suite. Changes in version 1.0.0 o New package beachmat, which provides a C++ API for handling various R matrix types.