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

  • sync: Warn when a remote's export is not updated to the current tree because export tracking is not configured.
  • Improve display when git config download from a http remote fails.
  • Added annex.jobs setting, which is like using the -J option.
  • Fix reversion in support of annex.web-options.
  • rmurl: Fix a case where removing the last url left git-annex thinking content was still present in the web special remote.
  • SETURLPRESENT, SETURIPRESENT, SETURLMISSING, and SETURIMISSING used to update the presence information of the external special remote that called them; this was not documented behavior and is no longer done.
  • export: Fix false positive in export conflict detection, that occurred when the same tree was exported by multiple clones.
  • Fix potential crash in exporttree database due to failure to honor uniqueness constraint.
  • Fix crash when exporttree is set to a bad value.
  • Linux standalone: Avoid using bundled cp before envionment is fully set up.
  • Added arm64 Linux standalone build.
  • Improved termux installation process.
Posted Thu Oct 11 17:51:35 2018

git-annex 6.20180926 released with these changes

  • [ Joey Hess ]
    • Fixes a reversion in the last release that broke interoperation with older versions of git-annex-shell.
    • init: Improve generated post-receive hook, so it won't fail when run on a system whose git-annex is too old to support git-annex post-receive
    • init: Update the post-receive hook when re-run in an existing repository.
    • S3: Fix url construction bug when the publicurl has been set to an url that does not end with a slash.
    • --debug shows urls accessed by git-annex, like it used to do when git-annex used wget and curl.
    • Fix support for filenames containing newlines when querying git cat-file, though less efficiently than other filenames. This should make git-annex fully support filenames containing newlines as the rest of git's interface is used in newline-safe ways.
    • Added -z option to git-annex commands that use --batch, useful for supporting filenames containing newlines.
    • Added annex.maxextensionlength for use cases where extensions longer than 4 characters are needed.
    • Added remote.name.annex-security-allow-unverified-downloads, a per-remote setting for annex.security.allow-unverified-downloads.
    • More FreeBSD build fixes.
  • [ Yaroslav Halchenko ]
    • debian/control
      • add netbase to Depends: since required for basic tcp interactions (see e.g. https://github.com/nipy/heudiconv/issues/260)
Posted Wed Sep 26 17:17:46 2018

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 remote.name.annex-speculate-present 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 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-http-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 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 id@joeyh.name. --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