Skip to content

Commit

Permalink
Update changelog
Browse files Browse the repository at this point in the history
[skip ci]
  • Loading branch information
dean0x7d committed Jul 13, 2017
1 parent 421f768 commit 3648056
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 24 deletions.
67 changes: 44 additions & 23 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,36 @@
# Changelog

### v0.9.3 | 2017-05-29
## v0.9.4 | in development

* Fixed issues with multi-orbital models: matrix onsite terms were not set correctly if all the
elements on the main diagonal were zero ([#5](https://github.com/dean0x7d/pybinding/issues/5)),
hopping terms were being applied asymmetrically for large multi-orbital systems
([#6](https://github.com/dean0x7d/pybinding/issues/6)). Thanks to
[@oroszl (László Oroszlány)](https://github.com/oroszl) for reporting the issues.

* Fixed KPM Hamiltonian scaling for models with all zeros on the main diagonal but asymmetric
spectrum bounds (non-zero KPM scaling factor `b`).

* Fixed compilation on certain Linux distributions
([#4](https://github.com/dean0x7d/pybinding/issues/4)). Thanks to
[@nu11us (Will Eggleston)](https://github.com/nu11us) for reporting the issue.

* Fixed compilation with Visual Studio 2017.

* Improved support for plotting slices of multi-layer systems. See "Plotting Guide" > "Model
structure" > "Slicing layers" in the documentation.


## v0.9.3 | 2017-05-29

* Added support for Kwant v1.3.x and improved `Model.tokwant()` exporting of multi-orbital models.

* Fixed errors when compiling with GCC 6.


### v0.9.2 | 2017-05-26
## v0.9.2 | 2017-05-26

##### New KPM features and improvements
#### New KPM features and improvements

* Added a method for calculating spatial LDOS using KPM. See the "Kernel Polynomial Method"
tutorial page and the `KPM.calc_spatial_ldos` API reference.
Expand All @@ -28,7 +49,7 @@

* Long running KPM calculation now have a progress indicator and estimated completion time.

##### General improvements and bug fixes
#### General improvements and bug fixes

* `StructureMap` can now be sliced using a shape. E.g. `s = pb.rectangle(5, 5); smap2 = smap[s]`
which returns a smaller structure map cut down to the given shape.
Expand All @@ -45,7 +66,7 @@
* Fixed slow Hamiltonian build when hopping generators are used.


### v0.9.1 | 2017-04-28
## v0.9.1 | 2017-04-28

* Fixed an issue with multi-orbital models where onsite/hopping modifiers would return unexpected
results if a new `energy` array was returned (rather than being modified in place).
Expand All @@ -57,9 +78,9 @@
`StructureMap` mutable again.


### v0.9.0 | 2017-04-14
## v0.9.0 | 2017-04-14

##### Updated requirements
#### Updated requirements

* This version includes extensive internal improvements and raises the minimum requirements for
installation. Starting with this release, only Python >= 3.5 is supported. Newer versions of the
Expand All @@ -68,7 +89,7 @@
* On Linux, the minimum compiler requirements have also been increased to get access to C++14 for
the core of the library. To compile from source, you'll need GCC >= 5.0 or clang >= 3.5.

##### Multi-orbital models
#### Multi-orbital models

* Improved support for models with multiple orbitals, spins and any additional degrees of freedom.
These can now be specified simply by inputing a matrix as the onsite or hopping term (instead of
Expand All @@ -83,13 +104,13 @@
* Added a 3-band model of group 6 transition metal dichalcogenides to the Material Repository.
The available TMDs include: MoS2, WS2, MoSe2, WSe2, MoTe2, WTe2. These are all monolayers.

##### Composite shapes
#### Composite shapes

* Complicated system geometries can now be created easily by composing multiple simple shapes.
This is done using set operations, e.g. unions, intersections, etc. A complete guide for this
functionality is available in the "Composite shapes" section of the documentation.

##### Kernel polynomial method
#### Kernel polynomial method

* The KPM implementation has been revised and significantly expanded. A guide and several examples
are available in the "Kernel polynomial method" section of the documentation (part 9 of the
Expand All @@ -105,7 +126,7 @@
* The performance of various KPM computations has been significantly improved for CPUs with AVX
support (~1.5x speedup on average, but also up to 2x in some cases with complex numbers).

##### Miscellaneous
#### Miscellaneous

* Added the `pb.save()` and `pb.load()` convenience functions for getting result objects into/out
of files. The data is saved in a compressed binary format (Python's builtin `pickle` format with
Expand All @@ -118,7 +139,7 @@
* Improved plotting of `Lattice` objects. The view can now be rotated by passing the `axis="xz"`
argument, or any other combination of x, y and z to define the plotting plane.

##### Deprecations and breaking changes
#### Deprecations and breaking changes

* Added `Lattice.add_aliases()` method. The old `Lattice.add_sublattice(..., alias=name)` way of
creating aliases is deprecated.
Expand All @@ -129,7 +150,7 @@
shouldn't affect most users who don't need access to the low-level data.


### v0.8.2 | 2017-01-26
## v0.8.2 | 2017-01-26

* Added support for Python 3.6 (pybinding is available as a binary wheel for Windows and macOS).

Expand All @@ -138,7 +159,7 @@
* Fixed a few minor bugs.


### v0.8.1 | 2016-11-11
## v0.8.1 | 2016-11-11

* Structure plotting functions have been improved with better automatic scaling of lattice site
circle sizes and hopping line widths.
Expand All @@ -155,9 +176,9 @@
* Revised advanced installation instructions: compiling from source code and development.


### v0.8.0 | 2016-07-01
## v0.8.0 | 2016-07-01

##### New features
#### New features

* Added support for scattering models. Semi-infinite leads can be attached to a finite-sized
scattering region. Take a look at the documentation, specifically section 10 of the "Basic
Expand All @@ -172,7 +193,7 @@
* *Experimental:* Initial CUDA implementation of KPM Green's function (only for diagonal elements
for now). See the "Experimental Features" section of the documentation.

##### Improvements
#### Improvements

* The performance of the KPM Green's function implementation has been improved significantly:
by a factor of 2.5x. The speedup was achieved with CPU code using portable SIMD intrinsics
Expand All @@ -183,7 +204,7 @@
* The spatial origin of a lattice can be adjusted using the `Lattice.offset` attribute. See the
"Advanced Topics" section.

##### Breaking changes
#### Breaking changes

* The interface for structure plotting (as used in `System.plot()` and `StructureMap`) has been
greatly improved. Some of the changes are not backwards compatible and may require some minor
Expand All @@ -194,7 +215,7 @@
replaced by `smap2 = smap[smap.x > 0]`. The "Plotting Guide" has a few examples and there is a
full method listing in the "API Reference" section.

##### Documentation
#### Documentation

* The API reference has been completely revised and now includes a summary on the main page.

Expand All @@ -203,14 +224,14 @@

* Experimental features are now documented.

##### Bug fixes
#### Bug fixes

* Fixed translational symmetry skipping directions for some 2D systems.
* Fixed computation of off-diagonal Green's function elements with `opt_level > 0`
* Fixed some issues with shapes which were not centered at `(x, y) = (0, 0)`.


### v0.7.2 | 2016-03-14
## v0.7.2 | 2016-03-14

* Lots of improvements to the documentation. The tutorial pages can now be downloaded and run
interactively as Jupyter notebooks. The entire user guide is also available as a PDF file.
Expand All @@ -233,7 +254,7 @@
additional local hoppings, e.g. to model defects.


### v0.7.1 | 2016-02-08
## v0.7.1 | 2016-02-08

* Added support for double-precision floating point. Single precision is used by default,
but it will be switched automatically to double if required by an onsite or hopping modifier.
Expand All @@ -251,6 +272,6 @@
and OS X (Python 3.4 and 3.5)


### v0.7.0 | 2016-02-01
## v0.7.0 | 2016-02-01

Initial release
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def changelog():

with open("changelog.md") as file:
log = file.read()
match = re.search(r"### ([\s\S]*?)\n###\s", log)
match = re.search(r"## ([\s\S]*?)\n##\s", log)
return match.group(1) if match else ""


Expand Down

0 comments on commit 3648056

Please sign in to comment.