This is where announcements of new releases, features, and other news is posted. git-annex users are recommended to subscribe to this page's RSS feed. Also, see security for security announcements.

RSS Atom Add a new post titled:
version 10.20250828

git-annex 10.20250828 released with these changes

  • p2p: Added --enable option, which can be used to enable P2P networks provided by external commands git-annex-p2p-<netname>
  • Added git-remote-p2p-annex, which allows git pull and push to P2P networks provided by commands git-annex-p2p-<netname>
  • S3: Default to signature=v4 when using an AWS endpoint, since some AWS regions need v4 and all support it. When host= is used to specify a different S3 host, the default remains signature=v2.
  • webapp: Support setting up S3 buckets in regions that need v4 signatures.
  • S3: When initremote is given the name of a bucket that already exists, automatically set datacenter to the right value, rather than needing it to be explicitly set.
  • info: Added --show option to pick which parts of the info to calculate and display.
  • Improve behavior when there are special remotes configured with autoenable=yes with names that conflict with other remotes.
  • adjust: When another branch has been manually merged into the adjusted branch, re-adjusting errors out, rather than losing that merge commit.
  • sync: When another branch has been manually merged into an adjusted branch, error out rather than only displaying a warning.
  • initremote: New onlyencryptcreds=yes which can be used along with embedcreds=yes, to only encrypt the embedded creds, without encrypting the content of the special remote. Useful for exporttree/importtree remotes.
  • Don't allow the type of encryption of an existing special remote to be changed. Fixes reversion introduced in version 7.20191230.
  • tahoe: Support tahoe-lafs command versions newer than 1.16.
  • tahoe: Fix bug that made initremote require an encryption= parameter, despite git-annex encryption not being used with this special remote. Fixes reversion introduced in version 7.20191230.
  • Improved error message when yt-dlp is not installed and is needed to get a file from the web.
  • The annex.youtube-dl-command git config is no longer used, git-annex always runs the yt-dlp command, rather than the old youtube-dl command.
  • Removed support for git versions older than 2.22.
  • Bump aws build dependency to 0.24.1.
  • stack.yaml: Update to lts-24.2.
Posted
version 10.20250721

git-annex 10.20250721 released with these changes

  • Improved workaround for git 2.50 bug, avoding an occasional test suite failure, as well as some situations where an unlocked file did not get populated when adding another file to the repository with the same content.
  • Add --url option and url= preferred content expression, to match content that is recorded as present in an url.
  • p2phttp: Scan multilevel directories with --directory.
  • p2phttp: Added --socket option.
  • Fix bug in handling of linked worktrees on filesystems not supporting symlinks, that caused annexed file content to be stored in the wrong location inside the git directory, and also caused pointer files to not get populated.
  • fsck: Fix location of annexed files when run in linked worktrees that have experienced the above bug.
  • Fix symlinks generated to annexed content when in adjusted unlocked branch in a linked worktree on a filesystem not supporting symlinks.
Posted
version 10.20250630

git-annex 10.20250630 released with these changes

  • Work around git 2.50 bug that caused it to crash when there is a merge conflict with an unlocked annexed file.
  • Skip and warn when a tree import includes empty filenames, which can happen with eg a S3 bucket.
  • Avoid a problem with temp file names ending in whitespace on filesystems like VFAT that don't support such filenames.
  • webapp: Rename "Upgrade Repository" to "Convert Repository" to avoid confusion with git-annex upgrade.
Posted
version 10.20250605

git-annex 10.20250605 released with these changes

  • sync: Push the current branch first, rather than a synced branch, to better support git forges (gitlab, gitea, forgejo, etc.) which use push-to-create with the first pushed branch becoming the default branch.
  • Added annex.fastcopy and remote.name.annex-fastcopy config setting. When set, this allows the copy_file_range syscall to be used, which can eg allow for server-side copies on NFS. (For fastest copying, also disable annex.verify or remote.name.annex-verify.)
  • map: Support --json option.
  • map: Improve display of remote names.
  • When annex.freezecontent-command or annex.thawcontent-command is configured but fails, prevent initialization. This allows the user to fix their configuration and avoid crippled filesystem detection entering an adjusted branch.
  • assistant: Avoid hanging at startup when a process has a *.lock file open in the .git directory.
  • Windows: Fix duplicate file bug that could occur when files were supposed to be moved across devices.
Posted
version 10.20250520

git-annex 10.20250520 released with these changes

  • Preferred content now supports "balanced=groupname:lackingcopies" to make files be evenly balanced amoung as many repositories as are needed to satisfy numcopies.
  • map: Fix buggy handling of remotes that are bare git repositories accessed via ssh.
  • map: Avoid looping forever with mutually recursive paths between repositories accessed via ssh.
  • whereused: Fix bug that could find matches from grafts in remote git-annex branches.
  • Windows: Fix bug that can cause git status to show annexed files as modified when built with OsPath.
Posted
Distribits meeting 2025

We are happy to announce that the call for participation for Distribits 2025 is now online at https://distribits.live/

This meeting is organized by the folks behind git-annex and DataLad. We aim to bring together enthusiasts of tools and workflows in the domain of distributed data.

We are looking forward to October 2025 and to meeting people from everywhere, online and in Düsseldorf.

Registration is open now and until May 1st. Please consider submitting a talk if you are doing something interesting or unusual with git-annex.

Posted
Distribits meeting

We are happy to announce that the call for participation for the first ever Distribits meeting is now online at https://distribits.live/

This meeting is organized by the folks behind git-annex and DataLad. We aim to bring together enthusiasts of tools and workflows in the domain of distributed data.

We are looking forward to April 2024 and to meeting people from everywhere, online and in Düsseldorf.

Registration is open now and until October 15. Please consider submitting a talk if you are doing something interesting or unusual with git-annex.

Posted
2018 git-annex user survey

Similar to the yearly git user survey, there is a 2018 git-annex user survey.

If you use git-annex, please take a few minutes to answer the questions!

Since git-annex is seeing increasing use to manage scientific data, the survey also includes some extra questions about that at the end.

Posted
security fix release

git-annex 6.20180626 is an important security fix release.

See the advisory for details about the security holes fixed in this release.

After upgrading git-annex, you should restart any git-annex assistant processes.

Several changes to git-annex's behavior had to be made as part of the security fixes:

  • A security fix has changed git-annex to refuse to download content from some special remotes when the content cannot be verified with a hash check. In particular URL and WORM keys stored on such remotes won't be downloaded. See the documentation of the annex.security.allow-unverified-downloads configuration for how to deal with this if it affects your files.

  • A security fix has changed git-annex to only support http, https, and ftp URL schemes by default. You can enable other URL schemes, at your own risk, using annex.security.allowed-url-schemes.

  • A related security fix prevents git-annex from connecting to http servers (and proxies) on localhost or private networks. This can be overridden, at your own risk, using annex.security.allowed-ip-addresses.

  • Setting annex.web-options no longer is enough to make curl be used, and youtube-dl is also no longer used by default. See the documentation of annex.security.allowed-http-addresses for details and how to enable them.

  • The annex.web-download-command configuration has been removed, use annex.web-options instead.

Posted
git annex fall of code

Thanks to my recent successful git-annex crowdfunding campaign, $1000 has been set aside to award others for their contributions to git-annex by the end of 2013. This is not a lot of money, but I hope that the reward and recognition will encourage some more people to work on git-annex.

You don't need to know Haskell! You could contribute some interesting and useful special remote hooks, or write better documentation.

On the other hand, if you have learned Haskell, this might be your first chance to make some money with it! Some ideas for things to work on that would be particularly award-worthy:

  • Port git-annex to IOS, using ghc-ios. I don't plan to ever do this myself, but you could make it happen.
  • Get the git-annex assistant working in Windows, building on the existing port to Windows. Otherwise, this is on my roadmap for February.
  • Solve existing bugs or todo items. There are more than I can keep up with.

The amount of the awards will vary depending on the size of the contribution. Since this is getting started later than is ideal, I reserve the right to extend it past the end of the year if I don't get enough participants.

If you'd like to participate in this program, just email me at id@joeyh.name. --Joey

Posted
Presentation at FOSDEM

git-annex will be briefly presented at FOSDEM, on Sunday February 4th at 15:40. Details.

Thanks to Richard Hartmann for making this presentation.

Posted
sharebox: a FUSE filesystem for git-annex

Christophe-Marie Duquesne has just announced Sharebox, a FUSE filesystem relying on git-annex:

What are your goals?  
Seamless synchronization "à la dropbox".  
Ability to use with big binary files such as mp3/movies.  
Entirely decentralized.  
Don't use unnecessary space  
Keep it simple: avoid special VCS commands and keep a filesystem  
interface as much as possible.

While still alpha, this is promising. --Joey

Posted