pygit2 0.19.0 released

Three months after the previous release I am happy to present a new major version of pygit2, the Python bindings for the libgit2 library. Follows a summary with the changes.

API changes:

  • New Oid type
  • Changed signature of Repository.create_reference
  • Reference.oid and Reference.hex removed, use Reference.target instead
  • Drop del Index[path] from the API, use Index.remove(path) instead
  • Drop TreeEntry.to_object
  • Changed signature of Repository.checkout
  • Repository.create_blob_from_file removed, use instead new methods
    Repository.create_blob_fromworkdir and
    Repository.create_blob_from_disk

New features:

  • Add len(TreeBuilder) and TreeBuilder.get
  • Add Repository.merge_base
  • Support changing the head with Repository.head = refname
  • Improved support for diff
  • Add support for clone
  • Python 2: Support hex oids as byte strings
  • Add Reference.get_object
  • Add Remote.save
  • Add support for branches, new type Branch

Other:

  • Upgraded to libgit2 0.19
  • Partial documentation review

Fourteen developers have contributed to this release, including myself, and:

  • Nico von Geyso
  • Daniel Rodríguez Troitiño
  • Bernardo Heynemann
  • Rémi Duraffort
  • Andrey Devyatkin
  • Hervé Cauwelier
  • Jiunn Haur Lim
  • Richo Healey
  • Carlos Martín Nieto
  • David Fischer
  • Fraser Tweedale
  • Jun Omae
  • Xu Tao

Resources:

Enjoy!