Changelogs

See what's been added, updated, and fixed.

September 26, 2010

  • v0.7.0Fix to foxycart.js to better handle the process event if the array of functions is empty.

  • v0.7.0Added seconds to the transaction time display in the admin.

  • v0.7.0Fix (we believe, at this point) to the bug where the update/checkout/PayPal links didn’t get the display attribute applied properly on initial pageload.

  • v0.7.0Fixes to incorrect rounding on XML datafeeds and API responses.

  • v0.6.0 — v0.7.0Improved PayPal Payflow Pro error response, and fixed issue where gateways that require a 3rd authentication token (like Payflow Pro) errored on recurring billing.

  • v0.7.0Fix to foxycart.js handling of sitedomain settings when the current domain was at the www subdomain.

  • v0.7.0Greatly improved FoxyCart billing notification emails to FoxyCart store admins in the event of a billing error (with the FoxyCart subscription; not with sales to a store’s customers).

  • Changes for the week ending 2010-09-25:

September 18, 2010

  • v0.4.0Quantum Gateway fix to prevent store name omission in certain situations.

  • v0.7.0Fix duplicate store user access permissions being applied when upgrading or downgrading to v0.7.0.

  • v0.5.0 — v0.7.0PayPal Payflow Pro IP address fix for subscriptions.

  • v0.7.0Fix cookiepath variable in the foxycart.js so it actually gets applied.

  • v0.7.0Improves pagination filtering so pagination is maintained between screens when modifying subscriptions.

  • v0.7.0Makes default receipt load at http instead of https to prevent immediate reload on the receipt.

  • v0.7.0Fix to handling of discounts when paying by PayPal.

  • Changes for the week ending 2010-09-18:

September 11, 2010

  • v0.6.0 — v0.7.0Fix to welcome emails not sending on new store creation in specific situations.

  • v0.7.0Fix to tax values being mishandled for locales that use a comma instead of a period as the decimal separator.

  • v0.7.0Fix to system-wide cache not clearing certain values on an upgrade to v0.7.0.

  • v0.7.0Fix to PayPal Website Payments Pro using the PayPal Standard credentials.

  • v0.7.0Fix to missing customer IP addresses in subscription processing.

  • v0.7.0Update for authorize.net to set the isTaxable value to NO if there are no taxes on the order.

  • v0.7.0Fix to rounding issues in XML datafeed re-feeds.

  • Changes for the week ending 2010-09-11:

September 4, 2010

  • v0.7.0Fix to language customizations not displaying on the receipt.

  • v0.7.0Fix to discounts rounding incorrectly on cart reload.

  • ALL VERSIONSAdmin password resetting functionality has been improved to prevent passwords that may have become corrupted in transit (via email).

  • v0.5.0 — v0.7.0Fix to prevent HTML entities in text version of email receipts.

  • Changes for the week ending 2010-09-04:

August 28, 2010

  • v0.6.0Fix to prevent a password error from displaying in certain situations when using Single Sign-On.

  • v0.7.0Fix for global taxes showing up in the cart on the initial page load but not actually being applied to the order.

  • v0.6.0 — v0.7.0Adding some better error checking to the Paypoint Gateway for when the password is invalid.

  • v0.7.0Fix to default HTML email styling, floating.

  • v0.7.0V0.7.0 leaves beta and becomes the default version for newly created stores.

  • Changes for the week ending 2010-08-28:

August 21, 2010

  • v0.7.0Fix to make a JSONP cart request on Colorbox close.

  • v0.6.0 — v0.7.0Fix to prevent caching of tax requests when using Single Sign-On.

  • ALL VERSIONSAdded additional user agents to browser detection to allow for non-Safari Webkit-based browsers (Coda, iPad and iPhone apps, etc.).

  • v0.6.0 — v0.7.0Security and caching improvements were made to the checkout to prevent specific types of abuse.

  • Changes for the week ending 2010-08-21

August 14, 2010

  • v0.7.0Improvement to display subscription past-due amounts in the admin.

  • v0.5.0 — v0.7.0Fix for tax displays being wrong when the tax starts with a decimal and is less than 1 percent.

  • v0.6.0 — v0.7.0Fix for shipto address information not showing up in the XML like it should.

  • v0.6.0 — v0.7.0Improving the “add user” language in the admin to clarify what will happen on form submit.

  • v0.6.0 — v0.7.0Make the CDN return a 404 if the file is not found. Set cache control headers to expire erroring CDN requests immediately.

  • v0.7.0Improved Chase Paymentech Orbital setup in the admin.

  • v0.7.0Added a method to make it easier to change the default size of the Colorbox cart.

  • v0.6.0Improved validation on saving a payment gateway in the admin.

  • Changes for the week ending 2010-08-14

August 7, 2010

  • v0.7.0Fixed custom past due amount filter in subscription filtering.

  • v0.7.0Fixed subscription email receipts from looking like future subscriptions.

  • v0.7.0Fixed an issue where some subscriptions wouldn’t be created in v0.7.0 correctly while upgrading from a previous version.

  • v0.7.0Fix for template url’s not saving correctly.

  • Changes for the week ending 2010-08-07:

July 25, 2010

  • 2010-07-25, v060FoxyCart’s CDN no longer caches files that should return a 404 (ie. pulling a file for the wrong version or wrong store).

  • 2010-07-25, v060Chase Paymentech Orbital gateway AVS now fully functional.

  • 2010-07-29, v060Fix a jQuery call on v060’s cart to prevent issues when noConflict is called.

  • 2010-07-30, v060Further fixes to PayPal rounding errors with coupons and discounts.

  • 2010-07-30, v051, v060Fix to the “standard” theme’s checkout button to prevent newer versions of Firefox from overflowing and showing text when it shouldn’t.

  • 2010-07-30, v060Fix to prevent a switch from returning to guest user when checkout is reloaded due to a gateway error that could happen in certain situations.

  • 2010-07-30, v060Added Authorize.net “response reason code 4” handling to notify the merchant via email.

  • Changes for the week of 2010-07-25:

July 18, 2010

  • 2010-07-20, all versionsUpdated the admin news section and cancellation process wording to better clarify the steps involved.

  • Changes for the week of 2010-07-18:

July 11, 2010

  • 2010-07-16, v060Upgraded our UPS integration for version 060 to match their updated security policies. In order to obtain your own negotatied rates, you can now add your own User ID, Password, Account Number and Access Key. Details on the wiki.

  • Changes for the week of 2010-07-11:

July 4, 2010

  • 2010-07-07, v060Updating the new welcome email and admin email templates. Much much prettier now. And pretty is a good thing.

  • 2010-07-08, v060CDATA fix to Chase Paymentech Orbital gateway.

  • 2010-07-09, all versionsFix to double-slash // handling in automagicache’s javascript handling. Details in the forum.

  • Changes for the week of 2010-07-04:

June 28, 2010

  • 2010-06-29, v060Quantity discount rounding issues were resolved for PayPal. Details in the forum.

  • 2010-06-30, v051, v060Fixing the checkout button text overflow in “standard” theme. Only visible in Firefox, apparently, and only in newer versions.

  • 2010-06-30, v060Fix for response code 4 “on hold” authorize.net transactions which were returning an error to the customer even though the transaction was processed by the gateway.

  • 2010-06-30, v060Fix for returning customers being saved in the system as anonymous customers under certain circumstances.

  • 2010-07-02, v060Realex Payment Gateway fixes using a session counter for errors. Also includes a fix for when the CVV2 is not entered (as is the case for returning customers) so it doesn’t throw an error.

  • Changes for the week of 2010-06-27:

June 20, 2010

  • Chase Paymentech Orbital (Salem) gateway received improved error handling and AVS.

  • The CDN was improved to set immediate expires headers on requests that error, preventing issues when a file is requested from the CDN prior to the store being configured.

  • The sub_enddate parameter is now cleared from the transaction (as it is currently a transaction-wide flag) when a empty=true is passed to the cart.

  • The following issues were resolved in v060:

December 15, 2009

Upgrading

Features

System Wide

  • Added support for full language files other than English. Chinese has been added to this version.

  • Added the ability to filter the transaction report in the admin to show only transactions that have not been processed by the datafeed. Additionally, you can process individual unfed transactions by clicking on the link in the details of the transaction.

  • When a transaction is completed by the datafeed fails an email is now sent to all users with access to that store.

  • Added ^^sub_token_url^^ as a valid place holder for the receipt email template.

  • Added the ability to cancel your own FoxyCart subscription directly from the admin.

  • The FoxyCart admin is now completely versioned as of 060. This will give us increased flexibility to update the admin and add new features without breaking existing live stores.

  • Added language customization support for PayPoint GatewayPayPal Payflow Pro, and Cybersource.

  • You can now get rated shipments from FedEx provided you have your Account Number, Production Password, Production Meter Number and Authentication Key.

  • Improved FedEx error messages

  • You can now directly add and remove user access to your FoxyCart store admin. Just use the new add user menu item.

Checkout

  • True guest checkout support with configurable options in the admin under the checkout template. The customer experience on the checkout can be either guest and account (defaulting to account), guest and account (defaulting to guest), guest only or account only.

  • Paypal Express is now supported as a payment gateway option.

  • Multiple Payment options are now supported on the checkout including Purchase Order, Credit or Debit card and Paypal express.

  • In the admin, you can now specify how you would like the customer's address to be rated. It can either bet to commercial, residential or you can have it dynamically determine one or ther other based on if they field in the company field.

  • Added the Issue Number and Start Date for Maestro and Solo UK debit cards.

  • Added a "receipt continue" url to the admin so this value no longer has to be set via JavaScript. This is where the customer will land after hitting continue on the receipt. The default behavior is to return to the initial referrer URL or the store's home page if there isn't a referrer.

  • Added URL encoding to Google analytics and if no product code was provided as the SKU for Google, the product name is used.

API

  • Implemented subscription_get and subscription_cancel API calls using the sub_token or the sub_token_url.

XML Datafeed: New Fields

  • transactions

    • is_anonymous

    • cc_number_masked

    • cc_type

    • cc_exp_month

    • cc_exp_year

Improvements, Notes, & Bug Fixes

Cart

  • Improved the method in which an "update" is required on the cart after changing quantities. Removed the span.fc_cart_notice elements as part of this change.

  • Added the class fc_cart_controls to the cart control div elements.

  • Added the classes fc_text and fc_text_short to the quantity input fields on the cart.

  • Added the class fc_text to the input#fc_coupon element.

  • Fixed a bug where cart=updateinfo breaks if you currently have something in your cart. Now it empties your cart first (patched back to 0.5.1).

  • Added custom classes for product options, based on the option name. So, for example, a custom product option named color would yield a class of fc_cart_item_color on the parent

  • element.

  • All html is now stripped from the data sent to the cart.

  • Fix for unstyled cart on cart=view if nothing had been added to the cart yet.

  • When emptying the line items from the cart, coupons are now also removed.

Checkout

  • Fix for rated UPS shipments not showing up as expected.

  • Fix for "Shipping Information" string not being a customizable language string on the receipt (patched back to 040)

  • Fix for future subscriptions with order totals of 0 were not validating the credit card number.

  • When subscriptions are in the cart, guest checkouts are no longer allowed.

  • Fix for multiship where postal code changes were not triggering an update in shipping rates (patched back to 040).

  • Additional language strings have been added to the store settings related to the guest/returning customer options.

  • Removed the div.fc_inner_extra elements on the checkout HTML.

  • Added .fc_row to additional elements on the checkout HTML (including the div#fc_continue element).

  • Changed all .fc_label_left to .fc_pre.

  • Changed all .fc_text_label classes (used on span elements) to .fc_pre.

  • Removed .label_radio and .labelInline classes. Added .fc_radio class to labels related to radio elements.

  • Changed classes relating to input[type=checkbox] elements. Changed .fc_label_checkbox classes to .fc_checkbox. Removed .fc_input_checkbox_text classes from related span elements, and removed span.fc_input_checkbox_container wrappers around checkbox elements.

  • Added the class fc_row_actions to the div#fc_continue.fc_row element.

  • Removed the ID fc_complete_order_button_container from the button#fc_complete_order_button container element. Added classes fc_row and fc_row_actions to the container div.

  • Added the class fc_readonly to all input elements with readonly="readonly".

  • Renamed and moved the #p_login_result_ paragraph elements within the parent fieldset to avoid the jumpiness as they are shown/hidden. Added the class fc_account_message to the elements. Moved the span#login_ajax element below the customer_email input.

  • Added a p#fc_account_message_sso.fc_account_message element beneath the customer_email input for single sign-on authenticated users.

  • Fix for checkout_error_session language string not being pulled correctly from the store when no transaction id was available (patched back to 0.5.1)

  • Removed the "undefined" string that would show up when no valid shipping options have been configured for that request (patched back to 0.5.1).

  • Fix for Cybersource gateway not doing a full capture as expected. It now supports auth only or capture (patched back to 0.5.1).

System Wide

  • The API and the XML Datafeed now wrap all XML data in CDATA tags to avoid character encoding issues.

  • Fix for taxes including coupon discounts when they should not.

  • Payflow Pro gateway was being sent a "_" character as part of the INVNUM which was incorrect (patched back to all working versions).

  • Fix for ^^receipt_only_begin^^ place holder information not working as expected (patched back to 051).

  • Fix for the receipt_only place holder information to be positioned correctly (patched back to 051).

  • Fix for eWay orders over $1,000 not being formatted correctly (patched back to 040).

  • Fix for Authorize.net not showing the correct Authorize.net Gateway transaction id (patched back to 040).

  • Fix for Paypal Auth Only not working as expected (patched back to 051).

  • Added extra cellspacing and cellpadding declarations in the email receipts (patched back to 051).

  • Fix for realex gateway being sent the wrong expiration date (patched back to 040).

  • Fix for UPS errors not being handled or logged correctly (patched back to 040).

  • Fix for taxes not being added correctly in the admin when creating a new product category (patched back to all working versions).

  • Added email validation to the API (patched back to 051).

  • Limiting state and province code to two characters to avoid breaking international FedEx requests (patched back to 051).

  • Added quoting around all store names because the new server was choking on the store name being in the "From" address (patched back to all working versions).

  • Removing & from coupon code line item details sent to Paypal (patched back to 051)

  • Fix for customer_password not being matched against customer_password2 (this was broken as of version 040, so we patched back to 040, 050 and 051)

  • Fixed a bug with Single Sign On and Offline payments throwing an error regarding the CSC (patched back to 051).

  • Fix for free shipping not showing up for domestic rate requests within a country other than the US (patched back to 051).

  • Fix for First-Class Mail Parcel and First-Class Mail Flat which have the same ClassID (patched back to 051).

  • Fix for usps v3 rate requests (patched back to 051)

  • Fix for quantum gateway to include taxes and shipping as separate items (patched back to 051).

  • Fixed the javascript overload function not working as expected (patched back to 051).

  • Added jQuery's getJSON additonal get values ("callback" and "_") to the cart excludes (patched back to 051).

  • Fix for handling fees showing up before live shipping rates were calculated and the masked CC number not being displayed (patched back to 051).

  • Various fixes for when the checkout page reloads after a gateway error including preselecting the correct shipping methods (patched back to 051).

  • Multiple fixes for displaying Paypal line item details (patched back to 051).

  • Fix for FedEx drop types and container types not being pulled from the admin as expected (patched back to 051).

  • Fix for $0 checkout not working as expected (patched back to 051).

  • Fix for shared auth redirecting back to the home page as part of the "shared_auth_redirect_count" check not being cleared upon successful token authentication (patched back to 051).

  • Fix for sha1 password hash types (patched back to 051).

  • Fix for taxes calculated on shipping rates (patched back to 051).

  • Fix for Single Sign On when the fc_customer_id is 0. Also fixes a bug which was asking for the CSC for a shared CC card even when it's not needed (patched back to 051).

  • Fix for XML (datafeed and API) now showing date created and date modified values (patched back to 051).

  • Fix for hidden custom fields not being in the transaction for the datafeed as expected (patched back to 051).

  • Added more robust template caching error messages including when the title tag is missing (patched back to all working versions).

  • Added ^^ip_address^^ as a valid place holder (patched back to 051).

  • Fix for errors in the transaction history display in situations where taxes are adjusted after a transaction is completed (patched back to 051).

  • Fix for an issue with specific gateway responses that were available only in English even though they were translated to other languages.

Language Additions

  • NoteAll language fields with a "checkout_javascript" prefix were renamed to just a "checkout" prefix. We recommend you copy any of these customized values before upgrading.

  • New language fields

    • cart_updateinfo

    • cart_error_subscription_paypal

    • checkout_sso_already_logged_in

    • checkout_instructions_email_checking

    • checkout_issue_number

    • checkout_error_issue_number

    • checkout_start_date

    • checkout_error_start_date

    • checkout_as_guest

    • checkout_as_customer

    • checkout_as_returning_customer

    • checkout_pay_with_credit_card

    • checkout_pay_with_paypal

    • checkout_payment_method_paypal

    • checkout_payment_method_paypal_confirmed

    • checkout_purchase_order_number

    • checkout_pay_with_purchase_order

    • checkout_processor_response_na

    • checkout_redirecting_to_paypal

    • checkout_no_account_enter_password_account_only

    • checkout_updateinfo_logged_in

    • checkout_updateinfo_email_not_found

    • checkout_found_customer_info_account_only

    • checkout_found_customer_info_logged_in

    • checkout_create_an_account

  • Modified default language strings

    • checkout_javascript_no_account_enter_password (and renamed to checkout_no_account_enter_password)

    • checkout_javascript_found_customer_info (and renamed to checkout_found_customer_info)

    • checkout_javascript_error_incorrect_password (and renamed to checkout_error_incorrect_password)

    • checkout_delivery_and_subtotal

    • validation_error_encrypt_and_save

May 11, 2009

Upgrading

Features

FoxyCart JavaScript

  • IMPORTANT jQuery is no longer called in noConflict mode. Any $j() or $j. javascript references will no longer function by default. Please see the documentation about re-mapping the $j shortcut back to jQuery, or the changelog to adjust your own javascript accordingly.

  • Upgraded jQuery to version 1.3.2.

System Wide

  • The XML datafeed now happens immediately upon a successful transaction.

  • The XML datafeed is now tied to the store version as of v0.5.1., so upgrading to v0.5.1 will also update your XML datafeed version.

  • The FoxyCart session name has changed to fcsid.

  • FoxyCart javascript and CSS files (such as foxycart_includes.js and theme CSS files) can now be called using http//.

  • The template caching funcitonality now errors if any cached file returns an HTTP response code equal to or greater than 300.

  • Shipping account numbers now configurable on a per-store basis for account-specific rate requests for UPS.

  • Most gateways now allow an "auth-only" setting (as opposed to the default "auth-capture" functionality).

Checkout

  • Single Sign-On SsoSingle Sign-On is now available. Please see the documentation for details.

XML Datafeed: New Fields

  • shipto_addresses

    • address_id

    • date_created

    • date_modified

  • transactions

    • subscription_end_date

    • next_transaction_date

  • transaction_details

    • downloadable_url

Improvements, Notes, & Bug Fixes

Cart

  • FoxyCart will no longer throw an error if someone has a "coupon" input field on their add-to-cart form but the user doesn't enter a coupon.

  • Focus is now set to the first a.fc_link_forward when the cart loads. This will prevent awkward cart reloading in certain situations when using forms to add items to the cart.

  • You can now add hidden (h) cart attributes while doing a cart=view.

  • Added sub_startdate and sub_frequency to the JSON cart object.

Checkout

  • The CSC help link is no longer part of the tab index.

  • TEXT and STANDARD default themes have been adjusted slightly to handle the changes to the customer_email input when shared authentication is enabled.

March 16, 2009

Upgrading

Features

System Wide

  • API. A user API has been added that allows setting and retrieving of customer records (including multiple ship-to addresses).

  • Subscriptions. The subscription handling functionality has been overhauled, allowing customers to modify and cancel their own subscriptions, as well as improved administrative functionality in the admin.

  • Subscription past due amount. Subscriptions now have a "past due amount" that keeps track of failed subscription transactions.

  • Subscription XML datafeed. A new subscription-specific XML datafeed has been added which posts to your existing datafeed location.

  • System-wide messaging. Cart, Checkout, JSON and XML have gained consistent system-wide messaging (errors, warnings, information).

Cart

  • Taxes. Fully featured detailed line item tax entry system configurable per category.

  • JSONP.output=json now accepts an optional callback parameter to support true JSONP. As such, callback is now a reserved parameter name, and cannot be used as a product option name.

  • Coupon Codes. You can now set a limit to the number of uses per coupon code. This was also patched back to version 0.4.0.

  • Subscription end datessub_enddate can now be set to configure end dates for subscriptions.

  • The default size for the "foxybox" has been increased.

  • Added the category code to the cart display with class fc_cart_category_code.

  • output=json no longer requires cart=view.

  • The default action even if no parameters are passed to the cart is now to view the cart

  • You can now use a price modifier such as {p50} on a subscription frequency.

  • You can now add up to 999 products to the cart at one time (instead of just 99)

  • Removed name="fc_cart_form" from the form on the cart template. The id="fc_cart_form" remains.

Checkout

  • "Unified Order Entry" allows a store to set a "super password" that allows FoxyCart to function like a glorified and integrated virtual terminal. Useful for handling phone or fax orders.

  • Taxes and shipping are now correctly broken out into details for Authorize.net.

  • When selecting an alternate shipping address, the shipping country and state will be pulled from the customer address if no shipping address is defined.

  • Added JQuery to the receipt page.

Receipt

  • Revisitable receipts. Receipts can now be reloaded by customers.

  • New ^^receipt_only_begin^^ and ^^receipt_only_end^^ placeholders to contain analytics, affiliate, or other tracking code.

FoxyCart JavaScript

  • The fc_json cart JSON object now includes weight_each and weight for each product item as well as a total_weight value. This was also patched back to version 0.4.0.

  • The foxycart.js file included in the foxycart_includes.js now comes with a fc_CurrencyFormatted method which you can override that will format your currency for display in the "minicart" (which is a div with an id of fc_total_price).

Admin

  • Improved subscription management and functionality.

Improvements & Bug Fixes

Cart

  • output=json now returns valid JSON (not wrapped in fc_FoxyJSON()).

  • Fixed a bug which lost the transaction when using downloadables and cart=checkout (patched back to 0.4.0 as well).

Checkout

  • Fix for future subscription price which was not including the product quantity.

  • When a customer requests their password on the checkout page, it now uses the from_email for the store if one is defined.

  • Fixed a bug in Multiship for returning customers that, in some cases, was not correctly setting the select box to the correct address name after authenticating.

  • Returning customers who have subscriptions with that store are now required to check the "save my payment info" checkbox, even if the current order doesn't contain subscriptions.

  • "#" in the address were breaking shipping rate calculations. Patched back to 0.3.1, 0.3.2 and 0.4.0.

  • Fixed a bug where the "lost my password" email was not using custom language settings. Patched back to 0.4.0.

  • Fixed a bug where returning customers who selected a new payment card and checked out didn't get an updated masked card number (though the actual saved card number was updated). Patched back to 0.4.0.

  • Fixed a bug when a customer logs in as one customer and then changes their email address to be a different customer or a new customer, the old customer id is still used and gets updated.

  • Update Customer actions no longer create "no shipping option available" errors. Patched back to 0.4.0.

  • FedEx no longer shows Ground as an option when shipping internationally to Canada. - reverted as this was preventing Canadian stores from seeing any shipping rates.

Other

  • Sage Payments Gateway now supported.

  • Image caching now allows for XHTML valid URLs.

  • ^^store_name^^ now properly replaced in email subject lines.

  • Better support for non-Latin character sets.

February 4, 2008

Upgrading

Features

Cart

  • Quantity discounts discount_quantity_amountdiscount_quantity_percentagediscount_price_amountdiscount_price_percentage. To use these options, send them to your cart with the name for your discount and the discount tier details like so:discount_quantity_amount=Discount{2-.50|10-.75|50-1}, which would give $0.50 off per product for 2 to 9 products, $0.75 off per product for 10 to 49 products, and $1.00 off per product for 50 or more products. By default, this discount is an "all-units" quantity discount, and will apply to all units.

  • discount_quantity_amount=Discount{2-.50|10-.75|50-1} added. This is very similar to the default "all-units" behavior, but the discount only applies to the products in the tier. So with the above example, 4 products would be 1 product at full price, then 3 products with the $0.50 discount. It is invoked with the incremental flag like this discount_quantity_amount=Discount{incremental|2-.50|10-.75|50-1}

  • "Buy one, get one" style discounts added. In addition to "buy one, get one free" discounts, this can be used for "buy 3, get 1 50% off" and etc. Since this discount type is effectively a repeating incremental discount, it is invoked with the repeat flag like thisdiscount_quantity_percentage=Discount{repeat|2-100}. Repeatable discounts can have only one tier. Check the docs for more information.

  • Minimum and Maximum QuantityYou can now set minimum and maximum quantities on a per product, per cart, basis. (Please note that this is not inventory; this simply sets caps on allowed quantities on a per transaction basis.)

  • Added a new empty=yes option that will empty your shopping cart while adding your next product.

  • Concatenate product code modifiersYou can now use product modifiers to concatenate onto your product_code as you go using c+ as a modifier.

Checkout

  • Added new "sensitive" custom fields which will show up in the admin and the datafeed, but will not be included in any of the emails or the receipt. Just add "h" in front of any custom field names that you would like to obtain from your customer on the checkout, but don't want sent via email or displayed in the receipt. Good examples are social security numbers or other personal information.

  • Custom field select boxes can now be required on checkout by adding the fc_required class.

Admin

  • Category-wide quantity discounts Similar to the product quantity discounts described above, but applying to all products in the same category.

Improvements & Bug Fixes

Cart

  • IMPORTANTChange to product option modifiers. Product option modifiers have been changed from a single comma , to a single pipe symbol |Example: &color=red{p+4,w-1,c:01a} becomes &color=red{p+4|w-1|c:01a} If you use product option modifiers to adjust your product's weight, price or code, you must modify your website for this version. We don't like to change things like this, but it's necessary as we move towards more complete international solutions.

  • Fixed a bug that was including cookie information as product options.

  • Single-quotes / apostrophes can now be included in product options.

  • Set the root path for FoxyCart cookies to be the site root, which fixes a problem when the first time foxycart_includes.js is loaded in a subdirectory rather than the site root. Also made FoxyCart cookies subdomain independent to prevent issues with bouncing between www.domain.tld anddomain.tld.

Checkout

  • Google Analytics ^^analytics_google^^ has been changed to ^^analytics_google_urchin^^ (the old Google Analytics script, urchin.js) and ^^analytics_google_ga^^ (the new Google Analytics script, ga.js). Please use the new place holder depending on what version you are using.

  • Added customer_company as a new field on the checkout and receipt page. If you don't want this field to show up or you haven't styled it yet, you might want to add some css to hide #customer_company. Hidden by default in the "standard" theme.

  • Added shipping_company as a new field on the checkout and receipt page. If you don't want this field to show up or you haven't styled it yet, you might want to add some css to hide #shipping_company. Hidden by default in the "standard" theme.

December 19, 2007

Upgrading

Features

Cart

  • Set your own loading animations by defining fc_tb_pathToImage in your javascript, prior to calling foxycart_includes.jsDetails in the wiki..

  • Set default foxybox dimensions with javascript (define fc_tb_WIDTH and fc_tb_HEIGHT), rather than using the xwidth method. Details in the wiki.

Admin

Improvements & Bug Fixes

System Wide

  • Safari appears to no longer randomly loses sessions. This fixes all associated problems, including disappearing cached images, disappearing cart contents, and hanging on the checkout.

Cart

  • FoxyBox (the customized Thickbox included in foxycart_includes.js) has been upgraded to use Thickbox 3.1 code.

  • All FoxyBox IDs, classes, and functions have had their prefixes changed from fc_ to fc_tb_ in order to more cleanly group Thickbox related elements.

Checkout

  • Fixed a bug that improperly displayed "Please enter a Country, Postal Code and State and click here to display your shipping options."

  • "Custom Shipping Options", including "Free ground shipping" and "Customer pickup", have been changed to ignore category handling fees.

Datafeed

  • Fixed an issue with certain characters that would cause datafeeds to not be sent as expected.

  • Added controls to datafeed processing to prevent duplicate datafeeds from being sent.

November 9, 2007

Upgrading

Features

Cart

  • Multiship (Multiple Ship-To Addresses) added as a shipto cart option.

  • Added cart=updateinfo option to allow your customers to load the checkout page directly and update their information (such as their credit card number). This is really useful for subscriptions with soon-to-expire credit cards.

  • Added the fc_json javascript object to the cart page. You can use this in a variety of ways including checking that the quantity is "1" for unique items before allowing the customer to checkout.

  • Added shipto item to the fc_json cart object.

  • Added the h prefix option for "hidden fields" to pass information to the cart (which will be included in the json) and in the datafeed as a custom field. These values will also be included in the admin email.

  • Replacing "_" with " " when displaying product options.

Checkout

  • Multiship (Multiple Ship-To Addresses) added.

  • Pre-populate checkout fields with your own data by sending any of the following values to the cart page

    customer_first_name
    customer_last_name
    customer_email
    customer_address1
    customer_address2
    customer_city
    customer_state
    customer_postal_code
    customer_country
    customer_phone
    shipping_first_name
    shipping_last_name
    shipping_address1
    shipping_address2
    shipping_city
    shipping_state
    shipping_postal_code
    shipping_country
    shipping_phone

  • Checkout without password. Using the "pre-populate" option described above, you can load the checkout without requiring a customer password. Just set any one of the fields above in your form or your cart link with a space like this customer_phone=%20. Please note, this will create a new customer record which may cause problems if you're using subscriptions. We'll improve this functionality in the future to differentiate between guest customers and regular customers.

  • Error checking for all inputs, textareas and checkboxes with the class fc_required. This includes custom fields.

Admin

  • Added ip-to-country lookup on the signup page which should fix the problem with states being required (and set to US states) for non US countries.

  • Added Multiship (Multiple Ship-To Addresses) option in the store settings. Note, this feature is an additional $10 a month and only works with versions >= 0.3.0.

  • Added "Free Ground Shipping" as a Custom Shipping option.

Improvements & Bug Fixes

Cart

  • Replaced " with \" in the json cart object to avoid javascript errors.

  • Fixed some warning messages that show up if the session gets lost during the checkout process.

  • </code> tag <strong>REQUIRED</strong> on cart templates, due to changes in where the FoxyCart javascript is inserted.</li><br></ul><br><h3>Checkout</h3><br><ul><br><li class="changelog changelog_action_possible">Removed some unnecessary <code>ID</code>s from <code>li</code> elements in the shipping address fieldsets.</li><br><li class="changelog changelog_action_possible">If you're using javascript to require the <code>customer_phone</code> field, you'll need to update it. <a title="faqs [FoxyCart! Wiki]" href="http//wiki.foxycart.com/faqs#can_i_make_customer_phone_a_required_field">Instructions on the wiki</a>.</li><br><li class="changelog changelog_bug_remove">Fixed an issue with Safari and IE7 that would focus on the browser's address bar when tabbing off the email field. (Safari still doesn't correctly focus on the password field, but it's better than it was.)</li><br><li>Added some error checking to ensure that the "save cc" checkbox is checked for offline processing.</li><br></ul><br><h3>Admin</h3><br><ul><br><li>Improved transaction history display.</li><br></ul></x-turndown>