KIM API Revision History

Recent Updates

=== 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.


=== kim-api-v2-2.0.0-beta.3 ===== 07Dec2018 ====================================

* Updated and added examples to work with and demonstrate api changes/additions

* Implemented new KIM::Model::IsRoutinePresent interface to facilitate
  backward compatibility

* Updated SpeciesName entries for recently renamed periodic table elements

* Added WriteParameterizedModel Routine and assoc. code

* Added Extension Routine to allow for non-standard extensions

* Added Push/Pop Default Verbosity to KIM::Log

* Changed Release default LogVerbosity to INFORMATION

* Added ctest test for items to check that shared libraries can be opened

* Improvements to Collections-Management behavior

* Removed unnecessary header files

* Updated travis.ci configuration

* Refactored some backend implementation to improve maintainability, including
  significant new KIM_SharedLibrarySchema interface

* Improvements to CMake build system

* Updated create-package script

* Updated documentation


=== kim-api-v2.0.0-beta.2 ======= 28Oct2018 ====================================

* CMake build and test replaces custom Makefiles; added travis, gitlab CI
  A big thank you to Richard Berger and Christoph Junghans for their major
  contribution in getting the KIM API package converted to CMake.

* Using standard pkg-config setup instead of custom kim-api-v2-build-config

* Major restructuring of the Fortran bindings.

* Make ModelRefresh and ModelComputeArgumentsDestroy functions optional

* Add Model routine and callback prototypes in KIM_Functions header

* Add a required unique name field for parameters.

* Refactoring of neighbor list hints.  The half-list hint had a fatal flaw
  which required its removal.

* Significant refactoring of the logging macros in C and C++.  Complete removal
  of all preprocessing for Fortran.

* Redesign of release and packaging script and process.

* Added a couple of new models that illustrate various features of the api.

* Removed v1 to v2 porting guide.

* "Summary of Differences Between kim-api-v1 and kim-api-v2" docs page now
  contains tables with a complete listing of all kim-api identifiers in all
  languages and their mappings between one-another.

* Complete update of documentation.  Rework and correct definition of
  partialVirial and partialParticleVirial.

* Added emacs cc-mode settings

* Added clang-format settings, scripts, and git-hooks for C/C++

* Complete review of C++, C, and Fortran bindings for consistency

* Many other small and not-so-small changes.


=== kim-api-v2.0.0-beta.1 ======= 07Jul2018 ====================================

* Fix memory leak and uninitialized variables id'ed by coverity scan.

* Update docs and porting guide for neighbor list hints changes.

* Implement neighbor list hints (paddingNeighbor & halfList); update examples.

* Add SetArgumentPointer(xxx * const ptr) to C++ bindings for consistency.

* Add C++ LennardJones_Ar stand-alone model example.

* Fix compatibility checking code in example simulators.

* Update LennardJones612 example to use 1/2 list short-circuit mechanism.

* Fix collections-info to set log verbosity to debug.

* Use NULL consistently to initialize pointers in implemenation code.


=== kim-api-v1.9.7 ============== 07Jul2018 ====================================

* Check for errors from mkdir() in KIM_API_DIRS.cpp (id'ed by coverity scan).

* Fix support for required-compute of forces in utility-forces-numer-deriv.

* Fix identifiers in bash-completions.

* Added --log option to CM 'list' command.

* Use fixed seed for random number generator in utility-forces-numer-deriv.


View the NEWS file for additional history.