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

Reply via email to