Skip to content

Releases: SPONGEMM/XpongeCPP

XpongeCPP v0.2.10

Choose a tag to compare

@yuhaosimba yuhaosimba released this 10 Sep 08:30

Fix SPONGE bundle exports to group linked molecules in contiguous atom order, matching raw export. Preserve source atom mappings and remap CVs, typed virtual atoms, distance constraints, positional reference coordinates and SITS selections. Native and Python bundle entry points reject remaining noncontiguous components. Based on v0.2.9; local built-wheel validation: 130 API/bundle tests passed with no OOM kills. PyPI wheels are published by the release workflow.

XpongeCPP v0.2.9

Choose a tag to compare

@xiaoxuan-yu xiaoxuan-yu released this 22 Aug 18:33
b24c36f

Compatibility target: Xponge 1.7.1.

This release restores XPONGE-compatible ResidueLink objects and single-link query/removal APIs while preserving XpongeCPP's flattened native connection storage. It also fixes the legacy RDKit helper import, adds the OPLS TIP4P module, and keeps link lookup/removal in the C++ core.

HDF5 is now built as a private static dependency on Windows, Linux, and macOS, isolating the native core from h5py's HDF5 runtime. Windows scientific tests use single-threaded BLAS/OpenMP settings; Unix platforms keep their default parallel settings.

Validation on Windows: 711 passed, 29 skipped, 1 expected failure. The release wheel was rebuilt as XpongeCPP 0.2.9, verified to have no dynamic hdf5.dll dependency, and tested with PySCF 2.13.1 SCF, ESP, Hessian, and RESP paths.

XpongeCPP v0.2.8

Choose a tag to compare

@xiaoxuan-yu xiaoxuan-yu released this 21 Aug 08:20
f4eb427

Compatibility target: Xponge 1.7.1.

This patch restores Python instance attributes on the pybind-backed Assign type, allowing RESP fitting to retain charge_fit_diagnostics and charge_fit_metadata. It fixes SPONGE input generation failures seen after RESP parameterization and adds regression coverage for the compatibility contract.

Validation includes the complete compatibility suite against official Xponge 1.7.1, a real PySCF RESP calculation, cross-platform CI, source distribution checks, and isolated wheel installation.

XpongeCPP v0.2.7

Choose a tag to compare

@xiaoxuan-yu xiaoxuan-yu released this 18 Aug 17:15
990141d

What's Changed

New Contributors

Full Changelog: v0.2.6...v0.2.7

XpongeCPP v0.2.6

Choose a tag to compare

@yuhaosimba yuhaosimba released this 18 Aug 05:19

Align QM backend selection with Xponge-origin 1.7b10: prefer an available PySCF backend, fall back to Psi4, and report a clear error when neither is installed. Windows packaging continues to skip automatic PySCF installation.

XpongeCPP 0.2.5

Choose a tag to compare

@yuhaosimba yuhaosimba released this 11 Aug 16:42

Preserve source-atom identity across raw SPONGE residue reordering. The native saver now exposes the saved atom permutation and the compatibility layer applies it to caller-provided source IDs, keeping Mokda atom-order mappings and trajectory topology aligned for linked components and repeated solvent residues.\n\nValidation: 716 passed, 10 skipped, 1 expected xfail; focused raw reorder and native bundle tests pass; no OOM under the governed test gate.

XpongeCPP 0.2.4

Choose a tag to compare

@yuhaosimba yuhaosimba released this 11 Aug 13:21

Compatibility target: Xponge-origin 1.7b9.

This compatibility patch preserves residue-link bonds in public MOL2 exports, keeps mixed standard/GAFF systems intact during GAFF or GAFF2 parameterization, and aligns the legacy MDAnalysis raw-SPONGE reader with Xponge format hints.

Validation: 715 tests passed, 10 optional skips, 1 expected xfail. A CPython 3.11 wheel was built and imported from an isolated environment with OOMKillDelta=0.

XpongeCPP 0.2.1

Choose a tag to compare

@yuhaosimba yuhaosimba released this 30 Jul 06:04

Patch release aligned with Xponge-origin 1.7b9. Corrects GLYCAM terminal-zero residue metadata across native, bundled, and reference templates; adds D/L pyranose and furanose parity plus standalone PDB export coverage. Full source isolation, Linux, macOS, Windows, sdist, and SPONGE numerical gates passed before release.

XpongeCPP 0.2.0

Choose a tag to compare

@yuhaosimba yuhaosimba released this 29 Jul 06:00
616ce64

XpongeCPP 0.2.0

Compatibility target: Xponge-origin 1.7b8.

This is a breaking feature-alignment release from XpongeCPP 0.1.6.
Supported Python versions are CPython 3.10 through 3.12.

Highlights

  • Ports the SPONGE bundle contract, native saver, legacy/bundle converters,
    restart and output handling, H5MD readers, MDAnalysis integration, and CLI
    entry points introduced through Xponge-origin 1.7b8.
  • Exposes generic RESP linear constraints, equivalence groups, constraint
    preflight, RHF/ROHF/UHF reference selection, SCF strategy controls, progress
    events, and fit metadata through the public charge API.
  • Replaces the former MCPB-specific implementation with the origin-style
    XpongeCPP.metal_assignment package. The package includes immutable
    contracts and artifacts, base and nonbonded assignment, constrained RESP,
    Hessian providers, empirical/manual/Seminario bonded fitting, hash-closed
    local parameter patches, transactional application to preassigned
    molecules, provenance, and SPONGE export mappings.
  • Aligns application semantics with Xponge-origin 1.7b8: removes the temporary
    assigned-system/apply-input materialization layer and applies
    MetalParameterPatch objects without replacing the ordinary force field.
  • Removes the XpongeCPP.MCPB API and the XpongeCPP.mcpb package. Callers
    must migrate to XpongeCPP.metal_assignment.

Verification snapshot

On Linux x86_64 with CPython 3.11:

  • bundle contract/conversion/analysis cohort: 166 passed with the discovered
    SPONGE executable;
  • after adding environment, PATH, and sibling-build discovery, the focused
    bundle converter/SPONGE zero-frame gate passed all 7 tests with the explicit
    environment override unset;
  • rebuilt RESP, bundle, and metal cohort: 238 passed, 12 optional QM/backend
    tests skipped;
  • metal-assignment origin-parity cohort: 82 passed, 23 optional
    Mokda-chemcore/backend tests skipped;
  • final combined pre-1.7b8 release/RESP/bundle/metal/numerical parity cohort:
    217 passed, 23 optional external-provider tests skipped;
  • Xponge-origin 1.7b8 patch/contract/provider/release cohort:
    85 passed, 16 optional external-provider tests skipped;
  • RESP constraints, charge models, metal RESP, base-charge, and Hessian cohort:
    99 passed, 11 optional backend tests skipped;
  • 1.7b8 local-patch constrained RESP, explicit-reference manual bonded, and
    deterministic-Hessian Seminario real-SPONGE gates pass raw-to-bundle-to-raw
    numerical comparison;
  • wheel and source distribution built successfully and passed twine check;
  • a clean wheel smoke environment imported XpongeCPP,
    XpongeCPP.io_bundle, and XpongeCPP.metal_assignment, reported version
    0.2.0, and exposed no MCPB symbol.

The repository-wide suite currently has 504 passing tests and 31 known
unrelated failures, compared with 412 passing and 32 failing in the pre-sync
baseline. The failures are tracked separately and do not occur in the bundle,
RESP, or metal-assignment parity cohorts. An actual cross-platform CI run and
a bundle-capable SPONGE runtime remain release gates rather than claims made by
this local verification snapshot. The latter has an explicit
SPONGE_BUNDLE_EXECUTABLE-controlled acceptance test and is not silently
treated as passing on legacy-only runtimes.

XpongeCPP 0.1.5

Choose a tag to compare

@yuhaosimba yuhaosimba released this 14 Jul 02:29

Corrective dependency release

This release supersedes v0.1.4, whose package metadata still referenced the stale XpongeLib distribution.

Dependency alignment

  • Replace XpongeLib>=1.2.5.0 with mokda-xpongelib>=1.2.5.0 while retaining the Python import name XpongeLib.
  • Align the runtime dependency set with Xponge-origin:
    • numpy<2
    • geometric>=1.1
    • matplotlib>=3.10.8
    • MDAnalysis>=2.9.0
    • PubChemPy>=1.0.5
    • rdkit>=2025.9.3
    • pyscf>=2.11.0 on non-Windows platforms
  • Add metadata regression tests so distribution and runtime versions cannot silently diverge.

Lipid21 integration included

  • Amber Lipid21 with 16 base templates and PGS/SA/SPM connection semantics.
  • Shared PI/phosphoinositide/LysoPL extension registration.
  • Force-field family conflict guards.
  • Four-type torsion-specific SCEE/SCNB scaling.

Validation

  • 40 targeted tests passed.
  • Updated dependencies resolve successfully with uv.
  • Release CI rebuilds Linux x64/ARM64, macOS Intel/ARM64, Windows x64 wheels and the sdist before trusted PyPI publishing.