Change Log¶
Version 2.1.1 - 2020-11-12¶
Changed¶
Linux and macOS continuous integration testing is run on GitHub actions. See PR #145
Fixed¶
We polished the installation of header files, CMake target export files, and Python module. These are especially relevant for Conda packaging XCFun. See PR #143
A numerical issue with SCAN functionals and small density gradients was fixed by James Furness (@JFurness1). See issue #144 reported by Xing Zhang (@fishjojo) and subsequent PR #146 for the fix.
Version 2.1.0 - 2020-09-18¶
Many new functionals in the SCAN family have been added. Thanks to James Furness for the contribution. See PR #140
The library is now available both as a Spack and a Conda package.
The library can now be natively compiled on Linux, macOS, and Windows.
Changed¶
BREAKING CMake >= 3.14 is required to configure the code.
Version 2.0.2 - 2020-07-15¶
Fixed¶
VWN3 functional has been fixed for the spin-polarized case. It previously gave wrong results when alpha and beta densities differed. Thanks to Zhenyu Zhu for reporting the problem and also suggesting the solution. See PR #134 and issue #132.
Version 2.0.1 - 2020-05-06¶
Fixed¶
We removed the
DEBUG_POSTFIX
property from the properties on thexcfun
target. This was leading to build failures when using the library through CMakeFetchContent
with mixed release/debug mode.
Version 2.0.0 - 2020-04-14¶
Changed¶
BREAKING The build system will only produce a shared (default) or static library. Compilation of the static library can be requested by setting
BUILD_SHARED_LIBS
toOFF
.macOS CI testing was moved to Azure Pipelines.
The dependency on pybind11 was bumped to v2.5.0
Fixed¶
We corrected a number of wrinkles in the handling of symbol visibility in the shared library.
Version 2.0.0a7 - 2020-04-10¶
Fixed¶
Address warnings from compilers. Fix #90.
Version 2.0.0a6 - 2020-02-23¶
Fixed¶
Compilation with GCC 5.4.0.
Version 2.0.0a5 - 2020-02-20¶
Fixed¶
Handling of 64-bit integers in the Fortran interface.
Version 2.0.0a4 - 2020-02-02¶
Fixed¶
The API function
xcfun_get
accepts a single in-outdouble
parameter. It was erroneously declared to accept an array ofdouble
-s instead.
Version 2.0.0a3 - 2020-01-31¶
We have introduced a number of breaking changes, motivated by the need to modernize the library. See the migration guide.
Added¶
Up-to-date API documentation generated with Doxygen, breathe, and Sphinx.
Up-to-date documentation on how to build and develop XCFun.
Up-to-date documentation on how to use XCFun in your code.
API functions
xcfun_which_vars
andxcfun_which_mode
.A full example, based on CMake as build system generator, showing how to use the library from a C++ host. Thanks @stigrj!
A full example, based on CMake as build system generator, showing how to use the library from a C host.
A full example, based on CMake as build system generator, showing how to use the library from a Fortran host.
Changed¶
BREAKING All API functions are uniformly namespaced with the
xcfun_
prefix.BREAKING The Fortran interface has been completely rewritten using
iso_c_binding
: the library can now be compiled without the use of neither a C nor a Fortran compiler. :confetti_ball:BREAKING CMake option
XCFun_XC_MAX_ORDER
renamed toXCFUN_MAX_ORDER
. New default value of 6.BREAKING CMake option
XCFun_ENABLE_PYTHON_INTERFACE
renamed toXCFUN_PYTHON_INTERFACE
.
Deprecated¶
Removed¶
BREAKING API functions
xc_serialize
,xc_deserialize
,xc_set_fromstring
, andxc_derivative_index
.BREAKING The CMake options
ENABLE_FC_SUPPORT
andENABLE_64BIT_INTEGERS
.
Fixed¶
Security¶
Version 2.0.0a2 - 2020-01-21¶
Version 2.0.0a1 - 2019-12-15¶
Added¶
A user-friendly API function to set up functional evaluation
xc_user_eval_setup
. Thanks @ilfreddy.
Changed¶
BREAKING A compiler compliant with the C++11 (or later) standard is required.
BREAKING CMake >= 3.11 is required to configure the code.
BREAKING The Python bindings are now generated using pybind11 instead of SWIG. The dependency will be fetched at configuration time if not found on your system.
BREAKING The Fortran interface is no longer build with the code, but shipped as a separate file to be compiled within your own Fortran code.