0.12.2 * Fix for misssed reference to 30 days 0.12.1 * Add configuration options for trial length and the corresponding notification emails. 0.12.0 * Add a dependency on Airbrake for exception notification. * Notify Airbrake if an expiring/completed/unactivated notification fails, and continue. If you use Saucy in a project without Airbrake, it will fail to deliver some account-related emails. 0.11.5 Trying to fix gemspec. 0.11.4 Bugfix: Billing problem mailer has no need for a transaction. Fix broken test suite. 0.11.3 Bugfix: Billing emails previously used an arbitrarily chosen transaction. Now they always use the most recent one. 0.11.0 Update Saucy to be compatible with Rails 3.1 which includes: * Update testing dependencies * Update test application path configuration * Update route extension to not rely on `initialize` to be called * Use `shoulda-matchers` instead of `shoulda` If you are still using Saucy with Rails 3.0.x, please still use 0.10.x version of saucy, which now branched to `0-10-stable` branch. 0.10.7 Fix for daylight savings time issue with coupons 0.10.6 Fix for price not being sent to Braintree when the plan changes 0.10.5 Link to different braintree envs (sandbox) from admin area. 0.10.4 Update default copy text for archive projects to be generic. 0.10.3 Change how we insert static assets into middleware stack. 0.10.2 Update static flutie.css and add public/ to the gem so that admin layout has styles. 0.10.1 Add admin reporting area at /admin/ to view accounts + users * Added admin_reporting.feature stories * Introduce admin_username and admin_password configuration options, for http auth protection 0.10.0 Bump to a newer version of Clearance. Update features: * Make a trial_plans.feature step definition more specific so as not to conflict with a saucy-kiss gem feature. * Update step definitions to work with newer clearance. You will want to regenerate the saucy features, or look at the commit diffs and introduce the above two changes yourself. 0.9.1 Added canceled observer event. 0.9.0 Added billed observer event. Extracted and renamed the observer/notification code. If you register any observers, you should update your code from: Saucy::Configuration.observe(my_observer) to: Saucy::Notifications.register_observer(my_observer) 0.8.6 For each notification event, only notify observers that respond_to that event. 0.8.5 Added plan_downgraded observer event. 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.