[ANNOUNCE] Matrix 2.4.0
Per Nyfelt <[email protected]> Sun, 1 Feb 2026 15:22:17 +0100
| Newsgroups | gmane.comp.lang.groovy.user |
|---|---|
| Organization | Alipsa HB |
| Message-ID | <[email protected]> |
Hi everyone, I’m happy to announce a new major release of the Matrix suite, BOM 2.4.0 (released 2026-01-31, https://github.com/Alipsa/matrix). This release is a substantial step forward from the 2.3.0 line, introducing four new modules, a complete spreadsheet engine overhaul, and a large expansion of Matrix’s statistical and ML capabilities. The goal of Matrix is to provide a Groovy-native alternative to: * numpy / pandas in Python, and * tidyverse / haven / arrow / bigquery in R. # What’s new in Matrix 2.4.0? ## 1. New ecosystem modules & idiomatic Groovy The new matrix-groovy-ext module makes high-precision math feel native to the language, using `BigDecimal` and `MathContext.DECIMAL64` under the hood. e.g: * Without NumberExtension: Math.sin(Math.toRadians(angle.doubleValue())) as BigDecimal * With NumberExtension (matrix-groovy-ext): angle.toRadians().sin() ## New interoperability module: * matrix-smile – machine learning & feature engineering ## 2. Statistical powerhouse (matrix-stats 2.3.0) A major upgrade aimed at serious data-science workloads: * 26+ new statistical tests, including contingency, normality, and time-series tests * New regression models: Logistic, Quantile, and Decision Trees * Performance improvements, especially around BigDecimal * Significantly expanded test coverage ## 3. Spreadsheet & I/O overhaul * matrix-spreadsheet 2.3.0 Focused on performance: Switched from POI to FastExcel for 80-100% faster load. By implementing a FastOds, large ODS files now load 65–80% faster. Legacy `.xls` and Apache POI support have been removed in favor of these high-performance providers. * matrix-parquet 0.4.0 "Native" Parquet support (No longer doing a roundtrip via Carpet) with nested structures and efficient in-memory writing. * Cloud / DB * matrix-bigquery 0.5.1 – enhanced flexibility and robustness * matrix-sql 2.3.0 – Improved execute/update support and better JDBC driver inference. * matrix-arff – ARFF is a standard file format used by machine learning tools, e.g. Weka * matrix-avro – a language-neutral, schema-driven, binary serialization format widely used in big data (Hadoop/Kafka) ## 4. Core API, visualization & Google Sheets * matrix-core 3.6.0 More consistent APIs for `drop`, `rename`, `replaceAll`, `splitInto`, and `subset`. Changed some row based operations to columnar for improved perfromance. * matrix-charts 0.4.0 A new declarative plotting API inspired by **ggplot2**. * matrix-gsheets 0.1.1 Now production-ready, with improved error handling and robustness. A big thank you to everyone who provided feedback, bug reports, and suggestions—it directly shaped this release. Cheers, Per