NopCommerce 3.4 is much faster and easier to use, there is a slew of design as well as performance changes.
NopCommerce 3.4 administration side changes
Order list page
Allow a nopCommerce store owner to filter orders by warehouse (load orders with products from a specified warehouse). This way a store owner will be able to easily find a list of products to be shipped from a certain warhouse.
Shipment list page
Allow a nopCommerce store owner to filter shipments by warehouse (load shipments with products from a specified warehouse). This way a store owner will be able to easily find a list of products to be shipped from a certain warhouse.
Added full support for in-store pickup. This way a customer should not enter shipping address during checkout. It can be enabled in nopCommerce admin area (shipping settings).
Allow a nopCommerce store owner to specify "Admin comment" for shipments (internal use). Allow a store owner to decide whether newsletter checkbox should be ticked/unticked on the registration page. For example, in Germany it's mandatory to disable the newsletter by default during registration.
Added hints to appropriate bundling and minification options in nopCommerce admin area about server resource requirements. Allow a nopCommerce store owner to free search (min and max prices set to 0). Previously "ProductLoadAllPaged" stored procedure ignored 0 parameters.
PayPal Standard nopCommerce plugin
Added "address override" setting. For people who already have PayPal accounts and whom you already prompted for a shipping address before they choose to pay with PayPal, you can use the entered address instead of the address the person has stored with PayPal.
Allow a nopCommerce store owner to set a default currency for each language. Added RTL (right-to-left) support for PDF documents. Added a setting indicating whether a store owner can see tracking info (events) on the shipment details page in admin area based on an entered tracking code. This shipping setting is disabled by default.
Allow a nopCommerce store owner to specify default values for textboxes. Product and checkout attributes. Allow a nopCommerce store owner to specify display order of products displayed on the home page.
Allow a store owner to choose a page size on each admin page that has a grid. Now nopCommerce store names localizable also nopCommerce standard store name was used in some other places.
NopCommerce 3.4 client side changes
Added "ReplyTo" property to "QueuedEmail". Now we use it on the contacts page. When a user sends an email via the nopCommerce contact form, it is handy to populate the reply-to field with the user's email so a direct reply can be initiated.
Allow customers to choose a view mode, page size, sort.
NopCommerce 3.4 performance optimization
We should dispose all used resources at the end of each HTTP request. Do not return views if we already know that there's nothing to display.
Faster loading of "also purchased" products. We disable bundling out of the box because it requires a lot of server resources.
Added one more database index to [Product_SpecificationAttribute_Mapping] table. Search engine optimization. "/sitemapseo" URL was renamed to "sitemap.xml". Search engine optimziation. Added sitemap.xml path to robots.txt file.
NopCommerce 3.4 developers notes
Now we do not embedded views for plugins. This way they can be editted without recompilation.
IMPORTANT NOTE FOR DEVELOPERS 1: All views (cshtml files) and web.config file should have "Build action" set to "Content" and "Copy to output directory" set to "Copy if newer".
IMPORTANT NOTE FOR DEVELOPERS 2: Previuosly we returned embedded view path. Now we return physical view paths (e.g. return View("~/Plugins/DiscountRules.HadSpentAmount/Views/DiscountRulesHadSpentAmount/Configure.cshtml"))
Prevent open redirection attacks in nopCommerce 3.4