All callbacks that go to libgit2 now have an optional waitForResult flag that can be true/false. Defaults to false. When true it will not stop libgit2 from continuing on before the JS code is fully executed and resolved (in cases of a Promise). This is useful for progress callbacks (like fetching) where the bubbling up of the progress to JS doesn't really need the C/C++ code to wait for the JS code to fully handle the event before continuing. This can have serious performance implications for many callbacks that can be fired quite frequently.
given_opts in Revert.revert are now optional
checkout_opts in Reset.fromAnnotated and Reset.reset are now optional
Reset.fromAnnotated is now async
message on Stash.save is now optional
Added processMergeMessageCallback on Repository#mergeBranches to allow for custom merge messages
Add beforeFinishFn to Repository#rebaseBranches and Repository#continueRebase. This is called before the invocation of finish(). If the callback returns a promise, finish() will be called when the promise resolves. The beforeFinishFn will be called with an object that has on it:
ontoName The name of the branch that we rebased onto
ontoSha The sha that we rebased onto
originalHeadName The name of the branch that we rebased
originalHeadSha The sha of the branch that was rebased
rewitten which is an array of sha pairs that contain which contain what the commit sha was before the rebase and what the commit sha is after the rebase
Summary of Changes from bumping libgit2 to 43275f5
PR #1123 bumped libgit2 which brought in many changes and bug fixes.