Release notes¶
[v2.11.0] - 2026-02-24¶
Added¶
Serve mode¶
eOn can now serve any potential over Cap’n Proto RPC using the rgpot protocol.
Run eonclient -p lj --serve-port 12345 for the simplest case, or use
--serve "lj:12345,eam_al:12346" for multi-model serving. Replicated mode
(--replicas N) starts N independent servers on sequential ports; gateway mode
(--gateway) places a round-robin dispatcher in front of the pool so clients
only need one address.
All options are also available through a [Serve] INI config section for
fully config-driven operation. The feature requires -Dwith_serve=true at
build time and a Cap’n Proto installation (provided by the serve pixi
environment).
See Serve Mode for full documentation.
rgpycrumbs configuration examples¶
The user guide now includes dictionary-style configuration examples using rgpycrumbs, demonstrating programmatic config generation alongside INI files.
Developer¶
asv-perch benchmark CI¶
The benchmark PR comment workflow now uses the asv-perch GitHub Action instead of hand-rolled shell/JS scripts. Benchmark execution for main and PR HEAD is parallelized via a matrix strategy.
Serve mode build infrastructure¶
Added rgpot subproject wrap, with_serve meson option, serve pixi
environment, a CI workflow for serve mode builds, and Catch2 unit tests for
serve spec parsing.
Fixed¶
Windows torch_global_deps¶
Skip torch_global_deps on Windows where the conda-forge libtorch package
does not ship it.
Serve mode AtomMatrix collision¶
Fixed a segfault caused by a type collision between eOn’s Eigen-based
AtomMatrix and rgpot’s custom AtomMatrix. The rgpot::PotentialBase
virtual interface was replaced with a flat-array ForceCallback, and the serve
code now only links the capnp schema dependency from rgpot.