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.