First release since v0.0.7 (Jan 2023). This is a large feature release spanning ~2.5 years of development, including new exploration engines, first-principles backends, training enhancements, and significant workflow/performance improvements.
⚠️ Breaking changes & requirements
- Minimum Python is now 3.9 (raised from 3.7) (#336)
- deepmd-kit v3 support — training/inference now targets dp v3 (#207, calypso compat #201)
- Removed support for the old-style input (#176)
- Removed support for Lebesgue integration (#142)
- Removed
set_prefix(#219)
🚀 New exploration engines
- DiffCSP as a new exploration engine (#251)
- CALYPSO structure-prediction support, with model-deviation refactor for speedup (#188, #217, #224, #197)
- PIMD support for LAMMPS (#263, #266)
🔬 First-principles / labeling
- CP2K support (#238)
- ABACUS support via fpop (#174, #218)
- Gaussian: extra FP outputs and
post_command(#256) - Electronic temperature support in FP and LAMMPS NPT task groups (#258, #255)
🧠 Training
- Finetune on pretrained models, plus finetune refactor and resubmission support (#152, #247, #165)
- Knowledge distillation (#122)
- Mixed-type training data (#145)
- Multitask training: validation data support; split last-iteration data into train/valid (#257, #293)
- Configurable train args and optional train files (#233, #236)
⚙️ Workflow, performance & I/O
- HDF5 support for trajectories and model-deviation;
RunLmpHDF5(#259, #267) - Workflow parallelism (#222) and conf-filter parallelization (#268)
- dflow debug mode for local runs (#125)
- Rewritten download implementation with multiple fixes (#135, #148, #149)
- URI support for
init_data,multi_init_data,valid_data,init_model(#227) - Memory/space optimizations for
ExplorationReport(#279, #262)
🧩 Configuration generation & filtering
- Distance conf filter;
DistanceConfFilteroptimized andBoxSkewnessConfFilterfix (#250, #292) input_extra_filesforlmp-mdandlmp-template(#306)- Customized LAMMPS/PLUMED template task groups (#156)
🖥️ CLI / GUI
dpguientry point anddpgen2 guicommand (#172)dpgen2 statusreads/writes the exploration scheduler via global outputs (#129)
📅 Scheduling & reports
- Adaptive lower trust level (#118)
- Candidate-selection probability style
inv_pop_f(#157, #300) - Model-deviation management in the report class (#143)
📚 Docs & examples
- Guide: "Implement a new exploration engine for dpgen2" (#248)
- New CP2K, CHNO, and Slurm examples (#158, #291)
- Docs theme switched to sphinx-book-theme (#270)
🛠️ Maintenance & CI
- Adopted ruff formatter, isort, and pre-commit (#181, #126, #120)
- Dependabot for GitHub Actions; numerous action bumps
- Docker base fixed to
python:3.11-slim+ build-time git, with a build-only PR check (#345) - Test fix for the
Massessection in dpdata ≥ 1.0.2 lammps output (#343)
Full changelog: v0.0.7...v0.1.0