|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -## v0.9.5 | In development |
| 3 | +## v0.9.5 | 2020-08-30 |
4 | 4 |
|
5 | | -* Fixed installation errors due to the encoding of the `changelog.md` file |
6 | | - ([#7](https://github.com/dean0x7d/pybinding/issues/7)). |
| 5 | +It has been a long time since the last version was released. The Python ecosystem has changed |
| 6 | +quite a bit in the meantime and this has led to a number of compatibility issues when installing |
| 7 | +or running pybinding. The main purpose of this new version is to bring this library back to life |
| 8 | +with lots of compatibility fixes and general modernization. |
| 9 | + |
| 10 | +That said, a couple of new features have also snuck in: site and hopping generators should help |
| 11 | +with the creation of more general models that were not possible before. They make it possible to |
| 12 | +create heterostructures and systems with various forms of disorder. |
| 13 | + |
| 14 | +Thank you to [@MAndelkovic (Miša Anđelković)](https://github.com/MAndelkovic) |
| 15 | +for making this release possible! And thanks to everyone who reported the various issues. |
| 16 | + |
| 17 | +#### Necromancy |
7 | 18 |
|
8 | 19 | * Fixed compatibility issues with Python 3.7 and 3.8. Notably, this fixes the deadlocks as |
9 | 20 | reported in [#17](https://github.com/dean0x7d/pybinding/issues/17), |
10 | 21 | [#21](https://github.com/dean0x7d/pybinding/issues/21), and |
11 | 22 | [#23](https://github.com/dean0x7d/pybinding/issues/23). |
12 | 23 |
|
13 | | -* Fixed compatibility with new versions of `matplotlib`: import error |
14 | | - ([#11](https://github.com/dean0x7d/pybinding/issues/11)) and various warnings. |
| 24 | +* Fixed compatibility with new versions of `matplotlib`: the `allow_rasterization` import error |
| 25 | + ([#11](https://github.com/dean0x7d/pybinding/issues/11)), various warnings, and smaller visual |
| 26 | + glitches. |
| 27 | + |
| 28 | +* Fixed installation errors due to the encoding of the `changelog.md` file |
| 29 | + ([#7](https://github.com/dean0x7d/pybinding/issues/7)). |
| 30 | + |
| 31 | +* Fixed failure to compile the project from source code because the Eigen library's download URL |
| 32 | + changed ([#14](https://github.com/dean0x7d/pybinding/issues/14)). |
15 | 33 |
|
16 | | -* Fixed failure to compile the project from source code due to the Eigen library's URL change |
17 | | - ([#14](https://github.com/dean0x7d/pybinding/issues/14)). |
| 34 | +* Fixed deprecation warnings from the latest versions of `numpy`. |
| 35 | + |
| 36 | +* Fixed documentation generation with `sphinx` v2.x. |
18 | 37 |
|
19 | 38 | * Dropped support for Python 3.5. You must have Python 3.6 or newer to install this version. |
20 | 39 |
|
| 40 | +#### General bug fixes |
| 41 | + |
21 | 42 | * Fixed reversed order of `Lattice.reciprocal_vectors()`: it should be `a_n * b_n = 2pi` but it was |
22 | 43 | accidentally `a_n * b_{N-n} = 2pi`. |
23 | 44 |
|
24 | 45 | * Fixed incorrect Hamiltonian construction in cases where complex hoppings were used together |
25 | 46 | with translational symmetry. |
26 | 47 |
|
| 48 | +#### New features |
| 49 | + |
27 | 50 | * Added `@site_generator` which can be used to add new sites independent of the main `Lattice` |
28 | 51 | definition. This is useful for creating heterostructures or defects with various add-atoms. |
29 | 52 | See the new "Generators" section of the tutorial. |
30 | 53 |
|
| 54 | +* `@hopping_generator` has been promoted to a regular feature and added to the tutorial. It's |
| 55 | + useful for creating additional local hoppings around existing sites or connecting completely new |
| 56 | + sites which were added by a `@site_generator`. |
| 57 | + |
| 58 | +* Added `System.count_neighbors()` which counts the neighbors each site has. Useful for finding |
| 59 | + edge atoms. Generators can request `system` as an argument so that they can stitch new atoms |
| 60 | + to the edges. See the API reference for `@site_generator` and `@hopping_generator`. |
| 61 | + |
| 62 | +* `@site_state_modifier`s and `@site_position_modifier`s can now be freely ordered. Before this, |
| 63 | + all state modifiers would be evaluated first and then all position modifiers. Now, they will |
| 64 | + be evaluated in the exact order in which they are given to `Model`. Take care: this may change |
| 65 | + the behavior of some existing models but it will give more control to create new models which |
| 66 | + not possible before. |
| 67 | + |
| 68 | + |
31 | 69 | ## v0.9.4 | 2017-07-13 |
32 | 70 |
|
33 | 71 | * Fixed issues with multi-orbital models: matrix onsite terms were not set correctly if all the |
|
0 commit comments