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

  • S3: Improve diagnostics when a remote is configured with exporttree and versioning, but no S3 version id has been recorded for a key.
  • findref: Support file matching options: --include, --exclude, --want-get, --want-drop, --largerthan, --smallerthan, --accessedwithin
  • Commands supporting --branch now apply file matching options --include, --exclude, --want-get, --want-drop to filenames from the branch. Previously, combining --branch with those would fail to match anything.
  • add, import, findref: Support --time-limit.
  • Add --branch option to git-annex find and mildly deprecate findref in favor of it.
  • webdav: When initializing, avoid trying to make a directory at the top of the webdav server, which could never accomplish anything and failed on nextcloud servers. (Reversion introduced in version 6.20170925.)
  • Fix a case where upgrade to v7 caused git to think that unlocked files were modified.
  • Fix bug upgrading from direct mode to v7: when files in the repository were already committed as v7 unlocked files elsewhere, and the content was present in the direct mode repository, the annexed files got their full content checked into git.
  • Fix bug that caused v7 unlocked files in a direct mode repository to get locked when committing.
Posted Tue Dec 11 20:34:04 2018

git-annex 7.20181205 released with these changes

  • Make bittorrent special remote work w/o btshowmetainfo installed when it was build with torrentparser. Thanks, Robert Schütz
  • When running youtube-dl to get a filename, pass --no-playlist.
  • Fix build without concurrent-output.
  • init: When a crippled filesystem causes an adjusted unlocked branch to be used, set repo version to 7, which it neglected to do before.
  • init: When on a crippled filesystem, and the git version is too old to use an adjusted unlocked branch, fall back to using direct mode.
  • info: When used with an exporttree remote, includes an "exportedtree" info, which is the tree last exported to the remote. During an export conflict, multiple values will be listed.
  • dropunused: When an unused object file has gotten modified, eg due to annex.thin being set, don't silently skip it, but display a warning and let --force drop it.
  • annex.cachecreds: New config to allow disabling of credentials caching for special remotes.
Posted Wed Dec 5 20:19:50 2018

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

  • git-annex-shell: Fix hang when transferring the same objects to two different clients at the same time. (Or when annex.pidlock is used, two different objects.)
  • Fixed some other potential hangs in the P2P protocol.
  • Fix bash completion of "git annex" to propertly handle files with spaces and other problem characters. (Completion of "git-annex" already did.)
  • Fix resume of download of url when the whole file content is already actually downloaded.
  • When an export conflict prevents accessing a special remote, be clearer about what the problem is and how to resolve it.
  • export, sync --content: Avoid unnecessarily trying to upload files to an exporttree remote that already contains the files.
  • smudge: When passed a file located outside the working tree, eg by git diff, avoid erroring out.
  • drop -J: Avoid processing the same key twice at the same time when multiple annexed files use it.
  • When a command is operating on multiple files and there's an error with one, try harder to continue to the rest. (As was already done for many types of errors including IO errors.)
  • Fixed a crash when using -J with ssh password prompts in --quiet/--json mode. Thanks to Yaroslav Halchenko and the DataLad&ReproNim team for helping to track down this bug.
  • Remove esqueleto dependency to allow upgrading other dependencies to newer versions. Thanks Sean Parsons.
  • Fix build with persistent-sqlite older than 2.6.3.
  • Updated stack.yaml to lts-12.19; added stack-lts-9.9.yaml to support old versions of stack.
Posted Wed Nov 21 18:24:39 2018

git-annex 7.20181105 released with these changes

  • Fix test suite failure when git-annex test is not run inside a git repository.
  • Fix a P2P protocol hang.
  • importfeed: Avoid erroring out when a feed has been repeatedly broken, as that can leave other imported files not checked into git.
  • Increase minimum QuickCheck version.
Posted Mon Nov 5 17:34:09 2018

News for git-annex 7.20181031:

Repository version 7 is now available. v6 repositories will automatically upgrade to v7. v5 repositories are still supported and will not be automatically upgraded yet. Direct mode is deprecated, and upgrading direct mode repositories to v7 is encouraged, unless they need to remain usable by older versions of git-annex. Just run git annex upgrade. git-annex will no longer initialize new repositories on crippled filesystems using direct mode, instead it uses v7. The git-annex Android app is no longer being updated. Users of the app should remove it and install using the new Termux based installation method.

git-annex 7.20181031 released with these changes

  • Added v7 repository mode. v6 upgrades automatically to v7, but v5 is still the default for now. While v6 was always experimental to some degree, its successor v7 is ready for production use!
  • Direct mode repositories are deprecated; they have many problems that v7 fixes, so upgrading them now is recommended (but not yet required): git annex upgrade --version=7
  • init: When in a crippled filesystem, initialize a v7 repository using an adjusted unlocked branch, instead of a direct mode repository.
  • At long last there's a way to hide annexed files whose content is missing from the working tree: git-annex adjust --hide-missing See
  • When already in an adjusted branch, running git-annex adjust again will update the branch as needed. This is mostly useful with --hide-missing to hide/unhide files after their content has been dropped or received.
  • git-annex sync --content supports --hide-missing; it can be used to get the content of hidden files, and it updates the adjusted branch to hide/unhide files as necessary.
  • smudge: The smudge filter no longer provides git with annexed file content, to avoid a git memory leak, and because that did not honor annex.thin. Now git annex smudge --update has to be run after a checkout to update unlocked files in the working tree with annexed file contents.
  • v7 init, upgrade: Install git post-checkout and post-merge hooks that run git annex smudge --update.
  • precommit: Run git annex smudge --update, because the post-merge hook is not run when there is a merge conflict. So the work tree will be updated when a commit is made to resolve the merge conflict.
  • Note that git has no hooks run after git stash or git cherry-pick, so the user will have to manually run git annex smudge --update after such commands.
  • Removed the old Android app.
  • Removed support for building with very old ghc < 8.0.1, and with yesod < 1.4.3, and without concurrent-output, which were only being used for the Android cross build.
  • Webapp: Fix termux detection.
  • runshell: Use system locales when built with GIT_ANNEX_PACKAGE_INSTALL set. (For Neurodebian packages.)
  • Fix database inconsistency that could cause git-annex to get confused about whether a locked file's content was present.
  • Fix concurrency bug that occurred on the first download from an exporttree remote.
  • init --version=6 will still work, but the repository is auto-upgraded immediately to v7.
  • When annex.thin is set, allow hard links to be made between executable work tree files and annex objects.
  • addurl: Removed undocumented special case in handling of a CHECKURL-MULTI response with only a single file listed. Rather than ignoring the url that was in the response, use it.
  • webapp: Fixed a crash when adding a git remote. (Reversion introduced in version 6.20180112)
  • migrate: Fix failure to migrate from URL keys. (Reversion introduced in version 6.20180926)
  • Cache high-resolution mtimes for improved detection of modified files in v7 (and direct mode).
Posted Wed Oct 31 19:47:45 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