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

  • New annex.private and remote.name.annex-private configs that can prevent storing information about a repository and remotes in the git-annex branch.
  • initremote: Added --private option to set up a private special remote.
  • importfeed: Made "checking known urls" phase run 12 times faster.
  • Added --debugfilter (and annex.debugfilter)
  • diffdriver: Support unlocked files.
  • forget: Preserve currently exported trees, avoiding problems with exporttree remotes in some unusual circumstances.
  • fsck: When downloading content from a remote, if the content is able to be verified during the transfer, skip checksumming it a second time.
  • directory: When cp supports reflinks, use it.
  • Avoid excess commits to the git-annex branch when stall detection is enabled.
  • git-annex-config: Allow setting annex.securehashesonly, which has otherwise been supported since 2019, but was missing from the list of allowed repo-global configs.
  • init: Fix a crash when the repo's was cloned from a repo that had an adjusted branch checked out, and the origin remote is not named "origin".
  • Fix some bugs that made git-annex not see recently recorded status information when configured with annex.alwayscommit=false.
  • When mincopies is set to a larger value than numcopies, make sure that mincopies is satisfied. Before, it assumed a sane configuration would have numcopies larger or equal to mincopies. It's still a good idea not to configure git-annex this way.
  • Avoid more than 1 gpg password prompt at the same time, which could happen occasionally before when concurrency is enabled.
  • Fix build with persistent-2.12.0.1
Posted Wed Apr 28 16:17:16 2021

git-annex 8.20210330 released with these changes

  • Behavior change: When autoenabling special remotes of type S3, weddav, or glacier, do not take login credentials from environment variables, as the user may not be expecting the autoenable to happen, or may have those set for other purposes and not intend git-annex to use them.
  • New annex.supportunlocked config that can be set to false to avoid some expensive things needed to support unlocked files, if you do not use them.
  • Fix bug importing from a special remote into a subdirectory more than one level deep, which generated unusual git trees that could confuse git merge.
  • borg: Fix a bug that prevented importing keys of type URL and WORM.
  • borg: Support importing files that are hard linked in the borg backup.
  • export: When a submodule is in the tree to be exported, skip it.
  • import: When the previously exported tree contained a submodule, preserve it in the imported tree so it does not get deleted.
  • export --json: Fill in the file field.
  • rmurl: When youtube-dl was used for an url, it no longer needs to be prefixed with "yt:" in order to be removed.
  • rmurl: If an url is both used by the web and also claimed by another special remote, fix a bug that caused the url to to not be removed.
  • unregisterurl: Fix a bug that caused an url to not be unregistered when it is claimed by a special remote other than the web.
  • whereis: Don't include yt: prefix when showing url to content retrieved with youtube-dl.
  • webdav: Work around some buggy webdav server behavior involving renaming files.
  • Make --debug also enable debugging in child git-annex processes.
  • fsck: When --from is used in combination with --all or similar options, do not verify required content, which can't be checked properly when operating on keys.
  • Sped up git-annex init in a clone of an existing repository.
  • Improved display of errors when accessing a git http remote fails.
  • Fix build with attoparsec-0.14.
Posted Tue Mar 30 18:34:25 2021

git-annex 8.20210310 released with these changes

  • When non-annexed files in a tree are exported to a special remote, importing from the special remote keeps the files non-annexed, as long as their content has not changed, rather than converting them to annexed files. (Such a conversion will still happen when importing from a remote an old git-annex exported such a tree to before; export the tree with the new git-annex before importing to avoid that.)
  • Added support for git-remote-gcrypt's rsync URIs, which access a remote using rsync over ssh, and which git pushes to much more efficiently than ssh urls.
  • unregisterurl: New command.
  • registerurl: Allow it to be used in a bare repository.
  • Prevent combinations of options such as --all with --include.
  • Fixed handling of --mimetype or --mimeencoding combined with options like --all or --unused.
  • Fix handling of --branch combined with --unlocked or --locked.
  • Fix support for local gcrypt repositories with a space in their URI.
  • uninit: Fix a small bug that left a lock file in .git/annex
  • Windows: Correct the path to the html help file for 64 bit build.
  • OSX dmg: Updated bundled git to 2.30.2 which fixes CVE-2021-21300.
Posted Wed Mar 10 17:59:52 2021

git-annex 8.20210223 released with these changes

  • annex.stalldetection can now be set to "true" to make git-annex do automatic stall detection when it detects a remote is updating its transfer progress consistently enough for stall detection to work.
  • When annex.stalldetection is not enabled and a likely stall is detected, display a suggestion to enable it.
  • Commands can be added to git-annex, by installing a program in PATH with a name starting with "git-annex-"
  • Fix a reversion that made import of a tree from a special remote result in a merge that deleted files that were not preferred content of that special remote.
  • Bugfix: fsck --from a ssh remote did not actually check that the content on the remote is not corrupted.
  • unannex, uninit: When an annexed file is modified, don't overwrite the modified version with an older version from the annex.
  • When adding files to an adjusted branch set up by --unlock-present, add them unlocked, not locked.
  • Fix an oddity in matching options and preferred content expressions such as "foo (bar or baz)", which was incorrectly handled as if it were "(foo or bar) and baz)" rather than the intended "foo and (bar or baz)"
  • Checksum as content is received from a remote git-annex repository, rather than doing it in a second pass.
  • Tahoe: Avoid verifying hash after download, since tahoe does sufficient verification itself.
  • unannex, uninit: Don't run git rm once per annexed file, for a large speedup.
  • When a git remote is configured with an absolute path, use that path, rather than making it relative.
  • get: Improve output when failing to get a file fails.
  • Fix build on openbsd. Thanks, James Cook for the patch.
  • Include libkqueue.h file needed to build the assistant on BSDs.
Posted Tue Feb 23 18:41:56 2021

git-annex 8.20210127 released with these changes

  • Added mincopies configuration. This is like numcopies, but is enforced even more strictly. While numcopies can be violated in concurrent drop situations involving special remotes that do not support locking, mincopies cannot be. The default value has always been 1, but now it can be set to higher values if desired.
  • Behavior change: When numcopies is set to 0, git-annex used to drop content without requiring any copies. Now to get that (highly unsafe) behavior, mincopies also needs to be set to 0.
  • Behavior change: git-annex trust now needs --force, since unconsidered use of trusted repositories can lead to data loss.
  • Behavior change: --trust and --trust-glacier options no longer overrides trust, since that can lead to data loss, which should never be enabled by an option other than --force.
  • add: Significantly speed up adding lots of non-large files to git, by disabling the annex smudge filter when running git add.
  • add --force-small: Run git add rather than updating the index itself, so any other smudge filters than the annex one that may be enabled will be used.
  • Fix --time-limit, which got broken in several ways by some optimisations in version 8.20201007.
  • When syncing changes back from an adjusted branch to the basis branch, include deletions of submodules. Thanks, Kyle Meyer for the patch.
  • Bug fix: export with -J could fail when two files had the same content.
  • Bug fix: Fix tilde expansion in ssh urls when the tilde is the last character in the url. Thanks, Grond for the patch.
  • Avoid crashing when there are remotes using unparseable urls. Including the non-standard URI form that git-remote-gcrypt uses for rsync.
  • Directory special remotes with importtree=yes now avoid unncessary hashing when inodes of files have changed, as happens whenever a FAT filesystem gets remounted.
  • Fix a bug that prevented git-annex init from working in a submodule.
  • Fix a bug in view filename generation when a metadata value ended with "/" (or ":" or "\" on Windows)
  • adjust: Fix some bad behavior when unlocked files use URL keys.
  • smudge: Fix some bad behavior when git add is run on an unlocked file that used an URL key.
  • Added GETGITREMOTENAME to external special remote protocol.
  • Windows: Work around win32 length limits when dealing with lock files.
Posted Wed Jan 27 15:14:23 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 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 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