*****
0.8.5
*****

Released 21 of July 2017.


Contributors
============

A total of 1 people contributed to this release.  People with a "+" by their
names contributed a patch for the first time.

* Nick Papior

Pull requests merged
====================

A total of 0 pull requests were merged for this release.


* Added the following routines:

  * `SuperCell.fit` routine to determine a new supercell object
    such that a given set of coordinates are all within AND
    periodic in the new supercell.
  * `SuperCell.parallel` to check whether two objects have parallel
    latticevectors.
  * `Geometry.distance` returns a list of distances from a given
    set of atoms. I.e. to determine a set of distances required for
    a subsequent close call. This routine can also be used to group
    neighbouring atoms in a common fashion.
  * `Geometry.optimize_nsc` loops all atoms and minimizes `nsc` in case
    one is not sure of the interaction range.
  * `Hamiltonian.shift` enables the shift of the entire electronic structure
    Fermi-level.
  * Added new flag to `Hamiltonian.Hk` routines
    ``format={'csr', 'array', 'dense', ...}``
    to ensure a consistent return of the data-type.

* Bug fix for dHncSileSiesta for multiple levels.

* Performance boost for the sub and remove functions for the
  Hamiltonian objects. Instead of creating the geometry first,
  it may now be much faster to generate the small Hamiltonian,
  tile -> repeat -> sub -> remove.

* Performance boost for the tile and repeat functions for the
  Hamiltonian objects. They are now the preferred method for creating
  large systems.

* Bug fixed when having extremely long atomic ranges and using tile/repeat.
  The number of supercells was too large.
  It did not affect anything, but it was inconsistent.

* Enabled reading the density matrix and energy density matrix from siesta.

* Addition of a PerformanceSelector class which enables a dynamic
  selection of the best routine.

  Currently this is enabled in the SparseOrbitalBZ class where
  constructing a matrix @ k can be done in numerous ways.

* Bug fixed in supercell specification of the Hamiltonian:

      >>> H[io, jo, (-1, 0, 0)]

  now works in all cases.

* Spin-orbit H(k) has been enabled

* Fixed reading the <>.nc file from SIESTA, the non-zero elements count was
  wrong.

* Now H(k) has been tested for non-colinear and spin-orbit coupling and
  one can now use sisl to perform non-colinear and spin-orbit coupling
  calculations.

* API change, all dR keywords has been changed to R for consistency and
  reduction of ambiguity.
  Also the `Atoms.dR` is now referred to as `Atoms.maxR()` to indicate
  its meaning.

  This may break old scripts if one use the `dR` keyword in arguments.
