- Move to pytest, drop support for Python 3.3 and cffi 0.x
[824](https://github.com/libgit2/pygit2/issues/824)
[826](https://github.com/libgit2/pygit2/pull/826)
[833](https://github.com/libgit2/pygit2/pull/833)
[834](https://github.com/libgit2/pygit2/pull/834)
- New support comparing signatures for (in)equality
- New `Submodule.head_id`
[817](https://github.com/libgit2/pygit2/pull/817)
- New `Remote.prune(...)`
[825](https://github.com/libgit2/pygit2/pull/825)
- New `pygit2.reference_is_valid_name(...)`
[827](https://github.com/libgit2/pygit2/pull/827)
- New `AlreadyExistsError` and `InvalidSpecError`
[828](https://github.com/libgit2/pygit2/issues/828)
[829](https://github.com/libgit2/pygit2/pull/829)
- New `Reference.raw_name`, `Reference.raw_shorthand`, `Tag.raw_name`,
`Tag.raw_message` and `DiffFile.raw_path`
[840](https://github.com/libgit2/pygit2/pull/840)
- Fix decode error in commit messages and signatures
[839](https://github.com/libgit2/pygit2/issues/839)
- Fix, raise error in `Repository.descendant_of(...)` if commit
doesn\'t exist [822](https://github.com/libgit2/pygit2/issues/822)
[842](https://github.com/libgit2/pygit2/pull/842)
- Documentation fixes
[821](https://github.com/libgit2/pygit2/pull/821)
Breaking changes:
- Remove undocumented `Tag._message`, replaced by `Tag.raw_message`