Changes in version 0.0.0.9126 Bug fixes - Update pkgdown workflow to include additional R packages and refs. - Prevent NAs in show method by handling max.print truncation. - Handle negative and out-of-order indexing. - Require explicit opt-in for sparse-to-dense conversion. - Cast comparison operators to numeric for type safety. - Use direct slot access in transpose method. - Conditionally check overwrite for dbMatrix creation. - Improve verbosity messages and remove redundant logging in dbMatrix functions. Features - Support transposed precompute tables. - Add streaming SVD for dbSparseMatrix including fallback to BPCells::svds() for LTM data. - Add Math SQL translations for log1p(), ln() and log() functions. - Add is.na() method. Performance - Optimize dimname indexing with factors and match() (dimname-returning functions return characters as expected). Refactoring - Use temp tables and inline SQL (small queries still use inline SQL; otherwise register a temp table to avoid large string parsing bottlenecks). - Centralize internal type-check functions in dbProject. - Simplify summary methods to always return vectors. - Rename dbVector internals and add column-wise recycling. - Improve as.matrix() and compute() for dbMatrix. Documentation - Untrack docs/ folder. - Consolidate class documentation and update vignettes. Chore - Update build config and move package data to inst/extdata. - Update package metadata and dependencies. - Update roxygen. - Update .gitignore to exclude compiled artifacts. Code style - Reformat with air. Testing - Tidy up tests and update to reflect recent code changes. Changes in version 0.0.0.9125 Bug fixes - Ensure as.matrix returns unnamed matrix when names=FALSE. - Update show methods to handle duplicate dimnames via index filtering. - Pkgdown errors. - Ensure rowVars/colVars preserve empty dimensions. - Make compute s3 and use CTAS instead. Features - Optimize precompute with parquet and auto-attach existing tables. - Implement native ingestion for various Matrix classes via as.dbMatrix. - Add coercion methods for dbMatrix to matrix/Matrix objects. - Add .check_mem_limit internal function. - Support overwrite arg in compute.dbMatrix. - writeMM method for dbMatrix objects. - Add value_colName support to dbMatrix_from_tbl for pre-aggregated counts. Chore - Update roxygen version. - Ignore benchmarks/ repo. - Update NAMESPACE with s3 exports. Documentation - Tidy roxygen. - Tidy + update global options in dbMatrix. - Clean up roxygen comments & improve documentation formatting. Code style - Tidy extract.R with air and jarl. - Tidy .R files with air and jarl. Refactoring - Delegate dbMatrix construction to as.dbMatrix generic for native R matrix ingestion. - Clean up Math Summary ops so to use subqueries and R zero inflation. Performance - Optimize sparse --> matrix conversion. - Improve mem safety of as.matrix for dense matrix conversions. - Use head/tail filter pushdown in show method for dbMatrix objects. - Improve extract by using duckdb_register for large indices. - Optimize arith helpers with lazy queries instead of generating views. Testing - Add tests for compute. Changes in version 0.0.0.9124 Breaking Changes - Renamed load() to dbLoad(): The load method has been renamed to dbLoad to avoid masking base::load(). Generic moved to dbProject package for consistency across dbverse. Refactoring - S4 to S3 Method Conversion: Converted rownames(), colnames(), nrow(), ncol(), and their setters from S4 to S3 methods for simpler dispatch. Only %in% remains S4 (requires double dispatch). This significantly reduces package load messages. - Internal Function Cleanup: - Converted castNumeric from S4 generic to internal function .castNumeric() - Renamed temporary tables to use _tmp prefix in row/column summary methods for consistency - Moved dbList generic to dbProject package Bug Fixes - Arrow Filter Pushdown Error: Fixed "Arrow table filter pushdown optional: new_i IN (...) not supported yet" error by replacing arrow::to_duckdb() with inline SQL for extract operations. - Fixed .mtx file reader header detection logic. Chore - Applied consistent code formatting across the package. Changes in version 0.0.0.9123 Features - dbProject Integration: Full integration with dbProject package and dbData base class architecture. dbMatrix now inherits from dbData providing unified database-backed object interface across dbverse ecosystem. - Statistical Methods: Added rowSds(), colSds(), rowVars(), and colVars() methods for both dbDenseMatrix and dbSparseMatrix. - dbVector Support: Internal support for dbVector arithmetic operations. Chore - Migrated repository to dbverse-org organization from previous location. - Updated all URLs and links to reflect new dbverse-org organization structure. - Required DuckDB >= 1.4.0 (LTS) for improved stability. - Updated documentation with markdown formatting improvements. - Added cli to imports for better user messaging. Docs - Added S4 class documentation to pkgdown reference index (dbMatrix-class, dbDenseMatrix-class, dbSparseMatrix-class). - Updated vignettes to include memory and names parameters for summary functions. - Improved roxygen documentation for compute(), as.matrix(), and arithmetic operations. - Enhanced documentation for dbProject integration and dbData inheritance. Bug Fixes - Eliminated ORDER BY Warnings: Fixed ORDER BY warnings by removing arrange() from lazy evaluation paths in summary methods. Now only applies ordering when materializing results to memory. - Fixed sim_dgc() function to use correct number of random values (rnorm(n_vals) instead of rnorm(num_cols)), eliminating "number of items to replace" warnings. - Removed deprecated context() call in test files (testthat 3rd edition). - Fixed to_view() calls to pass tbl objects instead of dbMatrix objects to dbProject functions. - Imported dbProject generics properly to avoid namespace conflicts. - Added init slot to dbMatrix class definition. - Removed redundant export for t() method. - Fixed names() method to return NULL for regular matrices instead of throwing errors. - Corrected name attribute assignment in Ops() method for dbMatrix. - Improved connection handling in internal get_con() function. - Removed dbReconnect() method from generics (moved to dbProject/dbData). - Refactored extract methods - functionality now comes from dbProject::dbData base class. - Exported dbMatrix class properly in NAMESPACE. - Fixed DESCRIPTION dependencies: removed duplicate dbProject from Suggests, added proper Remotes reference. Changes in version 0.0.0.9023 Breaking Changes - dbMatrix summary methods now return dbDenseMatrix objects instead of in-memory vectors. - Removed colTypes from castNumeric. - Removed @name check in initialize. Features - New compute method for saving dbMatrix objects. This writes the dbMatrix object to a table in the database along with its row and column names (e.g. 'dbMatrixname_rownames'). - New load method for loading computed dbMatrix objects. The dbMatrix::compute() method must be called before loading the object. - Updated .check_overwrite to allow for passing overwrite arg. - New internal function write_dimnames to enable saving dbMatrix objects. - New sum method for dbMatrix objects. - Improvements to precomputed table: Use existing precomputed table in db if available. - Improvements to precomputed table: Transpose precomputed table of sufficient dimensions if it exists instead of creating a new one. This is done via a TEMPORARY VIEW to avoid writing to disk and modifying existing precomputed table which may be referenced by other tables. - Custom SQL statement for todbDense conversion creates a TEMPORARY VIEW with name dbDenseMatrix_hash. Chore - Update whitespace. - Update dbMatrix constructor roxygen. - Update roxygen in toDbDense. Docs - Update reference page. - Update mean documentation. - Update log documentation. - Update roxygen. Bug fixes - Do not recycle matrix if not needed. Changes in version 0.0.0.9022 Breaking changes - Rename dbMatrix constructor to dbMatrix::dbMatrix(). Features - Add more tests for dbMatrix and dbDenseMatrix. - Add internal function map_ijx_dimnames. - Add internal function dbMatrix_from_tbl. - Extract now constructs unique temporary virtual tables in the arrow schema. Chore - Document pkgdown website. - Add cli to imports. - Update generics. Bug fixes - Be more explicit about non-supported Arith and Ops operations. - Fix show() method for dbDenseMatrix objects. Changes in version 0.0.0.9021 Bug fixes - Improve show function for dbDenseMatrix. - Updated simulate functions to include overwrite param. - Update .check_overwrite() internal function to avoid bug in overwritting passed table. Changes in version 0.0.0.9020 Features - Add initial support for reading in .mtx files and creating dbMatrix objects. Bug fixes - Update check_overwrite input validation Chore - Update Royxgen Changes in version 0.0.0.9019 Features - Add new precompute function to speed up matrix densification. - Add new show function for dbDenseMatrix with pretty color and better spacing. - Add new save function to save a dbMatrix. - Add new input validation functions. Chore - Update docs. - Update imports to include glue, bit64 and crayon. Changes in version 0.0.0.9018 Bug fixes - Update constructor calls in sim functions. - Remove redundant con from constructor. - Remove db_path from constructor. - Constructor db_path arg change to con object. Features - Add dgTMatrix to in-memory matrix types supported in dbMatrix constructor. Chore - Set :memory: to default db_path in constructor. - Update createDBMatrix docs. Documentation - Spacing. - Update after constructor fix. - Remove :temp: in place of :memory:. Changes in version 0.0.0.9017 Bug fixes - Remove ":temp:" from tests. - Replace ':temp:' with ':memory:'. - Add matrix in addition to dgCMatrix in as_ijx(). Features - Add unit tests for scalar arith. - Add unit tests for names.R. Chore - Remove random browser() call. - Add MatrixGenerics to deps. - Update gitignore. Changes in version 0.0.0.9016 Features - Add boolean indexing tests to test-extract.R. - Add as_ijx() convenience function. - Update createDBMatrix() to use dplyr::copy_to(). - Update as_matrix() convenience function. - Add unit tests for extract methods. Changes in version 0.0.0.9015 Features - Add log(). - Update toDbDense to use dplyr instead of SQL. Chore - Update DESCRIPTION to include testthat. - Update docs. Changes in version 0.0.0.9014 Features - update dbIndex superclass - update as_matrix() Changes in version 0.0.0.9013 Bug fixes - Rename and update dbIndex superclass to fix indexing bugs. Features - Add experimental as_matrix() convenience function. Chore - Update docs. - Migrate site link to drieslab. - Move {Matrix} to Imports. Documentation - Update overview.Rmd. - Update operations vignette. Changes in version 0.0.0.9012 Bug fixes - Only densify if necessary. != 0, +/-. - toDbDense() previously updated table by value. change to update by reference via VIEW creation of table named 'dense'. Features - Add dbListTables(). Chore - Update docs. - Update gitignore. Changes in version 0.0.0.9011 Bug fixes - Fix incorrect aggregate operations. - Fixes after con slot removal. Features - Add get_con(). - Add dbDisconnect() generic. - Update accessors. Chore - Update vignettes. - Update README. - Update gitignore. - Update docs. - Update NEWS. Changes in version 0.0.0.9010 Breaking changes - migrate to |> pipe, remove %>%, update deps. Chore - Update docs. Changes in version 0.0.0.9009 Bug fixes - Mean generic for dbDenseMatrix. Chore - Update docs. - Update site. - Update gitignore. Changes in version 0.0.0.9008 Bug fixes - Updates to dbSparseMatrix rowMeans, colMeans. - Updates to colSums and rowSums for dbSparseMatrix. - Update dbMatrix constructor dimnames issues. Chore - Update DESCRIPTION, remove redundant Matrix import, dep. - Update docs. - Update roxygen for operations. Changes in version 0.0.0.9007 Features - Add Matrix as dep. Changes in version 0.0.0.9006 Bug fixes - Methods::as scope correction. Features - Add methods to deps. Chore - Update .gitignore. Changes in version 0.0.0.9005 Feat - Add Matrix as pkg dep Changes in version 0.0.0.9004 Bug fixes - Missing Matrix:: scope call. Chore - Update docs. Changes in version 0.0.0.9003 Fix - dims and dim_names in createDBMatrix() retained from in-memory matrix or Matrix object Chore - Update docs for dbMatrix input checks Changes in version 0.0.0.9002 Feat - Specify checks for 'name' param in createDBMatrix() Chore - Update docs. - Add docs. Changes in version 0.0.0.9001 Chore - Update docs and DESCRIPTION. - Migration dbMatrix.