Releases: go-git/go-git
v5.5.2
v5.5.1
What's Changed
- *: fix error when building with
CGO_ENABLED=0
by @pjbgf in #625 - plumbing: transport/ssh: fix panic on Windows 10 with paegent as ssh-agent by @doxsch in #617
- CommitOptions: AllowEmptyCommits, return an error instead of creating empty commits by @pjbgf in #623
Full Changelog: v5.5.0...v5.5.1
v5.5.0
What's Changed
- *: add collision resistent SHA1 implementation by @pjbgf in #618
- *: replace go-homedir with os.UserHomeDir by @mvdan in #535
- Remote: add RemoteURL to {Fetch,Pull,Push}Options by @noerw in #375
- Remote: Push, add support to push commits per hashes by @tjamet in #325
- Remote: Push, add ForceWithLease Push Option by @john-cai in #404
- Remote: PushOptions add push-options by @S-Bohn in #399
- Remote: Push, add atomic to push options by @john-cai in #406
- Remote: add FollowTags option for pushes by @john-cai in #385
- Worktree: use syscall.Timespec.Unix by @tklauser in #437
- Worktree: Checkout, simplified sparse checkout by @john-cai in #410
- Repository: don't crash accessing invalid pathinfo by @muesli in #443
- storage: filesystem, switch from os.SEEK_* to io.Seek* by @abhinav in #421
- config: add branch description support by @ninedraft in #409
- revision: fix endless looping in revision parser by @michenriksen in #475
- pumbling: optimise zlib reader and consolidate sync.Pools by @pjbgf in #608
- pumbling: parse optimisations by @pjbgf in #602
- plumbing: object, rename calculation uses too much memory by @jfontan in #503
- plumbing: protocol/pakp and server, include the contents of
GO_GIT_USER_AGENT_EXTRA
. Fixes #529 by @stewing in #531 - plumbing: protocol/pakp, avoid duplicate encoding when overriding a Capability value. by @tylerchr in #521
- plumbing: protocol/pakp, update agent by @caarlos0 in #453
- plumbing: protocol/pakp: Actions should have type Action by @abhinav in #420
- plumbing: protocol/pakp: allow unsupported
multi_ack
capability by @pjbgf in #613 - plumbing: transport/ssh, auto-populate HostKeyAlgorithms. Fixes #411 by @evanelias in #548
- pumbling: format/packfile, resolve external reference delta by @ga-paul-t in #392
- plumbing: format/packfile, prevent large objects from being read into memory completely by @zeripath in #330
- plumbing: format/index, support v3 index by @john-cai in #407
- plumbing: format/gitignore, Read .git/info/exclude file too. by @enisdenjo in #402
- plumbing: format/gitattributes, Avoid index out of range by @To1ne in #598
- plumbing: format/config, Branch name with hash can be cloned. Fixes #309 by @dowy in #354
- go.mod: update github.com/xanzy/ssh-agent to v0.3.1 by @tklauser in #403
- go.mod: update dependencies to remove supply chain CVEs by @pjbgf in #620
- examples: added "tag find if head is tagged" by @snebel29 in #374
- examples: remote fix typo by @nep-0 in #408
Full Changelog: v5.4.2...v5.5.0
v5.4.2
v5.4.1
v5.4.0
Change Log
- Repository: test, use raw string to avoid double-escape #288 (jeffwidman)
- Remote: new ListContext function #278 (xiujuan95)
- Remote: add support for deepening shallow clones #311 (marwatk)
- Submodele, fetch submodules pointing to orphaned but still reachable commits #284 (edigaryev)
- plumbing: object/patch, printStat strings.Repeat cause panic #310 (cookeem)
- plumbing: format/packfile, prevent large objects from being read into memory completely #303 (zeripath)
- plumbing: transport/ssh, support more formats in
NewPublicKeys
SSH helper #298 (hiddeco) - *: replace golang.org/x/crypto/openpgp by github.com/ProtonMail/go-crypto/openpgp #283 (johanfleury)
- *: typo fixes #291 (jeffwidman)
- *: minor doc fixes #287 (jeffwidman)
- *: remove unused unexported const #286 (jeffwidman)
v5.3.0
Change Log
- transport: ssh, fix cloning large repositories #272 (dcu)
- diff: Allow srcPrefix and dstPrefix to be configured #265 (yabberyabber)
- Remote: add RequireRemoteRefs to PushOptions #258 (asuffield)
- plumbing: gitignore, Fix gitconfig path in LoadSystemPatterns doc #256 (andrewarchi)
- plumbing: wire up contexts for Transport.AdvertisedReferences #246 (asuffield)
- worktree: Don't remove root directory when cleaning #230 (hansmi)
- *: add insecureSkipTLS and cabundle #228 (StrongMonkey)
- git: worktree_commit, just store objects not already stored #224 (jsteuer)
- plumbing: packp: adding "object-format" and "filter" capabilities #222 (rofc)
- Submodule: fix relative submodule resolution #195 (adracus)
- git: worktree, Support relative submodule URL. #184 (mikyk10)
- config: add init.defaultBranch to the config #178 (tomlazar)
- config: support insteadOf for remotes' URLs #79 (kostyay)
v5.2.0
Change Log
- *: minor linter fixes #125 (cristaloleg)
- *: use only one name for receiver #124 (cristaloleg)
- *: skip error check explicitly #123 (cristaloleg)
- *: fix goreportcard warnings #117 (cristaloleg)
- CreateTagOptions.Validate: load Tagger from config #84 (mcuadros)
- PlainOpenWithOptions: support file path #161 (ashokponkumar)
- Remote.Push: fix deleting references when force pushing. #158 (chrisgavin)
- Worktree.Commit: speed up commit with all: true option #139 (StupidScience)
- Worktree.AddWithOptions, added force add, fixed src-d/go-git#1219 #86 (jk2K)
- Worktree.Pull, report "Already up to date" when local repository ahead of remote #109 (mruediger)
- Repository.ResolveRevision, support partial hashes #136 (dsymonds)
- plumbing: memoryobject, make blob reader seekable #121 (riking)
- plumbing: format, .gitignore crlf fix #115 (blaueled)
- storage: filesystem, support .git/commondir repository layout #88 (distorhead)
- utils: merkletrie, don't skip error #127 (cristaloleg)
v5.1.0
This version includes three main relevant features, the long-awaited support for renames on diff by hash and similar content (#38, #42), color diff support (#40), and support for work with git config from different scopes and Worktree.Commit
with an empty CommitOptions
(#75)
Change Log
- Repository.ConfigScoped and Worktree.Commit with empty CommitOptions (#75)
- Remote.Push: support force option (#71)
- Remote.Fetch: support exact SHA1 refspecs (#58)
- plumbing: diff, reset color at end of line (#66)
- plumbing: object, Commit.Patch support to as nil (#62)
- plumbing: object, Fixed the ambiguous implicit conversions causing errors while building . (#57)
- plumbing: object, make renames diff default (#42)
- plumbing: exact renames detection could leave gaps in the changes (#54)
- plumbing: diff, add colored output support. (#40)
- plumbing: detect renames by hash and similar content in diff tree (#38)
- plumbing: transport, fix handling of empty adv-refs on upload-pack (#22)
- plumbing: transport server check for nil Packfile, fixes ref deletes (#11)
- plumbing/storage: close Reader & Writer of EncodedObject after use (#73)
- storage/filesystem: dotgit, sanity check provided reference path (#39)
v5.0.0
This new v5.0.0
it's based on v4.13.1
containaing exactly the same API. The new version and all the future versions in v5
branch can be used as a drop-in replacement for v4
. This big change is required due to the new project home at go-git
org and the full adoption of go modules
.
As described in the README.md, after four months of inactivity the go-git
project is back to life. Sorry for any inconvenience caused.
Change Log
- *: package name renamed to
github.com/go-git/go-git/v5
(2bdfd91) - *: ci based on github actions (9d0f15c)
- *: add Plan 9 support (#1)
- git.LogOptions: add
PathFilter func(string) bool
(#3) - plumbing: object, fix date reading (#2)
- storage/filesystem: dotgit, unable to work with .git folder with temporal packfiles (#6)
- plumbing/object: avoid O(N^2) string building when decoding commit message (#7)