Git LFS Changelog

2.5.1 (2 August, 2018)

This release contains miscellaneous bug fixes since v2.5.0. Most notably, release v2.5.1 allows a user to disable automatic Content-Type detection (released in v2.5.0) via git config lfs.contenttype false for hosts that do not support it.

Features

Bugs

Misc

2.5.0 (26 July, 2018)

This release adds three new migration modes, updated developer ergonomics, and a handful of bug fixes to Git LFS.

We would like to extend a special thanks to the following open-source contributors:

Features

Bugs

Misc

2.4.2 (28 May, 2018)

Bugs

2.4.1 (18 May, 2018)

This release fixes a handful of bugs found and fixed since v2.4.0. In particular, Git LFS no longer panic()'s after invalid API responses, can correctly run 'fetch' on SHAs instead of references, migrates symbolic links correctly, and avoids writing to $HOME/.gitconfig more than is necessary.

We would like to extend a "thank you" to the following contributors for their gracious patches:

Git LFS would not be possible without generous contributions from the open-source community. For these, and many more: thank you!

Features

Bugs

Misc

2.4.0 (2 March, 2018)

This release introduces a rewrite of the underlying file matching engine, expands the API to include relevant refspecs for individual requests, standardizes the progress output among commands, and more.

Please note: in the next MAJOR release (v3.0.0) the semantic meaning behind --include and --exclude flags will change. As the details of exactly which existing patterns will no longer function as previously are known, we will indicate them here. Any --include or --exclude patterns used in v2.3.0 or earlier are expected to work as previously in this release.

This release would not be possible without the open-source community. Specifically, we would like to thank:

Without the aforementioned indviduals, this release would not have been possible. Thank you!

Features

Bugs

Misc

2.3.4 (18 October, 2017)

Features

Bugs

2.3.3 (9 October, 2017)

Bugs

2.3.2 (3 October, 2017)

Features

Bugs

Misc

2.3.1 (27 September, 2017)

Features

Bugs

Misc

2.3.0 (14 September, 2017)

Git LFS v2.3.0 includes performance optimizations for the git-lfs-migrate(1) and git-clone(1) commands, new features, bug-fixes, and more.

This release was made possible by contributors to Git LFS. Specifically:

To everyone who has contributed to this or previous releases of Git LFS: Thank you!

Features

Bugs

Misc

2.2.1 (10 July, 2017)

Bugs

Misc

2.2.0 (27 June, 2017)

Git LFS v2.2.0 includes bug fixes, minor features, and a brand new migrate command. The migrate command rewrites commits, converting large files from Git blobs to LFS objects. The most common use case will fix a git push rejected for having large blobs:

$ git push origin master
# ...
remote: error: file a.psd is 1.2 gb; this exceeds github's file size limit of 100.00 mb
to github.com:ttaylorr/demo.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:ttaylorr/demo.git'

$ git lfs migrate info
*.psd   1.2 GB   27/27 files(s)  100%

$ git lfs migrate import --include="*.psd"
migrate: Sorting commits: ..., done
migrate: Rewriting commits: 100% (810/810), done
  master        f18bb746d44e8ea5065fc779bb1acdf3cdae7ed8 -> 35b0fe0a7bf3ae6952ec9584895a7fb6ebcd498b
migrate: Updating refs: ..., done

$ git push origin
Git LFS: (1 of 1 files) 1.2 GB / 1.2 GB
# ...
To github.com:ttaylorr/demo.git
 * [new branch]      master -> master

The migrate command has detailed options described in the git-lfs-migrate(1) man page. Keep in mind that this is the first pass at such a command, so we expect there to be bugs and performance issues (especially on long git histories). Future updates to the command will be focused on improvements to allow full LFS transitions on large repositories.

Features

Bugs

Misc

2.1.1 (19 May, 2017)

Git LFS v2.1.1 ships with bug fixes and a security patch fixing a remote code execution vulnerability exploitable by setting a SSH remote via your repository's .lfsconfig to contain the string "-oProxyCommand". This vulnerability is only exploitable if an attacker has write access to your repository, or you clone a repository with a .lfsconfig file containing that string.

Bugs

Misc

2.1.0 (28 April, 2017)

Features

Bugs

Misc

2.0.2 (29 March, 2017)

Features

Bugs

Misc

2.0.1 (6 March, 2017)

Misc

2.0.0 (1 March, 2017)

Git LFS v2.0.0 brings a number of important bug fixes, some new features, and a lot of internal refactoring. It also completely removes old APIs that were deprecated in Git LFS v0.6.

Locking

File Locking is a brand new feature that lets teams communicate when they are working on files that are difficult to merge. Users are not able to edit or push changes to any files that are locked by other users. While the feature has been in discussion for a year, we are releasing a basic Locking implementation to solicit feedback from the community.

Transfer Queue

LFS 2.0 introduces a new Git Scanner, which walks a range of Git commits looking for LFS objects to transfer. The Git Scanner is now asynchronous, initiating large uploads or downloads in the Transfer Queue immediately once an LFS object is found. Previously, the Transfer Queue waited until all of the Git commits have been scanned before initiating the transfer. The Transfer Queue also automatically retries failed uploads and downloads more often.

Deprecations

Git LFS v2.0.0 also drops support for the legacy API in v0.5.0. If you're still using LFS servers on the old API, you'll have to stick to v1.5.6.

Features

Bugs

Misc

1.5.6 (16 February, 2017)

Bugs

1.5.5 (12 January, 2017)

Bugs

1.5.4 (27 December, 2016)

Bugs

Misc

1.5.3 (5 December, 2016)

Bugs

Misc

1.5.2 (22 November, 2016)

Features

Bugs

Misc

1.5.1 (18 November, 2016)

Bugs

1.5.0 (17 November, 2016)

Features

Bugs

Misc

1.4.4 (24 October, 2016)

Bugs

Misc

1.4.3 (17 October, 2016)

Bugs

Misc

1.4.2 (10 October, 2016)

v1.4.2 brings a number of bug fixes and usability improvements to LFS. This release also adds support for multiple retries within the transfer queue, making transfers much more reliable. To enable this feature, see the documentation for lfs.transfer.maxretries in git-lfs-config(5).

We'd also like to extend a special thank-you to @sschuberth who undertook the process of making LFS's test run on Windows through AppVeyor. Now all pull requests run tests on macOS, Linux, and Windows.

Features

Bugs

Misc

1.4.1 (26 August, 2016)

Features

Misc

1.4.0 (19 August, 2016)

Features

Bugs

Misc

1.3.1 (2 August 2016)

Features

Bugs

Misc

1.3.0 (21 July 2016)

Features

Bugs

Misc

1.2.1 (2 June 2016)

Features

Bugs

Misc

1.2.0 (14 April 2016)

Features

Bugs

1.1.2 (1 March, 2016)

1.1.1 (4 February, 2016)

Features

Bugs

Extra

1.1.0 (18 November, 2015)

1.0.2 (28 October, 2015)

1.0.1 (23 October, 2015)

Security

This prevents unsafe git configuration values from being used by Git LFS.

v1.0 (1 October, 2015)

v0.6.0 (10 September, 2015)

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.

Fetch

See git-lfs-fetch(1), git-lfs-checkout(1), and git-lfs-pull(1) for details.

Push

See git-lfs-push(1) for details.

API Clients

Credentials

Installation

Misc

v0.5.4 (30 July, 2015)

v0.5.3 (23 July, 2015)

v0.5.2 (19 June, 2015)

v0.5.1 (30 April, 2015)

v0.5.0 (10 April, 2015)