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 metatomic machine-learned potentials via the vesin library, 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-server package. (#124)

  • Dependency Management

    • Adopted pixi and conda-lock for 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 spdlog for 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.