Note: This page is geared towards upgrading from v0.7.2. Please make sure you view all the version notes for versions you may be skipping (ie. from 0.7.1 → 0.7.2 → 1.0).
Please make sure you review the full v1.0 changelog (available in your FoxyCart admin's Store Settings page before upgrading. Also please ensure you've read the known issues.
There are many new features, but these are the biggies:
There are many, many bug fixes to v1.0 noted on the changelog, but none of them (in our opinion) should cause problems even for advanced integrations. That said, make sure to read through the changelog thoroughly if you have a very advanced integration. Downgrading from version 1.0 is not recommended as zip-code based taxes are not supported in previous versions and may cause problems for your store. 1.0 comes with our new pricing plans. If your store is already live, you will be asked to confirm your new pricing plan when you upgrade. If your store is not yet live, the pricing plan selection will take place when you go live
A separate receipt template is now required and must be configured for your store.
Log into your FoxyCart admin and go to the “sample code” section to get the latest “includes”. This will include jQuery, foxycart.colorbox.js
(or a variant of that file), and the Colorbox CSS file. These filenames may change slightly between versions to accommodate for version changes and improvements, so make sure you get the latest files when you upgrade from any version.
If you have a more advanced integration, you can now use the API to retrieve the latest includes code as needed (via the store_includes_get
method).
Due to a change to an associative array for the countries javascript object (FC.locations), custom scripts using an iterator based loop to navigate countries like this will no longer work:
for (var i = 0; i < countries.length; i++) { }
Instead you can reference the country you are looking for directly by its ISO 3166-1 alpha-2 code like 'US', 'GB' etc. If you need to loop over all of the countries, you can do that using a key-value loop like so:
for (var code in countries) { }
The structure changed from
[{...},{...},{...},...]
to
["AZ": {...}, "AU": {...}, ...]
The API filters for transaction_date_filter_begin
and transaction_date_filter_end
now correspond to the store timezone settings, not the server timezone (Pacific Time). If you're using these filters you probably want to adjust or at least make sure your integration continues to work as desired.