Changelog
<a name="v0-17-0" href="#v0-17-0">v0.17.0</a> (2017-01-06)
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.
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.
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.
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.
The majority of changes to NodeGit v17 were in libgit2. The API breaking changes that are known are:
RevWalk
is returning different results libgit2 PR #3921Summary of changes that were brought in:
https://github.com/nodegit/nodegit/pull/1187#issuecomment-277760323
Tree#getEntry
PR #1178Repository#createBranch
docs PR #1198lookup
and dwim
in Reference PR #1203Changelog
<a name="v0-16-0" href="#v0-16-0">v0.16.0</a> (2016-09-15)
Changelog
<a name="v0-14-1" href="#v0-14-1">v0.14.1</a> (2016-06-20)
Changelog
<a name="v0-15-1" href="#v0-15-1">v0.15.1</a> (2016-06-20)
Changelog
<a name="v0-15-0" href="#v0-15-0">v0.15.0</a> (2016-06-20)
This updates NodeGit to use the latest HEAD
version of libgit2. The plan for staying on the official tagged releases of libgit2 is that they will get a maintenance branch and not-breaking API fixes will be backported to them. The first branch of this sort is maint/0.14
. Going forward new releases of NodeGit will follow closely to the master
branch of libgit2.
Summary of changes that were brought in:
NodeGit.FetchOptions
, and NodeGit.PushOptions
now have a proxyOpts
field that accepts a NodeGit.ProxyOptions
object that allows NodeGit to use a proxy for all remote communication
NodeGit.MergeOptions
has a defaultDriver
field that lets the caller change the driver used to when both sides of a merge have changed
Commit.createWithSignature
allows the caller to create a signed commit. There are no tests for this currently so it's labelled experimental.
Blob
, Commit
, Tag
, and Tree
all have a new prototype dup
method on them to make a low-level copy of the libgit2 object if needed.
Odb#expandIds
is exposed which takes in a list of short ids and expands them in-place to the full id of the object in the database
Changelog
<a name="v0-14-0" href="#v0-14-0">v0.14.0</a> (2016-06-20)
Changelog
<a name="v0-13-2" href="#v0-13-2">v0.13.2</a> (2016-06-09)
Changelog
<a name="v0-13-1" href="#v0-13-1">v0.13.1</a> (2016-06-03)
Repository#discardLines
is now a thing PR #1021Changelog
<a name="v0-13-0" href="#v0-13-0">v0.13.0</a> (2016-05-04)
This is a big update! Lots of work was done to bring NodeGit up to the latest stable libgit2 version (v0.24.1), to use babel in the library, to make it more stable, remove memory leaks, squash bugs and in general just improve the library for all. Make sure to see all of the API changes below (there are a lot).
We have added Node 6 as a supported platform! Going forward we aim to have 1:1 support for versions of Node that are either current or LTS. That means that v0.12 will not be supported soon so if you're on that please upgrade to at least Node v4. Also Node v5 will NOT be LTS so when Node stops supporting that in the coming months we will as well. You can read more about the current Node upgrade plan here.
Index#add
, Index#addByPath
, Index#clear
, Index#conflictAdd
, Index#conflictCleanup
, Index#conflictGet
, Index#conflictRemove
, Index.open
, Index#read
, Index#readTree
, Index#remove
, Index#removeByPath
, Index#removeDirectory
, Index#read
, Index#write
, Index#writeTree
, and Index#writeTreeTo
are all now asynchronous functions PR #971ancestoryEntry
, outEntry
and theirEntry
optional parameters on Index#conflictAdd
PR #997Repository#refreshIndex
will return an Index object back that has the latest data loaded off of disk PR #986Commit.create
is now asynchronous PR #1022Remote.create
is now asynchronous PR #990Diff#merge
will combine a diff into itself PR #1000ReflogEntry#committer
, ReflogEntry#idNew
, ReflogEntry#idOld
, and ReflogEntry#message
have been added
PR #1013Repository#openIndex
PR #989, use Repository#index
or Repository#refreshIndex
insteadReflog#entryCommitter
, Reflog#entryIdNew
, Reflog#entryIdOld
, and Reflog#entryMessage
have been moved to be under ReflogEntry
PR #1013Changelog
<a name="v0-12-2" href="#v0-12-2">v0.12.2</a> (2016-04-07)