Apologies for the delay. This release is chunky, but you're probably used to chunky releases by now.
Full changelog follows:
Internal changes
- Added support for decomposed Unicode paths in Mac OS X
- Added support for junctions in win32
- Fixed issues with HTTP redirects in the network stack
- Performance improvements (as always)
git2/blame.h
- added full support for blame operations
git2/blob.h
- added
git_blob_filtered_content
to load blobs in memory with their corresponding filters applied
git2/branch.h
- added branch iterators as an alternative to the callback-based API
git2/buffer.h
- exported the git_buf struct to allow binary buffers to be passed from/to the library. This simplifies several APIs
git2/checkout.h
- implemented additional checkout options ('skip unmerged', 'use ours' and 'use theirs')
git2/clone.h
- simplified the clone API
- added new
git_clone_into
to clone into an existing (empty) repository
git2/commit.h
- added APIs to access the raw (uncleaned) text of a commit message
git2/common.h
- added global options to set the default paths to load templates from
git2/config.h
- added multivar iterators
- added globbing iterator
- added
git_config_foreach_match
to perform operations on every single var in a config file
git2/diff.h
- restructured and simplified the diff API
git2/filter.h
- added external APIs to configure and apply custom filters to checked out blobs
git2/index.h
git_index_read
can now force a reload of the index file even if it hasn't changed on-disk
git2/indexer.h
- improved the streaming indexer APIs
git2/merge.h
- added support for merge!
git2/object.h
- added helper API to lookup a generic object by path
git2/pack.h
- added progress callbacks to the packbuilder
git2/patch.h
- added support for patch generation as part of the Diff API revamp
git2/pathspec.h
- added helper APIs to work with pathspecs and match files in the workdir or diffs
git2/push.h
- added progress callbacks to push
git2/reflog.h
- changed reflog APIs to work on reference names instead of the references themselves, so they become less racy
git2/remote.h
- added support for setting refspecs on remotes, either at creation or on existing ones
- simplified the remotes API
git2/revwalk.h
- add API to simplify parents during a walk
git2/signature.h
- add helper to create a signature with the default values for a repository (i.e. the set
user.name
anduser.email
values, and the current time)
git2/submodules.h
- improve the status detection for submodules
git2/sys/
- exported many new internal APIs, such as pluggabe transport APIs
vmg, out