Release Notes

Here you can view a list of all the changes for each release of nopCommerce.

Release Notes - nopCommerce 3.30 (April 3, 2014)

Highlight features and changes

  • Now the default theme is responsive out of the box. This option can be disabled in admin area.
  • Significant performance optimization.
  • Admin area user interface. Moved from outdated Telerik MVC Extensions to KendoUI.
  • Search engine optimization. ID-less topic URL pages.
  • Added an option to automatically give customers a role if they purchase a specific product (when order is paid). It can be used for paid membership.
  • Allow a store owner to create custom customer attributes (similar to product and checkout ones).


  • Allow a store owner to disable "Billing address" step during checkout. Billing address will be pre-filled and saved using the default registration data (this option cannot be used with guest checkout enabled). Also ensure that appropriate address fields that cannot be pre-filled are not required (or disabled).
  • Added an option to automatically detect language based on customer browser settings.
  • Added new Google Universal Analytics. The original Google Analytics is also supported.
  • Allow a store owner to configure countries per store.
  • Allow a store owner to configure checkout attributes per store.
  • Extended vendor support (localizable properties, SEO settings, display order).
  • Stock management. Product attribute combinations. Added a new product property indicating whether to allow adding to the cart/wishlist only attribute combinations that exist and have stock greater than zero. In this case you have to create all existing product attribute combinations that you have in stock.
  • Allow a store owner to specify validation rules (minimum and maximum length) for product and checkout attributes with "textbox" and "multiline textbox" attribute types.
  • Allow a store owner to speficy validation rules (maximum file size, allowed file extensions) for product and checkout attributes with "file upload" attribute type.
  • New more user-friendly notification of EU cookie law (Google style) to avoid high bounce rates.
  • German store owners. Added several settings indicating whether we should display shipping and tax information (footer, product boxes, product details page).
  • Performance optimization. Added a setting ('catalogsettings.ignorestorelimitations') indicating whether we should ignore "limit per store" rules configured for entities. Highly recommended to enable this setting if you have only one store or don't use this functionality (signification optimization).
  • Performance optimization. Added a setting ('catalogsettings.ignoreacl') indicating whether we should ignore ACL rules configured for entities. Highly recommended to enable this setting if you don't use this functionality (signification optimization).
  • Performance optimization. Admin area could slow when you have thousands of categories (hundreds of SQL requests have been made; now we make only one SQL request).
  • Performance optimization. Category details page. Load all specification attributes for one SQL request (previously we loaded them separately).
  • Performance optimization. Do not load checkout attributes for each HTTP request just to know whether we have them (used on the mini-shipping cart block). Cache a value indicating whether we have them.
  • Performance optimization. Cache customer language and currency during HTTP request.
  • Performance optimization. Faster installation process.
  • Performance optimization. Cache generated sitemaps.
  • Performance optimization. A lot of other minor optimizations.
  • Allow a store owner to attach files to order notes.
  • Updated all third-party libraries to the latest version.
  • Facebook external authentication plugin now supports multi-store configuration.
  • Added support for "%Customer.FirstName%" and "%Customer.LastName%" message template tokens.
  • UPS plugin. Allow a store owner to choose a packing type (Pack by dimensions, Pack by one item per package, Pack by volume).
  • •Display a list of server variables on the "System info" page.
  • Hide dashboard reports (titles) based on ACL permissions.
  • Added "Clear log" schedule task (disabled by default). It allows a store owner to save some database space.
  • Allow a store owner to delete all queued emails. It allows a store owner to save a lot of database space.
  • Shipment list page. Allow a store owner to mark selected shipments as shipped or delivered without going to their details pages (bulk edit).
  • Product list and low stock report pages (admin area). Display "Price" column only for simple products. Display "Stock qty" column only for simple products with "manage inventory" set to "Track inventory".
  • We should not display EU cookie law confirmation for search engine bots because some pages could be indexed with the EU cookie as description.
  • When a store owner is associating a simple product to a grouped product we would warn him if that simple product already has an associated grouped product (show existing associations while selecting an associated simple product).
  • Shipment details page. Add a link to an appropriate order details page.
  • Added "ShippingSettings.UseCubeRootMethod" setting indicating whether dimensions are calculated based on cube root of volume.
  • Order details page (admin area). We should notify a store owner if he tries to delete a purchased order item and an appropriate gift card record exists.
  • Added a setting indicating whether we should always exclude tax from order subtotal (no matter of selected tax display type).
  • Dynamically update SKU, GTIN, MPN on the product details page for overridden attribute combinations. This setting ('catalogsettings.enabledynamicskumpngtinupdate') is disabled by default and works only with 'catalogsettings.enabledynamicpriceupdate' enabled. A product itself also should have some SKU/MPM/GTIN defined (having overridden values in attribute combinations is not enough).
  • Admin area. Order list page. Display both customer email and full name (previously we displayed only email).
  • The products list page (admin area). There's no need to return full description on this page. It improves performance and ensures that no "Error during serialization or deserialization using the JSON JavaScriptSerializer" excepion is thrown.
  • Categories and manufacturers. Moved page size fields from "SEO" tab to "Info".
  • Nivo Slider. Allow a store owner to add up to 5 pictures.
  • Allow a store owner to use %Order.Product(s)% token in "OrderPlaced.VendorNotification" template (previously it did not filter products by vendor).
  • Replaced slimbox gallery script with the new responsive one - magnific-popup (
  • Updated TinyMCE to the latest version (4.0.18). The previously used TinyMCE version had an issue in IE11 (added extra line breaks).
  • Developers. A lot of source code refactoring (C# code, CSS, HTML markup).
  • Developers. Refactoring of PictureService. Added "ResizeTypes" to "CalculateDimensions" method of "PictureService". Now PictureServices uses ImageResizer library for image processing.
  • Developers. Started using .NET 4.5.1 (previously we used .NET 4.5).
  • Developers. Deleted a lot of obsolete and not used classes.
  • Developers. Replaced outdated "fileuploader" with the new "Fine Uploader".
  • Developers. Now each plugin should be derivative from BasePluginController. Each public store controller should be inherited from BasePublicController. Admin area controllers should be inherited from BaseAdminController.
  • Developers. Source code refactoring. Implemented a generic method to register DataContext for plugins with data access.


  • Shopping cart page. Checkout button did not work in some cases in IE7 and IE 8.
  • Low stock report did not properly display stock levels for products with "track inventory by product attributes". It also should display the entire attribute combination.
  • Avoid duplicate addresses during multi-step or mobile checkout. We should check whether entered address already exists (like it already was done one for one-page checkout).
  • •When printing PDF invoices in admin area we should use PDF settings of a store in which an order was placed (not the current store).
  • Cart picture (set to a product attribute) was not updated when editing an existing shopping cart item.
  • Store URL could be wrong in some cases in generated order emails in multi-store configuration.
  • "Number of days that the return request is available" setting did not support multi-store configuration.
  • Trim (remove extra spaces) address fields. Otherwise, it can cause issues when using PayPal.
  • "%Store.Email%" message token was always set to email of the default email account. We should use email of the current "Email Account" assigned to a message template.
  • Admin area dashboard page threw an exception when a current user did not have the "Admin area. Manage Products" permission (ACL).
  • Export selected customers. New search should not retain prior selected IDs.
  • Country list page. Publish/unpublish selected countries should retain prior selected IDs.
  • Return request reasons and actions were not properly saved when a store owner had several stores configured and tried to save order settings page (override for some store).
  • Deleted or non-active vendor should not receive "Order placed" email notifications.
  • Customers should not see non-active vendors in the public store.
  • Minor caching issue fixed related to vendor navigation block.
  • A closing tag was missing in the file.
  • We should not log errors about "empty" IP addresses when a store owner opens "online customers" page.
  • HTML markup. Extra space removed on the address list page.
  • "Export orders to Excel" missed a column ("CustomValuesXml").
  • Fixed several typos (locales and source code comments).
  • Do not return information about stores on the plugin list page. It can cause "Error during serialization..." when you have a lot of stores.
Release Notes - nopCommerce 3.20 (December 9, 2013)
Release Notes - nopCommerce 3.10 (July 30, 2013)
Release Notes - nopCommerce 3.00 (May 4, 2013)
Release Notes - nopCommerce 2.80 (January 5th, 2013)
Release Notes - nopCommerce 2.70 (November 29, 2012)
Release Notes - nopCommerce 2.65 (August 23, 2012)
Release Notes - nopCommerce 2.60 (July 1, 2012)
Release Notes - nopCommerce 2.50 (April 3, 2012)
Release Notes - nopCommerce 2.40 (February 1, 2012)
Release Notes - nopCommerce 2.30 (November 19, 2011)
Release Notes - nopCommerce 2.20 (October 11, 2011)
Release Notes - nopCommerce 2.10 (September 2, 2011)
Release Notes - nopCommerce 2.00 (August 1, 2011)
Release Notes - nopCommerce 1.90 (December 7, 2010)
Release Notes - nopCommerce 1.80 (August 30, 2010)
Release Notes - nopCommerce 1.70 (July 7, 2010)
Release Notes - nopCommerce 1.60 (June 1, 2010)
Release Notes - nopCommerce 1.50 (March 23, 2010)
Release Notes - nopCommerce 1.40 (December 6, 2009)
Release Notes - nopCommerce 1.30 (August 20, 2009)
Release Notes - nopCommerce 1.20 (June 16, 2009)
Release Notes - nopCommerce 1.11 (April 17, 2009)
Release Notes - nopCommerce 1.10 (February 3, 2009)
Release Notes - nopCommerce 1.05 (November 25, 2008)
Release Notes - nopCommerce 1.04 (November 16, 2008)
Release Notes - nopCommerce 1.03 (November 5, 2008)
Release Notes - nopCommerce 1.02 (November 1, 2008)
Release Notes - nopCommerce 1.01 (October 26, 2008)
Release Notes - nopCommerce 1.00 (October 23, 2008)
nopCommerce on facebook