v0.18.0
API Changes
- All callbacks that go to libgit2 now have an optional
waitForResultflag that can betrue/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_optsinRevert.revertare now optionalcheckout_optsinReset.fromAnnotatedandReset.resetare now optionalReset.fromAnnotatedis now asyncmessageonStash.saveis now optional- Added
processMergeMessageCallbackonRepository#mergeBranchesto allow for custom merge messages - Add
beforeFinishFntoRepository#rebaseBranchesandRepository#continueRebase. This is called before the invocation offinish(). If the callback returns a promise,finish()will be called when the promise resolves. ThebeforeFinishFnwill be called with an object that has on it:ontoNameThe name of the branch that we rebased ontoontoShaThe sha that we rebased ontooriginalHeadNameThe name of the branch that we rebasedoriginalHeadShaThe sha of the branch that was rebasedrewittenwhich 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.
Included merged libgit2 PRs:
- Use a shared buffer in calls of git_treebuilder_write to avoid heap contention #3892
- WinHTTP: set proper error messages when SSL fails #4050
- Clang analyzer run #4051
- Extend packfile in increments of page_size. #4053
- Fix general example memory leaks #4078
- WIP: some coverity & compiler warning fixes #4086
- Fix a few recent warnings #4087
- Fix uninitialized variable warning #4095
- Update docs for git_oid_fromstrn and p #4096
- Fix digest credentials for proxy in windows #4104
- Vector reverse overflow #4105
- Flag given_opts in git_revert as optional #4108
- Flag checkout_opts in git_reset as optional #4109
- dirname with DOS prefixes #4111
- Add support for lowercase proxy environment variables #4112
- Flag options in git_stash_apply and git_stash_pop as being optional #4117
- rename detection: don't try to detect submodule renames #4119
- tests: fix permissions on testrepo.git index file #4121
Included non-merged libgit2 PRs:
Summary of Changes to NodeGit outside of libgit2 bump
- Don't overwrite C++ files for things that haven't changed PR #1091
- Add the option to "fire and forget" callbacks so libgit2 doesn't wait for JS to finish before proceeding PR #1208
- Send back the error code from libgit2 when a call fails PR #1209
- Initialize pointers to null PR #1210
- Replace Gitter with Slack PR #1212
- Make
given_optsinRevert.revertoptional PR #1213 - Make
Reset.fromAnnotatedasync andcheckout_optsoptional PR #1214 - Make
messageonStash.saveoptional PR #1215 - Add
Remote.lsto NodeGit PR #1218 - Add
processMergeMessageCallbacktoRepository#mergeBranchesto allow for custom merge messages PR #1219 - Bump libgit2 to 43275f5 PR #1223 from srajko/bump-libgit
- Provide rebase details on finish PR #1224
- Use wider int to calculate throttle window PR #1232
- Update comment to reflect the correct path for generated code output PR #1236
- Remove nwjs example from the docs PR #1238
- Remove
sudorequirement from linux 32-bit builds PR #1241