Skip to content

Bump git-lfs version to 3.8.0 - #709

Merged
dduportal merged 3 commits into
masterfrom
updatecli_master_ead3a7c681dd1a2a1981bd4bb2006a1407fff1b6cbe67822ba6d8d0e77c92cb5
Aug 28, 2026
Merged

Bump git-lfs version to 3.8.0#709
dduportal merged 3 commits into
masterfrom
updatecli_master_ead3a7c681dd1a2a1981bd4bb2006a1407fff1b6cbe67822ba6d8d0e77c92cb5

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Bump `git-lfs` version

Update `git-lfs` version in Windows tests

1 file(s) updated with "global:GITLFSVERSION = '3.8.0'\n": * tests/sshAgent.Tests.ps1

v3.8.0
This release is a feature release which adds support for
zstd-compressed object downloads and introduces several new options,
including the ability to fetch Git LFS objects for a list of references
piped to standard input and the ability to limit how long Git LFS
will wait when instructed by a server to retry an HTTP request.

Git LFS now determines the case sensitivity of filesystems from the
`core.ignoreCase` Git configuration option, respects global and
system-wide Git attribute files when migrating repositories, and
tries the default Git LFS HTTP URL derived from an SSH URL when
HTTP authentication via SSH is not available.

This Git LFS release improves SSH session reuse, parses invalid
custom transfer adapter configurations and invalid Git attribute
patterns without crashing, handles file deletion conflicts on Windows
in the same manner as Git, resolves remote-tracking branches for
downloads correctly, avoids re-reading working tree files during
`clean` filter operations since the files may be in an inconsistent
state, and terminates lengthy or endless HTTP authentication sequences
after a limited number of requests.

Note that we now provide official packages and support for versions
of Linux distributions based on Debian 13 ("trixie").  We also now
provide a source code package with all of our Go module dependencies
in a `vendor` directory.

This release is built using Go v1.27 and therefore requires macOS
version 13 (Ventura) or later on macOS systems.

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

* @aymanbagabas for rectifying our authentication timeouts on 32-bit systems
* @bk2204 for augmenting our filesystem case-sensitivity support
* @cynix for solving a race condition in our `clean` filter
* @Diamondemon for improving Git attribute parsing in our `migrate` command
* @fzlzjerry for resolving a crash in our Git attribute parsing code
* @joshfriend for multiple corrections to our SSH and transfer queue code
* @jylenhof for describing a new installation utility in our documentation
* @lawrence3699 for making our `unlock` command ignore missing files
* @manturovDan and @tamaracvjetkovic for fixing an infinite HTTP recursion bug
* @markshep-wbg for ensuring our locking commands honour the `--remote` option
* @mzr for introducing support for zstd-compressed HTTP object downloads
* @opohorel for correcting our lock verification error messages
* @osasisorae for standardizing the ways to output our main manual page
* @sambostock for editing the documentation of our `track` command
* @stanhu for helping our `smudge` filter avoid deletion conflicts on Windows
* @star-ga for adding advice on case-insensitive filename patterns to our FAQ
* @TheRootDaemon for creating an option to limit HTTP retry delay times
* @vikhik for documenting our `--no-rewrite` migration option more clearly
* @ypfaff for preventing duplication of extra HTTP headers in our retry logic
* @zbleness for implementing a fallback to our hybrid SSH/HTTP authentication
* @zh1C for revising our `pointer` command to support pointer extensions

### Features

* Enhance LFS transfer retries with maximum retry time limit #6304 (@TheRootDaemon)
* fall back to guessed endpoint when git-lfs-authenticate is unavailable #6286 (@zbleness)
* add lfs.httpDownloadEncoding with zstd and gzip support #6196 (@mzr)
* Use `core.ignorecase` to determine case sensitivity #6212 (@bk2204)
* Full support of special attributes in `migrate` #6170 (@Diamondemon)
* feat: git lfs pointer support extensions #6093 (@zh1C)
* fetch: allow providing refs via stdin #6088 (@larsxschneider)

### Bugs

* gitattr: handle invalid wildmatch patterns #6324 (@fzlzjerry)
* filter-process: Ignore file size in working copy when cleaning #6011 (@cynix)
* Handle unknown object sizes in progress log and fix throttling #6288 (@chrisd8088)
* Fix standalone adapter crash and ignore invalid custom adapter names #6252 (@chrisd8088)
* Reuse SSH sessions when possible and only close at client exit #6266 (@chrisd8088)
* locking: ignore missing files after unlock #6244 (@lawrence3699)
* Fix remote ref resolution for download operations #6250 (@larsxschneider)
* Fix concurrent map/struct races in sshCache and lazyManifest #6243 (@joshfriend)
* Fix `--remote` option when a git push remote is set #6228 (@markshep-wbg)
* Fix adapter reuse when server returns empty transfer adapter name #6240 (@joshfriend)
* commands: fix format string type mismatch in lockverifier #6237 (@opohorel)
* Fix extra header duplication on retry #6204 (@ypfaff)
* tools: add RobustRemove() for Windows to handle file lock errors #6221 (@stanhu)
* transform DoWithAuth from recursive to loop approach to prevent endless authentication attempts #6018 (@manturovDan)
* lfshttp: fix auth response ExpiresIn data type #6200 (@aymanbagabas)
* commands: show root help for -h #6172 (@osasisorae)
* Handle `git lfs checkout` merge conflict option file paths correctly #6136 (@chrisd8088)
* Support Macro in migrate `--fixup` #6126 (@Diamondemon)

### Misc

* Add missing patch version entries in primary change log #6334 (@chrisd8088)
* Update Linux distributions and include Debian ARM64 links in releases #6333 (@chrisd8088)
* Upgrade to Go v1.27 #6332 (@chrisd8088)
* Remove stale Linux distributions before v3.8.0 release #6291 (@chrisd8088)
* t/t-pre-push.sh: use calc\_oid\_file in URL optimization test #6287 (@larsxschneider)
* Update tests to dynamically match internal program limits #6285 (@chrisd8088)
* Update Go modules and Dependabot configuration #6278 (@chrisd8088)
* Add corrupt object download tests #6274 (@chrisd8088)
* Fix and revise chunked transfer encoding test #6273 (@chrisd8088)
* Temporarily restore concurrency limit to historical fixed default #6258 (@chrisd8088)
* Simplify client structure initializations #6254 (@chrisd8088)
* Use consistent exit functions for all commands #6255 (@chrisd8088)
* Add `--add-i386` option to RPM build script #6251 (@chrisd8088)
* Update Linux distribution package list for v3.8.0 release #6248 (@chrisd8088)
* Scale default concurrent transfers by CPU count #6241 (@joshfriend)
* Fix and refactor HTTP encoding and retry tests #6207 (@chrisd8088)
* Update Windows release signing action #6222 (@chrisd8088)
* Simplify object storage directory traversals #6223 (@chrisd8088)
* Upgrade to Go v1.26 and build separate Windows resource files on 386 and amd64 platforms #6220 (@chrisd8088)
* Various gopls lint cleanups for package `git` #6211 (@bk2204)
* Log additional HTTP request headers when tracing #6195 (@chrisd8088)
* Docs: recommend bracket-glob patterns for cross-platform case safety in FAQ (refs #6187) #6192 (@star-ga)
* Improve formatting of manual page synopses #6188 (@chrisd8088)
* docs(README): add mise alternative method installation #6169 (@jylenhof)
* Makefile,script: add vendored source release asset #6159 (@chrisd8088)
* Correct and improve `grep -v` and `grep -c` usage in tests #6151 (@chrisd8088)
* Add missing backticks around `--no-modify-attrs` #6154 (@sambostock)
* Add missing options to manual pages and make JSON options consistent #6152 (@chrisd8088)
* Detect invalid object IDs and repo names in test functions #6142 (@chrisd8088)
* Use relative paths exclusively for internal checkout and pull operations #6140 (@chrisd8088)
* Fix manual page formatting errors from AsciiDoc conversion #6138 (@chrisd8088)
* Add a FAQ entry re memory usage by Git when cloning #6137 (@chrisd8088)
* docs: Provide clearer instructions for non destructive imports #6111 (@vikhik)
* Upgrade to Go 1.25 #6116 (@chrisd8088)
* commands: use Exit() function to exit with a warning message #6095 (@larsxschneider)
## Packages

Up to date packages are available on [PackageCloud](https://packagecloud.io/github/git-lfs) and [Homebrew](http://brew.sh/).

[RPM RHEL 8/Rocky Linux 8](https://packagecloud.io/github/git-lfs/packages/el/8/git-lfs-3.8.0-1.el8.x86_64.rpm/download)
[RPM RHEL 9/Rocky Linux 9](https://packagecloud.io/github/git-lfs/packages/el/9/git-lfs-3.8.0-1.el9.x86_64.rpm/download)
[RPM RHEL 10/Rocky Linux 10](https://packagecloud.io/github/git-lfs/packages/el/10/git-lfs-3.8.0-1.el10.x86_64.rpm/download)
[Debian 11 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.8.0_amd64.deb/download)
[Debian 11 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.8.0_arm64.deb/download)
[Debian 12 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/bookworm/git-lfs_3.8.0_amd64.deb/download)
[Debian 12 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/bookworm/git-lfs_3.8.0_arm64.deb/download)
[Debian 13 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/trixie/git-lfs_3.8.0_amd64.deb/download)
[Debian 13 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/trixie/git-lfs_3.8.0_arm64.deb/download)

## SHA-256 hashes:
**git-lfs-darwin-amd64-v3.8.0.zip**
f1c17aeca0b4eaab9ea606226477dbed3b84b56fe0811a9f967d2ea2b2393c53

**git-lfs-darwin-arm64-v3.8.0.zip**
caff76a7d070d8160c89bc39b6e85d98f24135b6fed038a3b4de2590d25102d8

**git-lfs-freebsd-386-v3.8.0.tar.gz**
e9690666b13fbcbaafde1f51a79e480816490a6073706a48b157c15f9c9e13a8

**git-lfs-freebsd-amd64-v3.8.0.tar.gz**
f1df7a374593ddc5c9b3fd960cb0614d58c2e6d2c9b89fbc1eb6a916858c74d6

**git-lfs-linux-386-v3.8.0.tar.gz**
5f6f5f9c53f2f517546486a8aa9cc8c34b958a1c9c167797aa70a44ac4a3da44

**git-lfs-linux-amd64-v3.8.0.tar.gz**
e455e00f15d9b95661b8d53498ffb0c3367962cf1ec73c31ab7369516cd6ab8d

**git-lfs-linux-arm-v3.8.0.tar.gz**
67144f93c2342f46456d22dbf33077f54e0581cb91f2966393151871ca328553

**git-lfs-linux-arm64-v3.8.0.tar.gz**
ac9c8efac980bb0505ead384d087e2acb6486fd8498691a2165fa174ec6118c2

**git-lfs-linux-loong64-v3.8.0.tar.gz**
7daa0d9db09a2dbb3b159834d1a5b3e8517ea7ac4cbc123f670d2b0b34cc7aea

**git-lfs-linux-ppc64le-v3.8.0.tar.gz**
fdd988653b956922f163b8e7601e255e8c64a52eabe0dff8eec756f15213b304

**git-lfs-linux-riscv64-v3.8.0.tar.gz**
7a6aa67edb57b3a2e35437c97977b1a3dd2e40b30d78cd7c429235967bfe9c5a

**git-lfs-linux-s390x-v3.8.0.tar.gz**
6fd83c1381c7085f6b32aa615dcb68a366d037c7c2502e49e99291bda06a5c08

**git-lfs-v3.8.0.tar.gz**
4f75492c6832038fa73d39a45316657208bb6caa23b273451cb4ec2358d42ccb

**git-lfs-vendor-v3.8.0.tar.gz**
28c49d50bea97d0b860fd1599cc5ab45aac937fd31125db8374bf149bb95622f

**git-lfs-windows-386-v3.8.0.zip**
657337f2ee95c2f2e5e431eb7cf9de3481346f11d708ce116c8a96a622288386

**git-lfs-windows-amd64-v3.8.0.zip**
b62e7b8ceddee635f691233d77de8eaa4b213e9209e0173811d8cfa77f7882c1

**git-lfs-windows-arm64-v3.8.0.zip**
72403a96eae6689c3a4038c99e5d9e0938ef5552c71a234aef65ef0c314af081

**git-lfs-windows-v3.8.0.exe**
aa2d69214905d6b348f1b038beb2d68e4828342f9b3fe47dae5a5f023823fe92

**hashes.asc**
fdccbf3a68456d4b6a1bec0acc088e2799abf0bf13bd91c8559bf8f15b36ba9f

**sha256sums.asc**
ca28b1768b1889964350910aabe304f37c9ef3245e90520309c13118c5ff8e07
Update `git-lfs` version in Linux tests

1 file(s) updated with "GIT_LFS_VERSION='3.8.0'\n": * tests/tests.bats

v3.8.0
This release is a feature release which adds support for
zstd-compressed object downloads and introduces several new options,
including the ability to fetch Git LFS objects for a list of references
piped to standard input and the ability to limit how long Git LFS
will wait when instructed by a server to retry an HTTP request.

Git LFS now determines the case sensitivity of filesystems from the
`core.ignoreCase` Git configuration option, respects global and
system-wide Git attribute files when migrating repositories, and
tries the default Git LFS HTTP URL derived from an SSH URL when
HTTP authentication via SSH is not available.

This Git LFS release improves SSH session reuse, parses invalid
custom transfer adapter configurations and invalid Git attribute
patterns without crashing, handles file deletion conflicts on Windows
in the same manner as Git, resolves remote-tracking branches for
downloads correctly, avoids re-reading working tree files during
`clean` filter operations since the files may be in an inconsistent
state, and terminates lengthy or endless HTTP authentication sequences
after a limited number of requests.

Note that we now provide official packages and support for versions
of Linux distributions based on Debian 13 ("trixie").  We also now
provide a source code package with all of our Go module dependencies
in a `vendor` directory.

This release is built using Go v1.27 and therefore requires macOS
version 13 (Ventura) or later on macOS systems.

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

* @aymanbagabas for rectifying our authentication timeouts on 32-bit systems
* @bk2204 for augmenting our filesystem case-sensitivity support
* @cynix for solving a race condition in our `clean` filter
* @Diamondemon for improving Git attribute parsing in our `migrate` command
* @fzlzjerry for resolving a crash in our Git attribute parsing code
* @joshfriend for multiple corrections to our SSH and transfer queue code
* @jylenhof for describing a new installation utility in our documentation
* @lawrence3699 for making our `unlock` command ignore missing files
* @manturovDan and @tamaracvjetkovic for fixing an infinite HTTP recursion bug
* @markshep-wbg for ensuring our locking commands honour the `--remote` option
* @mzr for introducing support for zstd-compressed HTTP object downloads
* @opohorel for correcting our lock verification error messages
* @osasisorae for standardizing the ways to output our main manual page
* @sambostock for editing the documentation of our `track` command
* @stanhu for helping our `smudge` filter avoid deletion conflicts on Windows
* @star-ga for adding advice on case-insensitive filename patterns to our FAQ
* @TheRootDaemon for creating an option to limit HTTP retry delay times
* @vikhik for documenting our `--no-rewrite` migration option more clearly
* @ypfaff for preventing duplication of extra HTTP headers in our retry logic
* @zbleness for implementing a fallback to our hybrid SSH/HTTP authentication
* @zh1C for revising our `pointer` command to support pointer extensions

### Features

* Enhance LFS transfer retries with maximum retry time limit #6304 (@TheRootDaemon)
* fall back to guessed endpoint when git-lfs-authenticate is unavailable #6286 (@zbleness)
* add lfs.httpDownloadEncoding with zstd and gzip support #6196 (@mzr)
* Use `core.ignorecase` to determine case sensitivity #6212 (@bk2204)
* Full support of special attributes in `migrate` #6170 (@Diamondemon)
* feat: git lfs pointer support extensions #6093 (@zh1C)
* fetch: allow providing refs via stdin #6088 (@larsxschneider)

### Bugs

* gitattr: handle invalid wildmatch patterns #6324 (@fzlzjerry)
* filter-process: Ignore file size in working copy when cleaning #6011 (@cynix)
* Handle unknown object sizes in progress log and fix throttling #6288 (@chrisd8088)
* Fix standalone adapter crash and ignore invalid custom adapter names #6252 (@chrisd8088)
* Reuse SSH sessions when possible and only close at client exit #6266 (@chrisd8088)
* locking: ignore missing files after unlock #6244 (@lawrence3699)
* Fix remote ref resolution for download operations #6250 (@larsxschneider)
* Fix concurrent map/struct races in sshCache and lazyManifest #6243 (@joshfriend)
* Fix `--remote` option when a git push remote is set #6228 (@markshep-wbg)
* Fix adapter reuse when server returns empty transfer adapter name #6240 (@joshfriend)
* commands: fix format string type mismatch in lockverifier #6237 (@opohorel)
* Fix extra header duplication on retry #6204 (@ypfaff)
* tools: add RobustRemove() for Windows to handle file lock errors #6221 (@stanhu)
* transform DoWithAuth from recursive to loop approach to prevent endless authentication attempts #6018 (@manturovDan)
* lfshttp: fix auth response ExpiresIn data type #6200 (@aymanbagabas)
* commands: show root help for -h #6172 (@osasisorae)
* Handle `git lfs checkout` merge conflict option file paths correctly #6136 (@chrisd8088)
* Support Macro in migrate `--fixup` #6126 (@Diamondemon)

### Misc

* Add missing patch version entries in primary change log #6334 (@chrisd8088)
* Update Linux distributions and include Debian ARM64 links in releases #6333 (@chrisd8088)
* Upgrade to Go v1.27 #6332 (@chrisd8088)
* Remove stale Linux distributions before v3.8.0 release #6291 (@chrisd8088)
* t/t-pre-push.sh: use calc\_oid\_file in URL optimization test #6287 (@larsxschneider)
* Update tests to dynamically match internal program limits #6285 (@chrisd8088)
* Update Go modules and Dependabot configuration #6278 (@chrisd8088)
* Add corrupt object download tests #6274 (@chrisd8088)
* Fix and revise chunked transfer encoding test #6273 (@chrisd8088)
* Temporarily restore concurrency limit to historical fixed default #6258 (@chrisd8088)
* Simplify client structure initializations #6254 (@chrisd8088)
* Use consistent exit functions for all commands #6255 (@chrisd8088)
* Add `--add-i386` option to RPM build script #6251 (@chrisd8088)
* Update Linux distribution package list for v3.8.0 release #6248 (@chrisd8088)
* Scale default concurrent transfers by CPU count #6241 (@joshfriend)
* Fix and refactor HTTP encoding and retry tests #6207 (@chrisd8088)
* Update Windows release signing action #6222 (@chrisd8088)
* Simplify object storage directory traversals #6223 (@chrisd8088)
* Upgrade to Go v1.26 and build separate Windows resource files on 386 and amd64 platforms #6220 (@chrisd8088)
* Various gopls lint cleanups for package `git` #6211 (@bk2204)
* Log additional HTTP request headers when tracing #6195 (@chrisd8088)
* Docs: recommend bracket-glob patterns for cross-platform case safety in FAQ (refs #6187) #6192 (@star-ga)
* Improve formatting of manual page synopses #6188 (@chrisd8088)
* docs(README): add mise alternative method installation #6169 (@jylenhof)
* Makefile,script: add vendored source release asset #6159 (@chrisd8088)
* Correct and improve `grep -v` and `grep -c` usage in tests #6151 (@chrisd8088)
* Add missing backticks around `--no-modify-attrs` #6154 (@sambostock)
* Add missing options to manual pages and make JSON options consistent #6152 (@chrisd8088)
* Detect invalid object IDs and repo names in test functions #6142 (@chrisd8088)
* Use relative paths exclusively for internal checkout and pull operations #6140 (@chrisd8088)
* Fix manual page formatting errors from AsciiDoc conversion #6138 (@chrisd8088)
* Add a FAQ entry re memory usage by Git when cloning #6137 (@chrisd8088)
* docs: Provide clearer instructions for non destructive imports #6111 (@vikhik)
* Upgrade to Go 1.25 #6116 (@chrisd8088)
* commands: use Exit() function to exit with a warning message #6095 (@larsxschneider)
## Packages

Up to date packages are available on [PackageCloud](https://packagecloud.io/github/git-lfs) and [Homebrew](http://brew.sh/).

[RPM RHEL 8/Rocky Linux 8](https://packagecloud.io/github/git-lfs/packages/el/8/git-lfs-3.8.0-1.el8.x86_64.rpm/download)
[RPM RHEL 9/Rocky Linux 9](https://packagecloud.io/github/git-lfs/packages/el/9/git-lfs-3.8.0-1.el9.x86_64.rpm/download)
[RPM RHEL 10/Rocky Linux 10](https://packagecloud.io/github/git-lfs/packages/el/10/git-lfs-3.8.0-1.el10.x86_64.rpm/download)
[Debian 11 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.8.0_amd64.deb/download)
[Debian 11 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.8.0_arm64.deb/download)
[Debian 12 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/bookworm/git-lfs_3.8.0_amd64.deb/download)
[Debian 12 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/bookworm/git-lfs_3.8.0_arm64.deb/download)
[Debian 13 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/trixie/git-lfs_3.8.0_amd64.deb/download)
[Debian 13 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/trixie/git-lfs_3.8.0_arm64.deb/download)

## SHA-256 hashes:
**git-lfs-darwin-amd64-v3.8.0.zip**
f1c17aeca0b4eaab9ea606226477dbed3b84b56fe0811a9f967d2ea2b2393c53

**git-lfs-darwin-arm64-v3.8.0.zip**
caff76a7d070d8160c89bc39b6e85d98f24135b6fed038a3b4de2590d25102d8

**git-lfs-freebsd-386-v3.8.0.tar.gz**
e9690666b13fbcbaafde1f51a79e480816490a6073706a48b157c15f9c9e13a8

**git-lfs-freebsd-amd64-v3.8.0.tar.gz**
f1df7a374593ddc5c9b3fd960cb0614d58c2e6d2c9b89fbc1eb6a916858c74d6

**git-lfs-linux-386-v3.8.0.tar.gz**
5f6f5f9c53f2f517546486a8aa9cc8c34b958a1c9c167797aa70a44ac4a3da44

**git-lfs-linux-amd64-v3.8.0.tar.gz**
e455e00f15d9b95661b8d53498ffb0c3367962cf1ec73c31ab7369516cd6ab8d

**git-lfs-linux-arm-v3.8.0.tar.gz**
67144f93c2342f46456d22dbf33077f54e0581cb91f2966393151871ca328553

**git-lfs-linux-arm64-v3.8.0.tar.gz**
ac9c8efac980bb0505ead384d087e2acb6486fd8498691a2165fa174ec6118c2

**git-lfs-linux-loong64-v3.8.0.tar.gz**
7daa0d9db09a2dbb3b159834d1a5b3e8517ea7ac4cbc123f670d2b0b34cc7aea

**git-lfs-linux-ppc64le-v3.8.0.tar.gz**
fdd988653b956922f163b8e7601e255e8c64a52eabe0dff8eec756f15213b304

**git-lfs-linux-riscv64-v3.8.0.tar.gz**
7a6aa67edb57b3a2e35437c97977b1a3dd2e40b30d78cd7c429235967bfe9c5a

**git-lfs-linux-s390x-v3.8.0.tar.gz**
6fd83c1381c7085f6b32aa615dcb68a366d037c7c2502e49e99291bda06a5c08

**git-lfs-v3.8.0.tar.gz**
4f75492c6832038fa73d39a45316657208bb6caa23b273451cb4ec2358d42ccb

**git-lfs-vendor-v3.8.0.tar.gz**
28c49d50bea97d0b860fd1599cc5ab45aac937fd31125db8374bf149bb95622f

**git-lfs-windows-386-v3.8.0.zip**
657337f2ee95c2f2e5e431eb7cf9de3481346f11d708ce116c8a96a622288386

**git-lfs-windows-amd64-v3.8.0.zip**
b62e7b8ceddee635f691233d77de8eaa4b213e9209e0173811d8cfa77f7882c1

**git-lfs-windows-arm64-v3.8.0.zip**
72403a96eae6689c3a4038c99e5d9e0938ef5552c71a234aef65ef0c314af081

**git-lfs-windows-v3.8.0.exe**
aa2d69214905d6b348f1b038beb2d68e4828342f9b3fe47dae5a5f023823fe92

**hashes.asc**
fdccbf3a68456d4b6a1bec0acc088e2799abf0bf13bd91c8559bf8f15b36ba9f

**sha256sums.asc**
ca28b1768b1889964350910aabe304f37c9ef3245e90520309c13118c5ff8e07
Update `git-lfs` version in Dockerfiles

changed lines [60] of file "alpine/Dockerfile", changed lines [62] of file "debian/Dockerfile", changed lines [88] of file "windows/nanoserver/Dockerfile", changed lines [71] of file "windows/windowsservercore/Dockerfile"

v3.8.0
This release is a feature release which adds support for
zstd-compressed object downloads and introduces several new options,
including the ability to fetch Git LFS objects for a list of references
piped to standard input and the ability to limit how long Git LFS
will wait when instructed by a server to retry an HTTP request.

Git LFS now determines the case sensitivity of filesystems from the
`core.ignoreCase` Git configuration option, respects global and
system-wide Git attribute files when migrating repositories, and
tries the default Git LFS HTTP URL derived from an SSH URL when
HTTP authentication via SSH is not available.

This Git LFS release improves SSH session reuse, parses invalid
custom transfer adapter configurations and invalid Git attribute
patterns without crashing, handles file deletion conflicts on Windows
in the same manner as Git, resolves remote-tracking branches for
downloads correctly, avoids re-reading working tree files during
`clean` filter operations since the files may be in an inconsistent
state, and terminates lengthy or endless HTTP authentication sequences
after a limited number of requests.

Note that we now provide official packages and support for versions
of Linux distributions based on Debian 13 ("trixie").  We also now
provide a source code package with all of our Go module dependencies
in a `vendor` directory.

This release is built using Go v1.27 and therefore requires macOS
version 13 (Ventura) or later on macOS systems.

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

* @aymanbagabas for rectifying our authentication timeouts on 32-bit systems
* @bk2204 for augmenting our filesystem case-sensitivity support
* @cynix for solving a race condition in our `clean` filter
* @Diamondemon for improving Git attribute parsing in our `migrate` command
* @fzlzjerry for resolving a crash in our Git attribute parsing code
* @joshfriend for multiple corrections to our SSH and transfer queue code
* @jylenhof for describing a new installation utility in our documentation
* @lawrence3699 for making our `unlock` command ignore missing files
* @manturovDan and @tamaracvjetkovic for fixing an infinite HTTP recursion bug
* @markshep-wbg for ensuring our locking commands honour the `--remote` option
* @mzr for introducing support for zstd-compressed HTTP object downloads
* @opohorel for correcting our lock verification error messages
* @osasisorae for standardizing the ways to output our main manual page
* @sambostock for editing the documentation of our `track` command
* @stanhu for helping our `smudge` filter avoid deletion conflicts on Windows
* @star-ga for adding advice on case-insensitive filename patterns to our FAQ
* @TheRootDaemon for creating an option to limit HTTP retry delay times
* @vikhik for documenting our `--no-rewrite` migration option more clearly
* @ypfaff for preventing duplication of extra HTTP headers in our retry logic
* @zbleness for implementing a fallback to our hybrid SSH/HTTP authentication
* @zh1C for revising our `pointer` command to support pointer extensions

### Features

* Enhance LFS transfer retries with maximum retry time limit #6304 (@TheRootDaemon)
* fall back to guessed endpoint when git-lfs-authenticate is unavailable #6286 (@zbleness)
* add lfs.httpDownloadEncoding with zstd and gzip support #6196 (@mzr)
* Use `core.ignorecase` to determine case sensitivity #6212 (@bk2204)
* Full support of special attributes in `migrate` #6170 (@Diamondemon)
* feat: git lfs pointer support extensions #6093 (@zh1C)
* fetch: allow providing refs via stdin #6088 (@larsxschneider)

### Bugs

* gitattr: handle invalid wildmatch patterns #6324 (@fzlzjerry)
* filter-process: Ignore file size in working copy when cleaning #6011 (@cynix)
* Handle unknown object sizes in progress log and fix throttling #6288 (@chrisd8088)
* Fix standalone adapter crash and ignore invalid custom adapter names #6252 (@chrisd8088)
* Reuse SSH sessions when possible and only close at client exit #6266 (@chrisd8088)
* locking: ignore missing files after unlock #6244 (@lawrence3699)
* Fix remote ref resolution for download operations #6250 (@larsxschneider)
* Fix concurrent map/struct races in sshCache and lazyManifest #6243 (@joshfriend)
* Fix `--remote` option when a git push remote is set #6228 (@markshep-wbg)
* Fix adapter reuse when server returns empty transfer adapter name #6240 (@joshfriend)
* commands: fix format string type mismatch in lockverifier #6237 (@opohorel)
* Fix extra header duplication on retry #6204 (@ypfaff)
* tools: add RobustRemove() for Windows to handle file lock errors #6221 (@stanhu)
* transform DoWithAuth from recursive to loop approach to prevent endless authentication attempts #6018 (@manturovDan)
* lfshttp: fix auth response ExpiresIn data type #6200 (@aymanbagabas)
* commands: show root help for -h #6172 (@osasisorae)
* Handle `git lfs checkout` merge conflict option file paths correctly #6136 (@chrisd8088)
* Support Macro in migrate `--fixup` #6126 (@Diamondemon)

### Misc

* Add missing patch version entries in primary change log #6334 (@chrisd8088)
* Update Linux distributions and include Debian ARM64 links in releases #6333 (@chrisd8088)
* Upgrade to Go v1.27 #6332 (@chrisd8088)
* Remove stale Linux distributions before v3.8.0 release #6291 (@chrisd8088)
* t/t-pre-push.sh: use calc\_oid\_file in URL optimization test #6287 (@larsxschneider)
* Update tests to dynamically match internal program limits #6285 (@chrisd8088)
* Update Go modules and Dependabot configuration #6278 (@chrisd8088)
* Add corrupt object download tests #6274 (@chrisd8088)
* Fix and revise chunked transfer encoding test #6273 (@chrisd8088)
* Temporarily restore concurrency limit to historical fixed default #6258 (@chrisd8088)
* Simplify client structure initializations #6254 (@chrisd8088)
* Use consistent exit functions for all commands #6255 (@chrisd8088)
* Add `--add-i386` option to RPM build script #6251 (@chrisd8088)
* Update Linux distribution package list for v3.8.0 release #6248 (@chrisd8088)
* Scale default concurrent transfers by CPU count #6241 (@joshfriend)
* Fix and refactor HTTP encoding and retry tests #6207 (@chrisd8088)
* Update Windows release signing action #6222 (@chrisd8088)
* Simplify object storage directory traversals #6223 (@chrisd8088)
* Upgrade to Go v1.26 and build separate Windows resource files on 386 and amd64 platforms #6220 (@chrisd8088)
* Various gopls lint cleanups for package `git` #6211 (@bk2204)
* Log additional HTTP request headers when tracing #6195 (@chrisd8088)
* Docs: recommend bracket-glob patterns for cross-platform case safety in FAQ (refs #6187) #6192 (@star-ga)
* Improve formatting of manual page synopses #6188 (@chrisd8088)
* docs(README): add mise alternative method installation #6169 (@jylenhof)
* Makefile,script: add vendored source release asset #6159 (@chrisd8088)
* Correct and improve `grep -v` and `grep -c` usage in tests #6151 (@chrisd8088)
* Add missing backticks around `--no-modify-attrs` #6154 (@sambostock)
* Add missing options to manual pages and make JSON options consistent #6152 (@chrisd8088)
* Detect invalid object IDs and repo names in test functions #6142 (@chrisd8088)
* Use relative paths exclusively for internal checkout and pull operations #6140 (@chrisd8088)
* Fix manual page formatting errors from AsciiDoc conversion #6138 (@chrisd8088)
* Add a FAQ entry re memory usage by Git when cloning #6137 (@chrisd8088)
* docs: Provide clearer instructions for non destructive imports #6111 (@vikhik)
* Upgrade to Go 1.25 #6116 (@chrisd8088)
* commands: use Exit() function to exit with a warning message #6095 (@larsxschneider)
## Packages

Up to date packages are available on [PackageCloud](https://packagecloud.io/github/git-lfs) and [Homebrew](http://brew.sh/).

[RPM RHEL 8/Rocky Linux 8](https://packagecloud.io/github/git-lfs/packages/el/8/git-lfs-3.8.0-1.el8.x86_64.rpm/download)
[RPM RHEL 9/Rocky Linux 9](https://packagecloud.io/github/git-lfs/packages/el/9/git-lfs-3.8.0-1.el9.x86_64.rpm/download)
[RPM RHEL 10/Rocky Linux 10](https://packagecloud.io/github/git-lfs/packages/el/10/git-lfs-3.8.0-1.el10.x86_64.rpm/download)
[Debian 11 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.8.0_amd64.deb/download)
[Debian 11 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.8.0_arm64.deb/download)
[Debian 12 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/bookworm/git-lfs_3.8.0_amd64.deb/download)
[Debian 12 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/bookworm/git-lfs_3.8.0_arm64.deb/download)
[Debian 13 (AMD64)](https://packagecloud.io/github/git-lfs/packages/debian/trixie/git-lfs_3.8.0_amd64.deb/download)
[Debian 13 (ARM64)](https://packagecloud.io/github/git-lfs/packages/debian/trixie/git-lfs_3.8.0_arm64.deb/download)

## SHA-256 hashes:
**git-lfs-darwin-amd64-v3.8.0.zip**
f1c17aeca0b4eaab9ea606226477dbed3b84b56fe0811a9f967d2ea2b2393c53

**git-lfs-darwin-arm64-v3.8.0.zip**
caff76a7d070d8160c89bc39b6e85d98f24135b6fed038a3b4de2590d25102d8

**git-lfs-freebsd-386-v3.8.0.tar.gz**
e9690666b13fbcbaafde1f51a79e480816490a6073706a48b157c15f9c9e13a8

**git-lfs-freebsd-amd64-v3.8.0.tar.gz**
f1df7a374593ddc5c9b3fd960cb0614d58c2e6d2c9b89fbc1eb6a916858c74d6

**git-lfs-linux-386-v3.8.0.tar.gz**
5f6f5f9c53f2f517546486a8aa9cc8c34b958a1c9c167797aa70a44ac4a3da44

**git-lfs-linux-amd64-v3.8.0.tar.gz**
e455e00f15d9b95661b8d53498ffb0c3367962cf1ec73c31ab7369516cd6ab8d

**git-lfs-linux-arm-v3.8.0.tar.gz**
67144f93c2342f46456d22dbf33077f54e0581cb91f2966393151871ca328553

**git-lfs-linux-arm64-v3.8.0.tar.gz**
ac9c8efac980bb0505ead384d087e2acb6486fd8498691a2165fa174ec6118c2

**git-lfs-linux-loong64-v3.8.0.tar.gz**
7daa0d9db09a2dbb3b159834d1a5b3e8517ea7ac4cbc123f670d2b0b34cc7aea

**git-lfs-linux-ppc64le-v3.8.0.tar.gz**
fdd988653b956922f163b8e7601e255e8c64a52eabe0dff8eec756f15213b304

**git-lfs-linux-riscv64-v3.8.0.tar.gz**
7a6aa67edb57b3a2e35437c97977b1a3dd2e40b30d78cd7c429235967bfe9c5a

**git-lfs-linux-s390x-v3.8.0.tar.gz**
6fd83c1381c7085f6b32aa615dcb68a366d037c7c2502e49e99291bda06a5c08

**git-lfs-v3.8.0.tar.gz**
4f75492c6832038fa73d39a45316657208bb6caa23b273451cb4ec2358d42ccb

**git-lfs-vendor-v3.8.0.tar.gz**
28c49d50bea97d0b860fd1599cc5ab45aac937fd31125db8374bf149bb95622f

**git-lfs-windows-386-v3.8.0.zip**
657337f2ee95c2f2e5e431eb7cf9de3481346f11d708ce116c8a96a622288386

**git-lfs-windows-amd64-v3.8.0.zip**
b62e7b8ceddee635f691233d77de8eaa4b213e9209e0173811d8cfa77f7882c1

**git-lfs-windows-arm64-v3.8.0.zip**
72403a96eae6689c3a4038c99e5d9e0938ef5552c71a234aef65ef0c314af081

**git-lfs-windows-v3.8.0.exe**
aa2d69214905d6b348f1b038beb2d68e4828342f9b3fe47dae5a5f023823fe92

**hashes.asc**
fdccbf3a68456d4b6a1bec0acc088e2799abf0bf13bd91c8559bf8f15b36ba9f

**sha256sums.asc**
ca28b1768b1889964350910aabe304f37c9ef3245e90520309c13118c5ff8e07
GitHub Action workflow link
Updatecli logo

Created automatically by Updatecli

Options:

Most of Updatecli configuration is done via its manifest(s).

  • If you close this pull request, Updatecli will automatically reopen it, the next time it runs.
  • If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.

Feel free to report any issues at github.com/updatecli/updatecli.
If you find this tool useful, do not hesitate to star our GitHub repository as a sign of appreciation, and/or to tell us directly on our chat!

Made with ❤️️ by updatecli
Made with ❤️️ by updatecli
Made with ❤️️ by updatecli
@dduportal
dduportal merged commit 2137824 into master Aug 28, 2026
11 checks passed
@dduportal
dduportal deleted the updatecli_master_ead3a7c681dd1a2a1981bd4bb2006a1407fff1b6cbe67822ba6d8d0e77c92cb5 branch August 28, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant