Recent Posts

Recent Changelogs

Get Updates by Email!

0.4.0

By Josh Bartolomucci | September 30, 2008

Upgrading

Please view the upgrade notes in the wiki.

Please Note

09-29-2008: This release represents a significant restructuring of the FoxyCart system as far as the server-side objects are managed. Contact us if you have any problems, and be sure to check the upgrade notes if you're upgrading from an earlier version.

Features

Cart

  • COUPON CODES: Coupon code entry form added to the cart output. By default, the css for this table row will be hidden since coupons can hinder conversion rates
  • The coupon parameter has been added, so you can add a coupon code to the cart directly by a URL, such as
    &coupon=fall_special_08
    This can be paired with the &redirect parameter as well.
  • JSON: Reorganized JSON layout and format, which should make working with the JSON much easier. See the wiki entry for more details.
  • Have the JSON cart object returned instead of the HTML cart output by setting output=json. Details on the wiki.
  • Added category information to the JSON.
  • Changed mime type for JSON to text/plain.
  • output=json now accepts an option callback parameter to support true JSONP. As such, callback is now a reserved parameter name, and cannot be used as a product option name.
  • REDIRECTION: You can now add the redirect parameter to immediately redirect the user to a page on cart load, such as &redirect=index.html. The value of the redirect parameter will be prefixed with your store URL, as specified in your store settings.
  • You can now update individual cart items without loading the thickbox cart. You can update an item (or remove it completely) by adjusting the quantity like so:
    cart=update&item_count=1&quantity1=0&id1=829257
    The product id can be obtained from the JSON. This functionality will be improved upon and documented further in future versions.

Checkout

  • Improved security by encrypting payment information sent to the browser after customer login (fixed back to all previous versions as well).
  • Added JSON to the checkout and receipt pages.
  • When selecting an alternate shipping address, the country and state will default to the customer country and state.

FoxyCart JavaScript

  • The fc_PreProcess() function now gets two strings passed to it: the data of the link or form, serialized; and the ID of the link or form that passed in the data (if an ID exists). This makes it possible to determine which link or form added the item to the cart.

Admin

  • You can now edit your profile without having to enter in a new password
  • For improved security, only verified PCI compliant stores have access to customer credit card information.
  • Added a new "sample code" section
  • Added step by step instructions for configuring a new store
  • Added a skip setup option to skip the setup instructions
  • Major improvements to the password requirements for signup, including a requirement to actually read the agreement
  • New password requirements enforce a 90-day password change in compliance with PCI policies.
  • Admin passwords are now only stored in the database as salted hashes

Improvements & Bug Fixes

Cart

  • The error HTML on the cart has been made consistent with the error HTML on checkout, so it now looks something like this:
    <div id="fc_error_container">
    	<div class="fc_error">
    		<ul class="fc_error_list">
    			<li><b>2007</b> is in the past. Please set a sub_startdate with a correct year.</li>
    		</ul>
    	</div>
    </div>
  • Changed the product_count json item for the simple cart to be the sum of all the product quantities instead of a count of product line items.
  • The cart JSON object was modified to include the product id.
  • The cart JSON object options were modified to be named options under the "options" node such as
    fc_json.cart[0].product.options.color
    .
  • Line breaks in product options (as is possible with textareas) no longer create break the cart or the JSON.
  • Fixed an error with setQuantity on a non object when updating quantities.
  • When entering an identical product to an item already in the cart but with production options in a different order, a new product was added instead of incrementing the quantity of the existing product.
  • Fixed an error where quantity=0 passed to the cart was resetting to quantity=1 (fixed back to version 0.3.2 as well)
  • Fixed a bug where view cart was calling fc_PreProcess() (fixed back to version 0.3.2 as well)
  • Fixed a bug with discounts where if they were removed from the cart do to discount rules, they weren't being properly removed from the db and would show up on the checkout page. (fixed back to version 0.3.2 as well)
  • Fixed a bug with percentage based category discounts where it was multiplying against the quantity twice when evaluating the discount price.
  • Fixed the javascript session to the root path "/"
  • Made empty=true work with a cart view, not just an add
  • Fixed a bug where quantity_max or quantity_min, included AFTER the quantity entry would not work as expected
  • Fixed a bug with authorize.net checkout which was sending previously used shipping information to authorize.net regardless of if the customer selected "use a different address" (fixed back to version 0.3.2 as well)
  • JSON custom_fields had an extra comma which was messing up IE (fixed back to version 0.3.2 as well)
  • Removed unnecessary IDs in the HTML:
    • #fc_cart_update_top
    • #fc_cart_update_bottom
    • #fc_cart_checkout_top
    • #fc_cart_checkout_bottom
    • #fc_cart_notice_top
    • #fc_cart_notice_bottom
    • #fc_cart_foot_subtotal_label
    • #fc_cart_foot_subtotal
    • #fc_cart_foot_subscriptions_label
    • #fc_cart_foot_subscriptions
    • #fc_cart_foot_shipping_label
    • #fc_cart_foot_shipping
    • #fc_cart_foot_tax_label
    • #fc_cart_foot_tax
    • #fc_cart_foot_total_label
    • #fc_cart_foot_total
    and changed the IDs of some cart <tr> elements:
      #fc_cart_foot_subtotal_row -> #fc_cart_foot_subtotal #fc_cart_foot_subscriptions_row -> #fc_cart_foot_subscriptions #fc_cart_foot_shipping_row -> #fc_cart_foot_shipping #fc_cart_foot_tax_row -> #fc_cart_foot_tax #fc_cart_foot_total_row -> #fc_cart_foot_total_row
  • "TEXT" theme: Removed extra font-family declaration that affected only the cart and receipt, but not the checkout.

Checkout

  • Fixed a bug in multiship that was incorrectly sending the entire order product weight when calculating a shipping rate request.
  • Fixed a bug that would cause a transaction to go through with a zero cost shipping amount. This only showed up for stores using single use customers with no multiship and when the payment gateway throws an error. This was patched backwards to version 0.3.2 as well.
  • Fixed an error when a failed shipping rate request comes back with a "Try Again" link that is completely broken. (fixed back to version 0.3.0 as well)
  • Fixed an error when checking out with a $0 amount (fixed back to version 0.3.2 as well)
  • Fixed a bug where a one-time-user customer was showing "use saved credit card" even when it should not (fixed back to version 0.3.2 as well)
  • Fixed a bug where PayPal transactions with a SuccessWithWarning Ack message would be considered as failed transactions. (Fixed back to all previous versions as well)
  • Fixed a bug when using single use customers and passing in the shipping_state, it was not validating correctly. (Fixed back to version 0.3.2 as well)

Receipt

  • Multi-ship class changed from .fc_receipt_shipto_container to .fc_fieldset_container_shipto

FoxyCart JavaScript

  • The foxycart_includes.js file has been upgraded from jQuery 1.2.1 to 1.2.6.
  • The foxycart_includes.js file has been changed from being "packed" to being "minified". This should help in certain situations, and should also give it a speed boost.

Other

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

The views expressed in the above post are the author's own, and may not reflect those of FoxyCart.com LLC.

Comments