0.8.3

Added coupon support. In your app, add the following migration:

    class AddCoupons < ActiveRecord::Migration
      def self.up
        create_table :coupons do |table|
          table.string :name, :default => "", :null => false
          table.integer :free_months, :default => 1, :null => false
        end
        add_column :accounts, :coupon_id, :integer
      end

      def self.down
        remove_column :accounts, :coupon_id
        drop_table :coupons
      end
    end

0.8.2

Added a uniqueness validation and database constraint for member_id/project_id on permissions. This prevents somebody from being added to the same project twice, which would display it multiple times in the project index and dropdown. When upgrading, make sure this index is in place:

    remove_index :permissions, :name => [:membership_and_project]
    add_index :permissions, [:membership_id, :project_id], :name => [:membership_and_project], :unique => true

You'll need to make sure that no existing duplicates exist before applying the unique index.

0.8.1

Fixed a missing translation key.

0.8.0

Added a notification for trials that just ended. When upgrading, you'll need to
add to add a boolean notified_of_completed_trial column to the accounts table,
which should be NOT NULL and default to false. These notifications go out with
the daily Saucy jobs.

0.7.3

Added a uniqueness constraint for keyword on accounts/projects. When upgrading,
projects should ensure that there is a unique index on these columns. The
projects index needs to be scoped to an account ID, so that index should be on
both columns (account_id and keyword).

0.7.2

Don't bother to show the account selection on the project form if the user is only an
admin on one account

0.7.1

Introduce a project dropdown, include it with:

    render :partial => "shared/project_dropdown"

Saucy provides the javascript for this dropdown, but not the CSS or the image 
for the dropdown.  The Javascript depends on jQuery.

Also, adds the ability to move a project to another project that you are an
admin on.

0.7.0

Split Saucy::Configuration.mailer_sender into support_email_address and manager_email_address.

0.6.1

Fix for this known bug in Rails 3.0.7

    https://rails.lighthouseapp.com/projects/8994/tickets/6757-hashfrom_xml-chokes-on-empty-cdata

0.6.0

Upgrading to, and making an explicit dependency on Clearance ~> 0.11.0. You can
get an overview of the important changes to clearance here:

    https://github.com/thoughtbot/clearance/wiki/upgrading-clearance

0.5.5

Fixes for account and project keywords containing special characters, generated by signup

0.5.4

Changes from an archive project link to a checkbox on the project form.

0.5.3

Removes uniqueness constraint on account names

0.5.2

Simplifies the signup process to asking users for just an email and password. 
Overall this should be seamless upgrade but you may have made other changes in
your application which might conflict, just pay attention when you upgrade.

You'll defintely want to make sure you regerate the saucy features with this upgrade:

    rails g saucy:features

0.5.1

Add an index to the archived column for projects

0.5.0

Added the ability to archive projects. Archived projects are not included in
an accounts `projects_count`.

To upgrade to this version add the following column to the projects table:

    add_column :projects, :archived, :boolean, :default => false, :null => false
    add_index :projects, :archived

This version adds a list of archived projects to the projects index of an
account. An introduced headers to these two lists. Archived projects have
a "View Project" link, which is how the user can view an archived project. 
You will probably want to style this list, headers, and link.

It also adds an Archive/Unarchive link on the project's edit page. You will probably
want to style these links.

It is up to your application to provide any additional logic about what
limitations are present for archived projects (for example, not being able to
create new comments on them).

0.4.10

A user following an invite link who is already signed in and whose email
address matches the one in the invite automatically accepts the invite when
following the link.