Addition
- [DFTB+](https://dftbplus.org/) calculator that supports ES tracking
- Davidson algorithm to converge normal modes after TS optimization. Allows verifying the nature/order of the saddle point, without explicit Hessian calculation (`do_davidson: True`). See [examples/tsopt/04_diels_alder_xtb_tsopt_davidson](https://github.com/eljost/pysisyphus/tree/master/examples/tsopt/04_diels_alder_xtb_tsopt_davidson) for an example.
- New, faster algorithms to detect bonds and bends in large(r) systems. Dihedral detection is yet to be updated and still slow for big systems.
- More finegrained control over preconditioner construction, selectable via `kind: full|full_fast|bonds_bends|bonds`
- full/full_fast: Use bonds, bends, dihedrals
- bonds_bends: Use bonds and bends
- bonds: Only bonds.
- Preconditioner construction was vastly accelerated.
- Backtracking line search that also uses gradient information. Useful for [XTB](https://github.com/grimme-lab/xtb/) calculations, as the gradient is always available with the energy
- Support for (re)using GFN-FF topology files in the XTB calculator
- Nix installation using cached binaries, thanks to [Cachix](https://cachix.org/) and sheepforce. See the [documentation](https://pysisyphus.readthedocs.io/en/latest/nix.html#binary-caching) on how to set up binary caching.
Bugfixes
- Updated code to work with recently released h5py 3.0.0
- `pysisplot -o` crash when no rendered CDDs were available
- Handling of TS-optimization after COS optimization when HEI is first or last image
- Line search now checks for very small alphas and aborts if necessary
Miscellaneous
- Added [scikit-learn](https://scikit-learn.org/) dependency, as the new bond detection uses a [KD-Tree](https://de.wikipedia.org/wiki/K-d-Baum)
- Updated GS2 IRC integrator