@@ -17,14 +17,37 @@ v0.24 + 1
1717
1818* Improve the performance of the revwalk and bring us closer to git's code.
1919
20+ * The reference db has improved support for concurrency and returns ` GIT_ELOCKED `
21+ when an operation could not be performed due to locking.
22+
23+ * Nanosecond resolution is now activated by default, following git's change to
24+ do this.
25+
26+ * We now restrict the set of ciphers we let OpenSSL use by default.
27+
28+ * Users can now register their own merge drivers for use with ` .gitattributes ` .
29+ The library also gained built-in support for the union merge driver.
30+
31+ * The default for creating references is now to validate that the object does
32+ exist.
33+
34+ * Add ` git_proxy_options ` which is used by the different networking
35+ implementations to let the caller specify the proxy settings instead of
36+ relying on the environment variables.
37+
2038### API additions
2139
2240* You can now get the user-agent used by libgit2 using the
2341 ` GIT_OPT_GET_USER_AGENT ` option with ` git_libgit2_opts() ` .
2442 It is the counterpart to ` GIT_OPT_SET_USER_AGENT ` .
2543
44+ * The ` GIT_OPT_SET_SSL_CIPHERS ` option for ` git_libgit2_opts() ` lets you specify
45+ a custom list of ciphers to use for OpenSSL.
46+
2647* ` git_commit_create_buffer() ` creates a commit and writes it into a
27- user-provided buffer instead of writing it into the object db.
48+ user-provided buffer instead of writing it into the object db. Combine it with
49+ ` git_commit_create_with_signature() ` in order to create a commit with a
50+ cryptographic signature.
2851
2952* ` git_blob_create_fromstream() ` and
3053 ` git_blob_create_fromstream_commit() ` allow you to create a blob by
@@ -50,12 +73,48 @@ v0.24 + 1
5073 ` git_repository_open_ext ` with this flag will error out if either
5174 ` $GIT_WORK_TREE ` or ` $GIT_COMMON_DIR ` is set.
5275
53- * ` git_diff_from_buffer ` can create a ` git_diff ` object from the contents
76+ * ` git_diff_from_buffer() ` can create a ` git_diff ` object from the contents
5477 of a git-style patch file.
5578
5679* ` git_index_version() ` and ` git_index_set_version() ` to get and set
5780 the index version
5881
82+ * ` git_odb_expand_ids() ` lets you check for the existence of multiple
83+ objects at once.
84+
85+ * The new ` git_blob_dup() ` , ` git_commit_dup() ` , ` git_tag_dup() ` and
86+ ` git_tree_dup() ` functions provide type-specific wrappers for
87+ ` git_object_dup() ` to reduce noise and increase type safety for callers.
88+
89+ * ` git_reference_dup() ` lets you duplicate a reference to aid in ownership
90+ management and cleanup.
91+
92+ * ` git_signature_from_buffer() ` lets you create a signature from a string in the
93+ format that appear in objects.
94+
95+ * ` git_tree_create_updated() ` lets you create a tree based on another one
96+ together with a list of updates. For the covered update cases, it's more
97+ efficient than the ` git_index ` route.
98+
99+ * ` git_apply_patch() ` applies hunks from a ` git_patch ` to a buffer.
100+
101+ * ` git_diff_to_buf() ` lets you print an entire diff directory to a buffer,
102+ similar to how ` git_patch_to_buf() ` works.
103+
104+ * ` git_proxy_init_options() ` is added to initialize a ` git_proxy_options `
105+ structure at run-time.
106+
107+ * ` git_merge_driver_register() ` , ` git_merge_driver_unregister() ` let you
108+ register and unregister a custom merge driver to be used when ` .gitattributes `
109+ specifies it.
110+
111+ * ` git_merge_driver_lookup() ` can be used to look up a merge driver by name.
112+
113+ * ` git_merge_driver_source_repo() ` , ` git_merge_driver_source_ancestor() ` ,
114+ ` git_merge_driver_source_ours() ` , ` git_merge_driver_source_theirs() ` ,
115+ ` git_merge_driver_source_file_options() ` added as accessors to
116+ ` git_merge_driver_source ` .
117+
59118### API removals
60119
61120* ` git_blob_create_fromchunks() ` has been removed in favour of
@@ -80,6 +139,8 @@ v0.24 + 1
80139 If this is ` NULL ` , then it will not be called and the ` exists ` function
81140 will be used instead.
82141
142+ * ` git_remote_connect() ` now accepts proxy options.
143+
83144v0.24
84145-------
85146
0 commit comments