Spree Commerce

Try It Now

Spree 0.9.4 Released

Posted on December 10, 2009 by Sean Schofield

Spree 0.9.4 has been released. This is a trivial patch release. It fixes a bug that some users were experiencing installing the rdoc for the previous 0.9.3 gem. It is not necessary to upgrade from 0.9.3 if the gem is working for you since this affects only the documentation.

New on Edge: Ruby 1.9 Support

Posted on December 09, 2009 by Sean Schofield

We’ve just introduced several improvements on the edge version of the code to make Spree Ruby 1.9 compliant. Special thanks to Dale and Roman for taking the lead on bringing us into Ruby 1.9 compliance. You should be aware that there are a few outstanding issues but these do not relate to core functionality.

  • There are problems with the activemerchant gem
  • Reported issues with Rails and the MySql driver for non ASCII encoding

The activemerchant issue has been addressed temporarily by using the latest edge code from that gem. We’ve just stuffed that into vendor/plugins in the source code repository. Once they ship the new gem we’ll move back to using the gem dependency. We might also consider publishing a railsdog-activemerchant gem if the Shopify guys don’t release one in time for our next release.

If you’re interested in Ruby 1.9 issues you may want to see the long discussion contained in the lighthouse ticket.

Spree 0.9.3 Released

Posted on December 06, 2009 by Sean Schofield

The Spree team is pleased to announce the latest release: v0.9.3. This is a patch release that provides support for the new Rails 2.3.5 release. Rails 2.3.5 contains a security fix so you may want to consider updating. We also addressed an issue with stylesheets when running Spree under a sub URI. We discovered that bug when preparing for another major announcement which should be coming soon.

This is also the first release on gemcutter (since Rubyforge gems are now out of fashion it seems.) If you’re not finding the gem, you just need to install the gemcutter gem.


<p>gem install gemcutter<br />
gem tumble<br />
gem install spree   # .. or gem update spree if you already have it installed</p>

If you have an existing Spree app you can update it easily enough after you’ve upgraded the gem. Just run the following command in your application root:


<p>spree &#8212;update</p>

New on Edge: Improved Fixture Support for Extensions

Posted on November 23, 2009 by Sean Schofield

We have just improved the seed and sample data loading for Spree extensions. Torsten RĂ¼ger has just contributed a great new patch to introduce new flexibility when it comes to loading fixture data from your extensions. Prior to this patch, there was no way to override seed data in an extension. So if you wanted to replace the list of default countries in your site extension, you were pretty much out of luck (or you had to write an ugly hack.)

Seed data is data that is needed by the application in order for it to work properly. Seed data is not the same as sample data. Instead of loading this type of data in a migration it is handled through the standard rails task through rake db:seed. The rake task will first load the seed data in the spree core (ex. db/default/countries.yml.) Spree will then load any fixtures found in the db/default directory of your extensions. You will no longer need to explicitly load extension seed data yourself from db/seeds.rb. If you have an extension that does so, you will need to remove that code so that you’re not loading the data twice.

Sample data is data that is convenient to have when testing your code. Its loaded with the rake db:sample task. The core sample data is loaded first, followed by any fixtures contained in the db/sample directory of your extensions.

If you have fixtures in your extension with the same filename as those found in the core, they will be loaded instead of the core version. This applies to both sample and seed fixtures. This allows for fine grained control over the sample and seed data. For example, you can create your own custom sample order data in your site extension instead of relying on the version provided by Spree.