=== kim-api-2.3.0 =============== 17Mar2022 ====================================
* Re-license from CDDL to LGPL-2.1-or-later
* Fixed bug in c bindings for KIM_Collections_GetDirectoryName()
* Transition from Travis CI to github actions
* Add partial_particle_energy computation to utility_forces_numer_deriv
* Fixes/Improvements to CMake build system
=== kim-api-2.2.1 =============== 13Dec2020 ====================================
* replace usage of localtime() with more secure localtime_r()
* Enable Github code scanning
* Refactor CI to move codecov support to centos docker CI and speedup macOS CI
* Fix build support for coverage
* Improvements and fixes in collections management
* Use CMake CACHE variables so kim items can override package settings
* Added discussion of standalone portable model CMakeLists.txt files to docs
* Eliminate a compiler warning
* Updates to support new version of fprettyify
* Refactor libkim-api.pc file for more standard support for relocatable
behavior
* Update travis-ci badge to use .com url
* Implement more reliable method for bash scripts to find ORIGIN
* Fix bugs in handling of -DKIM_API_SYSTEM_*_DIR=":/dir/..." build options; Add
CI testing for usage of these cases.
* Correct release date for 2.2.0 in this file (Dec -> Nov)
=== kim-api-2.2.0 =============== 18Nov2020 ====================================
* The kim-api now supports Windows. Significant additions have been made to
the code and CMakeLists.txt files to support building kim-api and items on
Windows via Cygwin and MinGW; Build on Windows requires C++17.
(Thanks to Alex Stukowski)
* kim-api is now "relocatable" after install. When installed to a non-standard
PREFIX (with the CMAKE_INSTALL_PREFIX CMake option) the entire install tree
may be moved, after install, to a new location in the file system and
everything should still work. This uses the RPATH, ${ORIGIN}, and similar
mechanisms and is functioning on Linux, macOS, and Windows. (This is tested
in the CI.)
* Added 'portable-model' utility which prints out an edn dictionary containing
information about the features and properties of a portable model. This
includes the list of supported compute arguments and callbacks, the
parameters that the model makes available at runtime, etc. The utility can
be found in the LIBEXEC install directory.
* Added Push/PopDefaultPrintFunction to KIM::Log interface to support Simulator
specific logging behavior such as the need for MPI communication to the head
node for I/O operations
* Portable Model parameter files are now guaranteed to all be found in a single
subdirectory. This provides uniform handling of parameter files for both
Portable Models and Simulator Models. New GetParameterFileDirectoryName()
and GetParameterFileBasename() routines have been added and
GetParameterFileName() has been deprecated in the KIM::ModelDriverCreate
interface. A new GetParameterFileBaseName() routine has been added and
GetParameterFileName() has been deprecated in the KIM::SimulatorModel
interface.
* Update documentation to point to new https://matsci.org discourse OpenKIM
forum
* Switch to minimum version 3.10 for CMake
* Complete refactor of CMake build details to improve exported target support.
This required an update to how kim-api items define their CMakeLists.txt
files. This version remains backward compatible with item CMakeLists.txt
files from older versions, but support for these is deprecated and will be
removed in v3.
* Added human readable CMake configuration summary log (also a detailed
version) which is printed at the end of the cmake configuration step
* Added new documentation page describing CMakeLists.txt files for the various
kim-api item types
* Added native CMake implementation of xxd processing which allows the package
to be build on systems without the xxd executable
* The collections-management utility will now use curl if wget is not available
on the system
* Added a user-agent string to wget/curl commands so downloads and queries may
be identified as coming from the collections-management utility
* Improve debugging of collections-management behavior with new CM_VERBOSITY
environment variable and added better error messages
* Full refactoring of travis-ci, docker, and testing implementation
* Added support for openSUSE, ubuntu, centos, and debian to testing via docker
* Added ubuntu_cmake310 to explicitly test build with CMake version 3.10
* Added MinGW travis-ci testing (Thanks to Alex Stukowski)
* Added unique build identifier to default name for config and user collection
files
* Refactor and improve handling of deprecated identifiers in configuration file
* Check for and ignore empty kim standard metadata files
* Adopted the `fprettify` Fortran code formatter and reformat all Fortran code
to conform to the kim-api settings (now in .fprettify.rc). Added scripts to
support git-commit hook
* Refactor #includes to satisfy include-what-you-use linter
* Refactor initialization of pointers as best practice
* Fix a bug in C language binding for SimulatorModel Interface
* Fix a bug associated with the edn-cpp use of exceptions
* Fix issues identified by Coverity Scan
* Various fixes and improvements
* Various documentation updates
=== kim-api-2.1.3 =============== 16Aug2019 ====================================
* Adjust kim_collections_module to work around gfortran <= 4.8 bug.
* Fix minor bug in collections-management.
* Improve backward compatibility support for ~/.kim-api/config file format.
* Fix to Fortran/C mapping of KIM_LENGTH_UNIT_BOHR.
* Fixes to Fortran documentation and cross-references.
* Added information/links to the top level README.md
=== kim-api-2.1.2 =============== 29Jul2019 ====================================
* Fixup Fortran kim_collections_module interfaces to be consistent with c/c++.
* Fixup collections-management for portabability to dash.
* Improve item-wrapper.cpp.in for more standard compliant MD, MO, SM behavior.
* Improve zsh completion install behavior.
* Fixup Fortran c_long communication and overflow behavior.
* Add missing testing of interface in examples/simulators/collections-example.
* Improve example/simulators to remove warnings.
* Fix bug in KIM::SimulatorModel::Create().
=== kim-api-2.1.1 =============== 24Jul2019 ====================================
* Refactor 'kim-api-collections-management list' code for performance.
* Update collections-management to use 'make -j2' for improved performance.
* Improve kim-api-collections-management handling of passwords for use with
sudo. Specifically, support reading of passwords with whitespace and other
special characters.
* Add zsh support to activate/deactivate scripts & zsh completions.
* Fix c_long overflow (for i386 systems) bug in Fortran kim_collections_module.
* Rework 'kim-api-collections-management install xxx OpenKIM' behavior. Now
installs the latest official release archive found at
https://s3.openkim.org/archives/collection/. This also greatly reduces the
total build and install time.
* Redefine/refactor KIM::Collections behavior for finding item names.
Previously, a shared library file was found, opened, and checked for
validity. To significantly improve performance, now simply the existence of
the shared library file is used to identify available item names.
* Redefine/refactor collections-management and collections-info to remove
'--with-version' option.
* Fixup and improve Fortran example codes.
* Added reopology.org graphic of available binaries to README.md.
=== kim-api-2.1.0 =============== 16Jul2019 ====================================
* Added new KIM::SimulatorModel interface providing programatic support to
simulators for packaging of parameter files, input commands, and metadata
necessary to run a simulator's native potentials.
* Added new KIM::Collections interface (and the supporting extensible
enumerations KIM::Collection and KIM::CollectionItemTypes) providing
programatic access to the KIM API Collections and its configuration settings.
(This included a refactor and removal of old_KIM_API_DIRS.*.)
* Convert from old 'models' to 'portable-models' nomenclature for KIM API
collections, including environment variables, configuration file, etc. (For
backward compatibility, the old configuration file format is still accepted.)
* Added support for Metadata files to (internal) KIM::SharedLibrary and
programatic access to these files from the new KIM::Collections interface.
* Automatically add standard openkim.org metadata files (kimspec.edn,
kimprovenance.edn, and kimcite-*.bib) to an item's shared library if they
exist.
* Significant documentation updates to describe the new interfaces as well as
changing to the the Portable Model (PM) and Simulator Model (SM) terminology.
* Added explicit documentation of Fortran interfaces for routines called by the
KIM API (ModelCreate, ModelDestroy, GetNeighborList, etc.).
* Added mention of "Toy Models" to documentation.
* Added data-type error checking for Portable Model parameter get/set routines;
Thanks to Daniel Schopf.
* Bug fixes and improvements to kim-api-collections-management script
* Added support for Include-What-You-Use (IWYU).
* Added (internal) copy of edn-cpp parser for use with SMs.
* Updated existing examples as necessary and added SM example.
* Added new "unit-test" examples of simulators using the Collections and SM
interfaces.
* Improvement to pkgconfig support; Thanks to Christoph Junghans.
* Added new tests to CI, based on INSTALL file.
* Updates create-package script and added run-cmds-from-install script.
* Added .clang-format-hook-ignore file and mechanism (specifically for edn-cpp).
* Updates to better support binary installation on various systems.
* Added CDDL headers to files that did not have them.
=== kim-api-2.0.2 =============== 28Mar2019 ====================================
* Transition from 'kim-api-v2' naming to 'kim-api' for better alignment with
open source conventions
* Added a simulator model example
* Refactored support for simulator models: separated from models in collections.
Updated collections-management utility appropriately
* Updated calls to scanf() for better security
* Refactored old_KIM_API_DIRS.cpp to remove calls to 'exit()'
* Added build options to set system collection directories
* Added support for colon-separated list of directories for user and system
collections
* Added '--version' flag to utilities
* Update bash completion to work with old and new bash
* Improve robustness of creat-package script
* Updated badges to point to 'devel' branch & create-package to change to
'master' branch for release commit
* Added coverity & codecov badges to README.md
* Added vX.Y.Z-git tags to git repo and updated create-package script
* Added NEWS file to Doxygen documentation & updated doxygen settings
* Improved version build metadata string using "git describe"
* Updated link flags for codecov
=== kim-api-v2-2.0.1 ============ 22Feb2019 ====================================
* Fix bug in KIM::SemVer::ParseSemVer()
* Various minor fixes to address issues identified by Coverity Scan
* Fix version string in libkim-api-v2.pc to conform to RPM schema
* Added advanced CMake options for compilers used to build items after install
* Added item install prefix CMake variables to cache; helps with packaging
* Remove dead code in top level CMakeLists.txt
=== kim-api-v2-2.0.0 ============ 06Feb2019 ====================================
* Update main documentation.
* Added function level documentation with cross-references and input/output
argument descriptions.
* Added Known() member function to extensible enumerations.
* Extensible enumeration default constructors now create uninitialized objects.
* Rename C++ *.String() routines to *.ToString.
* Added 'recursive' to all Fortran routines (for better thread safety).
* Added support files for readthedocs.
* Additions and fixes for collections-management utility.
* Travis CI configuration updates.
* Avoid some compiler warnings from clang.
* Various CMake fixes/adjustments.
* Various bug fixes in api code.
View the NEWS file for additional history.