Skip to content

Releases: libgit2/libgit2sharp

LibGit2Sharp v0.22.1

Choose a tag to compare

@ethomson ethomson released this 09 Jan 23:56

This is a security release fixing two issues. The first one performs extra sanitization for some edge cases in the Git Smart Protocol which can lead to attempting to parse outside of the buffer.

The second fix affects the certificate check callback. It provides a valid parameter to indicate whether the native cryptographic library considered the certificate to be correct. This parameter is always 1/true before this fix leading to a possible MITM.

This does not affect you if you do not use the custom certificate callback or if you do not take this value into account.

A list of commits since the last release follows

6edb028 Update changelog for 0.22.1
8c1ba0b Update version to 0.22
ec52bb5 Update to libgit2 921e3a6

LibGit2Sharp v0.23

Choose a tag to compare

@carlosmn carlosmn released this 23 Dec 18:23

Additions

  • Add CherryPickCommit and RevertCommit to ObjectDatabase.
  • Add IncludeIgnored field to SatusOptions.
  • Add Commit.CreateBuffer to write a commit object to a buffer and
    ObjectDatabase.CreateCommitWithSignature to create commits which include a
    signature.
  • Add Commit.ExtractSignature to get a commit's signature.
  • Add ObjectDatabase.Write<T> to write arbitrary objects to the object db.
  • Add Commit.PrettifyMessage

Changes

  • The native libraries are now expected to be in the lib directory,
    instead of NativeBinaries for improved mono compatibility. In
    addition, the names of platform architectures now better reflect
    the vendor naming (eg, x86_64 instead of amd64 on Linux).
  • Deprecate the config paths in RepositoryOptions
  • Deprecate the QueryBy overload with FollowFilter.
  • Deprecate Branch.Remote in favour of Branch.RemoteName
  • Remote no longer implement the equality operator.
  • Remote.Update takes a remote name instead of an instance.
  • Fetch, Pull, Move, Remove, Stage are now in a commands namespace to
    indicate what they represent.

LibGit2Sharp v0.22

Choose a tag to compare

@ethomson ethomson released this 04 Mar 19:42

Additions

  • Add CustomHeaders in the push options (#1217)
  • Expose the minimal diff algorithm (#1229)
  • Expose Reset() with checkout options (#1219)
  • Add a prettify option to history rewrite options (#1185)
  • Add option to describe to only follow the first parent (#1190)
  • Allow setting the config search path (#1123)
  • Provide access to the remote's host HTTPS certificate (#1134)
  • Add support for rebase (#964)
  • ListReferences() now accepts a credentials provider (#1099)
  • Introduce FileStatus.Conflicted and introduce staging of conflicts (#1062)
  • Support streaming filters written in C# (#1030)
  • Add support for the pre-push callback (#1061)
  • Add support for listing remote references without a Repository instance (#1065)
  • Add StashCollection.Apply() and .Pop() (#1068)
  • Support retrieving a configuration for a repository without instantiating it (#1042)
  • Implement 'log --follow'-like functionality (#963)
  • Introduce in-memory merging via Repository.MergeCommits() (#990)
  • Allow setting whether to prune during a fetch (#1258)

Changes

  • Deprecate MergeConflictException in a backwards-compatible way (#1243)
  • Improve type safety in the generic type for Diff.Compare() (#1180)
  • Obsolete Repository.Commit(), NoteCollection.Add() and
    NoteCollection.Remove() overloads which do not require a signature (#1173)
  • BuildSignature() no longer tries to build a signature from the
    environment if there is none configured (#1171)
  • Rename the commit walker's Since to IncludeReachableFrom and Until to ExcludeReachableFrom (#1069)
  • Rename MergeConflictException to CheckoutConflictException to more
    accurately reflect what it means (#1059)
  • Specify the diff algorithm instead of setting a boolean to use patience (#1043)
  • Remove optional parameters (#1031)
  • Move Repository.Reset(paths) into Index (#959)
  • Move FindMergeBase() overloads to ObjectDatabase (#957)

Fixes

  • ListReferences() is now able to handle symbolic references (#1132)
  • Repository.IsValid() returns false on empty paths (#1156)
  • The included version of libgit2 includes racy-git support
  • Fix a racy NRE in the filters (#1113)