kim-api  2.1.2+v2.1.2.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
NEWS
Go to the documentation of this file.
1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the Common Development
5 # and Distribution License Version 1.0 (the "License").
6 #
7 # You can obtain a copy of the license at
8 # http://www.opensource.org/licenses/CDDL-1.0. See the License for the
9 # specific language governing permissions and limitations under the License.
10 #
11 # When distributing Covered Code, include this CDDL HEADER in each file and
12 # include the License file in a prominent location with the name LICENSE.CDDL.
13 # If applicable, add the following below this CDDL HEADER, with the fields
14 # enclosed by brackets "[]" replaced with your own identifying information:
15 #
16 # Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved.
17 #
18 # CDDL HEADER END
19 #
20 
21 #
22 # Copyright (c) 2013--2019, Regents of the University of Minnesota.
23 # All rights reserved.
24 #
25 # Contributors:
26 # Ryan S. Elliott
27 # Ellad B. Tadmor
28 #
29 
30 #
31 # Release: This file is part of the kim-api-2.1.2 package.
32 #
33 
34 
35 === kim-api-2.1.2 =============== 29Jul2019 ====================================
36 
37 * Fixup Fortran kim_collections_module interfaces to be consistent with c/c++.
38 
39 * Fixup collections-management for portabability to dash.
40 
41 * Improve item-wrapper.cpp.in for more standard compliant MD, MO, SM behavior.
42 
43 * Improve zsh completion install behavior.
44 
45 * Fixup Fortran c_long communication and overflow behavior.
46 
47 * Add missing testing of interface in examples/simulators/collections-example.
48 
49 * Improve example/simulators to remove warnings.
50 
51 * Fix bug in KIM::SimulatorModel::Create().
52 
53 
54 === kim-api-2.1.1 =============== 24Jul2019 ====================================
55 
56 * Refactor 'kim-api-collections-management list' code for performance.
57 
58 * Update collections-management to use 'make -j2' for improved performance.
59 
60 * Improve kim-api-collections-management handling of passwords for use with
61  sudo. Specifically, support reading of passwords with whitespace and other
62  special characters.
63 
64 * Add zsh support to activate/deactivate scripts & zsh completions.
65 
66 * Fix c_long overflow (for i386 systems) bug in Fortran kim_collections_module.
67 
68 * Rework 'kim-api-collections-management install xxx OpenKIM' behavior. Now
69  installs the latest official release archive found at
70  https://s3.openkim.org/archives/collection/. This also greatly reduces the
71  total build and install time.
72 
73 * Redefine/refactor KIM::Collections behavior for finding item names.
74  Previously, a shared library file was found, opened, and checked for
75  validity. To significantly improve performance, now simply the existence of
76  the shared library file is used to identify available item names.
77 
78 * Redefine/refactor collections-management and collections-info to remove
79  '--with-version' option.
80 
81 * Fixup and improve Fortran example codes.
82 
83 * Added reopology.org graphic of available binaries to README.md.
84 
85 
86 === kim-api-2.1.0 =============== 16Jul2019 ====================================
87 
88 * Added new KIM::SimulatorModel interface providing programatic support to
89  simulators for packaging of parameter files, input commands, and metadata
90  necessary to run a simulator's native potentials.
91 
92 * Added new KIM::Collections interface (and the supporting extensible
93  enumerations KIM::Collection and KIM::CollectionItemTypes) providing
94  programatic access to the KIM API Collections and its configuration settings.
95  (This included a refactor and removal of old_KIM_API_DIRS.*.)
96 
97 * Convert from old 'models' to 'portable-models' nomenclature for KIM API
98  collections, including environment variables, configuration file, etc. (For
99  backward compatibility, the old configuration file format is still accepted.)
100 
101 * Added support for Metadata files to (internal) KIM::SharedLibrary and
102  programatic access to these files from the new KIM::Collections interface.
103 
104 * Automatically add standard openkim.org metadata files (kimspec.edn,
105  kimprovenance.edn, and kimcite-*.bib) to an item's shared library if they
106  exist.
107 
108 * Significant documentation updates to describe the new interfaces as well as
109  changing to the the Portable Model (PM) and Simulator Model (SM) terminology.
110 
111 * Added explicit documentation of Fortran interfaces for routines called by the
112  KIM API (ModelCreate, ModelDestroy, GetNeighborList, etc.).
113 
114 * Added mention of "Toy Models" to documentation.
115 
116 * Added data-type error checking for Portable Model parameter get/set routines;
117  Thanks to Daniel Schopf.
118 
119 * Bug fixes and improvements to kim-api-collections-management script
120 
121 * Added support for Include-What-You-Use (IWYU).
122 
123 * Added (internal) copy of edn-cpp parser for use with SMs.
124 
125 * Updated existing examples as necessary and added SM example.
126 
127 * Added new "unit-test" examples of simulators using the Collections and SM
128  interfaces.
129 
130 * Improvement to pkgconfig support; Thanks to Christoph Junghans.
131 
132 * Added new tests to CI, based on INSTALL file.
133 
134 * Updates create-package script and added run-cmds-from-install script.
135 
136 * Added .clang-format-hook-ignore file and mechanism (specifically for edn-cpp).
137 
138 * Updates to better support binary installation on various systems.
139 
140 * Added CDDL headers to files that did not have them.
141 
142 
143 === kim-api-2.0.2 =============== 28Mar2019 ====================================
144 
145 * Transition from 'kim-api-v2' naming to 'kim-api' for better alignment with
146  open source conventions
147 
148 * Added a simulator model example
149 
150 * Refactored support for simulator models: separated from models in collections.
151  Updated collections-management utility appropriately
152 
153 * Updated calls to scanf() for better security
154 
155 * Refactored old_KIM_API_DIRS.cpp to remove calls to 'exit()'
156 
157 * Added build options to set system collection directories
158 
159 * Added support for colon-separated list of directories for user and system
160  collections
161 
162 * Added '--version' flag to utilities
163 
164 * Update bash completion to work with old and new bash
165 
166 * Improve robustness of creat-package script
167 
168 * Updated badges to point to 'devel' branch & create-package to change to
169  'master' branch for release commit
170 
171 * Added coverity & codecov badges to README.md
172 
173 * Added vX.Y.Z-git tags to git repo and updated create-package script
174 
175 * Added NEWS file to Doxygen documentation & updated doxygen settings
176 
177 * Improved version build metadata string using "git describe"
178 
179 * Updated link flags for codecov
180 
181 
182 === kim-api-v2-2.0.1 ============ 27Feb2019 ====================================
183 
184 * Fix bug in KIM::SemVer::ParseSemVer()
185 
186 * Various minor fixes to address issues identified by Coverity Scan
187 
188 * Fix version string in libkim-api-v2.pc to conform to RPM schema
189 
190 * Added advanced CMake options for compilers used to build items after install
191 
192 * Added item install prefix CMake variables to cache; helps with packaging
193 
194 * Remove dead code in top level CMakeLists.txt
195 
196 
197 === kim-api-v2-2.0.0 ============ 06Feb2019 ====================================
198 
199 * Update main documentation.
200 
201 * Added function level documentation with cross-references and input/output
202  argument descriptions.
203 
204 * Added Known() member function to extensible enumerations.
205 
206 * Extensible enumeration default constructors now create uninitialized objects.
207 
208 * Rename C++ *.String() routines to *.ToString.
209 
210 * Added 'recursive' to all Fortran routines (for better thread safety).
211 
212 * Added support files for readthedocs.
213 
214 * Additions and fixes for collections-management utility.
215 
216 * Travis CI configuration updates.
217 
218 * Avoid some compiler warnings from clang.
219 
220 * Various CMake fixes/adjustments.
221 
222 * Various bug fixes in api code.
223 
224 
225 === kim-api-v2-2.0.0-beta.3 ===== 07Dec2018 ====================================
226 
227 * Updated and added examples to work with and demonstrate api changes/additions
228 
229 * Implemented new KIM::Model::IsRoutinePresent interface to facilitate
230  backward compatibility
231 
232 * Updated SpeciesName entries for recently renamed periodic table elements
233 
234 * Added WriteParameterizedModel Routine and assoc. code
235 
236 * Added Extension Routine to allow for non-standard extensions
237 
238 * Added Push/Pop Default Verbosity to KIM::Log
239 
240 * Changed Release default LogVerbosity to INFORMATION
241 
242 * Added ctest test for items to check that shared libraries can be opened
243 
244 * Improvements to Collections-Management behavior
245 
246 * Removed unnecessary header files
247 
248 * Updated travis.ci configuration
249 
250 * Refactored some backend implementation to improve maintainability, including
251  significant new KIM_SharedLibrarySchema interface
252 
253 * Improvements to CMake build system
254 
255 * Updated create-package script
256 
257 * Updated documentation
258 
259 
260 === kim-api-v2.0.0-beta.2 ======= 28Oct2018 ====================================
261 
262 * CMake build and test replaces custom Makefiles; added travis, gitlab CI
263  A big thank you to Richard Berger and Christoph Junghans for their major
264  contribution in getting the KIM API package converted to CMake.
265 
266 * Using standard pkg-config setup instead of custom kim-api-v2-build-config
267 
268 * Major restructuring of the Fortran bindings.
269 
270 * Make ModelRefresh and ModelComputeArgumentsDestroy functions optional
271 
272 * Add Model routine and callback prototypes in KIM_Functions header
273 
274 * Add a required unique name field for parameters.
275 
276 * Refactoring of neighbor list hints. The half-list hint had a fatal flaw
277  which required its removal.
278 
279 * Significant refactoring of the logging macros in C and C++. Complete removal
280  of all preprocessing for Fortran.
281 
282 * Redesign of release and packaging script and process.
283 
284 * Added a couple of new models that illustrate various features of the api.
285 
286 * Removed v1 to v2 porting guide.
287 
288 * "Summary of Differences Between kim-api-v1 and kim-api-v2" docs page now
289  contains tables with a complete listing of all kim-api identifiers in all
290  languages and their mappings between one-another.
291 
292 * Complete update of documentation. Rework and correct definition of
293  partialVirial and partialParticleVirial.
294 
295 * Added emacs cc-mode settings
296 
297 * Added clang-format settings, scripts, and git-hooks for C/C++
298 
299 * Complete review of C++, C, and Fortran bindings for consistency
300 
301 * Many other small and not-so-small changes.
302 
303 
304 === kim-api-v2.0.0-beta.1 ======= 07Jul2018 ====================================
305 
306 * Fix memory leak and uninitialized variables id'ed by coverity scan.
307 
308 * Update docs and porting guide for neighbor list hints changes.
309 
310 * Implement neighbor list hints (paddingNeighbor & halfList); update examples.
311 
312 * Add SetArgumentPointer(xxx * const ptr) to C++ bindings for consistency.
313 
314 * Add C++ LennardJones_Ar stand-alone model example.
315 
316 * Fix compatibility checking code in example simulators.
317 
318 * Update LennardJones612 example to use 1/2 list short-circuit mechanism.
319 
320 * Fix collections-info to set log verbosity to debug.
321 
322 * Use NULL consistently to initialize pointers in implemenation code.
323 
324 
325 === kim-api-v1.9.7 ============== 07Jul2018 ====================================
326 
327 * Check for errors from mkdir() in KIM_API_DIRS.cpp (id'ed by coverity scan).
328 
329 * Fix support for required-compute of forces in utility-forces-numer-deriv.
330 
331 * Fix identifiers in bash-completions.
332 
333 * Added --log option to CM 'list' command.
334 
335 * Use fixed seed for random number generator in utility-forces-numer-deriv.
336 
337 
338 === kim-api-v2.0.0-beta.0 ======= 26Jun2018 ====================================
339 
340 * Added a 'Guide for porting content from KIM API v1 to v2' to documentation
341 
342 * Documentation updates and improvements
343 
344 * Implemented extensive error checking and logging within the API
345 
346 * Separated Model object into ComputeArguments and Model
347 
348 * Many refinements and corrections to the new API
349 
350 
351 === kim-api-v1.9.6 ============== 26Jun2018 ====================================
352 
353 * Updated INSTALL file
354 
355 * Added 'install OpenKIM_with_history' and 'install --force' options to the
356  collections-management utility
357 
358 * Collections-management utility now cleanly handles an unaccessible openkim.org
359 
360 * Fixed bugs and made improvements to build system
361 
362 
363 === kim-api-v1.9.5 ============== 12May2018 ====================================
364 
365 * Update build system to support parallel builds (make -j).
366 
367 * Fixed bug in collections-management for "install OpenKIM" option.
368 
369 * Update INSTALL file
370 
371 
372 === kim-api-v1.9.4 ============== 09Apr2018 ====================================
373 
374 * Added '--interactive' option to collections-management utility.
375 
376 * Added Travis-CI support through GitHub.
377 
378 * Fixed bugs in collections-management utility.
379 
380 * Fixed bugs in build system.
381 
382 
383 === kim-api-v1.9.3 ============== 10Feb2018 ====================================
384 
385 * Major additions to options supported by the kim-api-v1-collections-management
386  utility. Added options include:
387 
388  - list --with-version
389  - install CWD
390  - install environment
391  - reinstall
392  - remove-all
393 
394  Additionally, items can now be installed from a source directory on the local
395  file system. Also, multiple items can be listed on a single command line.
396 
397 * Added a kim-api-v1-activate/deactivate utilities (available when installed to
398  non-standard locations). These add/remove to PATH and setup the bash
399  completions.
400 
401 * Added bash completions for user utilities
402 
403 * Added support for the sysconfdir variable to the build system
404 
405 * Updated utilities to more closely follow docopt.org specifications.
406 
407 * Model/Driver 'make install-*' now respect the DESTDIR environment variable.
408 
409 * Added support for Model/Driver install to the environment collection.
410 
411 * Add tracking of Parameterized Model parameter file file-names within the
412  generated model shared library.
413 
414 * Rename vc_* examples to utility_* to avoid confusion with new openkim.org
415  Verification Checks.
416 
417 * Various minor typo and bug fixes.
418 
419 
420 === kim-api-v2.0.0-alpha.0 ====== 18Jan2018 ====================================
421 
422 * Complete rewrite of the kim-api package. Released as "alpha" to solicit
423  feedback from the user community. Changes (possibly incompatible) will be
424  made based on user experience.
425 
426 * Major changes are summarized below.
427 
428 * NBCs have been eliminated.
429 
430 * KIM descriptor files have been eliminated.
431 
432 * A new memory management scheme has been adopted.
433 
434 * The api is now much more consistent within each language (C++, C, Fortran)
435  binding.
436 
437 * Improved logging facilities and error messages.
438 
439 * Added Doxygen generated documentation. (See the docs for more details on
440  this version of the kim-api and on the differences between v1 and v2.)
441 
442 
443 === kim-api-v1.9.2 ============== 08Oct2017 ====================================
444 
445 * Update scripts to use xz compressed tarballs (txz) instead of gz (tgz). This
446  is for compatibility with the recent removal of tgz support on openkim.org.
447 
448 
449 === kim-api-v1.9.1 ============== 27Sep2017 ====================================
450 
451 * Adjustment to build config flags to make cross-language compiling a bit more
452  flexible
453 
454 * Fix subtle Fortran implementation bug associated with non-short-circuit
455  conditional fortran behavior
456 
457 * Remove 'make install-set-default-to-v1' target and update INSTALL instructions
458  No longer have kim-api-build-config, etc. Now they explicitly include the
459  major version number. For example, kim-api-v1-build-config
460 
461 * Make some shell code more portable
462 
463 * Fixed some other installation details
464 
465 * Fixed missing semi-colon in makefile
466 
467 
468 === kim-api-v1.9.0 ============== 09Sep2017 ====================================
469 
470 * Added collections-management user utility to manage build and install
471  of OpenKIM Models and Model Drivers
472 
473 * Added support for "Simulator Models"
474 
475 * Dramatically simplify build system by removing supported scenarios.
476  + Removed static-link build option
477  + Removed "in-place" build scenario
478  + Added support and use of the libexec directory to distinguish between
479  user executable utilities and program executable utilities
480 
481 * Incorporate fix to configure script contributed by Christoph Junghans
482 
483 * Fix minor bugs in KIM_API_DIRS
484 
485 
486 === kim-api-v1.8.2 ============== 17Apr2017 ====================================
487 
488 * Fixed issues reaised by Tobias Brink (this==NULL; and `find` portability)
489 
490 
491 === kim-api-v1.8.1 ============== 28Mar2017 ====================================
492 
493 * Added additional deprecations in prep. for kim-api-v2.0.0
494 
495 * Fixed other minor bugs in create_package script and build-config.cpp
496 
497 * Fixed bug in Makefile.ParameterizedModel
498 
499 * Fixed formatting error in Makefiles created by build-config utility
500 
501 * Fixed bug in ex_model_Ar_P_MLJ_CLUSTER_C example model
502 
503 
504 === kim-api-v1.8.0 ============== 17Jan2017 ====================================
505 
506 * Deprecated significatant features and methods in prep. for kim-api-v2.0.0
507 
508 * Updated `build-config' utility with more flexible options
509 
510 * Removed `KIM_LINK = dynamic-link' option of build system
511 
512 * Modified/Fixed/Improved the configuration and build system
513 
514 * Added `collections-info' utility for querying environment variables,
515  user configuration files, and lists of models and model drivers in the
516  collections.
517 
518 
519 === kim-api-v1.7.3 ============== 02Jun2016 ====================================
520 
521 * Added a `configure' script for setting up Makefile.KIM_Config
522 
523 * Added support for environment-variable-collection
524 
525 * Added support for user_config_file_dir_name setting
526 
527 * Documentation update/improvements
528 
529 * Minor improvements to error messages
530 
531 * Added `make add-OpenKIM' feature
532 
533 * Added `make help' feature
534 
535 * Added release dates to NEWS file
536 
537 * Bug fixs
538 
539 
540 === kim-api-v1.7.2 ============== 25Jun2015 ====================================
541 
542 * Updated copyright years in files
543 
544 * Rewrite of INSTALL file to provide a significantly improved description and
545  instructions for build and installation of the KIM API
546 
547 * Fix error checking bug in ex_test_Ar_multiple_models Test
548 
549 * Improve the build and install process to better follow standard conventions
550  for library soname values.
551 
552 * Increased the maximum number of species supported by the example Tests to 200
553 
554 * Fixed bug in example Tests related to maximum number of supported species
555 
556 * Updated 'make clean' so that it removes all old library files in the source
557  directories
558 
559 * Fixed default make target for Parameterized Models
560 
561 * Fixed a bug in the installation process associated with the use of DESTDIR
562 
563 * Fixed a regular expression error in the build system
564 
565 * Fixed memory leak in internal KIM API code
566 
567 * Added sanity check to make sure that the 'xxd' utility is available
568 
569 * vc_forces_numer_deriv now outputs configuration energy
570 
571 * Documentation updates
572 
573 
574 === kim-api-v1.7.1 ============== 02Dec2014 ====================================
575 
576 * Bug fix for build of parameterized Models
577 
578 * Minor documentation update
579 
580 
581 === kim-api-v1.7.0 ============== 21Nov2014 ====================================
582 
583 * Use 'xxd' utility for encapsulation of KIM descriptor files and param. files
584 
585 * Added LINKSOPATH variable to build system for advanced system install options
586 
587 * Added KIM_API_get_kim_str_len() routine
588 
589 * Fix inconsistencies in ex_test_Ar_multiple_models
590 
591 * remove build system dependency on 'ed' program
592 
593 * Update 'make add-*' mechanism to use permanent url's for openkim.org items
594 
595 * Fix bugs and minor improvements to build system
596 
597 * Minor improvements to error messages
598 
599 * Updates to documentation
600 
601 
602 === kim-api-v1.6.3 ============== 18Aug2014 ====================================
603 
604 * Fixed install to recognize := and = in Makefiles
605 
606 * Removed use of non-standard strtok_r()
607 
608 * Fixes to ex_model_Cu_PF_Johnson & model_El_PF_Template.c
609 
610 * Fixes build system
611 
612 
613 === kim-api-v1.6.2 ============== 11Aug2014 ====================================
614 
615 * Correct KIM_API_Versions in template ".kim" files
616 
617 * Update make clean target for Model Drivers and Models
618 
619 * All template ".kim" files now generated from "legos" in git repo
620 
621 
622 === kim-api-v1.6.1 ============== 08Aug2014 ====================================
623 
624 * Updates to Model Driver and Model template files (in docs/templates/)
625 
626 * Changed the internal mechanism for handling parameter files to remove a
627  security hole associated with the use of tmpnam().
628 
629 * Revise kim.log entries to be more informative and clear
630 
631 * Bug fixes in build system, examples, and build system
632 
633 * Other small documentation and code improvements
634 
635 
636 === kim-api-v1.6.0 ============== 28Jul2014 ====================================
637 
638 * Documentation updates.
639 
640 * Model Driver Template and training model examples are now generated from a
641  single consistent "lego" file. Training examples are not included in
642  official release tarballs.
643 
644 * Add SemVer version routines to the KIM API. ".kim" files now require a
645  KIM_API_Version line to indicate the Model/Simulator compatibility.
646 
647 * Change terminology from "Particle Types" to "Particle Species" for clarity
648  and uniformity with the rest of the OpenKIM project. (See
649  KIM_API_get_model_species(), and similar routines.)
650 
651 * Changed KIM API routines that output strings. This avoids output of arrays
652  of strings, which are unnatural in C/C++ and allows for more natural handling
653  of string arguments in Fortran. (See: KIM_API_get_NBC_method(),
654  KIM_API_get_params(), and similar routines.)
655 
656 * Simulators and OpenKIM Tests now should use the "kim-api-build-config"
657  utility in order to obtain appropriate compiler and linker flags for building
658  against the KIM API.
659 
660 * Changed CCFLAGS to more standard CFLAGS Make variable.
661 
662 * Build system now provides ability to download Model Drivers and Models
663  directly from openkim.org.
664 
665 * Change package name from "openkim-api" to "kim-api".
666 
667 * Rename this file (CHANGELOG) to NEWS, to better follow convention.
668 
669 * A complete restructuring of the package directory layout has been performed
670  in order to conform to more standard practices and to better reflect the
671  intended behavior and use of the package components.
672 
673 * Model Drivers now specify the name of their ".kim" file template in their
674  Makefile. The conventional name for these files now ends in ".kim.tpl".
675 
676 * Model ".kim" file name is now specified in the Makefile and can be anything
677  the developer desires.
678 
679 * Remove deprecated KIM_API_init() routine.
680 
681 * Remove deprecated Fortran Cray pointer support.
682 
683 
684 === openkim-api-v1.5.0 ========== 16Jul2014 ====================================
685 
686 * Documentation updates, including an extensive discussion of the installation
687  process in INSTALL.
688 
689 * Update examples to use KIM_API_file_init() and name their ".kim" file
690  "descriptor.kim" in accordance with the new convention of the openkim.org
691  processing pipeline.
692 
693 * Deprecate KIM_API_init() and add KIM_API_file_init() to replace it as the
694  primary openkim.org Tests should initialize the KIM API and specify their KIM
695  descriptor files.
696 
697 * Portability fixes for the make system
698 
699 * Move away from naming various files based on the item (Model Driver, Model,
700  Test) name. Instead establish standard names for each item type.
701 
702 * Added Makefile.Version to provided the make system with version information
703  and set policy (based on SemVer 2.0.0) for how, when, and why to update the
704  version.
705 
706 * Significant updates to the make system. Primarily associated with
707  installation of the KIM API to a system-wide location, and its use once
708  installed there.
709 
710 
711 === openkim-api-v1.4.1 ========== 19May2014 ====================================
712 
713 
714 * Added additional compiler flags to support differences between GCC and INTEL
715 
716 * Fixed examples that used set_data when they should have used set_method.
717 
718 * Added LDLIBS flag in split functionality of LDFLAGS variable more
719  appropriately. This is more inline with standard Makefile practice.
720 
721 * Now 32Bit and 64Bit settings add -m32 and -m64 compiler flags automatically
722 
723 * Added KIM_MAKE_VERBOSITY setting to Make system
724 
725 * Updates to README, INSTALL, and Templates
726 
727 * Make system improvements and fixes
728 
729 * Added checks for known buggy compilers
730 
731 * Updated and corrected documentation
732 
733 
734 === openkim-api-v1.4.0 ========== 26Feb2014 ====================================
735 
736 
737 * Improvements to robustness and efficiency of MAKE_SYSTEM
738 
739 * Updated copyright years in files
740 
741 * Updated documentation to reflect new Fortran 2003 bindings
742 
743 * Converted DOCS/TEMPLATES/ to Fortran 2003 bindings
744 
745 * Made significant improvement to neighbor list handling in example Tests
746 
747 * Made some minor improvements to example Models and Model Drivers
748 
749 * Converted example Models, Model Drivers, and Tests to Fortran 2003 bindings
750 
751 * DEPRECATED all Cray pointer bindings and associated code
752 
753 * Added Fortran 2003 bindings
754 
755 
756 === openkim-api-v1.3.1 ========== 20Jan2014 ====================================
757 
758 
759 * Fixes to make system to avoid undefined `directoryPATH()' symbol with INTEL
760  compilers and CYGWIN systems
761 
762 * Added notes to INSTALL for gun 4.4 and CYGWIN systems
763 
764 * Fixes to make system to work with gnu make 3.81 (avoid segmentation faults)
765 
766 
767 === openkim-api-v1.3.0 ========== 10Dec2013 ====================================
768 
769 
770 * change KIM_KEY_STRING_LENGTH to 128 (despite git log that says 257)
771 
772 * Split .kim files and parameter files into chunks to stay under C++ supported
773  string literal length.
774 
775 * Fix for dynamic-link compile option
776 
777 * Some minor code fixes/updates and documentation updates
778 
779 * Updates to `make install'
780 
781 * Fix bug in FCC example Tests
782 
783 * Fix/Update Templates
784 
785 * Fix a bug in Makefile.Test
786 
787 * Added KIM_API_get_rank and KIM_API_get_rank_by_index functions
788 
789 
790 === openkim-api-v1.2.3 ========== 15Nov2013 ====================================
791 
792 
793 * Fixed bugs in the KIM_API_string_init() function (discovered by Daniel Schopf)
794 
795 * Fixed a memory leak in the api (patch provided by Tobias Brink)
796 
797 * Moved `include "KIM_API_DIRS.h"' from KIM_API.h to KIM_API.cpp. This ensures
798  that this header file does not need to be installed by the `make install'
799  command.
800 
801 * Changes to Makefiles to improve portability (of `make uninstall')
802 
803 * Some minor changes to api code to remove compiler warnings from some compilers
804 
805 
806 === openkim-api-v1.2.2 ========== 17Sep2013 ====================================
807 
808 
809 * Improved speed of make system when many Models/Tests (and Drivers) exist
810 
811 * Improved an aspect of the api's error checking/reporting
812 
813 
814 === openkim-api-v1.2.1 ========== 21Jul2013 ====================================
815 
816 
817 * Reverted to gnu make v3.81 from v3.82 to better represent actual needs.
818 
819 
820 === openkim-api-v1.2.0 ========== 12Jul2013 ====================================
821 
822 
823 * Documentation updates.
824 
825 * Various bug fixes.
826 
827 * Added support for searching ${HOME}/.kim/ and ./ for Models and Model Drivers
828  when the package is installed via the `make install' command.
829 
830 * Added install and uninstall targets to the Make system.
831 
832 * Now the build system (in dynamic-load and dynamic-link modes) hides all
833  symbols in the Model Driver and Model libraries except for the model_init()
834  function and the Model's kim descriptor string. This means that there is no
835  need to worry about symbol clashes between Models, Model Drivers, or Tests.
836 
837 * Implemented dynamic-load, dynamic-link, and static-link build options.
838 
839 * Make system now provides only summary information on the build process. This
840  makes the progress easier to understand. To see the actual build commands
841  use `make -n'.
842 
843 * Removed `integer*8' and changed `real' and `real*8' to `float' and `double'.
844 
845 * Now use -g, -Wall, and -pedantic by default for all compilations.
846 
847 * Changed model_init() function conventions to simplify the scheme. This also
848  resulted in the removal of the Model or Test name from the descriptor files.
849 
850 * Added the openkim-api-descriptor-file-match utility.
851 
852 * Completely rewrote and streamlined the openkim-api Make system
853 
854 * Changed directory names from trailing `s' to trailing `S'.
855 
856 * Updated example Tests and Models to use the new get/set method routines.
857 
858 * Added `const' to api string parameters to avoid warnings in Models and Tests
859 
860 * Added get/set method routines to properly transfer pointers to functions
861  or methods via the api.
862 
863 * Added support to examples for NEIGH_RVEC_H.
864 
865 * Added the NEIGH_RVEC_H NBC method.
866 
867 * Added ex_free_cluster_CLUSTER_memory F90 Test which manages its own memory.
868 
869 * Added ex_model_Cu_PF_Johnson C pair-functional model and template.
870 
871 * Updates and bug fixes in example Models.
872 
873 * Bug fixes for vc_forces_numer_deriv and added vc_config_ener_forces and
874  vc_forces_delta to the distribution.
875 
876 
877 === openkim-api-v1.1.1 ========== 19Aug2012 ====================================
878 
879 
880 * Added run_forces_numer_deriv_for_all_models script that will run and
881  summarize the results of vc_forces_numer_deriv for all available Models.
882 
883 * Added vc_forces_numer_deriv "verification check" that can be used with any
884  Model to check the consistency of its computed forces with a numerical
885  derivative based on the Model's energy.
886 
887 * Fixed a bug in the MI_OPBC_* support for ex_model_Ne_P_fastLJ
888 
889 * Fixed a bug in the make system that occurred when using static linking that
890  would cause some Models to be incorrectly identified as "unknown"
891 
892 * ex_test_*_free_cluster and ex_test_*_free_cluster_stiff now support CLUSTER
893  NBC (which means they work with ALL NBC methods)
894 
895 * Documentation updates
896 
897 * Updated 32/64 bit switching in Fortran code for easier maintenance
898 
899 * Moved library compile flags to end of command line to make sure all libraries
900  are correctly associated with the appropriate .so files
901 
902 * Cleaned up ex_model_driver_P_* and ex_model_Ne_P_fastLJ to simplify memory
903  management and PARAM_* handling
904 
905 
906 === openkim-api-v1.1.0 ========== 12Jul2012 ====================================
907 
908 
909 * Documentation updates
910 
911 * Introduced the use of THIS_FILE_NAME in Fortran examples instead of __FILE__.
912  This allows for easily setting the value of THIS_FILE_NAME to something
913  appropriate (short) when the default preprocessor value of __FILE__ is longer
914  that 132 characters (the max line length for Fortran)
915 
916 * Changed KIM standard time unit from `fs' to `ps' to be consistent with LAMMPS
917  `metal' unit system
918 
919 * Changed KIM_COMPUTE and KIM_NOT_COMPUTE to KIM_COMPUTE_TRUE and
920  KIM_COMPUTE_FALSE, respectively
921 
922 * Removed KIM_API_MAX_NEIGHBORS; the api no longer puts any restriction on the
923  number of neighbors for an atom
924 
925 * Updated api and examples to always `return' with an error code instead of
926  `exit' or `stop'. This allows the Test to handle errors and is a better
927  convention for error handling
928 
929 * Added KIM_STATUS_MODEL_UNSUPPORTED_CONFIGURATION for cases where a
930  configuration is identified at run time as unsupported
931 
932 * Removed requirement for a trailing `/' in environment variables (such as
933  $KIM_DIR)
934 
935 * Added make warning if `make' is invoked from a Model directory when static
936  linking is being used.
937 
938 * Added `make examples-force' target
939 
940 * `make examples' only copies files; it no longer also compiles everything
941 
942 * Changed all call-back interfaces (model_init, model_reinit, model_compute,
943  model_destroy) to be consistent: integer functions (in Fortran speak). Also
944  updated examples and templates to conform to this new interface.
945 
946 * Added get_model_partcl_typs() and get_test_partcl_type() service routines
947  Removed get_partcl_types() routine.
948 
949 * Added ability of a Model/Model Driver to set its particle type codes at
950  runtime
951 
952 * Added support for .kimignore files in MODELS, MODEL_DRIVERS, and TESTS
953  directories
954 
955 * Added `Temperature' to standard.kim for "temperature dependent" Models
956 
957 * New Model Driver interface supports reading from any number of files (not
958  strings)
959 
960 * Support for 001-999 particle types in Model Drivers
961 
962 * Use $(strip ) function to avoid difficult trailing space problem in make files
963 
964 * Rearranged and simplify compiler settings files
965  (KIM_API/*_compiler_settings.mk)
966 
967 * Changed CPPLIBFLAG to LINKLIBFLAG in Make files to better represent its use
968 
969 * Many improvements to Make-system portability
970 
971 * Carriage returns are now striped from kim and parameter files during Make
972 
973 * Improvements to the vc_forces_numer_deriv verification check
974 
975 * Bug fixes for KIM_API_init() matching
976 
977 * Significant clean-up/rearrangement of core api code
978 
979 
980 === openkim-api-v1.0.1 ========== 25Feb2012 ====================================
981 
982 
983 * Bug fix to ex_model_Ne_P_fastLJ
984 
985 * Bug fix to ex_model_Al_PF_ErcolessiAdams (and associated template file)
986 
987 * Documentation updates
988 
989 
990 === openkim-api-v1.0.0 ========== 22Feb2012 ====================================
991 
992 
993 * Moved all examples to EXAMPLES directory and added `make examples' target.
994 
995 * Renamed all example Model Drivers, Models, and Tests. Now have `ex_' prefix.
996 
997 * Renamed nearly all API functions to improve readability and comprehension.
998 
999 * Changed KIM_API_get_half_neigh and KIM_API_get_full_neigh to just
1000  KIM_API_get_neigh.
1001 
1002 * Total re-work of unit handling for the API.
1003 
1004 * Added KIM_API_model_info() function for Tests to use for discovering what a
1005  Model supports.
1006 
1007 * Added KIM_API_getm_* and KIM_API_setm_* routines to get/set multiple arguments
1008  in one function call.
1009 
1010 * Added KIM_API_sting_init() for use by Tests that generate their KIM descriptor
1011  file "on-the-fly".
1012 
1013 * Added process_dEdr and process_dE2dr2 approach for calculating general
1014  properties. Currently automatic support for `virial', `particleVirial', and
1015  `hessian' is available.
1016 
1017 * Added "unsymmetric half neighbor lists" (numberContributingParticles).
1018 
1019 * Added model/test buffers for use by Model and Test, respectively.
1020 
1021 * Improvements in dynamic linking setup.
1022 
1023 * Examples additions, improvements, and bug fixes.
1024 
1025 * Bug fixes.
1026 
1027 
1028 === openkim-api-v0.2.0 ========== 15Sep2011 ====================================
1029 
1030 
1031 * Updated documentation
1032 
1033 * Added KIM_API_report_error() service function and updated all examples
1034  and templates to use this function.
1035 
1036 * Added KIMstatus.h which contains definitions of KIM status codes.
1037 
1038 * Added KIM_API_status_msg() service routine to return a string describing a
1039  given status code.
1040 
1041 * Updated messages printed to kim.log file to be more informative.
1042 
1043 * Model KIM descriptor files are now incorporated into the Model's binary
1044  library file. This means that the file is no longer required at run time and
1045  that the Model must be recompiled after changes to the descriptor file.
1046 
1047 * Added Model Driver Templates
1048 
1049 * Added two Model Drivers and four Models based on the Model Drivers
1050 
1051 * Removed example model_Ar_P_MMorse in favor of the Morse Driver and its Models
1052 
1053 * Added support for Model Drivers
1054 
1055 * Bug fixes
1056 
1057 
1058 === openkim-api-v0.1.2 ========== 22Aug2011 ====================================
1059 
1060 
1061 * Fixed a number of bugs in the examples related to running on 64bit machines
1062 
1063 * Fixed a bug in kim_api_get_nbc_method_f() related to running on 64bit
1064  machines
1065 
1066 
1067 === openkim-api-v0.1.1 ========== 16Aug2011 ====================================
1068 
1069 
1070 * Fixed memory handling bug associated with the service functions
1071  KIM_API_get_listAtomTypes()
1072  KIM_API_get_listParams()
1073  KIM_API_get_listFreeParams()
1074  KIM_API_get_listFixedParams()
1075  KIM_API_get_NBC_method()
1076 
1077 * Fixed bug in test_**_free_cluster.F90
1078 
1079 * Renamed `README.git' to `README_GIT' to avoid confusion with the
1080  git convention that the extension `.git' refers to a bare repository
1081 
1082 
1083 === openkim-api-v0.1.0 ========== 08Aug2011 ====================================
1084 
1085 
1086 * Added TEMPLATE files to help users create their own KIM Models.
1087 
1088 * Added a number of example Models and Tests to help users understand how to
1089  implement their own openkim-api compliant codes.
1090 
1091 * Added support for ATOM/PARTICLE types
1092 
1093 * Added support for Models to publish their parameters
1094 
1095 * Added support for Models to define a `reinit' function for use when their
1096  parameters are changed by a Test.
1097 
1098 * Improved the Makefile system in general (although, more needs to be done)
1099 
1100 * Added support for neighbor list and boundary conditions (NBC)
1101 
1102 * Added support for dynamic linking
1103 
1104 * Updated documentation
1105 
1106 * Added documentation to the standard.kim file which now describes in detail
1107  the format and content of KIM descriptor files.
1108 
1109 * Added README files to every directory. These files provide a short
1110  (hopefully helpful) description of the contents of the directory)
1111 
1112 
1113 === openkim-api-v0.0.0 =========================================================
1114 
1115 
1116 The initial release of the openkim-api package. This was first made available
1117 to participants at the Inaugural Openkim Workshop held in San Diego, CA on
1118 Feb. 26-27, 2011.