Changes in version 2.13.5 BUG FIXES o Remove 'rescale_ref()' outside domain limits error Changes in version 2.13.4 SIGNIFICANT USER-VISIBLE CHANGES o Removes character vector support from 'bsearch()' BUG FIXES o Remove 'STRING_PTR' usage from C/C++ code Changes in version 2.13.3 BUG FIXES o Backport 'DATAPTR()' support for older R versions Changes in version 2.13.2 BUG FIXES o Remove 'DATAPTR()' usage from C/C++ code Changes in version 2.13.1 SIGNIFICANT USER-VISIBLE CHANGES o Add argument for passing list of vectors to 'chunk_mapply()' o Add argument for passing list of vectors to 'chunked_list()' Changes in version 2.11.2 NEW FEATURES o Add 'as_plotly()' for coercing vizi plots Changes in version 2.11.1 BUG FIXES o Fix S3/S4 method issues with 'bplapply()' o Improve to 'sgmix()' numeric stability Changes in version 2.9.3 BUG FIXES o Fix error in 'sgmix()' with non-normalizable probabilities Changes in version 2.9.2 SIGNIFICANT USER-VISIBLE CHANGES o Improved 'sgmix()' algorithm with more consistent segmentations o Add 'beta' argument to 'sgmix()' to control smoothing strength Changes in version 2.9.1 BUG FIXES o Change C-level 'Free()' calls to 'R_Free()' Changes in version 2.7.10 (2024-10-16) NEW FEATURES o Add 'fetch' and 'flash()' for base R types SIGNIFICANT USER-VISIBLE CHANGES o Update 'fetch()' and 'flash()' to pass more arguments to underlying 'matter' constructors Changes in version 2.7.9 NEW FEATURES o Add 'pivots' argument to 'fastmap()' to support more than 2 pivot candidates per iteration SIGNIFICANT USER-VISIBLE CHANGES o Update 'fetch()' and 'flash()' to preserve atoms types o Update 'fetch()' and 'flash()' to fall back to serial execution if BPPARAM is a distributed cluster BUG FIXES o Add 'chunkopts' to 'nscentroids()' and 'sgmix()' signatures to fix downstream '...' bugs o Fix graphical parameters not applying to vizi plots Changes in version 2.7.8 BUG FIXES o Fix shared memory segmentation faults on Linux o Fix voxel plotting when length(unique(z)) == 1L Changes in version 2.7.7 NEW FEATURES o New 'fetch()' and 'flash()' generics for moving data between file storage and shared memory SIGNIFICANT USER-VISIBLE CHANGES o Support both number of items OR size in bytes when setting getOption("matter.default.chunksize") o Now using '@' prefix as shared memory identifier for file system compatibility (e.g., Windows) o Deprecated 'sgmixn()'; updated 'sgmix()' to support multichannel images directly o Improved RNG behavior for non-L'Ecuyer seeds BUG FIXES o Fix potential infinite loop in 'mi_learn()' o Add warning in chunk-apply functions if 'RNG=TRUE' but 'RNGkind()' is _not_ "L'Ecuyer-CMRG" Changes in version 2.7.6 SIGNIFICANT USER-VISIBLE CHANGES o Add 'cpals()' and 'dpals()' to list available palettes o Moving 'simple_logger' now appends 'sessionInfo()' o Statistical methods 'fastmap()' and 'nscentroids()' now use 'rowDists()' and 'colDists()' directly o Optional argument 'distfun' has new requirements in methods 'fastmap()' and 'nscentroids()' o Class 'matter_str' now inherits from 'matter_list' for consistency between R and C++ interfaces o Export '.rowDists()' and '.colDists()' functions BUG FIXES o Fix 'simple_logger' finalizer on R session exit Changes in version 2.7.5 NEW FEATURES o Shared memory support comes to 'matter' via boost! o Add 'as.shared()' for coercion to shared memory 'matter' objects o Use 'path=":memory:"' to construct 'matter' object in shared memory o Use 'mem()' to monitor shared memory usage SIGNIFICANT USER-VISIBLE CHANGES o Add shared memory support to 'mem()' output o Add cluster memory support to 'memtime()' output o Add cluster memory monitoring with 'memcl()' function o New documentation for several previously-undocumented utility functions that may be useful for others o New 'permute' argument in chunk-apply functions BUG FIXES o Improved behavior for the general 'matter()' constructor o Use private RNG for 'uuid()' to avoid collisions from 'set.seed()' and to avoid changing '.Random.seed' o Fix 'is_gridded()' and 'to_raster()' behavior for non-integer coordinates and character rasters Changes in version 2.7.4 NEW FEATURES o Add 'SnowfastParam' class to support PSOCK clusters for faster startups and faster serialization o Add getOption("matter.default.chunksize") for setting the approximate size of chunks in bytes o Add getOption("matter.default.serialize") for managing serialization behavior in chunk-apply functions o New 'simple_logger' class for writing log files o New 'options(matter.temp.dir=tempdir())' replaces the previous 'options(matter.dump.dir=tempdir())' o New 'options(matter.temp.gc=TRUE)' controls whether temporary matter files are automatically removed when all R objects referencing them are garbage collected o Temporary matter files are now garbage collected! SIGNIFICANT USER-VISIBLE CHANGES o New 'chunkopts' argument replaces 'nchunks' and includes the new chunk options ("chunksize" and "serialize") BUG FIXES o Fix leaky closures in internal chunk loop functions causing slow parallel performance on large datasets o Fix internal bug in 'eval_exprs()' where 'recursive' attribute was always set to 'TRUE' Changes in version 2.7.3 NEW FEATURES o Add new functions 'knnmax()' and 'knnmin()' o Add new functions 'filtn_ma()', 'filtn_conv()', etc. o Add support for N-dimensional signals to 'estnoise_*()' functions o Add 'findpeaks_knn()' for KNN-based peak detection SIGNIFICANT USER-VISIBLE CHANGES o Add signal processing vignette o Faster 'knnsearch()' when the data and query are the same o Ties in 'knnsearch()' are now broken based on data order o Updated 'estnoise_sd()', 'estnoise_mad()', and 'estnoise_quant()' BUG FIXES o Improvements to 'filt1_adapt()' and 'filt2_adapt()' Changes in version 2.7.2 NEW FEATURES o Support 2D signals in 'plot_signal()' (e.g., for ion mobility) o New argument 'alphapow' in 'plot_signal()' and 'plot_image()' SIGNIFICANT USER-VISIBLE CHANGES o Plot method for 'vizi_bars' now sums duplicate bar counts BUG FIXES o Fix chunk-apply functions for BPPARAM=NULL o Fix 'chunkMapply()' named list errors o Fix 'is_gridded()' so infinite 'estres()' result gives FALSE o Give more useful error messages for 'dpal()' and 'cpal()' o Fix alpha channel in 'plot_image()' Changes in version 2.7.1 NEW FEATURES o Support subsetting of deferred operations o Add 'chunked' classes for chunked objects o Add 's_stat()' for grouped streaming statistics o For 'plot_image()', set 'useRaster' to plot 3d surface/volume vs voxels o Add 'enhance_adj()' function for adjusting extreme values SIGNIFICANT USER-VISIBLE CHANGES o Performance improvements for chunk-apply functions o Support chunk-apply functions on remote cluster workers o Reduced memory usage for chunk-apply functions on SNOW clusters o Image smoothing 'filt2_*()' functions support multiple channels o Contrast enhancement 'enhance_*()' functions support multiple channels o Remove 'biglm' from imports BUG FIXES o Fix subplot axis scaling and aspect ratio for 'plotly' graphics o Fix passing colors to line charts for 'plotly' graphics Changes in version 2.6.3 BUG FIXES o Fix 'filt2_gauss()' behavior with NAs Changes in version 2.6.2 BUG FIXES o Fix 'sgmixn()' on 'matter_mat' and 'sparse_mat' input Changes in version 2.6.1 BUG FIXES o Fix 'matter_list' error on zero-length elements Changes in version 2.5.22 BUG FIXES o Fix y-flipped raster images on non-macOS platforms Changes in version 2.5.21 NEW FEATURES o Add new vizi mark 'image' for plotting pre-rastered images o Add arguments 'rasterImages' and 'rasterParams' to 'plot_image()' Changes in version 2.5.20 SIGNIFICANT USER-VISIBLE CHANGES o Update 'trans2d()' and 'warp2_trans()' to support arrays Changes in version 2.5.19 NEW FEATURES o Add new vizi mark 'rules' for reference lines Changes in version 2.5.18 NEW FEATURES o Add support for optional 'plotly' graphics output o Add 'vizi_engine()' for setting the plotting engine o Add support for 3D images to 'plot_image()' SIGNIFICANT USER-VISIBLE CHANGES o Export 'parse_formula()' for developer use BUG FIXES o Fix 'plotly' error from non-gridded voxels Changes in version 2.5.17 SIGNIFICANT USER-VISIBLE CHANGES o Allow passing subplots to 'as_facets()' via '...' BUG FIXES o Fix 'rowsweep()'/'colsweep()' behavior with NA groups o Fix 'cv_do()' and 'mi_learn()' behavior with NA labels Changes in version 2.5.16 SIGNIFICANT USER-VISIBLE CHANGES o Add PLS 1-component regressions to 'opls' output o Add 'fitted()' method for 'opls' o Update 'predict()' method for 'opls' o Add multiple instance learning support to 'cv_do()' BUG FIXES o Fix 'opls_nipals()' usage with 'mi_learn()' o Fix error setting bags to negative class in 'mi_learn()' Changes in version 2.5.15 BUG FIXES o Use names "MacroRecall"/"MacroPrecision" in 'cv_do()' Changes in version 2.5.14 NEW FEATURES o Add function 'rocscore()' for calculating ROC AUC BUG FIXES o Fix bug in 'mergepeaks()' merging too aggressively o Fix NAs in probability in 'nscentroids()' o Fix formatting for 'size_bytes()' when vmem is 0 o Fix bug in 'cv_do()' not processing test set Changes in version 2.5.13 BUG FIXES o Fix error in 'estnoise_filt()' when all peaks are noise Changes in version 2.5.12 SIGNIFICANT USER-VISIBLE CHANGES o Add 'free' argument to 'plot_signal()' and 'plot_image()' o Add 'style' argument to 'set_par()' o Return 'fitted.values' from each fold in 'cv_do()' o Add 'pos' argument to 'mi_learn()' to specify positive class o Export 'chunkify()' and 'chunk_writer()' utilities o Export 'size_bytes()' constructor BUG FIXES o Improve error messages for invalid plotting options o Rescale 'alpha' channel for images when 'enhance=TRUE' o Return 'probability' component for 'sgmixn()' o Prevent mark 'boxplot' from plotting extra axes o Fix 'mi_learn()' failing for missing values in response o Fix 'plot_image()' failing for constant opacity if 'scale=TRUE' Changes in version 2.5.11 NEW FEATURES o Add RNG utility functions 'RNGStreams()', 'getRNGStream()', and 'setRNGStream()' o Add 'seeds' argument for parallel-safe RNG for 'chunk_lapply()', etc. o Add 'type' argument to 'drle' constructor to allow pure-RLE or sequential encoding o Add function 'sgmixn()' for fitting multiple spatial Gaussian mixture models in parallel o Add vizi marks 'intervals' and 'boxplot' o Add 'predscore()' for scoring predictions o Add 'cv_do()' for performing cross-validation SIGNIFICANT USER-VISIBLE CHANGES o Change 'fitted()' argument 'type' to use "response" (instead of "probability") for 'nscentroids' o Print methods for models (e.g., 'pls', etc.) now truncate output to 'getOption("matter.show.head.n")' o Add 'jitter' transformation for vizi mark 'points', etc. o Export 'avg()' utility function BUG FIXES o Fix bug in 'nscentroids()' predictions o Fix error in 'nscentroids()' for one-class models o Fix error in 'sgmix()' caused by singleton classes o Pass 'weights' argument to 'distfun()' in 'fastmap()' and 'nscentroids()' o Fix error in 'plot_image()' for NA-only images Changes in version 2.5.10 NEW FEATURES o Add function 'peakheights()' o Add nearest shrunken centroids ('nscentroids()') o Add spatial Gaussian mixture model ('sgmix()') o Add colocalization coefficients ('coscore()') o Add multiple instance learning ('mi_learn()') SIGNIFICANT USER-VISIBLE CHANGES o Rename 'estres()' parameter 'tol.ref' to 'ref' o Export 'array_ind()' and 'linear_ind()' o Add 'nchunks' argument to 'prcomp()' and 'pls()' o Vectorize 'predict.pls()' over 'k' argument o Set corresponding attributes to NULL when center/scale are FALSE in 'rowscale()' and 'colscale()' BUG FIXES o Fix 'tolerance()' returning invalid value for 'tolerance()<-' o Fix error in 'peakareas()' when peak boundaries are NULL o Remove duplicate peaks in 'findpeaks_cwt()' o Fix potential infinite loop in 'binpeaks()' o Fix potential incorrect vector lengths in 'simspec()' Changes in version 2.5.9 BUG FIXES o When writing to a file in chunk apply functions, preserve order in file even if chunks are processed out-of-order Changes in version 2.5.8 NEW FEATURES o Added scaling functions 'rescale_rms()', 'rescale_sum()', 'rescale_ref()', 'rescale_range()', and 'rescale_iqr()' Changes in version 2.5.7 SIGNIFICANT USER-VISIBLE CHANGES o Moved 'keys' and 'keys<-' generics to Cardinal o Removed 'chunksize' and 'chunksize<-' generics BUG FIXES o Fix error with NAs in 'add_alpha()' o Fix flipped x/y coordinates in 'inpoly()' Changes in version 2.5.6 BUG FIXES o Fix error in apply functions when 'BPPARAM=NULL' o Remove zero-height peaks in 'plot_signal()' Changes in version 2.5.5 NEW FEATURES o Added 'plot_signal()' and 'plot_image()' o Added new mark 'vizi_text' SIGNIFICANT USER-VISIBLE CHANGES o Add 'vizi' style 'classic' for transparent background o Implement 'vm_used()' for 'sparse_arr' objects o Implement 'combine()' for 'vizi_plot' objects o Rename 'plot_facets()' to 'as_facets()' BUG FIXES o Fixed RStudio plotting bugs due to 'par(bg="transparent")' o Fixed 'matter_list' subsetting not subsetting type o Fixed 'vizi_pixels' issues with y-axis o Fixed plotting functions not passing along parameters o Handle mixed int/double types in 'ltob()' and 'lttb()' o Implement 'vm_used()' for 'sparse_arr' Changes in version 2.5.4 BUG FIXES o Improved 'mergepeaks()' efficiency Changes in version 2.5.3 BUG FIXES o Fixed stack overflow in 'sparse_mat' subsetting o Fixed 'mergepeaks()' failing for missing peaks Changes in version 2.5.2 SIGNIFICANT USER-VISIBLE CHANGES o For 'estres()', allow 'tol=NA' or 'tol=Inf' Changes in version 2.5.1 BUG FIXES o Fixed bug in 'simspec()' not respecting 'units' o Enabled calling 'vizi()' with no arguments Changes in version 2.3.18 BUG FIXES o Fixed bug in 'kdtree()' stack size allocation o Cleaned up a few C++ compiler warnings Changes in version 2.3.17 SIGNIFICANT USER-VISIBLE CHANGES o Parameter 'filename' in 'struct()' is now 'path' Changes in version 2.3.16 SIGNIFICANT USER-VISIBLE CHANGES o Added 'checksum' method for character vectors (i.e., files) Changes in version 2.3.15 BUG FIXES o Fixed erroneous warning in 'matter_list' or 'matter_arr' constructors with existing files but no 'data' argument Changes in version 2.3.14 SIGNIFICANT USER-VISIBLE CHANGES o Added 'append' argument to matter constructors o Simplified 'sparse_arr' implementation by removing shared index representation (which was not really used) o When writing to an output file, 'chunkApply()' and friends now write entire chunks instead of each element o Added coercions from 'matter_list' to 'matter_arr', etc. BUG FIXES o No longer truncate existing files when creating a matter object if nonexistent files are also included in the path Changes in version 2.3.13 BUG FIXES o Fixed translation from aliased C types to R types Changes in version 2.3.12 NEW FEATURES o Added 'image' method for formulas Changes in version 2.3.11 SIGNIFICANT USER-VISIBLE CHANGES o Changed specification of 'atoms' data types o Use 'int16', int32', 'uint32', etc. for integer types o Use 'float32' and 'float64' for floating point typess o Added aliases so 'short', 'int', 'double', etc., still work Changes in version 2.3.10 NEW FEATURES o Added 'rowMaj' S4 generic and methods SIGNIFICANT USER-VISIBLE CHANGES o Remove defunct S4 generics BUG FIXES o Fixed bug in 'approx1' for "max" and "min" interpolation Changes in version 2.3.9 NEW FEATURES o Added 'vizi_pixels' for image plotting o Added 'vizi_voxels' for 3D image plotting SIGNIFICANT USER-VISIBLE CHANGES o In estnoise_*() functions, renamed argument 'width' to 'n' Changes in version 2.3.8 NEW FEATURES o Added PLS (partial least squares) o Added 'pls_nipals' (NIPALS) o Added 'pls_simpls' (SIMPLS) o Added 'pls_kernel' (kernel algorithms #1 and #2) o Added OPLS (orthogonal PLS) o Added 'opls_nipals' (NIPALS) o Added FastMap projection with 'fastmap()' o Added 'rowDists()' and 'colDists()' o Added 'convolve_at()' SIGNIFICANT USER-VISIBLE CHANGES o Added regularization to NMF functions for stability Changes in version 2.3.7 NEW FEATURES o Added NMF (nonnegative matrix factorization) o Added 'nnmf_mult()' (multiplicative updates) o Added 'nnmf_als()' (alternating least squares) o Exported 'prcomp_lanczos()' SIGNIFICANT USER-VISIBLE CHANGES o Accessing matter objects now checks for user interrupts Changes in version 2.3.6 NEW FEATURES o Added 'rowdist()' and 'coldist()' o Added 'rowdist_at()' and 'coldist_at()' o Added parallelization support for matrix multiplication Changes in version 2.3.5 NEW FEATURES o Added 'enhance_hist()' for histogram equalization o Added 'enhance_adapt()' for CLAHE BUG FIXES o Fixed handling of missing values in smoothing filters Changes in version 2.3.4 NEW FEATURES o Added CWT based peak detection with 'findpeaks_cwt()', 'findridges()' and 'cwt()' o Added 'estnoise_quant()' o Added 'filt1_conv()' o Added 'filt2_conv()' Changes in version 2.3.3 NEW FEATURES o Added 'trans2d()' for affine transformations o Added 'warp2_trans()' for transformation-based image registration using 'optim()' Changes in version 2.3.2 NEW FEATURES o More new signal processing features! o Added 'approx2()' for 2D signal resampling and interpolation of scattered data o Added 2D filtering including: 'filt2_ma()', 'filt2_gauss()', 'filt2_bi()', 'filt2_adapt()', 'filt2_guide' o Added nonlinear diffusion 'filt1_diff()' and 'filt2_diff()' o Added the traditional Savitzky-Golay filter 'filt1_sg()' o Added 'kdsearch()' and 'kdtree()' for K-dimensional searches SIGNIFICANT USER-VISIBLE CHANGES o Updated package DESCRIPTION Changes in version 2.3.1 NEW FEATURES o Lots of new signal processing features! o Added 'approx1()' for signal resampling and interpolation o Added 1D filtering including: 'filt1_ma()', 'filt1_gauss()', 'filt1_bi()', 'filt1_adapt()', 'filt1_guide()', 'filt1_pag()' o Added 1D warping and alignment including: 'warp1_loc()', 'warp1_dtc()', 'warp1_cow()' o Added continuum estimation including: 'estbase_loc()', 'estbase_hull()', 'estbase_snip()', 'estbase_med()' o Added local noise estimation including: 'estnoise_sd()', 'estnoise_mad()', 'estnoise_diff()', 'estnoise_filt()' o Added peak processing including: 'findpeaks()', 'peakwidths()', 'peakareas()', 'binpeaks()', 'mergepeaks()' o Added 'downsample()' for signal and time series visualization o Added 'vizi_plot' visualization methods BUG FIXES o Fix missing include for gcc 13.1.1 compatibility Changes in version 2.1.1 BUG FIXES o Fixed NAMESPACE issue by importing 'Matrix::rowSums()' etc. Changes in version 2.0.1 (2022-11-16) SIGNIFICANT USER-VISIBLE CHANGES o Updated "User guide" vignette BUG FIXES o Fixed combining for matter vectors and lists o Fixed slow 'matter_mat()' constructor for large # of atoms o Fixed bug with BPPARAM not passed in 'rowStats()'/'colStats()' Changes in version 1.99.2 (2022-10-31) BUG FIXES o Fix 'chunkApply()' behavior for when nchunks == 1 o Fix 'atoms' failure when 'source' is a compressed 'drle' o Properly ignore missing groups in 'rowsweep()' and 'colsweep()' Changes in version 1.99.1 (2022-10-30) BUG FIXES o Minor bug fixes to 'matter_list' and 'struct()' behavior o Minor bug fix to endomorphic subsetting of sparse matrices o Minor bug fix to 'binvec()' behavior at vector endpoints Changes in version 1.99.0 (2022-10-23) NEW FEATURES o Complete re-implementation of sparse array code in C++ o Complete re-implementation of matter object C++ backends o New 'sparse_arr' class with 'sparse_mat' and 'sparse_vec' o New 'matter_arr' class with 'matter_mat' and 'matter_vec' o New 'asearch()' function for approximate search with interpolation o New 'chunkApply()' function replacing 'chunk_apply()', etc. o New 'colsweep()' and 'rowsweep()' functions w/ group parameter o New 'colscale()' and 'rowscale()' functions w/ group parameter o New 'drle_fct' class for delta-run-length encoded factors o New interpolation options for 'sparse_arr' objects o Simplified deferred arithmetic operations interface SIGNIFICANT USER-VISIBLE CHANGES o New simplified constructors for most matter objects o Updated S4 internals for most matter objects o Updated S4 internals for sparse array objects o Deprecated some rarely-used functions and classes o Deprecated some S4 generic conflicts with core BioC packages BUG FIXES o Fix to 'stream_var' and 'stream_sd' behavior when n=0 or n=1 Changes in version 1.19.1 (2021-10-20) BUG FIXES o Fix error in 'cbind()' on two 'matter_vec' objects Changes in version 1.17.1 (2020-11-27) BUG FIXES o Fix 'apply()' signatures for R 4.1 Changes in version 1.15.1 BUG FIXES o Remove '...' from 'which()' Changes in version 1.13.10 NEW FEATURES o Added 's_nnzero()' stream-stat for non-zero entries o Added 'push()' and 'pull()' generics for future use Changes in version 1.13.9 BUG FIXES o Minor updates to 'chunk_apply()' internals Changes in version 1.13.8 BUG FIXES o Fixed bugs due to logical condition length > 1 Changes in version 1.13.7 BUG FIXES o Fixed to internal function 'linearInd()' Changes in version 1.13.6 BUG FIXES o Fixed bug caused by change in R 4.0 so that class of matrix is now c("matrix", "array") Changes in version 1.13.5 NEW FEATURES o Support for 'view="chunk"' when specifying 'pattern' Changes in version 1.13.4 NEW FEATURES o Added 'pattern' argument to 'chunk_mapply()' Changes in version 1.13.3 NEW FEATURES o Implemented 'outfile' argument for writing results to a file for 'chunk_apply()' and 'chunk_mapply()' Changes in version 1.13.2 NEW FEATURES o Added 'pattern' argument to 'chunk_apply()' Changes in version 1.13.1 (2019-10-30) NEW FEATURES o Added 'chunk_mapply()' Changes in version 1.11.7 (2019-10-25) BUG FIXES o Fixed errors in 'rowStats()' and 'colStats()' when calculating group statistics over minor dimensions Changes in version 1.11.6 (2019-10-23) NEW FEATURES o Added 'locmax()' function for finding local maxima o Added 'binvec()' function for binning vectors Changes in version 1.11.5 (2019-10-13) NEW FEATURES o Exposed 'chunk_apply()' for applying functions over parallelized chunks of vectors and matrices Changes in version 1.11.4 (2019-10-13) NEW FEATURES o Added 'rowStats()' and 'colStats()' methods for chunk-applying grouped summary statistics over the rows and columns of matrices SIGNIFICANT USER-VISIBLE CHANGES o Family of 'apply()' and 'lapply()' methods now attempt to respect the object's 'chunksize()' o Added getOption('matter.default.chunksize') for setting default chunksize for matter objects Changes in version 1.11.3 SIGNIFICANT USER-VISIBLE CHANGES o Faster subsetting of matter-backed ALTREP objects o Updated 'bsearch()' to return the closest match when tol > 0 o Added getOption('matter.dump.dir') to control where temporary files are stored for matter objects Changes in version 1.11.2 NEW FEATURES o Coercing to native R types now returns an ALTREP representation for most 'matter' objects o Use 'as.altrep()' method to coerce an existing 'matter' object to ALTREP or to coerce native R types to 'matter'-backed out-of-memory ALTREP objects o ALTREP coercion can be controlled by new options: getOption('matter.coerce.altrep') getOption('matter.coerce.altrep.list') getOption('matter.wrap.altrep') o See ?`matter-options` for details SIGNIFICANT USER-VISIBLE CHANGES o The 'show()' method for 'matter' objects now prints a preview of the data head o Printing of data can be controlled with new options getOption('matter.show.head') and getOption('matter.show.head.n') Changes in version 1.11.1 NEW FEATURES o Added 'stream_stat' class for streaming statistics with functions s_mean(), s_var(), s_sd(), etc. Changes in version 1.9.11 BUG FIXES o Fixed documentation link to 'base::lapply' Changes in version 1.9.10 (2018-12-22) SIGNIFICANT USER-VISIBLE CHANGES o Vectors can be used as 'virtual_mat' rows/columns now Changes in version 1.9.9 (2018-12-22) SIGNIFICANT USER-VISIBLE CHANGES o Constructor for 'drle' now allows forcing delta = 0 o Updated display descriptions in 'show' methods o Check for NULL dimensions when subsetting 'virtual_mat' and 'sparse_mat' classes Changes in version 1.9.8 (2018-12-18) BUG FIXES o Check for NULL dimensions in 'matter_arr' subsetting Changes in version 1.9.7 (2018-12-18) BUG FIXES o Fixed bug in atoms() where 'index_offset' and 'index_extent' would overflow when creating long 'matter_vec' objects Changes in version 1.9.6 (2018-12-14) SIGNIFICANT USER-VISIBLE CHANGES o Subsetting matter matrices, arrays, and data frames now checks for the correct number of dimensions o Linear indexing support for 'matter_mat' and 'matter_arr' BUG FIXES o Class checks now use R_check_slot_etc() in C so subclasses of 'matter' objects should inherit correct behavior o Fixed other indexing issues in subsetting + assignment Changes in version 1.9.5 (2018-12-14) SIGNIFICANT USER-VISIBLE CHANGES o Updated documentation with `matter-datatypes`, size of data types are now explicitly defined o Changed 'filemode' slot to be a factor with levels c('r', 'w', 'rw') instead of a string o Data access now uses C++ fstream instead of C BUG FIXES o On Windows, accessing data elements in large files with byte offets larger than MAX_INT now works o On Windows, data modes of 'long' and 'ulong' are now correctly 64-bit integer types o Assignment of negative values now checked for 'ulong' Changes in version 1.9.4 NEW FEATURES o Added %% and %/% delayed operations from Arith group o Added & and | delayed operations from Logic group o All Ops group generics now supported as delayed operations o Added 'lapply' and 'sapply' functions for 'matter_list' o Support for BiocParallel in 'apply', 'lapply', and 'sapply' BUG FIXES o Fix floating point exception error when dividing by integer 0L in delayed division operations Changes in version 1.9.3 NEW FEATURES o Added matrix multiplication for 'sparse_mat' matrices o Added matrix multiplication for 'virtual_mat' matrices Changes in version 1.9.2 (2018-11-12) BUG FIXES o Renamed internal class 'bytes' to 'num_bytes' due to Rcpp Changes in version 1.9.1 (2018-11-12) BUG FIXES o Removed BiocGenerics 'lengths' from NAMESPACE Changes in version 1.8.2 (2018-12-13) BUG FIXES o Fixed large file offset bug on Windows (again) Changes in version 1.8.1 (2018-12-11) BUG FIXES o Fixed bug causing large files to read incorrectly on Windows Changes in version 1.7.6 NEW FEATURES o Added 'apply' methods for 'sparse_mat' and 'virtual_mat' o Added 'vm_used' function to exported internal utilities o Can infer length of 'matter_vec' from paths when missing o Can coerce 'matter_list' to 'matter_matc' or 'matter_matr' if all elements of the list are the same length SIGNIFICANT USER-VISIBLE CHANGES o Initializing a matter object with data to an existing file no longer results in a warning if 'filemode' is supplied BUG FIXES o Fixed bug where subsetting 'sparse_mat' objects would pull 'matter_list' key-value pairs into memory o Subsetting 'sparse_mat' objects with out-of-bounds subscripts when 'drop=NULL' is now an error Changes in version 1.7.5 NEW FEATURES o Added 'as.matrix' methods for 'sparse_mat' and 'virtual_mat' Changes in version 1.7.4 NEW FEATURES o Added coercion from 'matter_mat' to 'matter_list' Changes in version 1.7.3 NEW FEATURES o Added 'rep_vt' class for virtual replicated vectors Changes in version 1.7.2 NEW FEATURES o Updated installation instructions for BiocManager o Setting 'sparse_mat' keys also updated nrows/ncols BUG FIXES o Fixed mem() to reflect R >= 3.5 gc() function Changes in version 1.7.1 BUG FIXES o Fixed file.exists() bug when length(paths) > 1 Changes in version 1.5.4 NEW FEATURES o Added 'struct' convenience function for on-disk C-style structs (wrapper for 'matter_list') Changes in version 1.5.3 NEW FEATURES o Added remainder of Summary group, including 'range', 'min', 'max', 'prod', 'any', and 'all' methods o Added options(matter.cast.warning=FALSE) for turning off C type coercion warnings o Exported low-level utilities 'sizeof', 'make_datamode', 'convert_datamode', and 'widest_datamode' o Added 'combiner' generic function and method for setting/getting the 'combiner' for 'sparse_mat' o Added 'min' and 'max' combiner functions for 'sparse_mat' matrices with tolerance > 0 o Added 'biglm' method for 'matter_df' data frames BUG FIXES o Fixed bug when coercing 'matter_list' to 'matter_vec' Changes in version 1.5.2 (2017-11-12) NEW FEATURES o All 'matter' subclasses now support endomorphic subsetting via 'drop=NULL' wherever appropriate o Setting the 'dim' slot via 'dim<-' now switches the class between 'matter_vec' and 'matter_arr' o Added 'virtual_mat' class for virtual matrices SIGNIFICANT USER-VISIBLE CHANGES o Use 'drop=NULL' from now on instead of 'drop=NA' to do endomorphic subsetting of matter matrices o Added 'matter_vt' virtual class for matter objects which may exist both on-disk and in-memory o Added 'matter_tbl' virtual class for data tables BUG FIXES o Fixed read/write bug when subsetting across atoms Changes in version 1.5.1 NEW FEATURES o Added 'sparse_mat' class for sparse matrics (potentially on-disk) with subclasses 'sparse_matc' for CSC matrices and 'sparse_matr' for CSR matrices o Added 'bsearch' function for fast binary searches o Added 'uuid' function for generating UUIDs as both 'raw' and and 'character' vectors o Added a 'checksum' method for doing sha1 and md5 checksums of all files associated with a 'matter' object Changes in version 1.3.8 (2017-10-26) NEW FEATURES o Added 'matter_fc' class for on-disk factors SIGNIFICANT USER-VISIBLE CHANGES o Added character encodings to 'matter_str' on-disk strings BUG FIXES o Fixed bug in 'matter_df' when subsetting by columns o Fixed bug when coercing 'data.frame's to 'matter_df' Changes in version 1.3.7 (2017-10-25) BUG FIXES o Fixed bug where default 'matter_df' chunksize was tiny o Changed 'datamode' for 'matter_df' from 'list' to 'virtual' Changes in version 1.3.6 (2017-10-20) SIGNIFICANT USER-VISIBLE CHANGES o Lists (ragged arrays) may now be heterogenous (elements must still be vectors) o More memory-efficient initialization of data on disk when length(data) is 1 o Files are now created by default in constructors if they do not already exist o When coercing with 'as.matter', names and/or dimnames are now retained Changes in version 1.3.5 (2017-10-18) SIGNIFICANT USER-VISIBLE CHANGES o Improved length/dim defaults when data is given to constructors BUG FIXES o Trying to write to a read-only dataset now fails gracefully o Fixed integer overflow when subsetting via subsetMatterMatrix Changes in version 1.3.4 BUG FIXES o Fixed bug where NAs did not propogate correctly for integers o It is now an error when 'matter()' cannot infer data structure Changes in version 1.3.3 SIGNIFICANT USER-VISIBLE CHANGES o Added new vignettes with benchmarks and examples on real data BUG FIXES o Fixed bug in delayed arithmetic operations with vectors Changes in version 1.3.2 NEW FEATURES o Added class 'matter_list' for homogenous lists (ragged arrays) o Added class 'matter_str' for on-disk strings o Added class 'matter_df' for on-disk data frames o Added 'as.matter' for function coercing to matter objects Changes in version 1.3.1 NEW FEATURES o Updated base matter classes (matter_vec, matter_mat, matter_arr) to support 'Arith' and 'Compare' group generics Changes in version 1.1.3 NEW FEATURES o Added class 'drle' for delta-run-length encoding vectors o Added '+', '-', '*', '/', '^', 'exp', 'log', 'log2', and 'log10' as possible delayed operations to on-disk atoms SIGNIFICANT USER-VISIBLE CHANGES o Slots of 'atoms' class now use delta-run-length encoding o Reduced metadata size by changing 'atoms' class to use groups rather then relying on a 'list' of 'atoms' o The 'scale' method for 'matter_mat' now matches 'scale.default' more correctly when 'center = FALSE' and 'scale = TRUE' Changes in version 1.1.2 NEW FEATURES o Added support for char, uchar, ushort, uint, and ulong datamodes o Added support for raw (Rbyte) matter objects SIGNIFICANT USER-VISIBLE CHANGES o S4 methods for matrix-specific summary statistics are now only defined on matter_mat and its subclasses BUG FIXES o Dramatically improved speed of matrix multiplication Changes in version 1.1.1 (2016-11-29) NEW FEATURES o Added 'crossprod' (t(x) %*% y) and 'tcrossprod' (x %*% t(y)) methods o Added 'atomdata' accessor method, for which 'adata' is now an alias BUG FIXES o Added S3 versions of some S4 methods to fix scoping issues o Removed Cardinal package from Suggests to avoid circular dependency o Reduced memory consumption in bigglm-matter method Changes in version 0.99.11 (2016-10-11) BUG FIXES o Updated documentation details. Changes in version 0.99.10 (2016-10-11) SIGNIFICANT USER-VISIBLE CHANGES o Updated vignettes with installation instructions, faster build time o Added 'adata' method for accessing 'matter' class @data slot Changes in version 0.99.9 NEW FEATURES o Added delayed scaling and centering via 'scale' method o Added 'prcomp' method for principal components analysis SIGNIFICANT USER-VISIBLE CHANGES o Renamed 'colSd' -> 'colSds', 'colVar' -> 'colVars', etc. o Renamed 'filepaths' -> 'paths' and 'file_id' -> 'source_id' o Moved 'irlba' from Suggests to Imports to support new 'prcomp' method o Updated vignette to use new 'prcomp' method in the PCA example BUG FIXES o Fixed bug when combining 'matter' objects with multiple data sources Changes in version 0.99.8 SIGNIFICANT USER-VISIBLE CHANGES o In S4 class 'atoms', slot 'file_id' is now type 'integer' to save space o In S4 class 'atoms', slot 'datamode' is now type 'integer' to save space o More comprehensive error messages in constructors for S4 classes Changes in version 0.99.7 BUG FIXES o Try to fix namespace std::isnan scoping issues on Windows Changes in version 0.99.6 BUG FIXES o Fixed handling of NA, NaN, Inf, and -Inf during C type coercion o Improved handling of NA, NaN, Inf, and -Inf in summary stats o Fixed handling of NAs in matrix multiplication for integers Changes in version 0.99.5 BUG FIXES o Fixed .Call native routine registration for C++ methods o Added "C_" prefix for C++ methods called through .Call Changes in version 0.99.4 SIGNIFICANT USER-VISIBLE CHANGES o Added .Call native routine registration for C++ methods Changes in version 0.99.3 BUG FIXES o Import generics from S4Vectors for 'colMeans', 'colSums', 'rowMeans', and 'rowSums' o Cleaned up method signatures and class unions Changes in version 0.99.2 BUG FIXES o Cleaned up double assignments in C++ code Changes in version 0.99.1 BUG FIXES o Version bump for Bioconductor build system Changes in version 0.99.0 BUG FIXES o Updated PCA example in vignette (irlba now requires 'mult' argument to be non-missing for non-C execution) o Added irlba unit test Changes in version 0.6 SIGNIFICANT USER-VISIBLE CHANGES o Updated maintainer and author email address BUG FIXES o Fixed bug in rowVar for matter_matc Changes in version 0.5 SIGNIFICANT USER-VISIBLE CHANGES o Updated documentation with examples and added unit tests BUG FIXES o Fixed matrix multiplication on mixed data types (int x double) Changes in version 0.4 SIGNIFICANT USER-VISIBLE CHANGES o Added support for class-preserving subsetting of 'matter' matrices with 'drop=NA' argument for Cardinal compatibility. o Added new 'show' method for 'matter' vectors and matrices showing their size in in-memory and size on disk. Changes in version 0.3 NEW FEATURES o Added C++ class 'MatterAccessor' for iterating through. a buffered version of a 'matter' vector or matrix o Added summary statistics including 'sum', 'mean', 'var', 'sd', 'colSums', 'colMeans', 'colVar', 'colSd', 'rowSums', 'rowMeans', 'rowVar', and 'rowSd'. o Added support for 'apply' method for 'matter' matrices o Added support for 'bigglm' linear regression. o Added basic matrix multiplication for 'matter' matrices with an in-memory R matrix or vector. Changes in version 0.2 SIGNIFICANT USER-VISIBLE CHANGES o Overhauled backend to use C++ classes 'Matter' and 'Atoms', to maximizes use of sequential reads versus random reads. Changes in version 0.1 SIGNIFICANT USER-VISIBLE CHANGES o First rough implementation of matter including the classes 'atoms' and 'matter', and subclasses 'matter_vec', 'matter_matc', 'matter_matr', with a C backend.