**1.0.3 (2017.03.19)**

* Add manual mapping for `redhatenterpriseserver` (previously only redhatenterpriseworkstation was mapped)
* Return empty information when failing to read a seemingly version related file due to IO or OS errors.
* When using the CLI without providing the -j flag, printout keys even if their values are empty.
* Replace nose with pytest
* Add RHEL5 test case
* Add OpenELEC test case
* Update supported Python versions (with py36)
* Update classifiers

**1.0.2 (2017.01.12)**

* Add MANIFEST file (which also includes the LICENSE as part of Issue #139)
* Default to releasing using Twine (as per Issue #121)
* Update license in setup.py
* Test on py33, py36 and py3 based flake8
* Add setup.cfg file

**1.0.1 (2016-11-03)**

* Prettify output when running `distro -j`
* Decode output of `lsb_release` as utf-8
* Mend code coverage
* Logger now uses `message %s, string` form to not-evaulate log messages if unnecessary
* Add landscape.io code-quality monitoring
* Add CONTRIBUTING.md

**1.0.0 (2016-09-25)**

* Add a CLI and a `distro` entry point. For Python 2.6, argparse will be installed
* Add many test cases (e.g. Raspbian 8, CoreOS, Amazon Linux, Scientific Linux, Gentoo, Manjaro)
* Make distro non-importable on non-compatible platforms (e.g. Windows and tested via AppVeyor)
* Completely redo the testing framework to make it easier to add tests
* Remove six as a dependency
* Emit stderr if `lsb_release` fails
* Fix some encoding related issues
* We now use `bytes` invariantly
* Test on pypy

**0.6.0 (2016-04-21)**

* Introduces a new name (`distro`)
* No longer a package. constants.py has been removed and distro is now a single module
* Documentation fixes
* distro.info() now receives best and pretty flags
* Added Linux Mint test case
* Removed get_ prefix from get_*_release_attr functions
* Now testing on Python 3.4
* Codename is now passed in distro.info()

All previous work was done on `ld` and therefore unmentioned here. See the release log in GitHub if you want the entire log.