Changelog

Author:

Rohit Goswami

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.3 - 2026-03-01

Fixed

  • MSVC/clang-cl compatibility: use /W3 instead of GCC/Clang warning flags and skip -lstdc++ link arg on Windows (#31)

1.0.2 - 2026-03-01

Added

  • External integration guide covering namespace collision mitigation when embedding rgpot as a subproject (#30)

Changed

  • CI dependency bumps and cleanup to prevent trailing whitespace in generated headers (#29)

1.0.0 - 2026-02-15

Added

  • doc(arch): add architecture guide covering layer diagram, error conventions, and how to register new potentials

  • feat(build): add release CI workflow, meson subproject install guards, CMake FetchContent readiness, and package version config

  • feat(cache): add a RocksDB integration

  • feat(ci): add rust_tests job using cargo-nextest on Ubuntu and macOS with default and --all-features configurations

  • feat(cpp): add C++ RAII wrappers (include/rgpot/) — PotentialHandle, InputSpec, CalcResult, RpcClient, Error, with full Doxygen documentation

  • feat(rpc): add feature-gated Cap’n Proto RPC client and server in Rust, sharing the existing Potentials.capnp schema with the C++ side

  • feat(rpc): initialize a C style integration to the server

  • feat(rpc): initialize a server component

  • feat(rust): add Rust core library (rgpot-core/) with #[repr(C)] types, callback-based potential dispatch, status codes, thread-local error handling, and auto-generated C header via cbindgen

  • feat(rust): integrate DLPack tensor exchange protocol via dlpk crate — core types now use DLManagedTensorVersioned* for device-agnostic data exchange, with borrowed (non-owning) and owned tensor helpers in new tensor module

  • test(rust): add 39 unit tests covering types, status codes, potential lifecycle, C API, null-pointer handling, error propagation, and free_fn invocation

Changed

  • chore(build): add Meson with_rust_core option, rust-test / rust-test-all pixi tasks, and cargo-nextest dependency

Fixed

  • fix(cpp): remove incorrect extern "C" trampolines from LJPot.hpp and CuH2Pot.hpp that used raw int returns and void* params; use typed PotentialHandle::from_impl<>() template instead

0.0.1 - 2024-01-26

Added

  • Initial release with C++ core: Lennard-Jones and CuH2 EAM potentials.

  • CRTP-based Potential<Derived> template with optional caching.

  • Cap’n Proto RPC server and client bridge.

  • Meson and CMake build systems.

  • CI build matrix (Meson/CMake x Linux/macOS x RPC/Cache feature flags).

  • RPC integration tests and client bridge stress tests.