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 6.20180913 released with these changes

  • When --batch is used with matching options like --in, --metadata, etc, only operate on the provided files when they match those options. Otherwise, a blank line is output in the batch protocol. Affected commands: find, add, whereis, drop, copy, move, get
  • Make metadata --batch combined with matching options refuse to run, since it does not seem worth supporting that combination.
  • v6 add: Take advantage of improved SIGPIPE handler in git 2.5 to speed up the clean filter by not reading the file content from the pipe. This also avoids git buffering the whole file content in memory.
  • v6: After updating the worktree for an add/drop, update git's index, so git status will not show the files as modified.
  • v6: When annex.largefiles is not configured for a file, running git add or git commit, or otherwise using git to stage a file will add it to the annex if the file was in the annex before, and to git otherwise. This is to avoid accidental conversion. Note that git-annex add's behavior has not changed.
  • v6: Update associated files database when git has staged changes to pointer files.
  • v6: Fix some race conditions.
  • v6: Fix annex object file permissions when git-annex add is run on a modified unlocked file, and in some related cases.
  • v6: When a file is unlocked but has not been modified, and the unlocking is only staged, git-annex add did not lock it. Now it will, for consistency with how modified files are handled and with v5.
  • Fix git command queue to be concurrency safe.
  • linux standalone: When LOCPATH is already set, use it instead of the bundled locales. It can be set to an empty string to use the system locales too.
  • Stop using external hash programs, since cryptonite is faster.
  • Fix build on FreeBSD.
  • S3: Support buckets with versioning enabled. When a remote is configured with exporttree=yes versioning=yes, git-annex can download past versions of exported files from it.
  • S3: Multipart uploads are now only supported when git-annex is built with aws-0.16.0 or later, as earlier versions of the library don't support versioning with multipart uploads.
  • S3: Support AWS_SESSION_TOKEN.
  • Don't use GIT_PREFIX when GIT_WORK_TREE=. because it seems git does not intend GIT_WORK_TREE to be relative to GIT_PREFIX in that case, despite GIT_WORK_TREE=.. being relative to GIT_PREFIX.
  • Don't use GIT_PREFIX to fix up a relative GIT_DIR, because git 2.11 sets GIT_PREFIX to a path it's not relative to. and apparently GIT_DIR is never relative to GIT_PREFIX.
  • git-annex.cabal: Fix build without assistant, and some other refinements. Thanks fftehnik.
Posted Thu Sep 13 19:51:47 2018

git-annex 6.20180807 released with these changes

  • S3: Support credential-less download from remotes configured with public=yes exporttree=yes.
  • Fix reversion in display of http 404 errors.
  • Added config that can be used to make cache remotes.
  • Added --accessedwithin matching option.
  • Added annex.commitmessage config that can specify a commit message for the git-annex branch instead of the usual "update".
  • Fix wrong sorting of remotes when using -J, it was sorting by uuid, rather than cost.
  • addurl: Include filename in --json-progress output.
  • Fix git-annex branch data loss that could occur after git-annex forget --drop-dead.
Posted Tue Aug 7 20:22:52 2018

git-annex 6.20180719 released with these changes

  • Support working trees set up by git-worktree.
  • Improve support for repositories created with --separate-git-dir.
  • Support configuring remote.web.annex-cost and remote.bittorrent.annex-cost
  • addurl: When security configuration prevents downloads with youtube-dl, still check if the url is one that it supports, and fail downloading it, instead of downloading the raw web page.
  • Send User-Agent and any configured annex.http-headers when downloading with http, fixes reversion introduced when switching to http-client.
  • Fix reversion introduced in version 6.20180316 that caused git-annex to stop processing files when unable to contact a ssh remote.
  • v6: Work around git bug that runs smudge/clean filters at the top of the repository while passing them a relative GIT_WORK_TREE that may point outside of the repository, by using GIT_PREFIX to get back to the subdirectory where a relative GIT_WORK_TREE is valid.
  • p2p --pair: Fix interception of the magic-wormhole pairing code, which since 0.8.2 it has sent to stderr rather than stdout.
  • info: Display uuid and description when a repository is identified by uuid, and for "here".
  • unused --from: Allow specifiying a repository by uuid or description.
  • linux standalone: Generate locale files in ~/.cache/git-annex/locales/ so they're available even when the standalone tarball is installed in a directory owned by root. Note that this prevents using the standalone bundle in environments where HOME is not writable.
  • Include uname command in standalone builds since git-annex uses it.
  • git-annex.cabal: Fix network version.
Posted Thu Jul 19 17:54:26 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

git-annex 6.20180529 released with these changes

  • Prevent haskell http-client from decompressing gzip files, so downloads of such files works the same as it used to with wget and curl.
  • Workaround for bug in an old version of cryptonite that broke https downloads, by using curl for downloads when git-annex is built with it.
  • view, vadd: Fix crash when a git submodule has a name starting with a dot.
  • Don't allow entering a view with staged or unstaged changes.
  • move: --force was accidentially enabling two unrelated behaviors since 6.20180427. The older behavior, which has never been well documented and seems almost entirely useless, has been removed.
  • copy: --force no longer does anything.
  • migrate: Fix bug in migration between eg SHA256 and SHA256E, that caused the extension to be included in SHA256 keys, and omitted from SHA256E keys. (Bug introduced in version 6.20170214)
  • migrate: Check for above bug when migrating from SHA256 to SHA256 (and same for SHA1 to SHA1 etc), and remove the extension that should not be in the SHA256 key.
  • fsck: Detect and warn when keys need an upgrade, either to fix up from the above migrate bug, or to add missing size information (a long ago transition), or because of a few other past key related bugs.
  • git-annex-shell: GIT_ANNEX_SHELL_APPENDONLY makes it allow writes, but not deletion of annexed content. Note that securing pushes to the git repository is left up to the user.
  • setpresentkey: Added --batch support.
Posted Tue May 29 17:07:28 2018

git-annex 6.20180509 released with these changes

  • The old git-annex Android app is now deprecated in favor of running git-annex in termux.
  • runshell: Use proot when running on Android, to work around Android 8's ill-advised seccomp filtering of system calls, including ones crucial for reliable thread locking. (This will only work with termux's version of proot.)
  • Fix bug in last release that crashes when using --all or running git-annex in a bare repository. May have also affected git-annex unused and git-annex info.
  • Fix bug in last release that prevented the webapp opening on non-Linux systems.
  • Support building with hinotify-0.3.10.
  • Display error message when http download fails.
  • Avoid forward retry when 0 bytes were received.
Posted Wed May 9 20:21: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