v0.17.0
Targeted Platform Changes
In this release we had added support for Node v7 and latest Electron. We have removed support for Node v0.12 and v5.
We are also deprecating nw.js support since it is currently broken, no one in the current team uses it and we would not be able to currently support nw.js in an effective manner with a good user experience.
Now building against shared libcurl lib
For proxy support we now use libcurl for HTTP/HTTPS transport which should have no noticeable change in NodeGit remote operations but if changes are noticed this is worth mentioning as a potential source.
Memory leak fixes and stability increases
Many PR's were made to fix memory leaks as they were found so memory usage should go down in this version for long running scripts. Additionally, when performing operations with callbacks (transfer progress, credentials, etc...) there was a small chance for a segfault when NodeGit would schedule the callback to go into JavaScript. This is now fixed.
Fixes to the build
Many users, especially on windows, were experiencing errors during the build. The build still isn't perfect but a lot of the bugs were fixed.
Bump libgit2 to 0bf0526
The majority of changes to NodeGit v17 were in libgit2. The API breaking changes that are known are:
RevWalkis returning different results libgit2 PR #3921- Changes in error messages returned libgit2 PR #4049
Summary of changes that were brought in:
Changes to NodeGit outside of libgit2 bump
- Define GIT_SSH_MEMORY_CREDENTIALS for libgit2 PR #949
- Add "Path" to ssh variable names in tests for clarity PR #1135
- Fix revwalk memory leaks PR #1137
- Fix tree entry leaks PR #1138
- Fix typo in postinstall script PR #1141
- Fix windows exception handling in build PR #1143
- Fix CI failures on node 0.12 PR #1144
- Fix postinstall script crash when install location has spaces in its path PR #1148
- Update 0.13 changelog PR #1151
- Minor documentation fix in Checkout.index PR #1164
- FreeBSD also uses struct timespec st_mtim PR #1165
- README.md needs to show where to get Slack invitation PR #1170
- Add @async tag to
Tree#getEntryPR #1178 - Fix incorrect anchor link in TESTING.md PR #1179
- Added tests for Tag PR #1180
- Added tests for Branch PR #1181
- Escape the spaces in dir for shell command PR #1186
- Bump libgit to 0bf0526 PR #1187
- Checkout's tree* functions do not support Oid as a parameter PR #1190
- Build against shared library for libcurl PR #1195
- Move libuv calls to correct thread PR #1197
- Update
Repository#createBranchdocs PR #1198 - Remove Node v0.12 and v5 PR #1199
- Specify acceptable types for
lookupanddwimin Reference PR #1203 - Build for Node 7.4.0 PR #1204
- Write the index to a repository directly in merge-cleanly.js examples PR #1205