- Fix undefined behavior when dereferencing empty
Buf. #1213
- Bumped requirement to libgit2-sys 0.18.3, which updates libgit2 from 1.9.0 to 1.9.2. #1197
- Added
Status::WT_UNREADABLE. #1151
- Added missing codes for
GIT_EDIRECTORY,GIT_EMERGECONFLICT,GIT_EUNCHANGED,GIT_ENOTSUPPORTED, andGIT_EREADONLYtoError::raw_code. #1153 - Fixed missing initialization in
Indexer::new. #1160
- Added
Repository::branch_upstream_merge()#1131 - Added
Index::conflict_get()#1134 - Added
Index::conflict_remove()#1133 - Added
opts::set_cache_object_limit()#1118 - Added
Repo::merge_file_from_index()and associatedMergeFileOptionsandMergeFileResult. #1062
- The
urldependency minimum raised to 2.5.4 #1128 - Changed the tracing callback to abort the process if the callback panics instead of randomly detecting the panic in some other function. #1121
- Credential helper config (loaded with
CredentialHelper::config) now checks for helpers that start with something that looks like an absolute path, rather than checking for a/or\anywhere in the helper string (which resolves an issue if the helper had arguments with/or\). #1137
- Fixed panic in
Remote::url_bytesif the url is empty. #1120 - Fixed incorrect lifetimes on
Patch::delta,Patch::hunk, andPatch::line_in_hunk. The return values must not outlive thePatch. #1141 - Bumped requirement to libgit2-sys 0.18.1, which fixes linking of advapi32 on Windows. #1143
Debugis now implemented fortransport::Service#1074- Added
Repository::commondir#1079 - Added
Repository::merge_base_octopus#1088 - Restored impls for
PartialOrd,Ord, andHashfor bitflags types that were inadvertently removed in a prior release. #1096 - Added
CheckoutBuilder::disable_pathspec_match#1107 - Added
PackBuilder::write#1110
- ❗ Updated to libgit2 1.9.0 #1111
- ❗ Removed the
ssh_key_from_memoryCargo feature, it was unused. #1087 - ❗ Errors from
Tree::walkare now correctly reported to the caller. #1098 - ❗ The
trace_setcallback now takes a&[u8]instead of a&str. #1071 - ❗
Error::last_errornow returnsErrorinstead ofOption<Error>. #1072
- Fixed
OdbReader::readreturn value. #1061 - When a credential helper executes a shell command, don't pop open a console window on Windows. #1075
- Added
optsfunctions 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_fileandopts::set_ssl_cert_dirfor setting Certificate Authority file locations. #997 - Added
TreeIter::nthwhich makes jumping ahead in the iterator more efficient. #1004 - Added
Repository::find_commit_by_prefixto find a commit by a shortened hash. #1011 - Added
Repository::find_tag_by_prefixto find a tag by a shortened hash. #1015 - Added
Repository::find_object_by_prefixto 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::depthto 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
DiffPatchidOptionsandStashSaveOptionsare publicly exported allowing the corresponding APIs to actually be used. #988
- Added
Blame::blame_bufferfor 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_callbackto take a mutable reference to its callback to enforce type safety. #970 - Implemented
FusedIteratorfor 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
IntoIteratorimplementation forStatuses. #880 - Added
Reference::symbolic_set_target#893 - Added
Copy,Clone,Debug,PartialEq, andEqimplementations forAutotagOptionandFetchPrune. #889 - Added
EqandPartialEqimplementations 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
Indexertype 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_negotiationcallback and the correspondingPushUpdatetype 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::credentialscallback error handler to correctly set the libgit2 error class. #918 DiffOptions::flagnow takes agit_diff_option_ttype. #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_checkcallback. #909 - Updated to libgit2-sys 0.14.1+1.5.0
- Added
Repository::tag_annotation_createbindinggit_tag_annotation_create. #845 - Added the
Emailtype which represents a patch in mbox format for sending via email. Added theEmailCreateOptionsstruct to control formatting of the email. DeprecatesDiff::format_email, useEmail::from_diffinstead. #847 - Added
ErrorCode::Ownerto map to the newGIT_EOWNERerrors. #839 - Added
opts::set_verify_owner_validationto set whether or not ownership validation is performed. #839
- Updated to libgit2-sys 0.14.0+1.5.0
- Removed the
Iteratorimplementation forConfigEntriesdue to the unsound usage of the API which allowed values to be used after free. AddedConfigEntries::nextandConfigEntries::for_eachfor iterating over all entries in a safe manor. #854
- Added
Commit::bodyandCommit::body_bytesfor retrieving the commit message body. #835 - Added
Tree::get_name_bytesto 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_extto 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_extensionsandopts::set_extensionsto support git extensions. #791 - Added
PackBuilder::nameandPackBuilder::name_bytes. #806- Deprecated
PackBuilder::hash, usePackBuilder::nameinstead.
- Deprecated
- Added
FetchOptions::follow_redirectsandPushOptions::follow_redirects. #806 - Added
StatusOptions::rename_threshold. #806
- Updated to libgit2-sys 0.13.0+1.4.1 #806 #811