- New features
- Complete rewrite of the Atoms and SCF classes
- Easily allow systems with different charge or multiplicity
- Document all public properties
- Use properties when parsing input arguments
- Allow direct setting of attributes
- Better input handling
- Use an Occupations object to store electronic states information in Atoms
- Use a GTH object to store GTH data in SCF
- Add some properties to the objects, e.g., the volume element dV in Atoms
- Indicate non-input arguments and non-results as private or read-only
- Breaking:
- Use unrestricted instead of Nspin
- Use spin and charge instead of Nstate and f
- Remove f and s as keyword arguments, can be set after initialization
- Remove cgform as a keyword argument, use the run function to pass it to minimizers
- Rename min keyword to opt
- Merge symmetric with guess
- Add DFT-D3 dispersion correction as an extra
- Updated docs
- Add a theory introduction page
- Add documentation to module data/constants
- Add a list of all packages and their respective licenses
- Re-add documentation of operators to Atoms
- Add a custom functional example
- Improve the geometry optimization example
- Add PNGs to the downloads section
- Sort attributes groupwise
- Fix a lot of typos
- Coding style
- Type check with mypy
- Fix a lot of type warnings from mypy
- Add type hints to scripts in docs and setup.py
- Rename some arguments to not shadow builtins
- Miscellaneous
- Create the eminus-benchmarks repository
- Move the SimpleDFT example to said repository
- Small performance improvements, mostly for meta-GGAs
- Add an error message when attempting to use operators of an unbuilt Atoms object
- Add Matplotlib to the viewer setup to generate images in the examples
- More tests, e.g, for different spin and charge states
- Add a small demo function