- Fixed the signature of
git_config_backend::unlock. Previously the secondc_intargument was missing and the declaration was unusable. #1181
- Added experimental SHA256 OID support behind a new
unstable-sha256Cargo feature. This reflects upstream libgit2'sGIT_EXPERIMENTAL_SHA256feature gate, and requires the linked libgit2 C library to be built with the experimental flag. When enabled, the build supports linking against a systemlibgit2-experimental.so. See the feature description inCargo.tomlfor ABI-stability caveats. #1201 - Added binding for
git_repository_oid_type. #1204 - Added binding for
git_oid_is_zero, replacing the deprecatedgit_oid_iszero. #1205 - Added binding for
git_remote_oid_type. #1242 - Added
GIT_REPOSITORY_INIT_RELATIVE_GITLINKflag. #1242 - Added bindings for the
git_merge_file_inputAPI, includinggit_merge_file_input_init. #1210 - Added bindings for
git_odb_streamandgit_odb_stream_t. #1181 - Added bindings for
git_reference_iterator. #1181 - Added bindings for APIs from
git2/sys/config.h, including the missingiteratorfunction ongit_config_backend. #1181 - Added binding for
git_reference_dup. #1233 - Added binding for
git_signature_default_from_env. #1237
-
Updated to libgit2 1.9.2 #1195
Note that this release fixes two security issues. However, the Rust bindings do not provide direct support for the affected APIs. In particular:
- The
libgit2-syscrate does not support building the vendored C library with theGIT_SSH_EXECsetting. This will only be an issue if you are binding to a system-provided library built with this setting. - The
git2crate does not support custom SSH credentials. However, thelibgit2-syscrate does export thegit_cred_ssh_custom_newC-binding. Any projects using the C bindings directly are affected.
- The
- Added binding for
git_branch_upstream_merge#1131 - Added bindings for
git_merge_file_optionsandgit_merge_file_result,git_merge_file_options_init,git_merge_file_from_index,git_merge_file_result_free, and updatedgit_merge_file_flag_t. #1062
- Fixed linking to advapi32 on Windows for recent nightly versions of Rust. #1143
- ❗ Updated to libgit2 1.9.0 #1111
- ❗ Removed the
ssh_key_from_memoryCargo feature, it was unused. #1087
- ❗ Updated to libgit2 1.7.2. This fixes CVE-2024-24575 and CVE-2024-24577. #1017
- Fixed publish of 0.16.0 missing the libgit2 submodule.
- Added LIBGIT2_NO_VENDOR environment variable to force using the system libgit2. #966
- Added binding for
git_blame_buffer. #981
- Fixed builds with cargo's
-Zminimal-versions. #960
- Added bindings for stash options. #930
- Updated to libgit2 1.6.4. This brings in a minor fix on Windows when the ProgramData directory does not exist. #948
- Added bindings for
git_remote_name_is_valid,git_reference_name_is_valid, andgit_tag_name_is_valid. #882 - Added bindings for
git_indexersupport. #911 - Added bindings for
git_index_find_prefix. #903 - Added support for the deprecated group-writeable blob file mode. #887
- Updated libssh2-sys from 0.2 to 0.3. This brings in numerous changes, including SHA2 algorithm support with RSA. #919
- 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
- The
GIT_DIFF_constants have been changed to be agit_diff_option_ttype. #935
- Fixed the rerun-if-changed build script support on Windows. This is only relevant for those working within the git2-rs source tree. #916
- Updated the bundled libgit2 to 1.5.1.
a233483a3952d6112653be86fb5ce65267e3d5ac
- Changes: fbea439d4b6fc91c6b619d01b85ab3b7746e4c19...42e5db98b963ae503229c63e44e06e439df50e56:
- Fixes GHSA-8643-3wh5-rmjq to validate SSH host keys.
- The supported libgit2 system library range is 1.5.1 to less than 1.6.0 or 1.4.5 to less than 1.5.0, which should include this fix.
- Updated the bundled libgit2 to 1.4.5.
- Changes: 2a0d0bd19b5d13e2ab7f3780e094404828cbb9a7...cd6f679af401eda1f172402006ef8265f8bd58ea:
- Fixes GHSA-8643-3wh5-rmjq to validate SSH host keys.
- The supported libgit2 system library range is 1.4.5 to less than 1.5.0.
- Added variants to
git_cert_ssh_raw_type_t. #909
- Added bindings for ownership validation. #839
- Updated the bundled libgit2 to 1.5.0.
#839
#858
- Changes: 2a0d0bd19b5d13e2ab7f3780e094404828cbb9a7...fbea439d4b6fc91c6b619d01b85ab3b7746e4c19:
- The supported libgit2 system library range is 1.4.4 to less than 1.6.0.
- Fixes CVE 2022-24765.
- Added bindings for
git_commit_body#835
- Updated the bundled libgit2 to 1.5.0-alpha. #822
- Changed the pkg-config probe to restrict linking against a version of a system-installed libgit2 to a version less than 1.5.0. Previously it would allow any version above 1.4.0 which could pick up an API-breaking version. #817
- When using pkg-config to locate libgit2, the system lib dirs are no longer added to the search path. #831
- When using the
zlib-ng-compatCargo feature,libssh2-sysis no longer automatically included unless you also enable thesshfeature. #833
- Added bindings for
git_odb_exists_ext. #818
- Changed libgit2-sys to use the presence of the
srcdirectory instead of.gitto determine if it has a git submodule that needs updating. #801 - Updated the bundled libgit2 to 1.4.1 (see also 1.4.0)
#806
#811
- Changes: b7bad55e4bb0a285b073ba5e02b01d3f522fc95d...fdd15bcfca6b2ec4b7ecad1aa11a396cb15bd064
- The supported libgit2 system library range is 1.4.0 or greater.