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.
git-annex 6.20170214 released with these changes
- Increase default cost for p2p remotes from 200 to 1000. This makes git-annex prefer transferring data from special remotes when possible.
- Remove -j short option for --json-progress; that option was already taken for --json.
- vicfg: Include the numcopies configuation.
- config: New command for storing configuration in the git-annex branch.
- annex.autocommit can be configured via git-annex config, to control the default behavior in all clones of a repository.
- New annex.synccontent config setting, which can be set to true to make git annex sync default to --content. This may become the default at some point in the future. As well as being configuable by git config, it can be configured by git-annex config to control the default behavior in all clones of a repository.
- stack.yaml: Update to lts-7.18.
- Some optimisations to string splitting code.
- unused: When large files are checked right into git, avoid buffering their contents in memory.
- unused: Improved memory use significantly when there are a lot of differences between branches.
- Wormhole pairing will start to provide an appid to wormhole on 2021-12-31. An appid can't be provided now because Debian stable is going to ship a older version of git-annex that does not provide an appid. Assumption is that by 2021-12-31, this version of git-annex will be shipped in a Debian stable release. If that turns out to not be the case, this change will need to be cherry-picked into the git-annex in Debian stable, or its wormhole pairing will break.
- Fix build with aws 0.16. Thanks, aristidb.
- assistant: Make --autostart --foreground wait for the children it starts. Before, the --foreground was ignored when autostarting.
- initremote: When a uuid= parameter is passed, use the specified UUID for the new special remote, instead of generating a UUID. This can be useful in some situations, eg when the same data can be accessed via two different special remote backends.
- import: Changed how --deduplicate, --skip-duplicates, and --clean-duplicates determine if a file is a duplicate. Before, only content known to be present somewhere was considered a duplicate. Now, any content that has been annexed before will be considered a duplicate, even if all annexed copies of the data have been lost. Note that --clean-duplicates and --deduplicate still check numcopies, so won't delete duplicate files unless there's an annexed copy.
- import: --deduplicate and --skip-duplicates were implemented inneficiently; they unncessarily hashed each file twice. They have been improved to only hash once.
- import: Added --reinject-duplicates.
- Added git template directory to Linux standalone tarball and OSX app bundle.
- Improve pid locking code to work on filesystems that don't support hard links.
- S3: Fix check of uuid file stored in bucket, which was not working.
- Work around sqlite's incorrect handling of umask when creating databases.
News for git-annex 6.20170101:
XMPP support has been removed from the assistant in this release. If your repositories used XMPP to keep in sync, that will no longer work, and you should enable some other remote to keep them in sync. A ssh server is one way, or use the new Tor pairing feature.
git-annex 6.20170101 released with these changes
- XMPP support has been removed from the assistant in this release. If your repositories used XMPP to keep in sync, that will no longer work, and you should enable some other remote to keep them in sync. A ssh server is one way, or use the new Tor pairing feature.
- p2p --pair makes it easy to pair repositories, over Tor, using Magic Wormhole codes to find the other repository. See http://git-annex.branchable.com/tips/peer_to_peer_network_with_tor/
- webapp: The "Share with a friend" and "Share with your other devices" pages have been changed to pair repositories using Tor and Magic Wormhole.
- metadata --batch: Fix bug when conflicting metadata changes were made in the same batch run.
- Pass annex.web-options to wget and curl after other options, so that eg --no-show-progress can be set by the user to disable the default --show-progress.
- Revert ServerAliveInterval change in 6.20161111, which caused problems with too many old versions of ssh and unusual ssh configurations. It should have not been needed anyway since ssh is supposted to have TCPKeepAlive enabled by default.
- Make all --batch input, as well as fromkey and registerurl stdin be processed without requiring it to be in the current encoding.
- p2p: --link no longer takes a remote name, instead the --name option can be used.
- Linux standalone: Improve generation of locale definition files, supporting locales such as en_GB.UTF-8.
- rekey --force: Incorrectly marked the new key's content as being present in the local repo even when it was not.
- enable-tor: Put tor sockets in /var/lib/tor-annex/, rather than in /etc/tor/hidden_service/.
- enable-tor: No longer needs to be run as root.
- enable-tor: When run as a regular user, also tests a connection back to the hidden service over tor.
- Support all common locations of the torrc file.
- Always use filesystem encoding for all file and handle reads and writes.
- Fix build with directory-1.3.
- Debian: Suggest tor and magic-wormhole.
- Debian: Build webapp on armel.
git-annex 6.20161210 released with these changes
- Linux standalone: Updated ghc to fix its "unable to decommit memory" bug, which may have resulted in data loss when these builds were used with Linux kernels older than 4.5.
- enable-tor: New command, enables tor hidden service for P2P syncing.
- p2p: New command, allows linking repositories using a P2P network.
- remotedaemon: Serve tor hidden service.
- Added git-remote-tor-annex, which allows git pull and push to the tor hidden service.
- remotedaemon: Fork to background by default. Added --foreground switch to enable old behavior.
- addurl: Fix bug in checking annex.largefiles expressions using largerthan, mimetype, and smallerthan; the first two always failed to match, and the latter always matched.
- Relicense 5 source files that are not part of the webapp from AGPL to GPL.
- map: Run xdot if it's available in PATH. On OSX, the dot command does not support graphical display, while xdot does.
- Debian: xdot is a better interactive viewer than dot, so Suggest xdot, rather than graphviz.
- rmurl: Multiple pairs of files and urls can be provided on the command line.
- rmurl: Added --batch mode.
- fromkey: Accept multiple pairs of files and keys. Thanks, Daniel Brooks.
- rekey: Added --batch mode.
- add: Stage modified non-large files when running in indirect mode. (This was already done in v6 mode and direct mode.)
- git-annex-shell, remotedaemon, git remote: Fix some memory DOS attacks.
- Fix build with http-client 0.5. Thanks, Alper Nebi Yasak.
git-annex 6.20161118 released with these changes
- git-annex.cabal: Loosen bounds on persistent to allow 2.5, which on Debian has been patched to work with esqueleto. This may break cabal's resolver on non-Debian systems; if so, either use stack to build, or run cabal with --constraint='persistent ==188.8.131.52' Hopefully this mess with esqueleto will be resolved soon.
- sync: Pass --allow-unrelated-histories to git merge when used with git git 2.9.0 or newer. This makes merging a remote into a freshly created direct mode repository work the same as it works in indirect mode.
- Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors.
- fsck --all --from was checking the existence and content of files in the local repository, rather than on the special remote. Oops.
- Linux arm standalone: Build with a 32kb page size, which is needed on several ARM NAS devices, including Drobo 5N, and WD NAS.
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!
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!
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.
git-annex will be briefly presented at FOSDEM, on Sunday February 4th at 15:40. Details.
Thanks to Richard Hartmann for making this presentation.
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