* Print a clearer exception when setup.py is executed on Python < 3.5.
(Jelmer Vernooij, 783)
* Send an empty pack to clients if they requested objects, even if they
already have those objects. Thanks to Martijn Pieters for
the detailed bug report. (Jelmer Vernooij, 781)
* porcelain.pull: Don't ask for objects that we already have.
(Jelmer Vernooij, 782)
* Add LCA implementation. (Kevin Hendricks)
* Add functionality for finding the merge base. (Kevin Hendricks)
* Check for diverged branches during push.
(Jelmer Vernooij, 494)
* Check for fast-forward during pull. (Jelmer Vernooij, 666)
* Return a SendPackResult object from
GitClient.send_pack(). (Jelmer Vernooij)
* ``GitClient.send_pack`` now sets the ``ref_status`` attribute
on its return value to a dictionary mapping ref names
to error messages. Previously, it raised UpdateRefsError
if any of the refs failed to update.
(Jelmer Vernooij, 780)
* Add a ``porcelain.Error`` object that most errors in porcelain
derive from. (Jelmer Vernooij)
* Fix argument parsing in dulwich command-line app.
(Jelmer Vernooij, 784)