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.
git-annex 10.20241031 released with these changes
- Sped up proxied downloads from special remotes, by streaming.
- Added GETORDERED request to external special remote protocol. When the external special remote responds with ORDERED, it can stream through a proxy.
- p2phttp: Support serving unauthenticated users while requesting authentication for operations that need it. Eg, --unauth-readonly can be combined with --authenv.
- p2phttp: Allow unauthenticated users to lock content by default.
- p2phttp: Added --unauth-nolocking option to prevent unauthenticated users from locking content.
- Allow enabling the servant build flag with older versions of stm, allowing building with ghc 9.0.2.
- git-remote-annex: Fix bug that prevented using it with external special remotes, leading to protocol error messages involving "GITMANIFEST".
- adjust: Allow any order of options when combining --hide-missing with options like --unlock.
- Support P2P protocol version 4. This allows DATA-PRESENT to be sent after PUT (and in the HTTP P2P protocol, v4/put has a data-present parameter). When used with a proxy to a special remote like a S3 bucket, this allows a custom client to upload content to S3 itself, and then use the P2P protocol to inform the proxy that the content has been stored there, which will result in the same git-annex branch state updates as sending DATA via the proxy.
- Fix hang when receiving a large file into a proxied special remote.
git-annex 10.20240927 released with these changes
- Detect when a preferred content expression contains "not present", which would lead to repeatedly getting and then dropping files, and make it never match. This also applies to "not balanced" and "not sizebalanced".
- Fix --explain display of onlyingroup preferred content expression.
- Allow maxsize to be set to 0 to stop checking maxsize for a repository.
- Fix bug that prevented anything being stored in an empty repository whose preferred content expression uses sizebalanced.
- sim: New command, can be used to simulate networks of repositories and see how preferred content and other configuration makes file content flow through it.
git-annex 10.20240831 released with these changes
- Special remotes configured with exporttree=yes annexobjects=yes can store objects in .git/annex/objects, as well as an exported tree.
- Support proxying to special remotes configured with exporttree=yes annexobjects=yes, and allow such remotes to be used as cluster nodes.
- post-retrieve: When proxying is enabled for an exporttree=yes special remote (or it is a cluster node) and the configured remote.name.annex-tracking-branch is received, the tree is exported to the special remote.
- Support "balanced=", "fullybalanced=", "sizebalanced=" and "fullysizebalanced=" in preferred content expressions.
- Added --rebalance option.
- Added the annex.fullybalancedthreshhold git config.
- maxsize: New command to tell git-annex how large the expected maximum size of a repository is, and to display repository sizes.
- vicfg: Include maxsize configuration.
- info: Improved speed by using new repository size tracking.
- lookupkey: Allow using --ref in a bare repository.
- export: Added --from option.
- git-remote-annex: Store objects in exportree=yes special remotes in the same paths used by annexobjects=yes. This is a backwards compatible change.
- updateproxy, updatecluster: Prevent using an exporttree=yes special remote that does not have annexobjects=yes, since it will not work.
- The config versioning=true is now reserved for use by versioned special remotes. External special remotes should not use that config for their own purposes.
git-annex 10.20240808 released with these changes
- Remove debug output (to stderr) accidentially included in last version.
- When getting from a P2P HTTP remote, prompt for credentials when required, instead of failing.
- When proxying an upload to a special remote, verify the hash.
- Avoid loading cluster log at startup.
git-annex 10.20240731 released with these changes
- New HTTP API that is equivilant to the P2P protocol.
- New p2phttp command to serve the HTTP API.
- annex+http and annex+https urls can be configured for remote.name.annexUrl to use the HTTP API to communicate with a server. This supports writable repositories, as well as accessing clusters and proxied remotes over HTTP.
- When a http remote has annex.url set to an annex+http url in the git config file on the website, it will be copied into remote.name.annexUrl the first time git-annex uses the remote.
- assistant: Fix a race condition that could cause a pointer file to get ingested into the annex.
- Avoid potential data loss in unlikely situations where git-annex-shell or git-annex remotedaemon is killed while locking a key to prevent its removal.
- When proxying a download from a special remote, avoid unncessary hashing.
- When proxying an upload to a special remote, verify the hash.
- Propagate --force to git-annex transferrer.
- Added a build flag for servant, enabling annex+http urls and git-annex p2phttp.
- Added a dependency on the haskell clock library.
- Updated stack.yaml to nightly-2024-07-29.
Since 24.03.2024, hellotux.com now offers git-annex-branded shirts, hoodies and backpacks. Just in time, right before the distribits meeting.
This cooperation was initiated by Yann Büchau (nobodyinperson).
We are happy to announce that the call for participation for the first ever Distribits meeting is now online at https://distribits.live/
This meeting is organized by the folks behind git-annex and DataLad. We aim to bring together enthusiasts of tools and workflows in the domain of distributed data.
We are looking forward to April 2024 and to meeting people from everywhere, online and in Düsseldorf.
Registration is open now and until October 15. Please consider submitting a talk if you are doing something interesting or unusual with git-annex.
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.
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.
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.
If you'd like to participate in this program, just email me at id@joeyh.name. --Joey
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
Linux Weekly News has a nice article on git-annex in it this week.