Security Advisories (3)
CVE-2018-25032 (2022-03-25)

zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches.

CVE-2018-8098 (2018-03-14)

Integer overflow in the index.c:read_entry() function while decompressing a compressed prefix length in libgit2 before v0.26.2 allows an attacker to cause a denial of service (out-of-bounds read) via a crafted repository index file.

CVE-2018-8099 (2018-03-14)

Incorrect returning of an error code in the index.c:read_entry() function leads to a double free in libgit2 before v0.26.2, which allows an attacker to cause a denial of service via a crafted repository index file.

Changes for version 0.30 - 2014-01-26 (TRIAL RELEASE)

  • Add "paths" checkout option (GH#23) (thanks, @jacquesg!)
  • Various fixes to make it possible to build with MSVC (GH#24, GH#25, GH#26, GH#27, GH#28) (thanks, @jacquesg!)
  • Repository -> remotes() now returns a list like branches() and refs() (incompatible change)
  • Repository -> tags() now returns a list like branches() and refs() (incompatible change)
  • Add Commit -> summary() method (GH#32) (thanks, @jacquesg!)
  • Add new Repository methods (GH#33) (thanks, @jacquesg!):
    • Repository -> state()
    • Repository -> state_cleanup()
    • Repository -> is_shallow()
  • Add new clone options (GH#34) (thanks, @jacquesg!):
    • "remote_name"
    • "checkout_branch"
    • "ignore_cert_errors"
    • "disable_checkout"
  • Update to libgit2 426d845
  • Move Blob/Tree -> is_blob() and -> is_tree() to XS (GH#36) (thanks, @magnolia-k!)
  • Add Repository -> new() (GH#37) (thanks, @jacquesg!)
  • Add Remote -> create_inmemory() and Remote -> ls() (GH#37) (thanks, @jacquesg!)
  • Add support for more callbacks for:
    • Remote -> callbacks()
    • Repository -> clone()
    • Repository -> checkout()
    • (GH#39) (thanks, @jacquesg!) (incompatible change)
  • Add Repository -> path_is_ignored() (GH#38) (thanks, @jacquesg!)
  • Improve Repository -> status() (incompatible change):
    • It can now return the statuses of multiple files (GH#29)
    • It can now detect file renames (GH#30) (thanks, @jacquesg!)
  • Improve Repository -> diff() and Tree -> diff(), they can now take options and flags (GH#42) (thanks, @jacquesg!) (incompatible change)
  • Add Signature -> default() method (GH#43) (thanks, @jacquesg!)
  • Repository -> reset() now takes an %opts argument, which can also be used to specify the entries that should be updated (like "git reset -- file") (GH#44) (thanks, @jacquesg!) (incompatible change)
  • Reference -> target() now takes an additional optional parameter $new_target used to change the reference's target (GH#47) (thanks, @jacquesg!)
  • Add Index -> has_conflicts() and Index -> conflict_cleanup() methods (GH#46) (thanks, @jacquesg!)
  • Add Repository -> merge() method (GH#31) (thanks, @jacquesg!)

Modules

Perl bindings to the Git linkable library (libgit2)
Git blob class
Git branch class
Git commit class
Git config class
Git credentials class
Git diff class
Git index class
Git push class
Git refspec class
Git reference class
Git remote class
Git repository class
Git signature class
Git stash class
Git tag class
Git tree class
Git tree builder class
Git tree entry class
Git revwalker class