---
myst:
html_meta:
"description": "Detailed release notes for eOn v2.10.1, covering the Eigen row-major fix and CI-NEB regression test."
"keywords": "eOn release notes, Eigen row-major, NEB regression, storage order"
---
# Release notes
## [v2.10.1] - 2026-02-18
This is a bug-fix release. There are no API or configuration changes.
### Bug Fixes
#### Eigen storage-order regression
The v2.10.0 commit `6e8461c3` replaced the `EIGEN_DEFAULT_TO_ROW_MAJOR`
preprocessor macro with a `constexpr` constant and explicit row-major aliases
for `AtomMatrix` and `RotationMatrix`. However, ~135 bare `Eigen::MatrixXd`
uses across the codebase were not updated, causing them to revert to Eigen's
default column-major layout.
Row-major layout is required so that `.data()` yields
`[x0, y0, z0, x1, y1, z1, ...]`, which is what the Fortran potentials and
`VectorXd::Map` round-trips expect. The column-major matrices stored
`[x0, x1, ..., y0, y1, ..., z0, z1, ...]` instead, silently corrupting force
projections and causing the NEB to diverge from the first step.
The fix removes `using namespace Eigen;` from `client/Eigen.h` (which would
shadow the explicit row-major aliases with Eigen's column-major defaults) and
replaces it with selective `using` declarations for vector types that are
unaffected by storage order (`VectorXd`, `VectorXi`, `Vector3d`). All bare
`Eigen::MatrixXd`, `Eigen::Matrix3d`, and `Eigen::Matrix4d` uses are replaced
with eOn's row-major aliases.
See {doc}`../../devdocs/design/client/types` for the full type-system
documentation.
#### Python 3.10 compatibility
`client/get_version.py` used `datetime.UTC`, an alias added in Python 3.11.
Replaced with `datetime.timezone.utc` for compatibility with the conda-forge
Python 3.10 builds.
### Developer
#### CI-NEB XTB regression test
A new Catch2 test (`CINEBXTBTest.cpp`) runs a 10-image climbing-image NEB with
GFN2-xTB on a 9-atom C2H4ON2 molecule. The test converges in ~64 NEB steps
(under 2 seconds wall time) and will fail immediately if a storage-order
regression reappears.