Version 2.1.1 - 2020-11-12
- Linux and macOS continuous integration testing is run on GitHub actions. See PR #145
- 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.
- BREAKING CMake >= 3.14 is required to configure the code.
Version 2.0.2 - 2020-07-15
- 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
- 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
- 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
- We corrected a number of wrinkles in the handling of symbol visibility in the shared library.
Version 2.0.0a7 - 2020-04-10
- Address warnings from compilers. Fix #90.
Version 2.0.0a6 - 2020-02-23
- Compilation with GCC 5.4.0.
Version 2.0.0a5 - 2020-02-20
- Handling of 64-bit integers in the Fortran interface.
Version 2.0.0a4 - 2020-02-02
- 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.
- 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.
- 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. 🎊 - 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
.
- BREAKING API functions
xc_serialize
,xc_deserialize
,xc_set_fromstring
, andxc_derivative_index
. - BREAKING The CMake options
ENABLE_FC_SUPPORT
andENABLE_64BIT_INTEGERS
.
Version 2.0.0a2 - 2020-01-21
Version 2.0.0a1 - 2019-12-15
- A user-friendly API function to set up functional evaluation
xc_user_eval_setup
. Thanks @ilfreddy.
- 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.