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