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:

git-annex 8.20210903 released with these changes

  • Deal with clock skew, both forwards and backwards, when logging information to the git-annex branch.
  • GIT_ANNEX_VECTOR_CLOCK can now be set to a fixed value (eg 1) rather than needing to be advanced each time a new change is made.
  • Misuse of GIT_ANNEX_VECTOR_CLOCK will no longer confuse git-annex.
  • add: When adding a dotfile, avoid treating its name as an extension.
  • rsync special remote: Stop displaying rsync progress, and use git-annex's own progress display.
  • Many special remotes now checksum content while it is being retrieved, instead of in a separate pass at the end. This is supported for all special remotes on Linux (except for bittorrent), and for many on other OS's (except for adb, external, gcrypt, hook, and rsync).
  • unused: Skip the refs/annex/last-index ref that git-annex recently started creating.
  • Fix test suite failure on Windows.
  • New --batch-keys option added to these commands: get, drop, move, copy, whereis
  • Added config. This can be used to run some forks of youtube-dl.
  • Run cp -a with --no-preserve=xattr, to avoid problems with copied xattrs, including them breaking permissions setting on some NFS servers.
  • add, import: Detect when xattrs or perhaps ACLs prevent removing write permissions from an annexed file, and fail with an informative message.
  • Fix support for readonly git remotes. (Reversion in version 8.20210621)
  • When downloading urls fail, explain which urls failed for which reasons.
  • web: Avoid displaying a warning when downloading one url failed but another url later succeeded.
Posted Fri Sep 3 16:01:44 2021

git-annex 8.20210803 released with these changes

  • whereused: New command, finds what files use a key, or where a key was used historically.
  • Fix a bug that prevented getting content from a repository that started out as a bare repository, or had annex.crippledfilesystem set, and was converted to a non-bare repository.
  • Fix retrieval of content from borg repos accessed over ssh.
  • sync: When --quiet is used, run git commit, push, and pull without their ususual output.
  • merge: When --quiet is used, run git merge without its usual output.
  • sync, merge, post-receive: Avoid merging unrelated histories, which used to be allowed only to support direct mode repositories. (However, sync does still merge unrelated histories when importing trees from special remotes, and the assistant still merges unrelated histories.)
  • sync, merge: Added --allow-unrelated-histories option, which is the same as the git merge option.
  • Fix bug that caused some transfers to incorrectly fail with "content changed while it was being sent", when the content was not changed.
  • Fix bug that could prevent pointer files from being populated, in a repository that was upgraded from v7.
  • fsck: Detect and correct stale or missing inode caches.
  • Fix a rounding bug in display of data sizes.
  • git-annex get when run as the first git-annex command in a new repo did not populate unlocked files. (Reversion in version 8.20210621)
Posted Tue Aug 3 16:21:21 2021

git-annex 8.20210714 released with these changes

  • assistant: Avoid unncessary git repository repair in a situation where git fsck gets confused about a commit that is made while it's running.
  • addurl: Avoid crashing when used on beegfs.
  • --debug output goes to stderr again, not stdout. (Reversion in version 8.20210428)
  • init: Fix misbehavior when core.sharedRepository = group that caused it to enter an adjusted branch and set annex.crippledfilesystem (Reversion in version 8.20210630)
  • assistant: When adding non-large files to git, honor annex.delayadd configuration. Also, don't add non-large files to git when they are still being written to.
Posted Wed Jul 14 16:24:22 2021

git-annex 8.20210630 released with these changes

  • Fixed bug that interrupting git-annex repair (or assistant) while it was fixing repository corruption would lose objects that were contained in pack files. Also the assistant might sometimes have crashed with the same result.
  • repair: Fix reversion in version 8.20200522 that prevented fetching missing objects from remotes.
  • sync: Partly work around github behavior that first branch to be pushed to a new repository is assumed to be the head branch, by not pushing synced/git-annex first.
  • Added annex.freezecontent-command and annex.thawcontent-command configs.
  • Improve display of errors when transfers fail.
  • Dropping an unused object with drop --unused or dropunused will mark it as dead, preventing fsck --all from complaining about it after it's been dropped from all repositories.
  • addurl, importfeed: Added --no-raw option that forces download with youtube-dl or a special remote. In particular this can avoid falling back to raw download when youtube-dl is blocked for some reason.
Posted Wed Jun 30 15:49:25 2021

git-annex 8.20210621 released with these changes

  • New matching options --excludesamecontent and --includesamecontent
  • When two files have the same content, and a required content expression matches one but not the other, dropping the latter file will fail as it would also remove the content of the required file.
  • drop, move, mirror: When two files have the same content, and different numcopies or requiredcopies values, use the higher value.
  • drop --auto: When two files have the same content, and a preferred content expression matches one but not the other, do not drop the content.
  • sync --content, assistant: When two unlocked files have the same content, and a preferred content expression matches one but not the other, do not drop the content. (This was already the case for locked files.)
  • sync --content, assistant: Fix an edge case where a file that is not preferred content did not get dropped.
  • filter-branch: New command, useful to produce a filtered version of the git-annex branch, eg when splitting a repository.
  • fromkey: Create an unlocked file when used in an adjusted branch where the file should be unlocked, or when configured by annex.addunlocked.
  • Fix behavior of several commands, including reinject, addurl, and rmurl when given an absolute path to an unlocked file, or a relative path that leaves and re-enters the repository.
  • smudge: Fix a case where an unlocked annexed file that annex.largefiles does not match could get its unchanged content checked into git, due to git running the smudge filter unecessarily.
  • reinject: Error out when run on a file that is not annexed, rather than silently skipping it.
  • assistant: Fix a crash on startup by avoiding using forkProcess.
  • init: When annex.commitmessage is set, use that message for the commit that creates the git-annex branch.
  • Added annex.adviceNoSshCaching config.
  • Added --size-limit option.
  • Future proof activity log parsing.
  • Fix an exponential slowdown when large numbers of duplicate files are being added in unlocked form.
Posted Mon Jun 21 16:18:47 2021

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 Sat Dec 1 15:46:38 2018

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 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

  • 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

  • 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 for details and how to enable them.

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

Posted Tue Jun 26 16:00:19 2018

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

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

Posted Mon Oct 19 20:05:12 2015

Similar to the yearly git user survey, I am doing a 2013 git-annex user survey.

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

Posted Fri Nov 22 17:17:21 2013

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 --Joey

Posted Thu Oct 10 22:02:33 2013

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 Sat Feb 4 18:30:28 2012

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 Thu Mar 31 18:06:14 2011

Linux Weekly News has a nice article on git-annex in it this week.

Posted Thu Dec 9 15:35:07 2010