correctly formed, it will give bad results. This is the git approach
and cuts a significant amount of time when reading the trees.
+* Filter registration is now protected against concurrent
+ registration.
+
+* Filenames which are not valid on Windows in an index no longer cause
+ to fail to parse it on that OS.
+
+* Rebases can now be performed purely in-memory, without touching the
+ repository's workdir.
+
### API additions
* `git_config_lock()` has been added, which allow for
* `git_fetch_options` and `git_push_options` have gained a `custom_headers`
field to set the extra HTTP header fields to send.
-
* `git_stream_register_tls()` lets you register a callback to be used
as the constructor for a TLS stream instead of the libgit2 built-in
one.
+* `git_commit_header_field()` allows you to look up a specific header
+ field in a commit.
+
+* `git_commit_extract_signature()` extracts the signature from a
+ commit and gives you both the signature and the signed data so you
+ can verify it.
+
### API removals
### Breaking API changes
`GIT_CONFIG_LEVEL_PROGRAMDATA` which represent a rough Windows equivalent
to the system level configuration.
+* `git_rebase_init()` not also takes a merge options.
+
+* The index no longer performs locking itself. This is not something
+ users of the library should have been relying on as it's not part of
+ the concurrency guarantees.
+
v0.23
------