All Versions
25
Latest Version
Avg Release Cycle
109 days
Latest Release
1492 days ago

Changelog History
Page 2

  • v3.0.1 Changes

    June 22, 2017

    SmartStore.NET 3.0.1

    πŸ‘Œ Improvements

    • (Perf) Much faster application startup
    • Microsoft Visual C++ 2015 Redistributable no longer required to be installed
    • BeezUP :
      • Exports up to 9 product images
      • Export stock quantity when stock is managed by attributes
      • Export parent child relation data when exporting attribute combinations as products
      • Flatten and append attribute data when exporting attribute combinations as products
    • Instant search should search manufacturer/brand name
    • HTTP 301 redirects for legacy media URLs
    • (Dev) New 'ApplicationStarted' event
    • πŸ”Œ (Dev) Enabled C# 6 features in plugin views
    • (GMC) Added missing database indexes.
    • (WebApi) Added endpoints for blog post and blog comment
    • βž• Added more sortable columns to backend product grids
    • #1160 Append suffix 'Picture (1...n)' to thumbnail's alt-attribute on product detail pages
    • (Perf) Faster catalog indexing thanks to new database indexes
    • (Perf) Faster dynamic view compilation thanks to Roslyn compiler
    • Added the widget zone 'productdetails_pictures_bottom'
    • Added config setting sm:PdfEngineBaseUrl. There are cases where the PDF converter exits with a network error, when it is unable to load automatically resolved URLs.
    • (Dev) Added Retry utility class
    • #1176 Admin > Product Search: It ain't possible to search for parts of a product name

    πŸ›  Bugfixes

    • πŸ›  #1145: Fixed HTTP 404 after switching language
    • πŸ›  Fixed null reference exception in product lists if sorting is not allowed
    • The file manager did not work correctly under a virtual folder
    • πŸ’… Item row in list style product list should not wrap on small devices
    • πŸ’… Item row in list style product list squashed on Android system browser
    • Linq search: Filter for manufacturers and categories were not limited by store
    • πŸ›  (GMC) Fixes duplicate occurrence of application path in absolute product URL
    • Products with stock managed by attributes sometimes not displayed in category lists
    • πŸ›  Fixed System.MissingMethodException for SmartStore.Core.Search.Facets.FacetGroup
    • πŸ›  Fixed uploaded image paths in HTML fields (Media/Uploaded > Media//Uploaded)
    • (MegaSearch) Product category order, product manufacturer order and product order were not recognized (sorting)
    • πŸ›  Standard search: Fixed sorting of recently added products
    • Alias for search filters couldn't be set if there's only one language
    • #1168 Cart: MinOrderAmount sometimes ignored
    • Moving products from editable wishlist to cart was out of function
    • πŸ›  Fixed several issues with parallelly executed data export tasks
    • Fixed several issues with PayPal payment providers
    • Facebook login out of function due to Facebook API changes (always returns "Unknown error")
    • πŸ›  Fixed 'no picture available' watermark on some product pictures
    • #1153 Removing already applied gift card causes error
    • (Theming) Drift zoom uses static zoomFactor. Made it dynamic.
    • (Theming) IE11: simple menu dropdowns weren't positioned correctly
    • βœ‚ Removed "trust" element from web.config (causes problems on some shared hosting spaces)
    • πŸ›  Fixed ThumbZoomer unproportional rescale issue in product grid
    • #1134 JavaScript error (IE 11 in VS debug mode) after removing the last item in shopping cart
    • πŸ’» (Theming) Dozens of layout fs for ixemobile devices (especially iOS and Android native browser)
    • πŸ‘ Better error logging for TaskScheduler
    • πŸ›  Fixed several queries which caused problems with SQL CE
    • πŸ›  Fixed missing CurrencyCode exception in product exports
    • #1179 Error while downloading a downloadable product
    • Mega Menu: If a dropdown contains two level hierarchy categories only, they are not wrapped to the next column
    • Hide sort dropdown when option is off
    • HTTP 301 redirects for legacy media URLs
    • βž• Added missing resources of broken migration 'AddressEnhancement' again
    • Checkout: Title and salutation were missing when entering new addresses
    • #1163 ContentSlider: pictures won't be displayed when placed on top or bottom on IOS
  • v3.0 Changes

    Highlights

    • Flex: New mobile-first responsive Theme based on Bootstrap 4
    • Mega Search: highly professional search framework based on Lucene.NET (commercial plugin exclusively bundled with Pro Edition)
      • Ultra fast search results, even with millions of items
      • Faceted search
      • Synonyms
      • Compound word splitting
    • Mega Menu: highly customizable catalog menu widgets (commercial plugin exclusively bundled with Pro Edition)
    • Content Slider: creates eye-catching content to boost sales (commercial plugin exclusively bundled with Pro Edition)
    • Output Cache with "donut hole caching" for maximum speed and scalability (commercial plugin exclusively bundled with Premium Edition)
    • Microsoft AZURE provider for media storage (commercial plugin exclusively bundled with Premium Edition)
    • Web Farms: REDIS providers for Business Cache, Output Cache and Session State (commercial plugin exclusively bundled with Enterprise Edition)
    • Product variant option sets
    • New product specification attribute type: numeric range
    • πŸ‘ Image support for variant attributes

    πŸ’₯ Breaking changes

    • Removed old Content Slider module from open source core
    • 🌐 Removed Web API plugin from open source core (now exclusively bundled with Premium Edition)

    Other New Features

    • πŸ”Œ Message Bus for inter-process messaging between servers (commercial plugin)
    • πŸ”§ Configurable media storage path for web farms
    • (Dev) log4net integration
    • πŸ”Œ (Dev) proper plugin view debugging
    • πŸ”Œ (Dev) detect changes to static plugin files (css, js, etc.) and immediately apply them to running project
    • πŸ”Œ (Dev) Theming: plugins now support implicitly imported SASS files (Content/[public|admin].scss)
    • ⚑️ XML Sitemap optimized for very large catalogs:
      • Partitions for very large sitemaps (> 50.000 nodes or > 10 MB)
      • Generated in a background task. No instant invalidation anymore.
    • βž• Added option to skip shipping method selection in checkout process if only one shipping method is active
    • βž• Added options to capture salutation and title in addresses and customer info
    • βž• Added projection to control the export of individually visible associated products
    • #966 Implement new tax calculation logic for shipping and payment fees (calculate with rate of highest cart amount)
    • πŸ†“ #922 New option to specify whether to include the weight of free shipping products in shipping by weight calculation
    • #724 Allow discounts to be applied to manufacturers
    • Option to display manufacturers sorted in alphabetical order
    • #1093 New product properties required for selling abroad
    • 🌐 Web API:
      • #1002 Add support for addresses and customer roles navigation property of customer entity
      • #1062 Add filter options for user grid on configuration page
      • #1072 Add support for TaxCategory
      • #1073 Settings for maximum pagesize ($top) and maximum expansion depth ($expand)
      • #1074 Extend product image upload to allow updating of images
      • #1064 Deleting all product categories/manufacturers per product in one go
      • #1063 Adding product category/manufacturer ignores any other property like DisplayOrder
      • Added endpoint "Infos" for order and order item entity for additional information like aggregated data.
      • Swagger integration
    • βž• Added setting to specify whether the product manufacturer should be displayed in product detail
    • πŸ‘ #271 Implemented support for attribute images/icons
    • #330 Implement 'attribute option sets'
    • Two themes Flex Black and Flex Blue which are derived from Flex theme

    πŸ‘Œ Improvements

    • ⚑️ Updated .NET Target Framework from 4.5.1 to 4.5.2
    • βž• Added order message token for accepting third party email handover
    • ECB currency exchange rate provider now cross calculates rates based on euro rates
    • BeezUP: Exports the product weight
    • ⚑️ Updated Elmar shop info XML from version 1.1 to 2.0
    • (Perf) Application start faster by ~20%
    • (Perf) Lower memory consumption
    • (Perf) #1098 Reduce number of created guest accounts (more reliable bot detection)
    • πŸ‘ #1008 Export: Add support for description projection to all product exporting providers
    • #1015 Implement Entity Picker in discount requirements
    • Debitoor improvements:
      • Company name send as customer name if present
      • Option to append customer email address to invoice address
      • Additional order notes for tax exemption within and outside EU
    • #1048 Add meta tags to contact us page
    • Order XML export includes more customer data like title and salutation
    • #1080 Do not resolve Order.OrderURLForCustomer token for guest customers
    • #1051 Display EAN in PDF packaging slip
    • #806 User couldn't be created in the admin section without "Manage Customer Roles" permission
    • 0️⃣ #491 Implemented option to determine a default delivery time
    • πŸ”§ #1078 Implemented options for "Add to Cart" quantity input field on product level. Quantity control can now be hidden and can be configured to be increased and decreased in steps.
    • #696 Added textual resources for meta title and description for blog per month and by tag pages and enriched them with corresponding month plus year respectivly tag name
    • #1025 Added token for customer number to MessageTokenProvider
    • #1016 Implemented choosing of MessageTokens for newsletter campaigns with dropdown menu
    • #1107 OpenTrans: Added option to exclude long description of products from export
    • BMEcat: Implemented download of pictures according to MimeRoot-Info
    • Payone:
      • Replace client API by Payone iFrame solution. Allows credit card payment compliant with PCI DSS, SAQ A.
      • #1123 Add order note with payment info for prepayment and invoice payment.

    πŸ›  Bugfixes

    • Currency wasn't displayed for shipping estimation
    • SKU, EAN, MPN of last attribute combination were exported for all combinations
    • GMC:
      • Id should be unique when exporting attribute combinations as products
      • Attribute price adjustments were ignored when exporting attribute combinations as products
      • Associated products that are not individually visible are not exported anymore. GMC rejects them because the frontend redirects to the grouped product.
    • Export:
      • #999 Projected customer id was ignored during price calculation
      • #1104 Language projection was ignored when creating product details URL
      • #1030: Orders didn't include data of attribute combinations
      • Orders didn't include shipping address
    • Awarded reward points for a placed order were occasionally calculated wrong
    • PayPal PLUS:
      • Changed shipping address/costs were not transmitted to PayPal
      • Skip payment if cart total is zero
      • Do not display payment wall if method is filtered
    • πŸ›  PayPal Express: Fixed net price issue.
    • Bundle item cannot be deleted if it's in a shopping cart
    • πŸ›  Fixed SSL issue for news items in RSS feed
    • Filter shows wrong number of products if "Include products from subcategories" is activated
    • Guest user cannot be deleted if he has a private message
    • πŸ›  #1029 Biz-Importer: Imports fixed tax rates as zero percentage
    • #1055 Checkout: Localized shipping method names are not displayed if shipping by total is activated
    • #1071 NewsLetterSubscription.ActivationUrl not working if the store if SSL secured
    • #1086 Gift cards can be earned in one store and applied in another
    • ⚠ Whishlist: Products with minimum order amount greater then 1 can be added to the whishlist without any warning
    • #1102: Discounts not transmitted when the total amount is zero
    • #1101 Clickatell: Sending SMS not working anymore
  • v2.6 Changes

    Highlights

    • 🐎 Major improvements in Importer & Exporter: better field mapping, higher performance, bug fixes etc.
    • πŸ”Œ 'PayPal PLUS' payment plugin
    • πŸ”Œ 'paydirekt' payment plugin
    • πŸ”Œ 'Viveum' payment plugin
    • 'BeezUP' export provider
    • πŸš€ (Dev) Publishing SmartStore.Web from within Visual Studio now deploys the project correctly. No need to execute ClickToBuild.cmd anymore. Just publish directly to any target, including Azure.

    πŸ†• New Features

    • #961 Fix "Open Redirection Vulnerability"
    • #571 Option to display another checkbox on confirm page to let the customer accept that his email address can be handed over to a third party
    • #870 Implement address import for customers (both billing & shipping address)
    • 0️⃣ #886 Add setting to hide manufacturer images on product detail page and to hide default image for manufacturers
    • πŸ” Import localized SEO names for product and categories
    • #477 Implement option to specify the number of exported and imported pictures
    • #859 Make checkout attributes suitable for multi-stores
    • Product details: Select attribute and gift card values by query string parameters
    • #950 make contact form comply with current German law

    πŸ‘Œ Improvements

    • 🐎 Major improvements in Importer: better field mapping, higher performance, bug fixes etc.
    • πŸš€ (Dev) Publishing SmartStore.Web from within Visual Studio now deploys the project correctly. No need to execute ClickToBuild.cmd anymore. Just publish directly to any target, including Azure.
    • πŸ— Localization & SEO: language switcher now takes language specific SEO slugs into account when building links
    • Smarter import of plugin resource files with graceful fallbacks (de-DE > de > de-* > en-US > en > en-* > *)
    • (Perf) Faster language resource file import
    • Exports the product detail link including the attribute query string when exporting attribute combinations
    • #918 Compare products: Display base price information
    • Export email attachments needs to be stored in database because the temp file may not exist anymore when sending the email
    • #913 Use HTML5 Input types (tel, email)
    • βž• Added paging to frontend order list
    • βž• Added paging to backend checkout attribute list
    • #977 Show PAngV base/delivery amount also
    • ⚑️ Updated LiveEngage LiveChat plugin

    πŸ›  Bugfixes

    • ⏱ TaskScheduler could fail polling when primary store url is an external IP address
    • πŸ›  Fixed ajax cache issue when saving payment or shipping restrictions. Internet Explorer showed the old data state (before storage).
    • "The provider failed at the Execute method: Member 'CurrentValues' cannot be called for the entity of type 'Product'" when exporting product attribute combinations
    • πŸ‘» Bundles without selected attributes could throw an exception on product detail page
    • GMC feed did not export the product type and Billiger did not export shop_cat (category path)
    • The error message of a payment provider when capturing a payment was not displayed
    • βž• Adding new shipping method threw an exception
    • Attribute Values: Assigning IsPreselected to more than one value causes an error
    • 0️⃣ BizImporter: fixed redirection bug when default file extension in .biz wasn't .html
    • πŸ›  Fixed: Export deployment emails were always send manually
    • πŸ‘» Manually notifying gift card recipient threw an exception
    • Loading shipping by weight grid failed under SQL CE
    • ⚑️ #949 Import: ProcessSlugs does not process explicitly specified "SeName", if product name did not change in an update scenario
    • Customer import: Creates customer role duplicates for inserted customers
    • GMC feed does not generate the sale price if the sale price is set for a future date
    • πŸ›  Mobile devices: Fixed "Uncaught Error: Syntax error, unrecognized expression: :nth-child"
    • Download nor sample download were removable when editing product
    • Copied product must not share sample download of source product. Could produce "The DELETE statement conflicted with the REFERENCE constraint 'FK_dbo.Product_dbo.Download_SampleDownloadId'".
    • #921 Specification attribute options with single quotation marks are causing a Javascript error
    • #971 Product is added to cart automatically if it has a non-required file upload attribute
    • #973 Bundle item upload is nowhere linked
    • Base price in product list ignored PriceDisplayType (catalog settings) and possibly displayed the wrong base price info
    • πŸ›  Private messages: Fixes "No route in the route table matches the supplied values"
    • Payone: Hash string incorrect for frontend API payments where the order has more than 9 products
    • Export mail notification: Download link not working if SSL is enabled
    • Discount rule has spent amount including sub total option can cause wrong discount calculation if the cart contains a product several times
    • #986 File uploads possible through /content/filemanager/index.html
  • v2.5 Changes

    Highlights

    • New import/export framework (profiles, filters, mapping, projections, scheduling, deployment... just everything!)
    • TaskScheduler: Rewritten from scratch to be suitable for Web Farms (including support for cron expressions)
    • Payment and shipping methods by customer roles
    • Restrict payment methods to countries
    • Restrict payment methods to shipping methods
    • Email attachment support for message templates
    • Attach order invoice PDF automatically to order notification emails
    • Overall performance increase
    • Lots of bug fixes

    πŸ†• New Features

    • πŸ†• New export and import framework
    • Import of customer and category data
    • #141 Payment and shipping methods by customer roles
    • #67 Restrict payment methods to countries
    • #94 Restrict payment methods to shipping methods
    • πŸ”Œ #747 Restrict payment methods by old versus new customer (plugin)
    • πŸ‘ #584 Email attachment support for message templates
    • Attach order invoice PDF automatically to order notification emails
    • #526 Min/Max amount option for which the payment method should be offered during checkout
    • πŸ”€ (Dev) New SyncMapping service: enables easier entity synchronization with external systems
    • πŸ”§ (Dev) #792 ViewEngine: Enable vbhtml views per configuration
    • πŸ”Œ (Dev) Plugin developers can now render child actions into a dynamically created special tab called 'Plugins'
    • #718 ShopConnector: Import option for "Published" and "Disable buy\wishlist button"
    • #702 Facebook and Twitter external authentication suitable for multi-stores
    • πŸ†• New scheduled task: Clear e-mail queue
    • πŸ†• New scheduled task: Clear uploadeded transient media files
    • #704 Make primary store currency suitable for multi-stores
    • 🌐 #727 Web-API: Option to deactivate TimestampOlderThanLastRequest validation
    • 🌐 #731 Web-API: Allow deletion and inserting of product category and manufacturer assignments
    • #733 Option to set a display order for homepage products
    • #607 HTML capable full description for payment methods displayed in checkout
    • #732 Product list: Option to display the pre-selected price instead of the lowest price
    • πŸ†• New payment provider for Offline Payment Plugin: Purchase Order Number
    • 0️⃣ #202 Implement option for product list 'default sort order'
    • #360 Import & export product variant combinations
    • πŸ” #722 System > SEO Names: Implement editing of an UrlRecord
    • Admin > System > System Info shows used application memory (RAM)
    • βž• Added option to make VATIN mandatory during customer registration
    • 🌲 #840 Activity log: Have option to exclude search engine activity
    • 🌲 #841 Activity log for deleting an order
    • πŸ” More settings to control creation of SEO names
    • πŸ‘ GMC feed: Supporting fields multipack, bundle, adult, energy efficiency class and custom label (0 to 4)
    • #760 Setting to set a customer role for new registered users
    • #800 Multi-store: Option to display all orders of all stores for customer in frontend
    • 0️⃣ #457 Added option to hide the default image for categories and products
    • #451 Add message token for product shipping surcharge
    • #436 Make %Order.Product(s)% token to link the product detail page and a add product thumbnail
    • #339 Meta robots setting for page indexing of search engines
    • πŸ”’ PayPal: Option for API security protocol
    • Product filter: Option to sort filter results by their display order rather than by number of matches
    • Elmar Shopinfo: Option to export delivery time as availability
    • #654 Place user agreement for downloadable files in checkout process
    • #398 EU law: add 'revocation' form and revocation waiver for ESD
    • #738 Implement download of pictures via URLs in product import
    • 🌐 Web-API: Bridge to import framework: uploading import files to import profile directory
    • Setting to round down calculated reward points
    • #695 Implement checkbox in checkout to let customers subscribe to newsletters
    • 0️⃣ #495 Implement option to search product detail description by default

    πŸ‘Œ Improvements

    • (Perf) Implemented static caches for URL aliases and localized properties. Increases
    • and request speed by up to 30%.
    • (Perf) Significantly reduced number of database reads during product list rendering. Increases request speed by up to 10%.
    • (Perf) Implemented 2nd level cache for infrequently changed entities. Increases request speed by up to 10%.
    • ⏱ TaskScheduler: Rewritten from scratch to be suitable for Web Farms
    • ⏱ TaskScheduler: Supports cron expressions to define task execution frequency
    • ⏱ TaskScheduler: Editing tasks does not require app restart anymore
    • ⏱ TaskScheduler: Enhanced UI
    • #721 Message Queue: implemented "Delete all"
    • #725 Prevent LowestProductPrice being 0
    • #709 News feed produced invalid RSS feed. Added content:encoded. Added maximum news age setting for feed export.
    • #735 Include SKUs of attribute combinations when filtering the backend product list
    • Filter for homepage and published\unpublished products in backend product list
    • ⬇️ Reduce database round trips initiated by price calculation
    • πŸ“ˆ Google Analytics: added support for mobile devices
    • ⏱ (Dev) TaskScheduler: Tasks can propagate progress info (percentage & message)
    • ⏱ (Dev) TaskScheduler: Cancellation request is sent to tasks on app shutdown
    • πŸ‘ ShippingByWeight & ShippingByTotal: Support for multiple zip ranges (comma separated)
    • Two more options to handle customer numbers: display customer number in frontend & let customers enter their customer number if it's still empty
    • πŸ†“ #62 free shipping info on product detail page
    • Display base price in CompactProductBox
    • Automatically redirect to referrer after login
    • πŸ›  #826 Image gallery: the viewport height was fixed to 300 px, but now respects MediaSettings > ImageSize.
    • πŸ’» #249 Make UI editor for 'SeoSettings.ExtraRobotsDisallows'
    • Debitoor: Customer VAT number not transmitted anymore because it appears on the Debitoor invoice.
    • 🌐 #778 Web-API: Increase MaxExpansionDepth for using expand pathes
    • 🚚 #767 Remove assignments to a grouped product if the grouped product is deleted
    • #773 Reduce number of guest records created by search engine requests
    • #791 Preselected attributes or attribute combinations should always be appended as querystring to product page links
    • πŸ” Simplified handling of SEO names
    • URLs are not converted to lower case anymore
    • Product grid sortable by name, price and created on
    • #26 Display company or name in order list
    • βž• Added inline editing of country grid
    • #790 Improved language editing
    • #843 Implement a product picker
    • #850 Use new product picker for selecting required products
    • Trusted Shops: badge will be displayed in mobile themes, payment info link replaced compare list link in footer
    • Product filter: Specification attributes are sorted by display order rather than alphabetically by name
    • #856 Don't route topics which are excluded from sitemap
    • #851 Replace reCAPTCHA with "I'm not a robot" CAPTCHA
    • #713 Display gift card remaining amount in frontend order details and order messages
    • #736 Render PayPal Express Button in minibasket
    • πŸ‘ PayPal: Support for partial refunds
    • Offline credit card payment: Option to exclude credit card types

    πŸ›  Bugfixes

    • πŸ”Œ #523 Redirecting to payment provider performed by core instead of plugin
    • Preselected price was wrong for product attributes with multiple preselected values (same on product detail page)
    • πŸ“‡ #749 Visual Studio 2015 compilation error: CS0009: Metadata file. SmartStore.Licensing.dll could not be opened -- Illegal tables in compressed metadata stream
    • πŸ›  PayPal Express: fixed capture method
    • πŸ’» #770 Resizing browser with product details page causes product image to disappear
    • πŸ—„ GMC feed: Availability value "available for order" deprecated
    • ⚠ Mobile: Shopping cart warnings weren't displayed to customers
    • Tax provider and payment method were automatically activated when there were no active provider\method
    • #784 Biz-Importer: Name of delivery time must not be imported empty
    • #776 Preview: Manufacturer and Product in Multi Store
    • #755 Some methods still loading all products in one go
    • 0️⃣ #796 Selected specification in product filter mask is displayed with default language (not localized)
    • #805 Product filter is reset if 'product sorting' or 'view mode' or 'amount of displayed products per page' is changed
    • Hide link to a topic page if it is limited to stores
    • 🌲 #829 Activity log: Searching by customer email out of function
    • Product import: Store mappings were not applied when inserting new records
    • Faulty permission handling in ajax grid actions (no message, infinite loading icon)
    • Grouped products: Display order was not correct
    • Deletion of a customer could delete all newsletter subscriptions
    • πŸ›  PayPal: Fixed "The request was aborted: Could not create SSL/TLS secure channel."
    • PayPal Express: Void and refund out of function ("The transaction id is not valid")
    • Customer could not delete his avatar
    • Facebook authentication: Email missing in verification
    • πŸ‘» Attribute with a product linkage throws exception if added to cart
    • Number of products per product tag could be incorrect in a multi-store
  • v2.2.2 Changes

    πŸ†• New Features

    • SmartStore.NET User Guide
    • πŸ‘ #210 Implement multi-store support for import/export
    • βž• Added zip code to shipping by weight computation method
    • πŸ”Œ Skrill payment plugin (distributed via Marketplace)
    • πŸ”Œ (Dev) DevTool plugin: added option to display all widget zones in public store
    • πŸ†• New options for manufacturer display on the homepage
    • βž• Added optional customer number field

    πŸ‘Œ Improvements

    • (Perf) several minor optimizations for faster app startup and page rendering
    • ⚑️ UI: optimized image gallery widget (white background & nicer animations) + enhanced modal dialog fade animations
    • πŸ” (Soft) deletion of SEO slug supporting entities now also deletes the corresponding url records
    • πŸ‘ License checker now supports IDN mapping for domain names
    • πŸ‘ #716 Supporting of paged google-product data query for SQL-Server Compact Edition
    • #648 Add hint for * at mandatory form fields at address creation
    • βž• Added link to imprint and disclaimer to footer in mobile theme
    • #521 Display bonus points in order export
    • ⚑️ Updated GMC taxonomy files
    • 0️⃣ MsieJsEngine now is the default LESS script engine

    πŸ›  Bugfixes

    • #694 Product variant attribute in product page should not be preselected implicitly
    • πŸ›  Fixed: If currencies are limited to one for a multi-store, this currency should dominate the setting for the primary store currency
    • ⏱ #563 Scheduled Tasks: ensure that 'LastEndUtc' is ALWAYS set
    • πŸ›  Topics grid: fixed 'maxJsonLength exceeded' error
    • πŸ›  Debitoor: Fixed "The property named 'lines.0.productOrService' should be defined"
    • Send currency code of primary store currency (not of working currency) to payment gateway
    • #691 Product quantity not added to cart on mobile theme
    • #186 Mobile: variant images do not refresh
    • #671 Bundle products: display base price according to applied discount
    • #619 Display base price according to applied tier price
    • #726 PAngV: basket displays wrong base price when attribute price adjustment has been set
    • Weight adjustment of attributes weren't applied in shopping cart overview
    • Shipping by weight calculates wrong surcharge if attribute combination prices are set
    • Don't let database hooks call other hooks.
    • There was no payment redirect if only one payment method is available in checkout
  • v2.2.1 Changes

    πŸ†• New Features

    • #582 GMC feed: Option to include\exclude a product
    • 🌐 #652 Web API: Support for file upload and multipart mime
    • πŸ”§ New option to display product thumbnails in instant search (NOTE: the feature can be enabled via Configuration > Settings > Catalog Settings > Search)
    • #594 Option to prevent a message from being automatically sent
    • Category filtering by store for backend category tree and list
    • #554 Flag to indicate that a new payment notification (IPN) arrived for an order since last opening\editing of the order
    • Setting whether and how to display sub-categories on a category page (hide, above products, bottom of page)
    • Debitoor: Extend option "Book invoice if paid" to also (optionally) mail the invoice as a PDF
    • #508 Limit country settings to stores
    • πŸ‘ #205 Add multistore support for forums

    πŸ‘Œ Improvements

    • PDF converter: first init is much faster now
    • Localized properties for forums and forum groups

    πŸ›  Bugfixes

    • PDF converter: fixed QFont::setPixelSize bug
    • πŸ›  Fixed System.NullReferenceException at admin/order/pdfpackagingslips
    • πŸ†“ #660 Don't show shipping cost hint in product detail page if product has free shipping
  • v2.2.0 Changes

    πŸ†• New Features

    • New mobile theme: MobileLight (a light variant of the default mobile theme)
    • 0️⃣ Localization: in a multi-language environment missing language resources fall back to default language's resources (instead of returning the ugly resource key)
    • Quantity unit management
    • #428 New option to override global category list view type
    • #672 New option to automatically create mutual associations for cross sell and related products
    • #485 Enable shop admin to change creation date of a blog entry
    • #258 Implement email validation in checkout
    • πŸ†• New option to specify the maximum number of displayed filter items
    • πŸ†• New option to specify whether all filter groups should be displayed expanded
    • #459 New field to specify html tag for page titles on widget level
    • Added shrink database to backend UI
    • #588 Alternative localized category name used as title for category pages
    • #592 Add a second category description displayed beyond products on category page
    • Promotion feeds now export the preselected price (including price adjustments and overrides)
    • πŸ†“ Implement 'free shipping threshold' for feed creation
    • Billiger feed: Implement new field for shipping costs to austria
    • (Developer) Added BeginTransaction() and UseTransaction() methods to IDbContext

    πŸ‘Œ Improvements

    • (Perf) product list rendering up to 10x (!) faster now (depends on page size and view mode)
    • The data grid in the backend now preserves client state between requests (page, pageSize, sorting, filtering etc.)
    • 🐎 Excel Import & Export: much lower memory consumption and increased performance
    • βͺ Moving pictures from DB to FS or vice versa is lightning fast now, consumes much lower memory and is encapsulated in a transaction which ensures reliable rollback after failure. Plus the database gets automatically shrinked after moving to FS.
    • πŸ›° Feed plugins: product query now paged to reduce memory payload
    • #589 Backend product list: add filter for products with "no category mapping" and "no manufacturer mapping"
    • πŸ’» Minor UI tweaks in checkout process
    • Payone: CC-Check via client API, not via Server API (requires PCI certification)
    • #189 Allow deletion of multiple reviews
    • πŸ’» #622 UI: Redesign table in Sales > Orders > Order > Tab Products
    • #625 Bundles can be ordered if an attribute combination of a bundle item is not available
    • #666 Export addresses in customer export
    • πŸ†• New shopping cart setting ShowItemsFromWishlistToCartButton
    • XML product export now is paged and more data gets exported
    • ⚑️ #560 Return requests: Add fields for last update, last update of requested action and general notes
    • #626 Add IsActive flag for checkout attributes

    πŸ›  Bugfixes

    • Instant search box did not display all results when SQL Fulltext Search was enabled
    • πŸ–¨ Print order as PDF redirected to login although the admin already was logged in
    • #621 PDF Order: does not take overridden attribute combination price into account (in order line)
    • Amazon payments: Declined authorization IPN did not void the payment status
    • πŸ›  Fixed β€žPayment method couldn't be loadedβ€œ when order amount is zero
    • #598 Wrong input parameter name for ReturnRequestSubmit
    • #557 Localize MVC validation strings
    • πŸ›  Fixed rare bug "The length of the string exceeds the value set on the maxJsonLength property" (Controller: Order, Action: OrderNotesSelect)
    • Debitoor: Adding order notes can result in infinite order update event loop with thousands of order notes
    • Tax rates persisted on order item level to avoid rounding issues (required for Debitoor, Accarda and Payone)
    • Hide additional shipping surcharge when display prices permission is not granted
    • πŸ›  Fixed "Adding a relationship with an entity which is in the Deleted state is not allowed" when adding bundles to cart
    • πŸ›  Fixed price calculation of multiple bundles issue
    • πŸ›  Fixed auto add required products for bundle items
    • πŸ›  Fixes #641: Protocol in sitemap should be HTTPS when ForceSslForAllPages is true
    • #640 Do not display shipping infos for grouped products in product lists
    • #634 Bundle price in list should not differ from price in details if there is only one bundle item with one attribute
    • Do not copy associated product when copying a bundle product
    • Null DeliveryTimeId when deleting products. Otherwise deleted products can prevent deletion of delivery times.
    • πŸ›  Fixed: Product with inactive attribute combination could be moved to wishlist, copied to cart and be purchased
    • Mobile Theme: Show prices according to selected variant value, display of deliverytime
    • Bundles: Display base price according to Catalog Setting > Product Detail > Display Base Price
  • v2.1.1 Changes

    πŸ†• New Features

    • Html to PDF converter: PDF documents are created from regular HTML templates now, therefore radically simplifying PDF output customization.
    • Html widgets: added option to create a wrapper around widget content
    • πŸ” SEO: added new settings Canonical host name rule. Enforces permanent redirection to a single domain name for a better page rank (e.g. myshop.com > www.myshop.com or vice versa)
    • πŸ” SEO: added support for <link hreflang="..." ... /> in multi-language stores. The tags are automatically rendered along with the language switcher.
    • (Developer) Implemented new HtmlHelper extension AddLinkPart: registers <link> tags which should be rendered in page's head section
    • (Developer) Implemented new HtmlHelper extension AddCustomHeadParts: registers whatever head (meta) tag you wish
    • 🌐 (Developer) Added SmartUrlRoutingModule, which can pass static files to UrlRoutingModule if desired (e.g. used by MiniProfiler). This way static files can be handled by regular actions or filters, without polluting web.config.
    • πŸ†• New payment plugin "Payone"
    • Option to set a delivery time for products available for order with stock quantity < 1
    • Option to disable product reviews on product detail page
    • Option to supress display of sub category picture links

    πŸ‘Œ Improvements

    • (Perf) Faster application warmup
    • (Perf) Faster product list rendering
    • πŸ”’ Reworked routing: removed static file security barrier again (caused too much problems)
    • #545 Made all (applicable) settings multi-store-enabled
    • #579 Make all relative urls absolute prior sending email
    • The display order of attribute values are considered in the sorting of backend's attribute combination grid
    • ⚑️ Optimized error handling and redesigned error pages
    • βœ‚ Removed PageNotFound topic. Text is a simple locale resource now.
    • PayPal settings are multi-store-enabled
    • #555 Product edit: Improve category select box. Add history (last x selected items) above all others.
    • πŸ”§ #510 Payment plugins: Qualify configuration(s) for multistores
    • #556 A negative value should be possible for additional payment fees
    • Dashboard: Order items linked with order list
    • πŸ”’ Security: Missing http-only flag for some cookies set

    πŸ›  Bugfixes

    • PayPal Express: corrected basket transmission by eliminating tax transmission
    • πŸ›  Fixed password recovery redirection
    • #552 Left navbar should stay expanded on product detail pages
    • #538 Specification attribute labels in product filter mask are not displayed localized
    • πŸ”§ #540 Amazon payments: Multistore configuration might be lost if "All stores" are left empty
    • #532 Amazon payments: Reflect refunds made at amazon seller central when using data polling
    • πŸ”§ #577 Exception thrown because of missing TaxRate table when opening tax by region provider configuration
    • βž• Added IIS rewrite rule for /productreviews/{id} > /product/reviews/{id}
    • Email a friend redirects to "not found"
    • #567 Products marked as 'Featured' should also be included in regular lists
    • πŸ›  Fixed some missing company information in order to PDF export
    • πŸ›  #583 Fixed "The property rate with the value x is malformed" when creating products
    • πŸ›  Fixed ignored discount and tier price when product has attribute combination price
    • PayPal Standard provider now using shipping rather than billing address if shipping is required
    • Amazon payments: Order wasn't found if the capturing\refunding took place at Amazon Seller Central and the notification came through IPN
  • v2.1.0 Changes

    πŸ†• New Features

    • πŸ”Œ (Developer) Overhauled plugin architecture:
      • Plugins are regular MVC areas now
      • No embedded views anymore. Views get copied to the deployment folder
      • No cumbersome return View("Very.Long.View.Identifier") anymore
      • Views in plugin source folders can be edited during debug. The changes are reflected without plugin recompilation.
    • (Developer) Theme inheritance: create derived child themes with minimum effort by overriding only small parts (static files and even variables).
    • Preview Mode: virtually test themes and stores more easily
    • New payment plugin Pay with Amazon
    • πŸ” Support for hierarchical SEO slugs, e.g.: samsung/galaxy/s5/16gb/white
    • πŸ”Œ (Developer) Model binding for plugin tab views: models from plugin tabs get automatically materialized and bound to TabbableModel.CustomProperties[MyKey]. Extended the SmartModelBinder for this.
    • (Developer) New event ModelBoundEvent. Consume this in plugins to persist plugin specific models.
    • (Admin) Added GMC tab to product edit view. This is more a coding example for the above stuff rather than a new feature.
    • (Developer) Implemented AdminThemedAttribute: instructs the view engine to additionally search in the admin area for views. Very useful in larger plugin projects.
    • (Developer) Enhanced IMenuProvider: menu items can now be injected to the public catalog menu
    • (Developer) Implemented IWidgetProvider. Allows request scoped registration of action routes to be injectable into widget zones. Perfect for custom action filters.
    • (Developer) Simple widgets: the model of the parent action view context now gets passed to a widget.
    • (Developer) New IoC method ContainerManager.InjectProperties()
    • πŸ‘ Implemented support for EU VAT regulation for digital goods (2008/8/EG directive)
    • Implemented Media Manager for HTML editor (including file upload)
    • Added CDN setting to store configuration. Allows static files to be served through a content delivery network, e.g. cloudfront. (contributed by 'normalc')
    • 🌐 #393 Web API: Implement OData actions for simpler working with product attributes
    • 🌐 #431 Web API: Add support for localized properties
    • πŸ”§ ShippingByWeight: new settings to configure a small quantity surcharge
    • πŸ‘ #216 Better return request support
    • #90 Directly set order status to completed
    • #413 Orders: Add a PDF export\download of selected orders
    • #69 Award reward points for product reviews
    • πŸ‘ #164 Add multistore support for polls
    • πŸ‘ #170 Multistore support for Newsletters
    • ⚑️ #266 Update Pending Order in Admin Panel
    • #331 Show CommentBox in checkout (optional)
    • Option to turn off the filter for products in categories
    • Export/Import was enabeled to work with localized values for name, short description and long description
    • βž• Added two new themes 'Alpha Blue' and 'Alpha Black'

    πŸ‘Œ Improvements

    • πŸ†• New backend design and cleaner frontend theme
    • Replaced TinyMCE HTML editor with CKeditor
    • Simplified checkout process by combining payment method and info pages
    • (Perf) Lower memory consumption
    • ⚑️ (Perf) (Developer) Client Dependency updates
      • jQuery 1.8.3 > 2.1.1 (although the backend is still using v1.8.3 because of the Telerik components)
      • FontAwesome 3 > 4.1
      • Modernizr 2.5 > 2.7.2
      • jQuery UI to 1.11
      • SearchBox uses Typeahead now instead of jQuery UI AutoComplete
      • Got rid of obsolete jQuery UI files (will remove this later completely)
    • πŸ’» (UI) AJAXified product edit tab: all tabs other than the first one load on demand per AJAX
    • πŸ”Œ (Developer) Plugins can provide custom tabs more easily (now with on demand AJAX loading)
    • ⏱ Task Scheduler:
      • Can run tasks manually now (async)
      • Better UI
      • Shows last error
      • (Developer) Breaking change: New parameter TaskExecutionContext for ITask.Execute()
    • 🚚 UI: TabStrips remember their last selected tab across page requests in an unobtrusive way (removed old selection code)
    • Price formatting: the DisplayLocale's FormatProvider was not applied when CustomFormatting was specified for Currency
    • Admin: Specification attributes are now sorted by DisplayOrder, THEN BY Name
    • Admin: Replaced DatePicker with DateTimePicker control
    • 🐎 (Perf) significantly increased excel import performance... again ;-)
    • 🐎 (Perf) significantly increased excel export performance and optimized memory usage
    • πŸ”Š (Perf) SEO sitemap is being cached now, resulting in fast reponse times with larger catalogs
    • ⚑️ (UI) optimized and reorganized product edit view a bit
    • (Developer) MVC filter attributes are now Autofac injectable
    • βš™ (Developer) Implemented RunSync extension methods for Func and Func>. A reliable way to execute async operations synchronously.
    • (Developer) Refactored model creation for category navigation: it now incorporates TreeNode, which enables plugin developers to alter the main menu with the event hook NavigationModelBuilt.
    • πŸ‘‰ (Developer) Added user.less to Alpha theme for user defined css overrides and tweaks
    • (Developer) Moved PublicControllerBase to SmartStore.Web.Framework
    • 🚚 (Developer) Moved 'AdminControllerBase' to SmartStore.Web.Framework
    • ⚑️ (Developer) Optimized Bundle handling
      • Html.Add[Script|CssFile]Parts() now can handle already bundled resources correctly (no attempt is made to bundle them, the bundle's virtual url is returned instead)
      • Made extra bundles for frequently used resources (like sequence js, fileupload, image gallery etc.). This way they always come compressed.
    • 🌐 #384 Web API: Inserting sluged recources like products require an URL record
    • πŸ”Œ #382 Promotion feed plugins: Asynchronous feed creation, more options and improvements
    • #433 GMC feed: Option to filter config records that have not been edited
    • #362 Display 'from {0}' for products with variant attributes
    • #239 Categories: Ask merchant if he want a cascading or a non cascading deletion
    • HTML text collapser: Make it usable for all long texts
    • #375 Implement SKU search for 'related products picker'
    • #391 Admin: allow searching/filtering for specification attributes
    • Removed OpenID plugin from core
    • Specification attribute values that are assigned to a product can be edited

    πŸ›  Bugfixes

    • Twitter Auth: fixed SecurityTransparent error
    • Facebook Auth: fixed SecurityTransparent error
    • OpenID Auth: fixed SecurityTransparent error
    • #376 Product filtering: Category price range filter not working anymore
    • Return requests: Products to return won't be listed
    • #372 Biz-Importer sometimes shows inactive tier prices
    • PayPal Standard: Sending more localized values. Adjustment of net prices to avoid wrong PayPal total amount calculation.
    • πŸ”Œ Globalization fix in plugin data grids: inline editing for decimal values did not take current culture into account
    • #391 Show delivery time if out-of-stock orders are allowed by attribute combination
    • CustomerRole > TaxDisplayType Including VAT could not be saved
    • ⚑️ Product.DisableBuyButton was never updated when the stock quantity has been increased (e.g. as a result of order canceling)
    • πŸ›  Shipping.ByTotal: Fixed matching of rates by choosing the more specific over the common rate
    • A grouped product only shows up to 12 associated products
    • #405 Billiger feed: Wrong base price exported
    • #437 Mobile devices: Cannot add a product to the cart when it is grouped
    • PayPal Standard: Costs for checkout attributes were double charged
    • Paging of return request grid did not work
    • #428 Multiline checkout attributes aren't rendered correctly
    • #434 Shipping.ByTotal: Make grid pageable
    • #419 email account password hidden
    • #424 Localize return reasons & return actions
    • #479 Product filter: Wrong count of manufacturers if products of sub-categories are included
    • #492 Ipayment credit card: Order notes are only created when the order exists
    • πŸ”Œ #493 Postfinance plugin does not work if shopname includes a "umlaut"
    • #237 Mobile theme: inactive attribute combinations should not be added to cart
    • #178 Mobile theme doesn't display base price
    • πŸ”’ Ipayment: Capturing did not work because the security was not transmitted
    • #405 "Reset Password" Link in Emails is wrong with SSL secured sites
    • #471 Checkout: Redirecting to external payment page could take a while. Clicking "Buy" button again might cancel the redirecting.
    • Pricing not considered attribute combination prices for bundles with per item pricing
  • v2.0.2 Changes

    πŸ›  Bugfixes

    • IMPORTANT FIX: Memory leak leads to OutOfMemoryException in application after a while
    • Installation fix: some varchar(MAX) columns get created as varchar(4000). Added a migration to fix the column specs.
    • Installation fix: Setup fails with exception Value cannot be null. Parameter name: stream
    • πŸ›  Bugfix for stock issue in product variant combinations
    • #336 Product bundle: Upper add-to-cart button label shows wrong text
    • #338 Serialization exception thrown when session state mode is StateServer
    • #340 Admin: Header overlays TinyMCE in fullscreen mode
    • #341 Orders are not cancellable
    • #342 Backend: order total is not editable
    • #348 Messaging: OrderPlacedStoreOwnerNotification overwrites email account sender name with the customer's name
    • 0️⃣ Default value for plugin description not loaded into edit popup window
    • πŸ›  Fixed "Controller does not implement IController" (concerning plugin controllers)
    • #361 Wrong delivery time in order confirmation

    πŸ‘Œ Improvements

    • πŸ”§ #250 Implemented validation to theme configuration editing