ChangelogΒΆ

The repository changelog is included verbatim below.

# Changelog

<!-- towncrier release notes start -->

## [0.2.0](https://github.com/OmniPotentRPC/cpmdc/tree/v0.2.0) - 2026-07-03

### Added

- `cpmdc_abi_version()` and `CPMDC_ABI_VERSION` for numeric ABI gating.
- pkg-config (`cpmdc.pc`) and CMake package config (`find_package(cpmdc)`)
  for the installed library, with namespaced `include/cpmdc/` headers and a
  versioned SONAME.
- Release scaffolding: towncrier changelog, cog bump wiring, and
  `scripts/release_assert.py` version-sync gate.

### Changed

- `schema/Potentials.capnp` is now the canonical OmniPotentRPC
  `potentials-schema` release (v1.0.1), pinned via meson wrap with a
  byte-identical sync test; `ForceInput` gains the shared per-step
  charge/multiplicity override fields.
- `cpmdc_version()` reports the project version from the build instead of a
  hardcoded string.

### Fixed

- The wire `PotentialResult.hessian` field no longer aliases the nuclear
  gradient; gradient data stays on `gradient`.
- `cpmdc_potential_result_flat_size()` now budgets for both natoms*3 lists
  (forces and gradient), fixing result writes for systems past a few dozen
  atoms.

## [0.1.0](https://github.com/OmniPotentRPC/cpmdc/tree/v0.1.0) - 2026-06-28

- OpenCPMD driver in the ISO_C embed shell for working E2E single-point and
  multi-step session tests without OpenCPMD archives.
- Docs tree with Antics analytics, pixi/prek/CI wiring.
- Initial OmniPotentRPC `cpmdc` package modeled on `nwchemc`.
- Cap'n Proto `ForceInput` / `PotentialResult` / `CPMDParams` / `PotentialConfig`.
- Stable C ABI with session direct-call socket entry points.
- Fortran `iso_c_binding` embed shell (`cpmd_embed_c_api.f90`).
- Stub ABI and cmocka tests for parser + result sizing without OpenCPMD.