New features
* support C API by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1098
* add get cutoff, numb_types, and type_map to C API by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2061
* c: support neighbor list input in the C API by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2106
* c: support DeepPot model deviation in the C API by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2112
* c: fix `ComputeNlist` -> `ComputeNList` in the C API by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2119
* c: fix bug in hpp float interface and add tests by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2128
* c: DeepTensor by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2184
* add a header-only C++ DeepPot class based on C library by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2079
* support the multi-task training api by iProzd in https://github.com/deepmodeling/deepmd-kit/pull/2093
* support the finetune api by iProzd in https://github.com/deepmodeling/deepmd-kit/pull/1946
* supports left hands volume by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1956
* support bfloat16 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1970
* support DPRc + type embedding by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2166
Enhancements
Python
* dp test output files: energy per atom, virial per atom by likefallwind in https://github.com/deepmodeling/deepmd-kit/pull/2029
* log HIP_VISIBLE_DEVICES for ROCm by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2032
* move run_config.ini into the root directory by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2098
* skip `get_gpus` subprocess when TF is cpu only by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2135
* add Optional to type hints when default is None by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2139
* optimize FioBin.save by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2143
* open the graph file only once in compress by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2144
* refactor enable_compression by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2147
* store energy bias with interface precision by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2174
Core
* dynamically load CUDA runtime library by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2082
C++
* uncouple model precision and interface precision by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2031
* merge double and float cc library by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2033
* add shuffle_exclude_empty to DeepPot.compute(nlist, atomic) by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2111
OP
* remove OP_LIB from op_abi by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2150
LAMMPS
* lmp: throw errors when 6-element atomic virial requested by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1983
* enable ttm without a patch by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2055
* bump lammps to stable_23Jun2022_update2 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2053
Build and release
* CMake
* use CPP_CXX_ABI for Python libraries by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1960
* find protobuf headers in an automatic way by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1975
* search TF deps from LD_LIBRARY_PATH; eliminate errors by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1976
* CMake config
* export c++ library to cmake config by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2049
* export C library to cmake config by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2059
* refactor `USE_TF_PYTHON_LIBS` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2177
* add an option to enable native compilation optimization by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2151
* Python and wheel building
* migrate cibuildwheel configs to pyproject.toml and add tests by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2000
* migrate from setup.cfg to pyproject.toml by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2011
* migrate to PEP 517 and PEP 621 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2035
* store TF version in the wheel's extras_require by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2084
* fix win64 builds and add win64 wheels by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2085
* enable CUDA for linux-64 wheels by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2087
* add macos-64 wheels by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2088
* pin manylinux image to a specific tag for GCC 11 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2137
* retag wheels to `py37-none-<platform>` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2180
* build wheels for Linux ARM64 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2179
* pip install lammps module by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2186
* build_tf.py
* build_tf.py: support ROCm; bump to TF 2.10 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2030
* build_tf.py: export `LD_LIBRARY_PATH` when executing `configure` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2185
* build, package, and release C library by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2072
* perceive LAMMPS version for built-in mode by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1950
Test
* enable gcov for Python tests by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1969
* add unittests for LAMMPS pair deepmd by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1977
* c++: add clang tests and fix clang errors by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1992
* refactor: merge tests into the main cmake project by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2102
* merge double and float cc tests by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2108
* add ut for dp convert-from by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2175
* speed up the UTs
* print out the time of each Python unit test by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2116
* speed up test_neighbor_stat by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2120
* speed up tests with CLI by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2121
* CI
* upgrade ubuntu-18.04 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2096
* add pass step to GitHub Actions by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2141
* give pass actions different names by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2142
Code cleanup
* clean deprecated codes by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2140
Documents
* docs: document lammps keyword `relative_v`, `aparam`, and `ttm` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2060
* add dp test help doc by likefallwind in https://github.com/deepmodeling/deepmd-kit/pull/2038
* docs: fix HDF5 path by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2076
* docs: document pip install by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2091
* docs: document the conda-forge channel by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2095
* docs: fix spellings and grammars by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2114
* docs: rewrite docs for parallelism by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2099
* docs: add a FAQ about precision by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2115
* docs: add a note about lammps runpath by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2156
* the se-2 descriptor is multi-body by amcadmus in https://github.com/deepmodeling/deepmd-kit/pull/2069
* add header only library example by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2083
* Update python.md by LiangWenshuo1118 in https://github.com/deepmodeling/deepmd-kit/pull/2158
Bug fixings
* fix gcov coverage by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1951
* Fix typo of radisu by kmu in https://github.com/deepmodeling/deepmd-kit/pull/1954
* fix compatible with importlib_metadata 5.0.0 and Python 3.12 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1961
* fix googletest download by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1949
* fix typo in the doc of `loc_frame` by amcadmus in https://github.com/deepmodeling/deepmd-kit/pull/1963
* replace `:` by `;` from `LD_LIBRARY_PATH` in cmake by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1982
* CVE-2007-4559 Patch by TrellixVulnTeam in https://github.com/deepmodeling/deepmd-kit/pull/1984
* use float/double constants for spline5_switch by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1985
* remove duplicated `convert_13_to_21` by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1986
* resolve macos clang errors by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/1993
* fix Findtensorflow when LD_LIBRARY_PATH is empty by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2010
* fix OP_CXX_ABI for TF>=2.9 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2013
* Fix compatibility with ROCm>=3.5.1; fix typo in hip neighbor_list by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2012
* fix python inference on windows by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2054
* cmake: set TensorFlow as import libraries by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2056
* build_tf.py: mirror fixes by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2057
* build_tf.py: roll back TF version to 2.9 by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2065
* fix type hints errors by Angel-Jia in https://github.com/deepmodeling/deepmd-kit/pull/2070
* improve building wheel workflow by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2074
* skip checking `_GLIBCXX_USE_CXX11_ABI` on windows or osx by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2075
* fix codecov by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2097
* fix TF compile warnings about Status::OK by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2109
* Fix version 0.12 model conversion by Yi-FanLi in https://github.com/deepmodeling/deepmd-kit/pull/2110
* fix invalid escape sequence in strings by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2122
* add precompile headers by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2123
* fix the missing header in api_c tests by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2131
* do not apply automatic batch size on CPUs by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2148
* pass user defined CUDA_NVCC_FLAGS and HIP_HIPCC_FLAGS by njzjz in https://github.com/deepmodeling/deepmd-kit/pull/2168
New Contributors
* kmu made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/1954
* TrellixVulnTeam made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/1984
* Angel-Jia made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/2070
* LiangWenshuo1118 made their first contribution in https://github.com/deepmodeling/deepmd-kit/pull/2158
**Full Changelog**: https://github.com/deepmodeling/deepmd-kit/compare/v2.1.5...v2.2.0.b0