v0.4.0: Coupon Codes and More
FoxyCart v0.4.0 has a lot of new things going on. Please make sure you read the changelog below before upgrading, and please report any issues you may have in the 0.4.0 thread on our forum.
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
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
Questions?
Love it? Hate it? Have questions or comments? Let us know!