Update dependency libgit2/libgit2 to v1.9.0
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| libgit2/libgit2 | ironbank-github | minor |
v1.8.4 -> v1.9.0
|
⚠️ WarningSome dependencies could not be looked up. Check the warning logs for more information.
Release Notes
libgit2/libgit2 (libgit2/libgit2)
v1.9.0: libgit2 v1.9.0
This is release v1.9.0, "Schwibbogen". As usual, it contains numerous bug fixes, compatibility improvements, and new features.
This is expected to be the final release in the libgit2 v1.x lineage. libgit2 v2.0 is expected to be the next version, with support for SHA256 moving to "supported" status (out of "experimental" status). This means that v2.0 will have API and ABI changes to support SHA256, as well as other breaking changes.
Major changes
-
Documentation improvements We've launched a new website for our API reference docs at https://libgit2.org/docs/reference/main. To support this, we've updated the documentation to ensure that all APIs are well-documented, and added docurium-style specifiers to indicate more depth about the API surface.
We now also publish a JSON blob with the API structure and the documentation that may be helpful for binding authors.
-
TLS cipher updates libgit2 has updated our TLS cipher selection to match the "compatibility" cipher suite settings as documented by Mozilla.
-
Blame improvements The blame API now contains committer information and commit summaries for blame hunks, and the ability to get information about the line of text that was modified. In addition, a CLI blame command has been added so that the blame functionality can be benchmarked by our benchmark suite.
-
More CLI commands libgit2 has added
blameandinitcommands, which have allowed for further benchmarking and several API improvements and git compatibility updates. -
Warning when configuring without SHA1DC Users are encouraged to use SHA1DC, which is git's hash; users should not use SHA1 in the general case. Users will now be warned if they try to configure cmake with a SHA1 backend (
-DUSE_SHA1=...).
Breaking changes
There are several ABI-breaking changes that integrators, particularly maintainers of bindings or FFI users, may want to be aware of.
-
Blame hunk structure updates (ABI breaking change) There are numerous additions to the
git_blame_hunkstructure to accommodate more information about the blame process. -
Checkout strategy updates (ABI breaking change) The values for
GIT_CHECKOUT_SAFEandGIT_CHECKOUT_NONEhave been updated.GIT_CHECKOUT_SAFEis now0; this was implicitly the default value (with the options constructors setting that as the checkout strategy). It is now the default if the checkout strategy is set to0. This allows for an overall code simplification in the library. -
Configuration entry member removal (ABI breaking change) The
git_config_entrystructure no longer contains afreemember; this was an oversight as end-users should not try to free that structure. -
Configuration backend function changes (ABI breaking change)
git_config_backends should now returngit_config_backend_entryobjects instead ofgit_config_entryobjects. This allows backends to provide a mechanism to nicely free the configuration entries that they provide.
What's Changed
New features
-
The
git_signature_default_from_envAPI will now produce a pair ofgit_signatures representing the author, and the committer, taking theGIT_AUTHOR_NAMEandGIT_COMMITTER_NAMEenvironment variables into account. Added by @u-quark in https://github.com/libgit2/libgit2/pull/6706 -
packbuilder can now be interrupted from a callback. Added @roberth in https://github.com/libgit2/libgit2/pull/6874
-
libgit2 now claims to honor the
preciousObjectrepository extension. This extension indicates that the client will never delete objects (in other words, will not garbage collect). libgit2 has no functionality to remove objects, so it implicitly obeys this in all cases. Added by @ethomson in https://github.com/libgit2/libgit2/pull/6886 -
Push status will be reported even when a push fails. This is useful to give information from the server about possible updates, even when the overall status failed. Added by @yerseg in https://github.com/libgit2/libgit2/pull/6876
-
You can now generate a thin pack from a mempack instance using
git_mempack_write_thin_pack. Added by @roberth in https://github.com/libgit2/libgit2/pull/6875 -
The new
LIBGIT2_VERSION_CHECKmacro will indicate whether the version of libgit2 being compiled against is at least the version specified. For example:#if LIBGIT2_VERSION_CHECK(1, 6, 3)is true for libgit2 version 1.6.3 or newer. In addition, the newLIBGIT2_VERSION_NUMBERmacro will return an integer version representing the libgit2 version number. For example, for version 1.6.3,LIBGIT2_VERSION_NUMBERwill evaluate to010603. Added by @HamedMasafi in https://github.com/libgit2/libgit2/pull/6882 -
Custom X509 certificates can be added to OpenSSL's certificate store using the
GIT_OPT_ADD_SSL_X509_CERToption. Added by @yerseg in https://github.com/libgit2/libgit2/pull/6877 -
The libgit2 compatibility CLI now has a
git blamecommand. Added by @ethomson in https://github.com/libgit2/libgit2/pull/6907 -
Remote callbacks now provide an
update_refscallback so that users can now get therefspecof the updated reference during push. This gives more complete information about the remote reference that was updated. Added by @ethomson in https://github.com/libgit2/libgit2/pull/6559 -
An optional FIPS-compliant mode for hashing is now available; you can set
-DUSE_SHA256=OpenSSL-FIPSto enable it. Added by @marcind-dot in https://github.com/libgit2/libgit2/pull/6906 -
The git-compatible CLI now supports the
git initcommand, which has been useful in identifying API improvements and incompatibilities with git. Added by @ethomson in https://github.com/libgit2/libgit2/pull/6984 -
Consumers can now query more information about how libgit2 was compiled, and query the "backends" that libgit2 uses. Added by @ethomson in https://github.com/libgit2/libgit2/pull/6971
Bug fixes
- Fix constness issue introduced in #6716 by @ethomson in https://github.com/libgit2/libgit2/pull/6829
- odb: conditional
git_hash_ctx_cleanupingit_odb_streamby @gensmusic in https://github.com/libgit2/libgit2/pull/6836 - Fix shallow root maintenance during fetch by @kcsaul in https://github.com/libgit2/libgit2/pull/6846
- Headers cleanup by @anatol in https://github.com/libgit2/libgit2/pull/6842
- http: Initialize
on_statuswhen using the http-parser backend by @civodul in https://github.com/libgit2/libgit2/pull/6870 - Leak in
truncate_racily_cleanin index.c by @lstoppa in https://github.com/libgit2/libgit2/pull/6884 - ssh: Omit port option from ssh command unless specified in remote url by @jayong93 in https://github.com/libgit2/libgit2/pull/6845
- diff: print the file header on
GIT_DIFF_FORMAT_PATCH_HEADERby @carlosmn in https://github.com/libgit2/libgit2/pull/6888 - Add more robust reporting to SecureTransport errors on macos by @vcfxb in https://github.com/libgit2/libgit2/pull/6848
- transport: do not filter tags based on ref dir in local by @rindeal in https://github.com/libgit2/libgit2/pull/6881
- push: handle tags to blobs by @ethomson in https://github.com/libgit2/libgit2/pull/6898
- Fixes for OpenSSL dynamic by @ethomson in https://github.com/libgit2/libgit2/pull/6901
- realpath: unbreak build on OpenBSD by @ajacoutot in https://github.com/libgit2/libgit2/pull/6932
- util/win32: Continue if access is denied when deleting a folder by @lrm29 in https://github.com/libgit2/libgit2/pull/6929
- object:
git_object_short_idfails with core.abbrev string values by @lrm29 in https://github.com/libgit2/libgit2/pull/6944 - Clear data after negotiation by @lrm29 in https://github.com/libgit2/libgit2/pull/6947
- smart: ignore shallow/unshallow packets during ACK processing by @kempniu in https://github.com/libgit2/libgit2/pull/6973
Security fixes
- ssh: Include rsa-sha2-256 and rsa-sha2-512 in the list of hostkey types by @lrm29 in https://github.com/libgit2/libgit2/pull/6938
- TLS: v1.2 and updated cipher list by @ethomson in https://github.com/libgit2/libgit2/pull/6960
Code cleanups
- checkout: make safe checkout the default by @ethomson in https://github.com/libgit2/libgit2/pull/6037
- url: track whether url explicitly specified a port by @ethomson in https://github.com/libgit2/libgit2/pull/6851
- config: remove
freeptr fromgit_config_entryby @ethomson in https://github.com/libgit2/libgit2/pull/6804 - Add SecCopyErrorMessageString for iOS and update README for iOS by @Kyle-Ye in https://github.com/libgit2/libgit2/pull/6862
- vector: free is now dispose by @ethomson in https://github.com/libgit2/libgit2/pull/6896
- hashmap: a libgit2-idiomatic khash by @ethomson in https://github.com/libgit2/libgit2/pull/6897
- hashmap: asserts by @ethomson in https://github.com/libgit2/libgit2/pull/6902
- hashmap: further asserts by @ethomson in https://github.com/libgit2/libgit2/pull/6904
- Make
GIT_WIN32an internal declaration by @ethomson in https://github.com/libgit2/libgit2/pull/6940 - pathspec: additional pathspec wildcard tests by @ethomson in https://github.com/libgit2/libgit2/pull/6959
- repo: don't require option when
template_pathis specified by @ethomson in https://github.com/libgit2/libgit2/pull/6983 - options: update X509 cert constant by @ethomson in https://github.com/libgit2/libgit2/pull/6974
- remote: Handle fetching negative refspecs by @ryan-ph in https://github.com/libgit2/libgit2/pull/6962
- Restore tls v1.0 support temporarily by @ethomson in https://github.com/libgit2/libgit2/pull/6964
- SHA256 improvements by @ethomson in https://github.com/libgit2/libgit2/pull/6965
Benchmarks
- Add benchmarks for blame by @ethomson in https://github.com/libgit2/libgit2/pull/6920
Build and CI improvements
- README: add experimental builds to ci table by @ethomson in https://github.com/libgit2/libgit2/pull/6816
- Update stransport.c by @ethomson in https://github.com/libgit2/libgit2/pull/6891
- stransport: initialize for iOS by @ethomson in https://github.com/libgit2/libgit2/pull/6893
- CI updates by @ethomson in https://github.com/libgit2/libgit2/pull/6895
- Configurable C standard by @ethomson in https://github.com/libgit2/libgit2/pull/6911
- cmake: update python locator by @ethomson in https://github.com/libgit2/libgit2/pull/6915
- ci: don't run Windows SHA256 gitdaemon tests by @ethomson in https://github.com/libgit2/libgit2/pull/6916
- cmake-standard c standards by @ethomson in https://github.com/libgit2/libgit2/pull/6914
- ci: don't run Windows SHA256 gitdaemon tests by @ethomson in https://github.com/libgit2/libgit2/pull/6919
- Improve dependency selection in CMake by @ethomson in https://github.com/libgit2/libgit2/pull/6924
- ci: port latest fixes to nightlies by @ethomson in https://github.com/libgit2/libgit2/pull/6926
- cmake: warn for not using sha1dc by @ethomson in https://github.com/libgit2/libgit2/pull/6986
Documentation improvements
- Fix docs for
git_odb_stream_readreturn value. by @ehuss in https://github.com/libgit2/libgit2/pull/6837 - docs: Add instructions to build examples by @thymusvulgaris in https://github.com/libgit2/libgit2/pull/6839
- Fix contradictory phrase in SECURITY.md by @Kyle-Ye in https://github.com/libgit2/libgit2/pull/6859
- Update README.md by @Kyle-Ye in https://github.com/libgit2/libgit2/pull/6860
- README updates by @ethomson in https://github.com/libgit2/libgit2/pull/6908
- typo: s/size on bytes/size in bytes/ by @John-Colvin in https://github.com/libgit2/libgit2/pull/6909
- readme: add OpenSSF best practices badge by @ethomson in https://github.com/libgit2/libgit2/pull/6925
- Update documentation of
merge_base_manyby @Caleb-T-Owens in https://github.com/libgit2/libgit2/pull/6927 - Include documentation generator by @ethomson in https://github.com/libgit2/libgit2/pull/6945
- Update documentation generation workflow by @ethomson in https://github.com/libgit2/libgit2/pull/6948
- Improve documentation and validate during CI by @ethomson in https://github.com/libgit2/libgit2/pull/6949
- Add search functionality to our docs generator by @ethomson in https://github.com/libgit2/libgit2/pull/6953
- Documentation: don't resort versions by @ethomson in https://github.com/libgit2/libgit2/pull/6954
- Documentation: update
refdb_backenddocs by @ethomson in https://github.com/libgit2/libgit2/pull/6955 - Documentation: clean up old documentation by @ethomson in https://github.com/libgit2/libgit2/pull/6957
- docs: remind people about
git_libgit2_initby @ethomson in https://github.com/libgit2/libgit2/pull/6958 - Update changelog with v1.8.4 content by @ethomson in https://github.com/libgit2/libgit2/pull/6961
Git compatibility fixes
- Limit
.gitattributesand.gitignorefiles to 100 MiB by @csware in https://github.com/libgit2/libgit2/pull/6834 - refs: Handle normalizing negative refspecs by @ryan-ph in https://github.com/libgit2/libgit2/pull/6951
- repo: put a newline on the .git link file by @ethomson in https://github.com/libgit2/libgit2/pull/6981
Dependency updates
- zlib: update bundled zlib to v1.3.1 by @ethomson in https://github.com/libgit2/libgit2/pull/6905
- Update ntlmclient dependency by @ethomson in https://github.com/libgit2/libgit2/pull/6912
Other changes
- Create FUNDING.json by @BenJam in https://github.com/libgit2/libgit2/pull/6853
New Contributors
- @gensmusic made their first contribution in https://github.com/libgit2/libgit2/pull/6836
- @u-quark made their first contribution in https://github.com/libgit2/libgit2/pull/6706
- @thymusvulgaris made their first contribution in https://github.com/libgit2/libgit2/pull/6839
- @anatol made their first contribution in https://github.com/libgit2/libgit2/pull/6842
- @BenJam made their first contribution in https://github.com/libgit2/libgit2/pull/6853
- @Kyle-Ye made their first contribution in https://github.com/libgit2/libgit2/pull/6859
- @civodul made their first contribution in https://github.com/libgit2/libgit2/pull/6870
- @lstoppa made their first contribution in https://github.com/libgit2/libgit2/pull/6884
- @jayong93 made their first contribution in https://github.com/libgit2/libgit2/pull/6845
- @roberth made their first contribution in https://github.com/libgit2/libgit2/pull/6874
- @vcfxb made their first contribution in https://github.com/libgit2/libgit2/pull/6848
- @yerseg made their first contribution in https://github.com/libgit2/libgit2/pull/6876
- @rindeal made their first contribution in https://github.com/libgit2/libgit2/pull/6881
- @HamedMasafi made their first contribution in https://github.com/libgit2/libgit2/pull/6882
- @John-Colvin made their first contribution in https://github.com/libgit2/libgit2/pull/6909
- @marcind-dot made their first contribution in https://github.com/libgit2/libgit2/pull/6906
- @ajacoutot made their first contribution in https://github.com/libgit2/libgit2/pull/6932
- @Caleb-T-Owens made their first contribution in https://github.com/libgit2/libgit2/pull/6927
- @ryan-ph made their first contribution in https://github.com/libgit2/libgit2/pull/6951
- @bmarques1995 made their first contribution in https://github.com/libgit2/libgit2/pull/6840
Full Changelog: https://github.com/libgit2/libgit2/compare/v1.8.4...v1.9.0
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.