Changelog#
2.8.0 - 2025-09-04#
Added#
Potentials & Interfaces
Expanded potential interfaces to a variety of new quantum chemistry and ML potentials via an embedded Python interpreter:
NWChem: A high-performance, socket-based interface. (#244)
ORCA: Interface to the ORCA quantum chemistry program via ASE.
AMS: Interface for the Amsterdam Modeling Suite.
XTB: Interface for semi-empirical GFN-xTB methods.
ASE: A general-purpose interface to any calculator supported by the Atomic Simulation Environment.
Added the Ziegler-Biersack-Littmark (ZBL) universal screening potential, useful for collision cascade simulations. (#241)
Integrated support for
metatomicmachine-learned potentials via thevesinlibrary, enabling high-performance simulations with models from the metatensor ecosystem. (#201)
Nudged Elastic Band (NEB)
NEB calculations can now pre-optimize the initial and final states, improving path quality and convergence. This feature is fully compatible with restarts. (#221)
NEB calculations can now be initialized from a user-provided sequence of structures, offering greater control over the initial reaction pathway.
Introduced energy-weighted springs to improve the stability and quality of paths with high energy barriers.
Enabled the use of dual optimizers (e.g., a starting with QuickMin and switching to LBFGS after a convergence threshold).
Implement the novel RO-NEB-CI (Rohit’s Optimal NEB with MMF CI steps) method (#239)
Developer#
Consistent formatting and counting
Support for M1 MacOS machines
Build & Tooling#
Build System
Overhauled the build system, migrating from legacy Makefiles/CMake to Meson for a faster, more reliable, and truly cross-platform build experience. This change also lays the groundwork for a future pure Python
eon-serverpackage. (#124)
Dependency Management
Adopted
pixiandconda-lockfor robust, reproducible dependency management across all platforms.
Cross-Platform Support & CI
Established a full Continuous Integration (CI) pipeline, testing on Linux, Windows, and macOS (Intel & Apple Silicon).
The Command Line Interface (CLI) is now fully compatible with Windows environments.
Code Quality & Refactoring#
C++ Modernization
Modernized the C++ backend to the C++17 standard, improving code clarity and performance.
Enhanced memory safety by replacing raw pointers with smart pointers (
std::unique_ptr,std::shared_ptr).Adopted the
<filesystem>library for platform-independent file I/O.
Logging
Replaced the internal logging system with
spdlogfor high-performance, asynchronous, and more informative configurable output.
Code Style
Enforced a consistent code style and formatting across the entire C++ and Python codebase.
Documentation#
Configuration & Schema
Implemented a comprehensive Pydantic schema for all configuration files, providing automatic input validation and clear error messages. This forms the foundation for automated API documentation.
User Guides
Added detailed user documentation for the Nudged Elastic Band (NEB) module, covering theory, keywords, and practical examples.