libgit2-sys
Native bindings to the libgit2 library
0.18.8+1.9.7
109M downloads/mo
#763 most downloaded on crates.io
rust-lang/git2-rs
What this package is like to depend on
Last release 2 days ago
21 Aug 2026
Ships fairly regularly
a new release about every 3 months
Rarely documented
notes for 24 of 148 stable releases
4 versions withdrawn
withdrawn after publishing
12 years old
152 releases · first in 2014
6 releases in the last 12 months
see the full history below
Release timeline
152 releases · Nov 2014 to Aug 2026Releases
latest 60 of 152-
0.18.8+1.9.721 Aug 2026Release notes
Open source →Changed
- Updated to libgit2 1.9.7. This fixes CVE-2026-5917, a potential command injection on the remote host via unescaped repository paths in the libssh2 SSH transport.
-
0.18.7+1.9.622 Jul 2026Release notes
Open source →Changed
- Updated to libgit2 1.9.6.
This fixes SSH known-host loading with an invalid home directory,
an Android crash when
HOMEis unset, and hidden symbol visibility for static builds.
- Updated to libgit2 1.9.6.
This fixes SSH known-host loading with an invalid home directory,
an Android crash when
-
0.18.6+1.9.522 Jul 2026Release notes
Open source →Added
- Added bindings for
GIT_OPT_ADD_SSL_X509_CERT. - Added bindings for
GIT_OPT_GET_PACK_MAX_OBJECT_SIZEandGIT_OPT_SET_PACK_MAX_OBJECT_SIZE.
Changed
- Updated to libgit2 1.9.5. This fixes CVE-2026-53583, CVE-2026-53584, CVE-2026-53585, CVE-2026-53586, CVE-2026-53587, and GHSA-wfx7-g85r-q6vw.
- Updated the vendored build to use libgit2's bundled PCRE2 regex backend.
- Added bindings for
-
0.18.5+1.9.429 May 2026 -
0.18.4+1.9.308 May 2026Release notes
Open source →Changed
Fixed
- Fixed the signature of
git_config_backend::unlock. Previously the secondc_intargument was missing and the declaration was unusable. #1181
Added
- 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
- Fixed the signature of
-
0.18.3+1.9.206 Dec 2025Release notes
Open source →Changed
-
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
-
-
0.18.2+1.9.121 Jun 2025 -
0.18.1+1.9.017 Mar 2025Release notes
Open source →Added
- 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
- Fixed linking to advapi32 on Windows for recent nightly versions of Rust. #1143
- Added binding for
-
0.18.0+1.9.005 Jan 2025 -
0.17.0+1.8.114 Jun 2024 -
0.16.2+1.7.207 Feb 2024Release notes
Open source → -
0.16.1+1.7.128 Aug 2023Release notes
Open source → -
0.16.0+1.7.128 Aug 2023 withdrawnRelease notes
Open source →Added
- Added LIBGIT2_NO_VENDOR environment variable to force using the system libgit2. #966
- Added binding for
git_blame_buffer. #981
Changed
Fixed
- Fixed builds with cargo's
-Zminimal-versions. #960
-
0.15.2+1.6.428 May 2023 -
0.15.1+1.6.416 Apr 2023 -
0.15.0+1.6.302 Apr 2023Release notes
Open source →Added
- 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
Changed
- 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
- Fixed the rerun-if-changed build script support on Windows. This is only relevant for those working within the git2-rs source tree. #916
- Added bindings for
-
0.14.2+1.5.120 Jan 2023Release notes
Open source →Changed
- 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.5.1.
a233483a3952d6112653be86fb5ce65267e3d5ac
-
0.14.1+1.5.010 Jan 2023 -
0.14.0+1.5.028 Jul 2022Release notes
Open source →Added
- Added bindings for ownership validation. #839
Changed
- 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.
-
0.13.5+1.4.520 Jan 2023Release notes
Open source →Changed
- 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.
- Updated the bundled libgit2 to 1.4.5.
-
0.13.4+1.4.210 May 2022 -
0.13.3+1.4.227 Apr 2022Release notes
Open source →Changed
- 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
-
0.13.2+1.4.210 Mar 2022 -
0.13.1+1.4.228 Feb 2022 -
0.13.0+1.4.124 Feb 2022Release notes
Open source →Changed
- 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.
- Changed libgit2-sys to use the presence of the
-
0.12.26+1.3.001 Dec 2021Nothing published for this version
-
0.12.25+1.3.016 Nov 2021Nothing published for this version
-
0.12.24+1.3.001 Oct 2021Nothing published for this version
-
0.12.23+1.2.008 Sep 2021Nothing published for this version
-
0.12.22+1.1.012 Aug 2021Nothing published for this version
-
0.12.21+1.1.024 May 2021Nothing published for this version
-
0.12.20+1.1.011 May 2021Nothing published for this version
-
0.12.19+1.1.019 Apr 2021Nothing published for this version
-
0.12.18+1.1.021 Jan 2021Nothing published for this version
-
0.12.17+1.1.028 Dec 2020Nothing published for this version
-
0.12.16+1.1.022 Dec 2020Nothing published for this version
-
0.12.15+1.1.018 Dec 2020Nothing published for this version
-
0.12.14+1.1.014 Oct 2020Nothing published for this version
-
0.12.13+1.0.108 Sep 2020Nothing published for this version
-
0.12.12+1.0.121 Aug 2020Nothing published for this version
-
0.12.11+1.0.119 Aug 2020Nothing published for this version
-
0.12.9+1.0.121 Jul 2020Nothing published for this version
-
0.12.8+1.0.121 Jul 2020 withdrawnNothing published for this version
-
0.12.7+1.0.003 Jun 2020Nothing published for this version
-
0.12.6+1.0.019 May 2020Nothing published for this version
-
0.12.5+1.0.024 Apr 2020Nothing published for this version
-
0.12.4+1.0.022 Apr 2020Nothing published for this version
-
0.12.3+1.0.010 Apr 2020Nothing published for this version
-
0.12.2+1.0.001 Apr 2020Nothing published for this version
-
0.12.1+0.99.001 Apr 2020Nothing published for this version
-
0.12.0+0.99.013 Mar 2020Nothing published for this version
-
0.11.0+0.99.026 Feb 2020Nothing published for this version
-
0.10.012 Dec 2019Nothing published for this version
-
0.9.220 Nov 2019Nothing published for this version
-
0.9.109 Sep 2019Nothing published for this version
-
0.9.020 Aug 2019Nothing published for this version
-
0.8.224 Jul 2019Nothing published for this version
-
0.8.117 Jun 2019Nothing published for this version
-
0.8.004 Jun 2019Nothing published for this version
-
0.7.1113 Dec 2018Nothing published for this version