Release Notes

Here you can view a list of all the changes for each release of nopCommerce.
Release Notes - nopCommerce 4.00 (November 9, 2017)

Our development efforts were focused on moving nopCommerce to ASP.NET Core 2.0, performance, architecture improvements, further enhancements and fixing bugs. These release notes below don’t include all changes caused by migration to ASP.NET Core. There’s a separate upgrade guide for developers on how to migrate existing projects and plugins to this version because number of changes are really HUGE!!!

Highlight features

  • Migration to ASP.NET Core 2.0. Please note that we target .NET Framework 4.6.1 and not .NET Core. We plan to use .NET Core only when EF Core team starts supporting all ORM functionality from the classic EF. Such as lazy loading, etc (they plan to do it in Q1-Q2 2018).
  • Hence, significant performance enhancements. But it’s not just about migration to ASP.NET Core. We’ve made a lot of other changes to increase performance

Improvements

  • Allow store owners to upload plugins and themes instead of putting them manually into "\Plugins" or "\Themes" directory using FTP. Also allow to delete uninstalled plugins in admin area
  • Better UI/UX in admin area. Nested settings
  • Enabled "Force SSL for all site pages" by default. It is no longer possible to set "secure" cookies over insecure (e.g. HTTP) origins on Firefox and Chrome after they implemented the Strict Secure Cookies specification
  • Dynamically update order totals blocks when updating checkout attributes (shopping cart page)
  • Google analytics plugin. Reverse an ecommerce transaction. And process only already paid orders (not just placed)
  • "Accept terms of use" for vendors
  • Use more secure password hashing algorithm (SHA1)
  • Added "Store IP addresses" customer setting. When enabled, IP addresses of customers will be stored. It's prohibited to store IP addresses in some countries (private customer data). For example, in Germany now
  • B2B. Allow a store owner to override tax display type (excl/incl tax) based on customer role
  • Added a setting indicating whether "accept terms of service" or "access privacy policy" links should be open in popup window or new pages. It can be useful when "terms of services" page is big
  • Added setting to include product tags in sitemaps
  • Consider associated products on determining whether shipping is required
  • Consider associated products on determining additional shipping charges
  • Properly handling of products marked as "free shipping" in the shipping plugins
  • Consider associated products when displaying the "Free shipping" label on the product details page
  • Moved the following plugins to the marketplace - Australia Post, Canada Post, USPS, Google Shopping, PurchaseOrder, "Customer has one of these products in the cart"
  • Added Worldpay and Square payment plugins
  • Admin area. Persist selected language tab when editing localizable values
  • Added a setting allowing administrators (in impersonation mode) to buy products marked as "Call for price". This would allow for a store owner to complete the purchase via phone or secure chat
  • Product import/export. Category names now include name of all parent categories
  • Category import. Import by name.
  • Made reCAPTCHA settings overridable per store
  • Validate credit card expiration date in payment plugins
  • Added a setting indicating whether to use canonical URLs with query string parameters
  • Added "Deleted system log" activity log record
  • Added DisplayOrder property to pickup points
  • Country is now required for estimate shipping
  • Added a setting to allow customers to remove their external authentication associations
  • Product details page (admin area). Now product attributes are managed on a separate page (previous we added/edited them right in the grid)
  • Product details page (admin area). Show "Visible individually" only if product type is "Simple"
  • Localization support for "Text prompt" field of product attributes
  • Log records should save URL "as is" (do not lowercase)
  • "adminareasettings.usericheditorinmessagetemplates" setting moved to UI
  • Delete appropriate settings when deleting a discount requirement
  • Delete appropriate settings when uninstalling a plugin
  • Added support for negotiated rates in UPS plugin
  • Consistent design for "Configure" button on the widgets page
  • Consistent cookie names. Now all cookie names start with ".Nop."
  • Removed "ExternalAuthenticationSettings.AutoRegisterEnabled" setting
  • Performance. Moved javascript files and inline scripts to the footer
  • Performance. Schedule tasks are rewritten to be run using HTTP requests (not in background)
  • Performance. Response compression
  • Performance. Now generated bundles and minified files are stored on the file system
  • Performance. More SQL Server indexes
  • Performance. Faster loading of cross-sells
  • Performance. Cache stores, currencies, languages between requests (do not load them for each HTTP request)
  • Performance. Faster Azure BLOB support (caching added)
  • Performance. More async methods
  • Performance. Implemented splitting locales to two groups
  • Developers. Added ModelReceived and ModelPrepared events (for model factories)
  • Developers. More widget zones.
  • Developers. New implementation of "RestartAppDomain" method
  • Developers. Do not hard-code URLs in MessageTokenProvider.
  • Developers. Taxonomy.txt file should be embedded in Google Shopping plugin (caused by a recent change in a plugin project files)
  • Developers. Replaced plugin 'Description.txt' files with 'plugin.json'. Replaced 'theme.config' file with 'theme.json' file for themes. InstalledPlugins and Settings are also in JSON now
  • A lot of other source code refactoring and polishing

Bugs

  • Google Shopping plugin should use "HTTPS" when generating product and picture URLs if SSL is enabled.
  • Localization errors fixed
  • Checkout didn't work in SQL Server Сompact with reward points enabled
  • Ignore deleted orders in discount usage history
  • Fixed problem with update a specification attribute at the product level if the value of the option is a number or int
  • Fixed problem with store link on RSS pages when site is SSL only
  • Weight was ignored when adding a product to an order in admin area
  • A customer was not able to choose an address during the checkout process if both 'Disable "Billing address" step' and 'Ship to the same address' settings were active
  • Checkout attributes: 'RGB color' input cannot be set after changing attribute type to 'Color squares' (from any other type)
  • Product details page (admin area). Category mappings input box didn’t search all categories (kendoui multi-selector)
  • Topics protected with passwords should use unique ID for a hidden input
  • Selected checkout attributes were lost after customer login
  • Fixed a bug on category/manufacturer pictures importing
  • Fixed a rounding bug
  • Prevent uploading files if ReturnRequestsEnabled = true and ReturnRequestsAllowFiles = False
  • Fixed an issue with free shipping. If you had a not shippable item in cart, and also had a product with free shipping in cart, shipping was still charged
  • Fixed the incorrect cache key in the GetProductSpecificationAttributes method
  • Fixed bug with displaying only the first 10 pickup points on the map
  • Fixed CSS formatting of the RichEditor in full mode
  • Disallow the use of the seo name is the same as the language code
  • Added a missing HTML class name to the "customer product reviews" page
Release Notes - nopCommerce 3.90 (March 14, 2017)
Release Notes - nopCommerce 3.80 (August 3, 2016)
Release Notes - nopCommerce 3.70 (December 8, 2015)
Release Notes - nopCommerce 3.60 (June 15, 2015)
Release Notes - nopCommerce 3.50 (December 8, 2014)
Release Notes - nopCommerce 3.40 (July 17, 2014)
Release Notes - nopCommerce 3.30 (April 3, 2014)
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)