Releases: go-git/go-git
v4.12.0
This new release comes with two relevant contributions, the first one is the experimental support of commit-graph
support by (filipnavara) nd the second one is merge-base feature contributed by (dpordomingo)
Change Log
- config: fix wildcard handling in RefSpec matching #1160 (novas0x2a)
- config support the 'rebase' config key for branches #1154 (yelirekim)
- git: Repository: improve ResolveRevision's Ref lookup path #1146 (novas0x2a)
- git: Worktree: keep local changes when checkout branch #1145 (linuxerwang)
- git : allows to create a Remote without a Repository #1142 (EmrysMyrddin)
- plumbing: format/idxfile, avoid creating temporary buffers to decode integers #1136 (filipnavara)
- plumbing: format/commitgraph, rename structs/fields to follow the terms #1134 (filipnavara)
- plumbing: format/commitgraph, clean up error handling #1133 (filipnavara)
- plumbing: object, add APIs for traversing over commit graphs #1132 (filipnavara)
- plumbing: format/packfile, Fix data race and resource leak. #1159 (ebardsley)
- plumbing: format/gitattributes support #1130 (saracen)
- plumbing: format/commitgraph, add APIs for reading and writing commit-graph files #1128 (filipnavara)
- plumbing: object/{commit,tag} add EncodeWithoutSignature, Implement #1116 #1127 (sapk)
- plumbing: format/index perf, buffered reads, reflection removal #1126 (saracen)
- plumbing: TreeWalker performance improvement, bufio pool for objects #1125 (saracen)
- plumbing: packfile/scanner, readability/performance improvements, zlib pooling #1124 (saracen)
- plumbing: packfile, apply small object reading optimization also for delta objects #1121 (filipnavara)
- plumbing: idxfile, avoid unnecessary building of reverse offset/hash map #1119 (filipnavara)
- plumbing: object, Fix tag message decoding #1118 (filipnavara)
- plumbing: object, Create merge-base feature #1097 (dpordomingo)
- examples: Add merge base command #1096 (dpordomingo)
- filesystem: ObjectStorage, MaxOpenDescriptors option #1123 (saracen)
- ssh: leverage proxy from environment #1090 (dweomer)
- go modules update #1131 (mcuadros)
v4.11.0
Nothing very significant in this release but contains a bunch of bug fixing and improvements.
Change Log
- git: add Repository.CreateRemoteAnonymous #1094 (niukuo)
- git: remove potentially duplicate check for unstaged files #1081 (meinto)
- git: fix goroutine block while pushing a remote #1080 (jfontan)
- storage/transactional: implement storer.PackfileWriter #1093 (jfontan)
- plumbing: fix missing error in bfsCommitIterator #1092 (niukuo)
- plumbing: object, Count stats properly when no new line added at the … #1088 (oleksii-shnyra)
- plumbing: commit.StatsContext and fix for orphan commit #1115 (mcuadros)
- plumbing: fix panic in object.Tree.FindEntry #1095 (niukuo)
- plumbing/cache: check for empty cache list #1076 (jfontan)
- worktree: allow manual ignore patterns when no .gitignore is available #1070 (fbsb)
- utils/diff: Increase diffmatchcpatch timeout #1084 (vmarkovtsev)
v4.10.0
This release is full of cool stuff, starting with a new EXPERIMENTAL transactional storage implementation, or performance improvements for local remotes, take a look at the changelog:
Change Log
- plumbing: commit_walker, ignore missing references/objects on log --all #1067 (ajnavarro)
- remote: speed up pushes when the "remote" repo is local #1066 (strib)
- utils: merkletrie, remove Unicode normalization in difftree #1065 (vmarkovtsev)
- worktree: add sentinel error for non-fast-forward pull #1064 (asv)
- packfile: get object size correctly for delta objects #1060 (strib)
- storage: transactional, new storage with transactional capabilities #1006 (mcuadros)
v4.9.1
v4.9.0
This new version comes with some new functionality like the new LogOptions.All
option that mimics the git log --all
done by @kuba--, plus some performance improvements for reading large commit histories implemented by @filipnavara.
Change Log
v4.8.1
repository: fix plain clone error handling regression (Fixes src-d/go-git#1027)
v4.8.0
This version includes support for a new index extension, the EOIE extension, enabled by default in the upcoming git v2.20. Also includes a bunch of fixes and new features, take a look at the change log.
Change Log
- plumbing: format/index: support for EOIE extension #1025 (mcuadros)
- plumbing: format/packfile, remove unused getObjectData method #1022 (ajnavarro)
- plumbing: format/packfile, Fix broken "thin" packfile support. Fixes #991 #994 (jpeletier)
- plumbing: transport/ssh, fix flaky test TestAdvertisedReferencesNotExists. Fixes #969 #1013 (mccurdyc)
- plumbing: transport/http: improve TokenAuth documentation #1009 (smola)
- plumbing: transport/http, Add missing host/port on redirect. Fixes #820 #1001 (hairyhenderson)
- plumbing: ReferenceName constructors #998 (mcuadros)
- storage/filesystem: Added reindex method to reindex packfiles #1019 (jpeletier)
- Repository: Fix RefSpec for a single tag. #1015 (fkorotkov)
- Repository: cleanup after failed clone #1008 (smola)
- git: enables building on OpenBSD, Dragonfly BSD and Solaris #992 (yuce)
- remote: use reference deltas on push when the remote server does not … #987 (bashims)
- examples: PlainClone with Basic Authentication (Password & Access Token) #990 10000 (mccurdyc)
v4.7.1
From this release you can us go-git
as a go module. Also, this release includes a bunch of fixes in different packages, take a look at the change log
Change Log
- all: convert into a Go module #943
- blame: fix edge case with missing \n in content length causing mismatched length error #986 (mcuadros)
- repository: improve CheckoutOption.Hash doc #985 (mcuadros)
- repository: allow open non-bare repositories as bare #984 (mcuadros)
- repository: use remote name in fetch while clone, Fixes #827 [#828]
- repository: allow ResolveRevision to resolve annotated tags #772 (novas0x2a)
- storage: expose Storage cache. #949 (kuba--)
- storage/filesystem: keep packs open in PackfileIter #962 (jfontan)
- config: Add test for Windows local paths. Fixes #681 #977 (filipnavara)
- git: Fix Status.IsClean() documentation #978 (urld)
- git: use time.IsZero in Prune #974 (u5surf)
- git: Add tagging support #928 (vancluever)
- plumbing: object, Add support for Log with filenames. Fixes #826 #979 (gnithin)
- plumbing: tree, add a Size() method for getting plaintext size #982 (strib)
- plumbing: improve test for urlencoded user:pass #968 (smola)
- plumbing: diff, fix
fatal: corrupt patch
error in unified diff format #932 (distorhead) - plumbing: cache, fix potential LRU cache size issue. #958 (kuba--)
v4.7.0
Here is a new release of go-git, containing a mix of performance improvements (#929, #942), new features and issue fixing, take a log to the change log.
Change Log
- storage/dotgit: add KeepDescriptors option #942 (jfontan)
- plumbing/storer: add ExclusiveAccess option to Storer #941 (jfontan)
- plumbing: object, Clamp object timestamps before unix epoch to unix epoch #939 (taruti)
- config: add commentChar to core config struct #937 (zaquestion)
- storage/dotgit: search for incoming dir only once #935 (jfontan)
- storage/dotgit: Remove empty dirs when cleaning with Dir opt. #933 (kuba--)
- plumbing, storage: add bases to the common cache #929 (jfontan)
- plumbing/idxfile: object iterators returns entries in offset order #927 (jfontan)
- plumbing/format: gitignore, fixed an edge case for .gitignore #924 (fkorotkov)
v4.6.0
Finally here is a new release of go-git, coming with big performance improvements thanks to the new packfile representation #899 (erizocosmico) and parser #898 (jfontan), speeding up the execution of read operation from 25% to almost a 300% depending on the repository topology.
Also, this release comes with some new features and bug fixes, take a look at the change log.
Change Log
- plumbing/format: packfile, new packfile representation #899 (erizocosmico)
- plumbing/format: packfile, new packfile parser #898 (jfontan)
- plumbing/format: packfile, improve packfile reading performance #906 (erizocosmico) #916 (jfontan)
- plumbing/transport/internal: common, support Gogs for ErrRepositoryNotFound #888 (jeromedoucet)
- plumbing/format/idxfile: add new Index and MemoryIndex #896 (erizocosmico)
- plumbing/object: fix PGP signature encoder/decoder #892 (jfontan)
- git: Add ability to PGP sign commits #920 (vancluever)
- git: fix cloning of a single tag #910 (fkorotkov)
- plumbing: object, return ErrFileNotFound in FindEntry. Fixes #883 #885 (jsravn)