## version 4.20131024

This version fixes several different bugs that could cause the webapp to
refuse to create a repository. Several other bugs are also fixed, including
a bug that caused it to not add files on Android.

New in this release is the ability to use the webapp to set up scheduled
consistency checks of your repositories. Many problems with repositories 
are now automatically corrected, and it can even repair damaged git
repositories.

This is a recommended upgrade.

## version 4.20131002

Now you can use the webapp to set up an encrypted git repository on a
remote ssh server, or on rsync.net, and use it as a live cloud backup. Or,
use the webapp to make an encrypted git repository on a removable drive,
and store it offsite as a secure backup.

## version 4.20130920

This release is the first to support fully encrypted git repositories
stored on removable drives. This can be set up easily using the webapp.

## version 4.20130909

This release fixes a crash that could occur when using XMPP with the
assitant. It has only been seen on OS X so far. The bug is not believed to
be explitable, but upgrading is still recommended.

## version 4.20130802

This release fixes several bugs, including a reversion introduced in the last
version that broke direct mode on Windows, Android, and other crippled
filesystems. It contains a workaround for a bug in recent git pre-releases
that broke handling of filenames containing spaces.
It is a highly recommended upgrade.

The webapp can now detect repositories that did not finish getting properly set
up, and can recover from one common bug that broke local pairing and remote
ssh server setups on systems using `ssh-agent`.

## version 4.20130723

This release fixes some bugs. Notably it fixes a bug that could result in data
loss when adding a tarball of a git-annex repository to your git-annex
repository.

Rsync.net have committed to support git-annex and offer a special
discounted rate for git-annex users.
<http://www.rsync.net/products/git-annex-pricing.html>

## version 4.20130709

This release is mostly bug fixes.

One of the bugs involved setting up rsync remotes on servers other than
rsync.net. The wrong `.ssh/authorized_keys` line was deployed to the
remote server. If you set up a rsync remote with a past release, and it does
not work, you will need to manually edit the `.ssh/authorized_keys` file,
and remove the `command=` forced command.

## version 4.20130621, 4.20130627

These releases mostly consist of bug fixes.

## version 4.20130601

This is a bugfix release, featuring significant XMPP improvements and
more robustness thanks to automated fuzz testing. Recommended upgrade.

This version changes its XMPP protocol, so it will fail to sync with older
git-annex versions over XMPP.

## version 4.20130521

This is a bugfix release. Recommended upgrade.

## version 4.20130516

This version contains numerous bug fixes, and improvements.

This is the first release with a fully usable Android app. No command-line
typing needed to set up syncing to your Android phone or tablet!
A few of the more advanced features may not work (or not work reliably)
on Android. The Android app is still beta quality.

This is also the first release with a Windows port! The Windows port
is in an alpha quality state, and is missing many features.
It does not yet include the assistant.

## version 4.20130501

This version contains numerous bug fixes, and improvements.

## version 4.20130417

This version contains numerous bug fixes, and improvements.

One bug that was fixed can affect users of gnome-keyring who
have set up remote repositories on ssh servers using the webapp.
The gnome-keyring may load the restricted key that is set up
for that, and make it be used for regular logins to the server;
with the result that you'll get an error message about "git-annex-shell"
when sshing to the server. 

If you experience this problem you can fix it by
moving `.ssh/key.git-annex*` to `.ssh/git-annex/` (creating
that directory first), and edit `.ssh/config` to reflect the new
location of the key. You will also need to restart gnome-keyring.

Another change relates to files in `archive/` directories. Client repositories
now sync these files between themselves like any other files, until
the files reach an archive repository. Only then are they removed from
the client repositories. So you need to ensure you have at least one
archive repository if you want to use the `archive/` directory feature.

## version 4.20130323, 4.20130405

These versions continue fixing bugs and adding features.

## version 4.20130314

This version makes a great many improvements and bugfixes, and is
a recommended upgrade.

If you have already used the webapp to locally pair two computers,
a bug caused the paired repository to not be given an appropriate cost.
To fix this, go into the Repositories page in the webapp, and drag the
repository for the locally paired computer to come before any repositories
that it's more expensive to transfer data to.

## version 4.20130227

This release fixes a bug with globbing that broke preferred content expressions.
So, it is a recommended upgrade from the previous release, which introduced
that bug.

In this release, the assistant is fully working on Android, although
it must be set up using the command line.

Repositories can now be placed on filesystems that lack support for symbolic
links; FAT support is complete.

## version 3.20130216

This adds a port to Android. Only usable at the command line so far;
beta qualitty.

Also a bugfix release, and improves support for FAT.

The following are known limitations of this release of the git-annex
assistant:

* No Android app yet.
* On BSD operating systems (but not on OS X), the assistant uses kqueue to
  watch files. Kqueue has to open every directory it watches, so too many
  directories will run it out of the max number of open files (typically
  1024), and fail. See [[this_bug|bugs/Issue_on_OSX_with_some_system_limits]]
  for a workaround.
* Also on systems with kqueue, modifications to existing files in direct
  mode will not be noticed.

## version 3.20130107, 3.20130114, 3.20130124, 3.20130207

These are bugfix releases.

## version 3.20130102

This release makes several significant improvements to the git-annex
assistant, which is still in beta.

The main improvement is direct mode. This allows you to directly edit files
in the repository, and the assistant will automatically commit and sync
your changes. Direct mode is the default for new repositories created
by the assistant. To convert your existing repository to use direct mode,
manually run `git annex direct` inside the repository.

## version 3.20121211

This release of the git-annex assistant (which is still in beta)
consists of mostly bugfixes, user interface improvements, and improvements
to existing features.

In general, anything you can configure with the assistant's web app
will work. Some examples of use cases supported by this release include:

* Using Box.com's 5 gigabytes of free storage space as a cloud transfer
  point between between repositories that cannot directly contact
  one-another. (Many other cloud providers are also supported, from Rsync.net
  to Amazon S3, to your own ssh server.)
* Archiving or backing up files to Amazon Glacier. See [[archival_walkthrough]].
* [[Sharing repositories with friends|share_with_a_friend_walkthrough]]
  contacted through a Jabber server (such as Google Talk).
* [[Pairing|local_pairing_walkthrough]] two computers that are on the same local
  network (or VPN) and automatically keeping the files in the annex in
  sync as changes are made to them.
* Cloning your repository to removable drives, USB keys, etc. The assistant
  will notice when the drive is mounted and keep it in sync.
  Such a drive can be stored as an offline backup, or transported between
  computers to keep them in sync.

The following are known limitations of this release of the git-annex
assistant:

* The Max OSX standalone app may not work on all versions of Max OSX.
  Please test!
* On Mac OSX and BSD operating systems, the assistant uses kqueue to watch
  files. Kqueue has to open every directory it watches, so too many
  directories will run it out of the max number of open files (typically
  1024), and fail. See [[bugs/Issue_on_OSX_with_some_system_limits]]
  for a workaround.

## version 3.20121126

This adds several features to the git-annex assistant, which is still in beta.

In general, anything you can configure with the assistant's web app
will work. Some examples of use cases supported by this release include:

* Using Box.com's 5 gigabytes of free storage space as a cloud transfer
  point between between repositories that cannot directly contact
  one-another. (Many other cloud providers are also supported, from Rsync.net
  to Amazon S3, to your own ssh server.)
* Archiving or backing up files to Amazon Glacier.
* [[Sharing repositories with friends|share_with_a_friend_walkthrough]]
  contacted through a Jabber server (such as Google Talk).
* [[Pairing|local_pairing_walkthrough]] two computers that are on the same local
  network (or VPN) and automatically keeping the files in the annex in
  sync as changes are made to them.
* Cloning your repository to removable drives, USB keys, etc. The assistant
  will notice when the drive is mounted and keep it in sync.
  Such a drive can be stored as an offline backup, or transported between
  computers to keep them in sync.

The following are known limitations of this release of the git-annex
assistant:

* The Max OSX standalone app does not work on all versions of Max OSX.
* On Mac OSX and BSD operating systems, the assistant uses kqueue to watch
  files. Kqueue has to open every directory it watches, so too many
  directories will run it out of the max number of open files (typically
  1024), and fail. See [[bugs/Issue_on_OSX_with_some_system_limits]]
  for a workaround.
* Retrieval of files from Amazon Glacier is not fully automated; the
  assistant does not automatically retry in the 4 to 5 hours period 
  when Glacier makes the files available.

## version 3.20121112

This is a major upgrade of the git-annex assistant, which is still in beta.

In general, anything you can configure with the assistant's web app
will work. Some examples of use cases supported by this release include:

* [[Sharing repositories with friends|share_with_a_friend_walkthrough]]
  contacted through a Jabber server (such as Google Talk).
* Setting up cloud repositories, that are used as backups, archives,
  or transfer points between repositories that cannot directly contact
  one-another.
* [[Pairing|local_pairing_walkthrough]] two computers that are on the same local
  network (or VPN) and automatically keeping the files in the annex in
  sync as changes are made to them.
* Cloning your repository to removable drives, USB keys, etc. The assistant
  will notice when the drive is mounted and keep it in sync.
  Such a drive can be stored as an offline backup, or transported between
  computers to keep them in sync.

The following upgrade notes apply if you're upgrading from a previous version:

* For best results, edit the configuration of repositories you set
  up with older versions, and place them in a repository group.
  This lets the assistant know how you want to use the repository; for backup,
  archival, as a transfer point for clients, etc. Go to Configuration -&gt;
  Manage Repositories, and click in the "configure" link to edit a repository's
  configuration.
* If you set up a cloud repository with an older version, and have multiple
  clients using it, you are recommended to configure an Jabber account,
  so that clients can use it to communicate when sending data to the
  cloud repository. Configure Jabber by opening the webapp, and going to
  Configuration -&gt; Configure jabber account
* When setting up local pairing, the assistant did not limit the paired
  computer to accessing a single git repository. This new version does,
  by setting GIT_ANNEX_SHELL_DIRECTORY in `~/.ssh/authorized_keys`.

The following are known limitations of this release of the git-annex
assistant:

* On Mac OSX and BSD operating systems, the assistant uses kqueue to watch
  files. Kqueue has to open every directory it watches, so too many
  directories will run it out of the max number of open files (typically
  1024), and fail. See [[bugs/Issue_on_OSX_with_some_system_limits]]
  for a workaround.

## version 3.20121009

This is a maintenance release of the git-annex assistant, which is still in
beta.

In general, anything you can configure with the assistant's web app
will work. Some examples of use cases supported by this release include:

* [[Pairing|local_pairing_walkthrough]] two computers that are on the same local
  network (or VPN) and automatically keeping the files in the annex in
  sync as changes are made to them.
* Cloning your repository to removable drives, USB keys, etc. The assistant
  will notice when the drive is mounted and keep it in sync.
  Such a drive can be stored as an offline backup, or transported between
  computers to keep them in sync.
* Cloning your repository to a remote server, running ssh, and uploading
  changes made to your files to the server. There is special support
  for using the rsync.net cloud provider this way, or any shell account
  on a typical unix server, such as a Linode VPS can be used.

The following are known limitations of this release of the git-annex
assistant:

* On Mac OSX and BSD operating systems, the assistant uses kqueue to watch
  files. Kqueue has to open every directory it watches, so too many
  directories will run it out of the max number of open files (typically
  1024), and fail. See [[bugs/Issue_on_OSX_with_some_system_limits]]
  for a workaround.
* In order to ensure that all multiple repositories are kept in sync,
  each computer with a repository must be running the git-annex assistant.
* The assistant does not yet always manage to keep repositories in sync
  when some are hidden from others behind firewalls.

## version 3.20120924

This is the first beta release of the git-annex assistant.

In general, anything you can configure with the assistant's web app
will work. Some examples of use cases supported by this release include:

* [[Pairing|local_pairing_walkthrough]] two computers that are on the same local
  network (or VPN) and automatically keeping the files in the annex in
  sync as changes are made to them.
* Cloning your repository to removable drives, USB keys, etc. The assistant
  will notice when the drive is mounted and keep it in sync.
  Such a drive can be stored as an offline backup, or transported between
  computers to keep them in sync.
* Cloning your repository to a remote server, running ssh, and uploading
  changes made to your files to the server. There is special support
  for using the rsync.net cloud provider this way, or any shell account
  on a typical unix server, such as a Linode VPS can be used.

The following are known limitations of this release of the git-annex
assistant:

* On Mac OSX and BSD operating systems, the assistant uses kqueue to watch
  files. Kqueue has to open every directory it watches, so too many
  directories will run it out of the max number of open files (typically
  1024), and fail. See [[bugs/Issue_on_OSX_with_some_system_limits]]
  for a workaround.
* In order to ensure that all multiple repositories are kept in sync,
  each computer with a repository must be running the git-annex assistant.
* The assistant does not yet always manage to keep repositories in sync
  when some are hidden from others behind firewalls.
* If a file is checked into git as a normal file and gets modified
  (or merged, etc), it will be converted into an annexed file. So you
  should not mix use of the assistant with normal git files in the same
  repository yet.
* If you `git annex unlock` a file, it will immediately be re-locked.
  See [[bugs/watcher_commits_unlocked_files]].
