A new version of Git LFS, the open source Git extension for versioning large files, is now available. Git LFS v2.4.0 comes with a rewrite of the underlying pattern matching engine, an enhanced API, standardized progress meter formatting, bug fixes, and more.
With v2.4.0, you’ll get a complete reimplementation of the engine that decides which files do and don’t match commands that accept
--exclude flags. That means Git LFS has gained support for character ranges and classes. It’s also a step toward standardizing the meaning of certain patterns—stay tuned for more advanced pattern matching in future LFS releases.
Many of the progress meters that have appeared throughout Git LFS are now unified into a single implementation, which matches Git’s style:
~/example (master) $ git lfs prune prune: 13 local object(s), 3 retained" prune.log prune: Deleting objects: 80% (8/10), done" prune.log
The progress meter you see when sending or receiving Git LFS objects is also clearer and more focused. You’ll now see a moving average rate for the transfer—and you’ll no longer see a count of “skipped” objects:
~/Desktop $ git lfs clone firstname.lastname@example.org:ttaylorr/example.git Cloning into 'example'... # ... Downloading LFS objects: 40% (55/136), 96 MB | 15 MB/s
Git LFS now includes any affected references in API requests. This change is a first step toward allowing contributions from owners in pull requests using Git LFS.
You’ll also see a handful of other new features and bug fixes in v2.4.0 like
git lfs ls-files, new flags in
git lfs migrate, more Linux support, and cleaned-up package internals.
And thanks to the great work of the Git LFS open source community, you’ll find support for NTLM SSPI authentication on Windows, fixes for memory alignment issues on 32-bit architectures, and more.