- Added
opts
functions to control server timeouts (get_server_connect_timeout_in_milliseconds
,set_server_connect_timeout_in_milliseconds
,get_server_timeout_in_milliseconds
,set_server_timeout_in_milliseconds
), and addErrorCode::Timeout
. #1052
- Fixed some callbacks to relay the error from the callback to libgit2. #1043
- Added
opts::
functions to get / set libgit2 mwindow options #1035
- Updated examples to use clap instead of structopt #1007
- Added
opts::set_ssl_cert_file
andopts::set_ssl_cert_dir
for setting Certificate Authority file locations. #997 - Added
TreeIter::nth
which makes jumping ahead in the iterator more efficient. #1004 - Added
Repository::find_commit_by_prefix
to find a commit by a shortened hash. #1011 - Added
Repository::find_tag_by_prefix
to find a tag by a shortened hash. #1015 - Added
Repository::find_object_by_prefix
to find an object by a shortened hash. #1014
- ❗ Updated to libgit2 1.7.2. This fixes CVE-2024-24575 and CVE-2024-24577. #1017
- Added
FetchOptions::depth
to set the depth of a fetch or clone, adding support for shallow clones. #979
- Fixed an internal data type (
TreeWalkCbData
) to not assume it is a transparent type while casting. #989 - Fixed so that
DiffPatchidOptions
andStashSaveOptions
are publicly exported allowing the corresponding APIs to actually be used. #988
- Added
Blame::blame_buffer
for getting blame data for a file that has been modified in memory. #981
- Updated to libgit2 1.7.0. #968
- Updated to libgit2 1.7.1. #982
- Switched from bitflags 1.x to 2.1. This brings some small changes to types generated by bitflags. #973
- Changed
Revwalk::with_hide_callback
to take a mutable reference to its callback to enforce type safety. #970 - Implemented
FusedIterator
for many iterators that can support it. #955
- Fixed builds with cargo's
-Zminimal-versions
. #960
- Added support for stashing with options (which can support partial stashing). #930
- Added
IntoIterator
implementation forStatuses
. #880 - Added
Reference::symbolic_set_target
#893 - Added
Copy
,Clone
,Debug
,PartialEq
, andEq
implementations forAutotagOption
andFetchPrune
. #889 - Added
Eq
andPartialEq
implementations forSignature
. #890 - Added
Repository::discover_path
. #883 - Added
Submodule::repo_init
. #914 - Added
Tag::is_valid_name
. #882 - Added
Repository::set_head_bytes
. #931 - Added the
Indexer
type which is a low-level API for storing and indexing pack files. #911 - Added
Index::find_prefix
. #903 - Added support for the deprecated group-writeable blob mode. This adds a new variant to
FileMode
. #887 - Added
PushCallbacks::push_negotiation
callback and the correspondingPushUpdate
type for getting receiving information about the updates to perform. #926
- Updated to libgit2 1.6.3. This brings in many changes, including better SSH host key support on Windows and better SSH host key algorithm negotiation. 1.6.3 is now the minimum supported version. #935
- Updated libssh2-sys from 0.2 to 0.3. This brings in numerous changes, including SHA2 algorithm support with RSA. #919
- Changed
RemoteCallbacks::credentials
callback error handler to correctly set the libgit2 error class. #918 DiffOptions::flag
now takes agit_diff_option_t
type. #935
- Updated to libgit2-sys 0.14.2+1.5.1
- Added ability to get the SSH host key and its type.
This includes an API breaking change to the
certificate_check
callback. #909 - Updated to libgit2-sys 0.14.1+1.5.0
- Added
Repository::tag_annotation_create
bindinggit_tag_annotation_create
. #845 - Added the
Email
type which represents a patch in mbox format for sending via email. Added theEmailCreateOptions
struct to control formatting of the email. DeprecatesDiff::format_email
, useEmail::from_diff
instead. #847 - Added
ErrorCode::Owner
to map to the newGIT_EOWNER
errors. #839 - Added
opts::set_verify_owner_validation
to set whether or not ownership validation is performed. #839
- Updated to libgit2-sys 0.14.0+1.5.0
- Removed the
Iterator
implementation forConfigEntries
due to the unsound usage of the API which allowed values to be used after free. AddedConfigEntries::next
andConfigEntries::for_each
for iterating over all entries in a safe manor. #854
- Added
Commit::body
andCommit::body_bytes
for retrieving the commit message body. #835 - Added
Tree::get_name_bytes
to handle non-UTF-8 entry names. #841
- Updated to libgit2-sys 0.13.4+1.4.2
- Updated to libgit2-sys 0.13.3+1.4.2
- Fixed the lifetime of
Remote::create_detached
. #825
- Added
Odb::exists_ext
to checks if an object database has an object, with extended flags. #818
- Updated to libgit2-sys 0.13.2+1.4.2
- Updated to libgit2-sys 0.13.1+1.4.2
- Added
opts::get_extensions
andopts::set_extensions
to support git extensions. #791 - Added
PackBuilder::name
andPackBuilder::name_bytes
. #806- Deprecated
PackBuilder::hash
, usePackBuilder::name
instead.
- Deprecated
- Added
FetchOptions::follow_redirects
andPushOptions::follow_redirects
. #806 - Added
StatusOptions::rename_threshold
. #806
- Updated to libgit2-sys 0.13.0+1.4.1 #806 #811