Releases: git-lfs/git-lfs
v1.3.0
Git LFS v1.3.0 brings some bug fixes and minor features to improve Git support. It also ships with a couple new experimental features:
- tus.io support for resumable uploads. Set
lfs.tustransfers=true
in your Git config to use this for any supporting LFS servers. - Pluggable custom transfer adapters. See the docs for details on its use.
- Basic file locking commands. Set
GITLFSLOCKSENABLED=true
to use them. These commands are experimental, and lack support from any LFS services. The commands and/or the API could change before becoming official.
Features
- use proxy from git config #1173, #1358 (@jonmagic, @LizzHale, @technoweenie)
- Enhanced upload/download of LFS content: #1265 #1279 #1297 #1303 #1367 (@sinbad)
- Resumable downloads using HTTP range headers
- Resumable uploads using tus.io protocol
- Pluggable custom transfer adapters
- In git 2.9+, run "git lfs pull" in submodules after "git lfs clone" #1373 (@sinbad)
- cmd,doc,test: teach
git lfs track --{no-touch,verbose,dry-run}
#1344 (@ttaylorr) - ⏳ Retry transfers with expired actions #1350 (@ttaylorr)
- Safe track patterns #1346 (@ttaylorr)
- Add checkout --unstaged flag #1262 (@orivej)
- cmd/clone: add include/exclude via flags and config #1321 (@ttaylorr)
- Improve progress reporting when files skipped #1296 (@sinbad)
- Experimental file locking commands #1236, #1259, #1256, #1386 (@ttaylorr)
- Implement support for GIT_SSH_COMMAND #1260 (@pdf)
- Recognize include/exclude filters from config #1257 (@ttaylorr)
Bugs
- Fix bug in Windows installer under Win32. #1200 (@teo-tsirpanis)
- Updated request.GetAuthType to handle multi-value auth headers #1379 (@VladimirKhvostov)
- Windows fixes #1374 (@sinbad)
- Handle artifactory responses #1371 (@ttaylorr)
- use
git rev-list --stdin
instead of passing each remote ref #1359 (@technoweenie) - docs/man: move "logs" subcommands from OPTIONS to COMMANDS #1335 (@ttaylorr)
- test/zero-len: update test for git v2.9.1 #1369 (@ttaylorr)
- Unbreak building httputil on OpenBSD #1360 (@jasperla)
- WIP transferqueue race fix #1255 (@technoweenie)
- Safety check to
comands.requireStdin
#1349 (@ttaylorr) - Removed CentOS 5 from dockers. Fixed #1295. #1298 (@javabrett)
- Fix 'git lfs fetch' with a sha1 ref #1323 (@omonnier)
- Ignore HEAD ref when fetching with --all #1310 (@ttaylorr)
- Return a fully remote ref to reduce chances of ref clashes #1248 (@technoweenie)
- Fix reporting of
git update-index
errors ingit lfs checkout
andgit lfs pull
#1400 (@technoweenie)
Misc
- Added Linux Mint Sarah to package cloud script #1384 (@andyneff)
- travis-ci: require successful tests against upcoming Git core release #1372 (@larsxschneider)
- travis-ci: add a build job to test against upcoming versions of Git #1361 (@larsxschneider)
- Create Makefiles for building with gccgo #1222 (@zeldin)
- README: add @ttaylorr to core team #1332 (@ttaylorr)
- Enforced a minimum gem version of 1.0.4 for packagecloud-ruby #1292 (@javabrett)
- I think this should be "Once installed" and not "One installed", but … #1305 (@GabLeRoux)
- script/test: propagate extra args to go test #1324 (@omonnier)
- Add
lfs.basictransfersonly
option to disable non-basic transfer adapters #1299 (@sinbad) - Debian build vendor test excludes #1291 (@javabrett)
- gitignore: ignore lfstest-* files #1271 (@ttaylorr)
- Disable gojsonschema test, causes failures when firewalls block it #1274 (@sinbad)
- test: use noop credential helper for auth tests #1267 (@ttaylorr)
- get git tests passing when run outside of repository #1229 (@technoweenie)
- Package refactor no.1 #1226 (@sinbad)
- vendor: vendor dependencies in vendor/ using Glide #1243 (@ttaylorr)
Packages
v1.2.1
Features
- Add missing config details to
env
command #1217 (@sinbad) - Allow smudge filter to return 0 on download failure #1213 (@sinbad)
- Add
git lfs update --manual
option & promote it on hook install fail #1182 (@sinbad) - Pass
git lfs clone
flags through togit clone
correctly, respect some options #1160 (@sinbad)
Bugs
- Clean trailing
/
from include/exclude paths #1278 (@ttaylorr) - Fix problems with user prompts in
git lfs clone
#1185 (@sinbad) - Fix failure to return non-zero exit code when lfs install/update fails to install hooks #1178 (@sinbad)
- Fix missing man page #1149 (@javabrett)
- fix concurrent map read and map write #1179 (@technoweenie)
Misc
- Allow additional fields on request & response schema #1276 (@sinbad)
- Fix installer error on win32. #1198 (@teo-tsirpanis)
- Applied same -ldflags -X name value -> name=value fix #1193 (@javabrett)
- add instructions to install from MacPorts #1186 (@skymoo)
- Add xenial repo #1170 (@graingert)
Packages
RPM RHEL 6/CentOS 6
RPM RHEL 7/CentOS 7
Debian 7
Debian 8
Unfortunately, packages for Fedora, Ubuntu, and LinuxMint were not uploaded to PackageCloud due to some issues (see #1288).
All packages are available on PackageCloud now.
v1.2.0
Features
- netrc support #715 (@rubyist)
git lfs clone
command #988 (@sinbad)- Support self-signed certs #1067 (@sinbad)
- Support sslverify option for specific hosts #1081 (@sinbad)
- Stop transferring duplicate objects on major push or fetch operations on multiple refs. #1128 (@technoweenie)
- Touch existing git tracked files when tracked in LFS so they are flagged as modified #1104 (@sinbad)
- Support for git reference clones #1007 (@jlehtnie)
Bugs
- Fix clean/smudge filter string for files starting with - #1083 (@epriestley)
- Fix silent failure to push LFS objects when ref matches a filename in the working copy #1096 (@epriestley)
- Fix problems with using LFS in symlinked folders #818 (@sinbad)
- Fix git lfs push silently misbehaving on ambiguous refs; fail like git push instead #1118 (@sinbad)
- Whitelist
lfs.*.access
config in local~/.lfsconfig
#1122 (@rjbell4) - Only write the encoded pointer information to Stdout #1105 (@sschuberth)
- Use hardcoded auth from remote or lfs config when accessing the storage api #1136 (@technoweenie, @jonmagic)
- SSH should be called more strictly with command as one argument #1134 (@sinbad)
Packages
v1.1.2
- Fix Base64 issues with
?
#989 (@technoweenie) - Fix zombie git proc issue #1012 (@rlaakkol)
- Fix problems with files containing unicode characters #1016 (@technoweenie)
- Fix panic in
git cat-file
parser #1006 (@technoweenie) - Display error messages in non-fatal errors #1028 #1039 #1042 (@technoweenie)
- Fix concurrent map access in progress meter (@technoweenie)
Packages
Up to date packages are available on PackageCloud and Homebrew.
v1.1.1
Features
- Add copy-on-write support for Linux BTRFS filesystem #952 (@bozaro)
- convert
git://
remotes to LFS servers automatically #964 (@technoweenie) - Fix
git lfs track
handling of absolute paths. #975 (@technoweenie) - Allow tunable http client timeouts #977 (@technoweenie)
Bugs
- Suppress git config warnings for non-LFS keys #861 (@technoweenie)
- Fix fallthrough when
git-lfs-authenticate
returns an error #909 (@sinbad) - Fix progress bar issue #883 (@pokehanai)
- Support
remote.name.pushurl
config #949 (@sinbad) - Fix handling of
GIT_DIR
andGIT_WORK_TREE
#963, #971 (@technoweenie) - Fix handling of zero length files #966 (@nathanhi)
- Guard against invalid remotes passed to
push
andpre-push
#974 (@technoweenie) - Fix race condition in
git lfs pull
#972 (@technoweenie)
Extra
- Add server API test tool #868 (@sinbad)
- Redo windows installer with innosetup #875 (@strich)
- Pre-built packages are built with Go v1.5.3
Packages
RPM RHEL 5/CentOS 5
RPM RHEL 6/CentOS 6
RPM RHEL 7/CentOS 7
Debian 7
Debian 8
Windows Installer
We're currently working on getting new SHA and SHA2 certs for Git LFS. Once we have it, we'll re-upload the windows installer. For now, you can confirm the SHA-256 signature of the binaries manually:
- Installer - cf2e4143212420ab709febf0a3346f5d8300e8240e95a6c6bb17ac373cc4c1d6
- Git LFS (64bit) - e2e5fc60fb7871e57d949f10bb20369434e1f17edee0decdb7d9ee81bbe5016d
- Git LFS (32bit) - 4f91f96501610ed354530dc386b2f22ccc0eca69e939a667cfb49688839896ef
v1.1.0
Features
- Add
prune
command #742 (@sinbad) - NTLM auth support #820 (@WillHipschman, @technoweenie)
See the prune man page for info on how it works.
Changes
- Use .lfsconfig instead of .gitconfig #837 (@technoweenie)
- Rename "init" command #838 (@technoweenie)
Bug Fixes
- Raise error if credentials are needed #842 (@technoweenie)
- Support git repos in symlinked directories #818 (@sinbad, @difro, @jiangxin)
- Fix "git lfs env" to show correct SSH remote info #828 (@jiangxin)
Packages
v1.0.2
- Fix issue with 'git lfs smudge' and the batch API. #795 (@technoweenie)
- Fix race condition in the git scanning code. #801 (@technoweenie)
v1.0.1
- Downcase git config keys (prevents Auth loop) #690 (@WillHipschman)
- Show more info for unexpected http responses #710 (@rubyist)
- Use separate stdout/stderr buffers for
git-lfs-authenticate
#718 (@bozaro) - Use LoggedError instead of Panic if update-index fails in checkout #735 (@sinbad)
smudge
command exits with non-zero if the download fails #732 (@rubyist)- Use
git rev-parse
to find the git working dir #692 (@sinbad) - Improved default remote behaviour & validation for fetch/pull #713 (@sinbad)
- Make fetch return error code when 1+ downloads failed #734 (@sinbad)
- Improve lfs.InRepo() detection in
init
/update
#756 (@technoweenie) - Teach smudge to use the batch api #711 (@rubyist)
- Fix not setting global attribute when needed to b/c of local state #765 (@sinbad)
- Fix clone fail when fetch is excluded globally #770 (@sinbad)
- Fix for partial downloads problem #763 (@technoweenie)
- Get integration tests passing on Windows #771 (@sinbad)
Security
- Whitelist the valid keys read from .gitconfig #760 (@technoweenie)
This prevents unsafe git configuration values from being used by Git LFS.
v1.0.0
- Manual reference is integrated into the "help" options #665 @sinbad
- Fix
ls-files
when run from an empty repository #668 @aorjoa - Support listing duplicate files in
ls-files
#681 @aorjoa @technoweenie update
andinit
commands can install the pre-push hook in bare repositories #671 @technoweenie- Add
GIT_LFS_SKIP_SMUDGE
andinit --skip-smudge
#679 @technoweenie
v0.6.0 - New fetch/checkout/pull commands, Batch API support.
This is the first release that uses the new Batch API by default, while still
falling back to the Legacy API automatically. Also, new fetch/checkout/push
commands have been added.
Run git lfs update
in any local repositories to make sure all config settings
are updated.
You can download RPM and Debian packages from https://packagecloud.io/github/git-lfs.
Fetch
- Rename old
git lfs fetch
command togit lfs pull
. #527 (@sinbad) - Add
git lfs checkout
#527 #543 #551 #566 (@sinbad) - Add
git lfs fetch
for just downloading objects. #527 (@sinbad)- Add
remote
arg, and default to tracking remote instead of "origin". #583 (@sinbad) - Support fetching multiple refs #542 (@sinbad)
- Add
--include
and--exclude
flag forgit lfs fetch
#573 (@sinbad) - Add
--recent
flag for downloading recent files outside of the current
checkout. #610 (@sinbad) - Add
--all
option for download all objects from the server. #633 (@sinbad)
- Add
- Fix error handling while
git update-index
is running. #570 (@rubyist)
See git-lfs-fetch(1), git-lfs-checkout(1), and git-lfs-pull(1) for details.
Push
- Support pushing multiple branches in the pre-push hook. #635 (@sinbad)
- Fix pushing objects from a branch that's not HEAD. #608 (@sinbad)
- Check server for objects before failing push because local is missing. #581 (@sinbad)
- Filter out commits from remote refs when pushing. #578 (@billygor)
- Support pushing all objects to the server, regardless of the remote ref. #646 (@technoweenie)
- Fix case where pre-push git hook exits with 0. #582 (@sinbad)
See git-lfs-push(1) for details.
API Clients
- Fix some race conditions in the Batch API client. #577 #637 (@sinbad, @rubyist)
- Support retries in the Batch API client. #595 (@rubyist)
- Fix hanging batch client in certain error conditions. #594 (@rubyist)
- Treat 401 responses as errors in the Legacy API client. #634 (@rubyist)
- Fix bug in the Legacy API client when the object already exists on the server. #572 (@billygor)
Credentials
- Fix how git credentials are checked in certain edge cases. #611 #650 (@technoweenie)
- Send URI user to git credentials. #626 (@sinbad)
- Support git credentials with useHttpPath enabled. #554 (@clareliguori)
Installation
- Docker images and scripts for building and testing linux packages. #511 #526 #555 #603 (@andyneff, @ssgelm)
- Create Windows GUI installer. #642 (@technoweenie)
- Binary releases use Go 1.5, which includes fix for Authorization when the
request URL includes just the username. golang/go#11399
Misc
- Documented Git config values used by Git LFS in git-lfs-config(5).
- Experimental support for Git worktrees (in Git 2.5+) #546 (@sinbad)
- Experimental extension support. #486 (@ryansimmen)
NOTE: The Windows installer is currently only available for the Windows AMD64 build.