Bump git-lfs version to 3.8.0 - #709
Merged
dduportal merged 3 commits intoAug 28, 2026
Merged
Conversation
Made with ❤️️ by updatecli
Made with ❤️️ by updatecli
Made with ❤️️ by updatecli
dduportal
approved these changes
Aug 28, 2026
dduportal
deleted the
updatecli_master_ead3a7c681dd1a2a1981bd4bb2006a1407fff1b6cbe67822ba6d8d0e77c92cb5
branch
August 28, 2026 16:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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** ca28b1768b1889964350910aabe304f37c9ef3245e90520309c13118c5ff8e07Update `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** ca28b1768b1889964350910aabe304f37c9ef3245e90520309c13118c5ff8e07Update `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** ca28b1768b1889964350910aabe304f37c9ef3245e90520309c13118c5ff8e07Created automatically by Updatecli
Options:
Most of Updatecli configuration is done via its manifest(s).
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!