SmartStoreNET Versions Save

Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution

4.2.0

2 years ago

Release Notes

Smartstore 4.2.0

New Features

Dimension Pricing (commercial plugin)

  • Freely configurable dimension templates
  • Price calculation based on user input for predefined product dimensions
  • Shipping rates based on dimension and weight calculation
  • Freely configurable shipping formulas for irregular shapes

File Manager (commercial plugin)

  • Freely configurable tabs for product detail pages
  • Unlimited upload of documents for each product tab
  • CSV Import

Digital Product Advisor (commercial plugin)

  • Product presentation based on configurable questions and predefined answers
  • Product filter based on rule builder rules

Improvements

  • Web API: added RewardPointsHistory entity
  • Added canonical HTML link for blog, forum and news page
  • Better semaphore handling
  • Several OpenTrans improvements
  • BMEcat: use stream writer to write large xml files & fixed catalog structure

Bugfixes

  • #379 & #264 Login failed if login type is user and email and if both username and email are an email address and are not identical.
  • #2197 Web API error "The specified type member 'MergedDataValues' is not supported in LINQ to Entities..."
  • Web API: fixes OData Connected Service error when accessing MediaFiles and MediaFolders lists
  • PayPal Express: fixed order may have been placed even if DoExpressCheckoutPayment failed
  • Roxy Filemanager: icons were not displayed anymore
  • Azure CloudBlockBlob stream throws on Length access. Fetch Position instead.
  • Fixed the uploaded file of a product attribute is lost as soon as another attribute is selected
  • Fixes display problem with uploaded media files which contain a + character

4.1.1

3 years ago

New Features

  • Page Builder
    • Added newsletter block to subscribe/unsubscribe to the newsletter.
  • Rule Builder: added CartItemQuantity rule to specify conditions for the quantity per cart product.
  • Added an option to display blog posts and news only for a certain language.
  • #2171 Created SEO setting for ExtraAllows.

Improvements

  • WebDAVModule is removed in Web.config because it disables PUT and DELETE requests (required by Web API).
  • Newsletter subscriptions: added filter for customer roles in export profile and backend list.
  • #2167 Added an activity log for order editing.
  • Inherit ACL and store mappings into all sub-categories, not only into direct sub-categories.
  • #2186 MegaMenu: link for background image had no effect.
  • Added honeypot protection to blog post comments.

Bugfixes

  • #2162 A plugin could not be uninstalled if it's the only one installed.
  • Sometimes no picture was displayed when navigating in the product details' image gallery.
  • Deactivated slugs were falsely always redirected without SSL.
  • Selected products could not be deleted in the backend product list.
  • Web-API: fixed "failed to serialize the response body" when uploading product images and missing product media file mapping if an equal image was found in catalog folder.
  • Categories: fixed missing cache invalidation when inheriting ACL or stores into child categories and products.
  • Link Builder: the selected media file was not applied.
  • Selecting an attribute of type date caused an error on the product detail page.
  • AmazonPay: fixed rare "client ID is a required parameter and is not set" when using the login function.
  • Various fixes for anti forgery request handling.
  • Used mediasettings value for picture rendering in MegaMenu (pictures weren't displayed in MegaMenu dropdowns).
  • Mediamanager uploads were marked as being transient.

4.1.0

3 years ago

Highlights

  • Web API: now supports the widely extended version 4 of OData. New endpoints for uploading and managing media files have been added to the API.
  • (NEW) Delivery dates: product info now shows estimated delivery date (exact date, range, Not before, Not later than). Merchant can enter optional Min/Max delivery days and also specify business hours.
  • (DEV) VS Extension to create plugins. Helps developing plugins for Smartstore by creating the basic structure of a Smartstore plugin with all the required files.
  • OCI provides connection to e-procurement systems via industry standard OCI (commercial plugin)
  • cXmlPunchout provides connection to e-procurement systems via industry standard cXmlPunchout (commercial plugin)
  • Video support in product media gallery.
  • Media Gallery displays a multitude of media files in various styles as Page Builder block.
  • (PERF) ~10% faster page rendering speed thanks to better eager loading & caching strategies

Breaking changes

  • The Glimpse plugin is obsolete and has been removed! Does not work with .NET 4.7+ and hasn't been maintained for 7 years now.
  • (DEV) Web API: porting to OData v4 has minor incompatibilities with v3. See this blog post for details.
  • Blogs\News: the direct language association has been removed. Localized content is now entered using the localization editor. Merging the contents of different languages must be done manually (migration is not possible).
  • PostFinance: plugin has been extended and renamed. Users of this payment method must activate PostFinance e-Commerce in backend and enter the API access data again.

New Features

  • Theming: responsive font-sizing and spacing
  • Page Builder
    • #2042 Added gallery block to display a multitude of media files in various styles.
    • #2036 Added block to display content slider.
    • #2035 Added block to display news.
    • #1729 Added option for title and intro inline background color.
  • #1644 Graying out unavailable attribute combinations.
  • #1744 Added 'Orders' tab to the product editor to display all orders in which the product has been purchased.
  • #1735 Added a setting to open a product directly if the search term matches a SKU, MPN or GTIN.
  • #1239 Added configurability for password strength.
  • #1678 Determine initial working currency based on IP/country.
  • #1697 Added picture and color options to checkout attribute values.
  • #1788 Added setting to restrict order amount in general and for customer roles in specific.
  • #1978 Added minimum and maximum days to delivery times to show a specific delivery date.
  • #1715 Added product attributes selected by customer to RFQ and ask question message.
  • (DEV) Full localization support for properties of setting classes.
  • #2012 Added paging and sorting for bestsellers report.
  • #2014 Added paging and sorting for top customers report.
  • #2092 Added meta properties for social media sharing to category, manufacturer, news and blog pages.
  • Added option for SameSite mode property of cookies
  • #1307 Add 'apple-touch-icon' meta with all common sizes
  • #213 Allow special title and meta tags for home

Improvements

  • (PERF) 10% faster page rendering speed thanks to better eager loading & caching strategies
  • #1981 Added grouping for cart rules.
  • #1407 Added menu to set order and payment status for orders checked in backend grid.
  • #1778 Back button closes offcanvas menu/cart.
  • #2069 MegaSearch: product order is applied to all categories in which a product appears.
  • #2052 When editing a product, the stock quantity is only updated if it has not changed since the page was loaded.
  • #213 Added options for special title and meta tags on home page.
  • #1977 CMS Menu Builder: added new builder types for blogs and news.
  • Search Log: added option to hide top search terms in instant search.
  • CookieManager: Admin area for user defined cookie information
  • CookieManager: More compact frontend layout for mobile devices
  • Seo optimization for News, Blog & Boards
  • (Admin) More filter options for news & blog items
  • #1901 News: Made CreatedOn configurable
  • #2078 Hidden news items should be rendered opaque if current user is in admin role.
  • #1902 Form registration clears values when switching between site languages
  • #1984 Render breadcrumb for pages that are part of the main menu.
  • #2121 Media Manager: implement direct file "replace" support.
  • #1338 Display 'PanGV' in OffCanvas cart
  • #1988 Preconnect all external resources and load them async
  • #1968 Dropzone: upload the folder structure when a folder is dropped.
  • #1996 Page Builder: Added 'Loading behaviour' option to picture block
  • #2100 Improved schema for news, blogs and products

Bugfixes

  • Media Manager
    • The file date should be displayed in local time and not in UTC.
  • Page Builder
    • Reveal effect on story block conflicted with nested block reveal effects.
    • #2068 Fixed RTL display issues with dropdown menus and slider.
  • Export
    • An empty export file was created at the end of an export when using the batch-size option.
    • The offset option skipped one record too much.
    • The XML export of CountryOfOrigin caused an error.
  • Message template attachments were not attached to the email.
  • Shipment templates showed all products of the order instead of only those of the shipment.
  • EasyCredit: fixed "Could not convert setting 'EasyCreditSettings.LastPurchaseLimitUpdatedOn' to type 'DateTime'".
  • #2076 Attributes were not pre-selected for all associated products of a grouped product.
  • Customer tab on customer role edit page showed deleted customers.
  • #2041 Product with call for price did show as free in product list and grid view.
  • #2079 Order item editing: order total was not updated when both unit and item price were changed.
  • RSS feeds: relative URLs of objects embedded in HTML are replaced by absolute URLs.
  • Rules: automatic category assignments of products were not taken into account in a search index updates.
  • Campaign preview did not work if there are no newsletter subscribers.
  • Many alt & title attribute fixes for pictures
  • #2000 Escape toxic chars in meta attributes
  • Google Analytics: Fixed script error in conjunction with CookieManager
  • #2085 RTL: searchbar button wasn't aligned correctly
  • #2068 RTL: Fixed Page Builder slider positioning, dropdown and other alignments
  • #2019 OffCancas compare: hide horizontal scrollbar

4.0.1

3 years ago

New Features

  • Check on app startup whether any plugin has changed and refresh all plugin locale resources.

Improvements

  • Theming: minimal but effective tweaks (rounding, shadows, typo)
  • (SEO) (PERF) Preload logo to prevent flashing and web fonts to avoid FOUT on slow internet connection
  • Rule Builder:
    • #1969 The preview grid is now displayed in a modal dialog.
    • Added more cart rules: weekday, total quantity of products in cart.
    • Added list with example values for browser, operating system and device family rule.
  • #1995 The localized ALT text of media files is now respected for all frontend images.
  • SEO: most images in frontend now carry loading="lazy" attribute which loads images only when they enter visible viewport.
  • Media Manager:
    • Improved image lazy loading behavior.
    • The reference table of a file now remains open if its data has been loaded.
    • Migration: detect duplicate file names.
  • Improved handling of customer roles, e.g. paging for customer role grid.
  • (PERF) Use direct SQL to delete guest customers.
  • Blog & News items: Unpublished items are visible for shop admins now

Bugfixes

  • Order placement validation now also checks whether the selected payment method has been filtered out.
  • #1976 The button to cancel recurring payments in my-account was out of function.
  • (pb) Flat Box did not invert text color if concrete colors were specified for text parts
  • (mm) Store logo is handled by "content" album, not "file"
  • (mm) Tracker tracks only the last media file property
  • (mm) Migration: Download entity was teared down too early in the migration process.
  • (perf) Plugin hash calculation was broken in a way that every plugin was redeployed on each app startup
  • A cart rule was not applied if more than one cart rule was assigned to an object.
  • MegaSearch: fixed the incorrect featured sorting.
  • Added missing paging for shipment list.
  • #2009 "Show all" link in top brands list is always rendered in new line but should be last item in last row.

4.0.0

3 years ago

Highlights

  • (NEW) Media Manager: Powerful and lightning-fast explorer/manager for media files (commercial plugin exclusively bundled with Pro Edition)
  • (NEW) Rule Builder: Powerful rule system for visual business rule creation
    • Dozens of predefined rules out-of-the-box
    • Supports logical operators (AND/OR) and unlimited grouping/nesting
    • Cart rules: can be applied to discounts, shipping and payment methods
    • Customer rules: used to auto-assign customers to customer groups for 1-to-1 content targeting
    • Product rules: used to auto-assign products to categories based on filter definitions (e.g. price, brand, color, stock etc.)
  • (NEW) New permission (ACL) system: Granular tree-based permission management based on customer groups. Supports inheritance to allow or deny entire permission ranges
  • (NEW) Personalized product recommendations: Replaces homepage products dynamically with personalized product recommendations based on customer interests. (commercial plugin)
  • (NEW) Geo Blocker: Restricts shop access based on visitor country or IP address ranges (commercial plugin)
  • (NEW) Dashboard with charts: New dashboard widgets display key data like orders, customers, bestsellers etc. in nice graphical charts.

Breaking changes

  • (Dev) Install\UninstallPermissions has been removed from IPermissionService. No longer needs to be called by plugins. Permissions are now automatically installed\uninstalled.
  • (Dev) IDiscountRequirementRule and IShippingMethodFilter has been removed. Discounts and shipping methods can now be filtered by rule sets.
  • (Dev) Customer navigation property CustomerRoles has been replaced by CustomerRoleMappings, a new entity for role mappings.
  • The search index must be rebuilt due to various enhancements.
  • (Dev) The wrong name of API endpoint LocalizedPropertys has been corrected and renamed to LocalizedProperties.

New Features

  • Granular permissions: All permissions of a customer directly visible on the customer edit page.
  • DEV: Added Visual Studio extension to create Smartstore Plugins
  • GDPR conform Cookie Consent Manager
  • SEO: XML Sitemap now includes blog, news and forum
  • SEO: do 301 redirect to URL without trailing slash
  • SVG support for image uploads.
  • Schedule tasks: new property "Priority" runs tasks with higher priority first when multiple tasks are pending.
  • #1805 Added XML Sitemap settings to backend UI.
  • #1598 Add published property to ProductTag entity.
  • #1669 Apply percentage discounts also on tier prices.
  • #1618 Implement ACL and multistore capability on menu item level.
  • #1683 Menu Builder items: implement support for icon (brand) color.
  • #1584 Show bundle item images in order details like in shopping cart details.
  • MegaSearch:
    • Added more text analysis options (e.g. Lucene.Net classic analyzer).
    • Added tool to display internal information about a search, such as Lucene.Net terms.
    • #1693 Find the grouped product when searching for the SKU, GTIN, MPN of a non individually visible, associated product.
    • #1711 Find product when searching for GTIN or MPN of an attribute combination.
    • Perf. Added option to ignore attribute filtering property on product level.
  • Web-API:
    • #1809 Added a parameter to start an import after uploading import files.
    • #1801 Added endpoints for ProductPictures, ProductCategories and ProductManufacturers to allow updating DisplayOrder.
    • #1858 Added endpoints for NewsLetterSubscription.
  • #1714 Direct links to variations on a product.
  • #1733 Add ability to hide products from catalog, but not search.
  • #1754 Implement hidden boolean setting that controls which catalog search engine implementation should be used in backend.
  • #1776 Enable images and color values for search filters to be stored for specification attribute options.
  • #1793 Add field for manufacturer bottom description like for categories.
  • #1116 Add new field for product condition.
  • #1790 ACL support for manufacturers.
  • #1616 Add new field for tracking URL to shipment entity to better track shipments.
  • (Page Builder) Added a Page Builder block to display blog posts.

Improvements

  • #1663 Make MeasureDimension and MeasureWeight localizable.
  • #1600 Show an example currency value for custom formatting value changes.
  • Card desk instead of a grid for customer addresses on customer edit page.
  • Display "price from" in product lists if any attribute combination price exists.
  • Reworked blog & news section.
  • #1718 Activated ReCaptcha without keys can cause the merchant to lock himself out of the shop.
  • #1752 Export: let a provider directly export to a file stream instead of a memory stream.
  • #1763 Topic editor should display all menu item nodes that reference the current topic.
  • #1665 UI: ACL, discount and store selection should be done via multiple select2.
  • Updated UserAgent Parser.
  • TinyImage: updated WebP detection patterns.
  • PayPal PLUS:
    • Apply order of payment methods in backend to the list of third-party payment methods in checkout.
    • #1848 Send the billing address when redirecting to PayPal.
  • Hide cart payment button for payment methods without match of applied rule sets.
  • #1839 MegaSearch: Support exact value match for numeric range filters.
  • #1920 Hide option prizes if "Call for price" is enabled.
  • Debitoor: added an option to force a price type on invoices.
  • BeezUp: export product costs.
  • #1915 RTL: fixed alignment of product art badge.
  • #1738 Sending of mails to customers uses generic message template now.
  • #1805 UI: Added XmlSitemap settings to backend
  • And many more other minor improvements

Bugfixes

  • Export: Fixed KeyNotFoundException when batch size was 1.
  • #1686 Fixed KeyNotFoundException when payment method friendly name ends with spaces.
  • Cart: Fixed ShoppingCartSettings.ShowProductBundleImagesOnShoppingCart hides the bundle item name.
  • MegaSearch:
    • Fixed the preset sorting order of products on a manufacturer page may be wrong depending on catalog settings.
    • #1716 Price facet filter bypasses Call for Pricing and shows the approximate price of a product.
    • The number of hits for product review facets was wrong in some cases.
    • Do not show facets for manufacturers or categories if they are limited to stores or subject to ACL.
    • #1823 Ghost facet filter groups will appear if a numeric value is assigned that matches to a different spec option.
  • Page Builder:
    • #1689 Block with z-index < 0 can not be selected in story view - Block tools can reduce z-index below 0.
    • #1691 Manually editing/removing block cols/rows does not refresh grid state correctly.
    • #1684 Edit Mode rendering bug in Mac Safari
    • #1836 Added "Order" property to page Builder block to control rendering order of blocks in HTML output
  • PayPal:
    • Fixed rare exception "Unsupported Media Type" (415) in PayPal PLUS.
    • Only process a partially refund IPN when the order refunded amount is zero. Otherwise the order refunded amount will be wrong.
  • Customer import:
    • VatNumber and other fields were ignored.
    • Customer roles sometimes inserted several times.
    • Changed billing/shipping address was added instead of updating the existing one.
    • Region assigned to an address was not updated.
  • Product tags:
    • #1730 Product tag count should filter also based on Visibility.
    • Product tag count sometimes not up-to-date due to missing cache clearance.
  • Debitoor:
    • Avoid errors due to invalid quantity unit Id of 0.
    • #1952 rework quantity units.
    • Sometimes the SKU was missing on invoices.
  • Multistore mapping was ignored for manufacturers in sitemap.
  • Categories limited to stores were not displayed in tree view.
  • Fixed InvalidOperationException in CreatePdfInvoiceAttachment when an order is placed by a guest.
  • The ShowDescriptionInSubPages setting should also be applied to the bottom category description.
  • #1774 Recaptcha: doesn't work for product reviews, blog and news comments if hidden captcha is activated.
  • #1766 Customer FullName is not populated after registration.
  • #1765 Web-API: fixed authentication error "Value cannot be null. Parameter name: name" when login type is email.
  • Payone: fixed wrong hash value if redirecting option is activated.
  • Azure: opening the configuration page resulted in an error.
  • Shipping by weight: the surcharge hint was not displayed correctly.
  • Off-canvas menu shows wrong product count for brand menu items.
  • Images of newly added variants could be deleted automatically due to wrong image transient state.
  • #1794 Menu display order is ignored for widget zone header_menu_special_after.
  • #1451 RTL: Manage categories tree view.
  • Biz-Importer: If the TaxRate table was missing, the assignment of the tax category to the product was not set.
  • #1832 Import: adding URL records requires cache to be cleared.
  • #1818 The order list summary do not respect all list filters and shows wrong aggregate values.
  • #1835 Removing gift card issue.
  • #1875 A delivery time cannot be deleted if it is assigned to a variant combination of a deleted product.
  • BeezUp: fixes ArgumentNullException, parameter name "source".
  • #1743 Avoid redirecting to the account activation page when trying to log in for the first time.
  • #1895 The checkout button disappears when moving a product from the shopping cart to the wishlist.
  • Menu builder: in case of system menus the template can changes accidentally when saving.
  • Structured data: Replace length with depth property.
  • #1701 'View All' button from the offcanvas manufacturer menu causes 404 on mobile.
  • Added missing sitemap task.
  • #1696 ESD: browser freezes when editing file changelog
  • And many more other minor fixes...

3.2.2

4 years ago

New Features

  • External category links: alternative links for categories in the main menu and in category listings.
  • Page Builder: multistore support for stories.
  • #1639 Shipping.ByTotal: Add option to calculate the shipping rate based on the net total instead of the gross total.
  • #1537 Implement "Ratenzahlung powered by PayPal" provider.
  • New Heidelpay payment plugin.
  • Shop-Connector: mapping of product SKUs that differ between client shops.
  • MegaMenu supports configuration of menu items

Improvements

  • Amazon Pay: PSD2. Strong customer authentication (SCA) upgrade.
  • Updated MaxMind.GeoIP library and country database
  • Removed HTML encoding for meta tags and document title.
  • #1662 Quantity Units: added field for name pluralization.
  • (SEO) combined SSL and canonical host 301 redirections to prevent successive redirects.
  • (SEO) Activated GZIP compression for all dynamic and static responses.
  • Set max. file upload size to 2 GB (globally)
  • (Dev) Added a sample block for the Page Builder in DevTools plugin.
  • Various other minor improvements.
  • PayPal PLUS: paying by instalments can be selected in payment wall.
  • Payone: send more information to API (e.g. shipping address) to stay as frictionless as possible for PSD2.
  • PageBuilder: Added keyboard shortcuts
  • #1582 Added structured data to reviews
  • BMEcat: added support for import of specification attributes

Bugfixes

  • Fixed wrong XML sitemap index numbering.
  • #1646 Setting ManufacturerItemsToDisplayOnHomepage to 1 will not show any manufacturer.
  • #1647 All manufacturers page: link of last character missing in alphabetical letter list.
  • #1664 RTL: CMS menu issues in backend.
  • #1677 Page Builder: moving and resizing blocks via drag & drop didn't work correctly in RTL.
  • Do not adjust inventory twice when an order is cancelled and deleted.
  • #1500 Fallback to fixed VAT rate instead of rate by region for countries that are not subject to vat.
  • Fixed "The entity wrapper stored in the proxy does not reference the same proxy" when copying an export profile.
  • Various other minor fixes.
  • BMEcat: set TaxCategoryId & MainPictureId for newly imported products

3.2.1

4 years ago

Improvements

  • Implemented file range support for CachedFileResult
  • Sitemap should only include products visible for current customer, which is the search engine system customer
  • Fixed uniform spelling for query string parameter "returnUrl"
  • Fixed search engine issue (itemtype, "offers" required) on product detail page
  • Summernote: solved html formatting issues thanks to "Beautifier" library
  • Media middleware: simplified ETag generation & handling

Bugfixes

  • Mega Menu: Product rotator wasn't working
  • Tiny Image: Fixed periodic IOException
  • URL Rewriter: performance optimization
  • Fixed more menu for main catalog navigation
  • Fixed DateTime nor expressed as UTC in AzureFile & LocalFile
  • Content Slider: Fixed slide display bug on surface and other touch devices
  • Content Slider: Randomize slides > Value was stored in database but toggle button has always shown "off"
  • Page Builder: Fixed slider bug for list blocks (brand, category, products) in Firefox
  • Page Builder: fixes blurry background images in IOS
  • Output Cache: action widgets didn't render when they were part of a widgetzone within a donut child action
  • Multishop resolution failed under certain circumstances
  • Fixed menu issue "collection was modified, enumeration operation may not execute"
  • Fixed "The parameters dictionary contains a null entry for parameter 'catId' of non-nullable type 'System.Int32'"
  • Fixed discount coupon sometimes wasn't applied
  • Fixed "Value cannot be null. Parameter name: key" in order list
  • Fixed topic link resolving by system name in multistore environment
  • Async event consumers were not guaranteed to be awaited

3.2.0

4 years ago

Highlights

  • (NEW) Page Builder: Create fascinating content that will boost your sales. No coding is required thanks to a powerful WYSIWYG editor which utilizes the revolutionary CSS Grid system (commercial plugin)
  • (NEW) Menu Builder: Visual manager for all sorts of menus. Change existing menus or create your own and place them anywhere you want.
  • (Perf) Faster MegaSearch thanks to Lucene.NET 4.8
  • (Perf) Huge performance increase in discount resolution and calculation.

New Features

  • EmailReminder:
    • Reminders for open shopping carts
    • Reminders for product reviews
    • Reminders to visit the shop after a long absence
  • Scheduling
    • Task execution history
    • Web farms: tasks can run decidedly on each machine of a web farm
    • #1144 MegaSearch: multi server search index
  • Topics & Pages
    • Access control lists
    • Grid paging & filtering
    • New properties: added IsPublished, Short Title (link text) and Intro (teaser) properties.
    • #1542: added options to set body CSS class and Html Id.
  • MegaSearch:
    • Supports searching for forum posts.
    • #1172 Option to display related search terms on search page.
    • Command to continue a previously aborted search index rebuild.
  • Import/export of:
    • Product tags
    • Tier prices
    • Product attribute options
    • Product attribute combinations (update only)
  • Forum:
    • Added option to display a captcha on forum pages when creating or replying to a topic.
    • #417 Restrict forum groups to specific customer roles.
    • Added published property to forum topic and post.
    • Added voting for forum posts.
    • Several performance improvements.
  • BeezUp:
    • #1459 Add option to only submit one category name per product
    • Allow to specify export categories per product
  • Santander:
    • Added payment method for instalment purchase.
    • Added financing calculator.
  • Updated icon library to Font Awesome 5 Free with the possibility to activate pro version in the frontend.
  • New storefront catalog options: ShowSubCategoriesInSubPages, ShowDescriptionInSubPages & IncludeFeaturedProductsInSubPages (Subpage = List index > 1 or any active filter).
  • New security option: Use invisible reCAPTCHA
  • Wallet: Allow customer to choose whether refund should be submitted to his wallet.
  • Added option to display preview pictures in product lists
  • Added option to add multiple file versions to product download section
  • Added options for alternating price display (in badges)
  • Customer avatar: Letter with colored background if no avatar image was uploaded.
  • Viveum: Supports payment via "Virtual Account Brands" (e.g. PayPal).
  • Added options for alternating price display (in badges).
  • #1515 Poll: Add result tab with a list of answers and customers for a poll
  • BMEcat: Added export and import of product tags.
  • Web-API: Added endpoints for ProductSpecificationAttribute.
  • Trusted Shops: Added new Trustbadge display for mobile devices
  • (Dev) Added sm:EfCommandTimeout setting to web.config (was 30 sec. fixed, now configurable)

Improvements

  • (Perf) Significantly increased query performance for products with a lot of category assignments (> 10).
  • (Perf) Increased app startup speed by up to 20%.
  • (Perf) Ultra-fast file-based XML sitemap generation for extremely large catalogs (> 1M)
    • At least 10x faster
    • Generated files are saved on the hard disk now: a rebuild after an app restart is no longer necessary.
    • No exclusive locks during rebuilds anymore: if an (outdated) file already exists, it is returned instantly.
  • (Dev) Enhanced pub/sub: new IConsumer marker interface for classes that contain one or more event message handlers. The generic IConsumer<T> implements IConsumer but has been marked as Obsolete.
  • Better protection against XSS attacks
  • Updated to Bootstrap version 4.1.3
  • Debitoor:
    • Partially update customer instead of full update to avoid all fields being overwritten.
    • #1540 Place company name in front of customer name (according to address format of the particular country).
    • #1565 Add a button to manually create a draft invoice.
  • #1479 Show in messages the delivery time at the time of purchase
  • #1184 Sort current shopping carts & current wishlists by ShoppingCartItem.CreatedOn.
  • #1106 BMECat: import & export support for product keywords
  • #1499 Added hint to forms indicating that fields with an asterisk (*) are required
  • Added filter for newsletter subscriber export by working language
  • Refactored download section
  • Enhanced EntityPicker to pick from customers, manufacturers & categories
  • #1510 Breadcrumb of an associated product should include the grouped product if it has no assigned categories.
  • OpenTrans: added customer number to parties
  • Do not filter cookie using resources if cookie usage has not yet been consented to.
  • #1563 QueuedMessagesClearTask: add a setting for the age of the mails to be deleted.
  • #1569 Added a setting to show login note if no prices are displayed due to customer group permissions.
  • PayPal PLUS: Up to 10 more third party payment methods are allowed by PayPal now.
  • #1560 Tell-a-Friend and anonymous user: render alert box and tell guest to login to use this function
  • #1571 Compare products now shows all specification attribute options
  • #1539 Signing in is now allowed with e-mail and username
  • Trusted Shops: Trustbadge won't be displayed in Popups & Iframes anymore
  • #1461 Admin Grid: filter dialog will be displayed entirely even when grid has no data to display
  • Lots of minor enhancements for both frontend and admin theme
  • Many other minor improvements

Bugfixes

  • In a multi-store environment, multiple topics with the same system name can now be resolved reliably.
  • GMC:
    • Export the product images if no attribute images are defined
    • Do not export the first image twice for additional images
    • Export image URL of full size image (not default size) for additional images
    • Custom labels are now being exported
  • Media middleware: 0-byte files should be treated as missing.
  • Megamenu alpha/omega blends do now toggle correctly on touch devices
  • Summernote HTML editor exceeds parent container width when CodeMirror is activated
  • Only display a zero search hits warning if at least one filter is activated
  • #1436 Do not display delivery time in customer order completed messages
  • "ArgumentNullException: The value must not be NULL" if a topic is password protected
  • Tax by region: Fixes after inserting a tax rate country column shows "Unavailable"
  • #1014 Switching to default language keeps specific URL alias of current page
  • Shipping by total: When inserting a record the country now will be saved
  • #1460 Editing of the customer title was missing on customer and address pages in the backend
  • #1447 Checkout button payment methods (Amazon, PayPal Express) won't work in conjunction with mandatory checkout attributes
  • Fixed Autofac circularity error
  • When creating a topic, the widget zone input has shown System.String[]
  • Switching the language always redirected to the home page if SEO friendly URLs was deactivated.
  • File upload of a checkout attribute was not stored on cart page.
  • Redirecting within checkout may have displayed an incorrect URL in the browser.
  • Server cannot modify cookies after HTTP headers have been sent.
  • Wrong base price on product and cart page when a special price is active.
  • In a multi-store, message templates may have loaded the wrong disclaimer and conditions-of-use text.
  • NullReferenceException in manufacturer list when there is no manufacturer.
  • Wrong order of featured products on category page.
  • #1504 Cart item price calculation was wrong if attribute combinations with text types were involved.
  • #1485 Dropdown list for product sorting didn't not work with Internet Explorer 11.
  • #1468 Twitter authentication wasn't working anymore.
  • Newsletter subscription didn't work when customer privacy setting DisplayGdprConsentOnForms was turned off
  • Fixed social media image detection
  • Fixed redirection of bots when several languages were active
  • Region cannot be selected in checkout when entering a billing or shipping address
  • Fixed invalid conversion of "System.Int32" to "SmartStore.Core.Domain.Tax.VatNumberStatus" when placing an order
  • MegaMenu: Improved item rendering for third tier elements
  • Product display order on category and manufacturer pages was sometimes wrong when using linq search.
  • Debitoor: Wrong invoice total if a subtotal discount has been applied.
  • Import: Fixes invalid conversion "System.Double" to "SmartStore.Core.Domain.Catalog.QuantityControlType".
  • Topics: Fixes "Cannot insert duplicate key row in object 'dbo.UrlRecord' with unique index 'IX_UrlRecord_Slug'".
  • #1566 Santander: eliminate the 1 cent rounding difference at amountTotalNet.
  • Fixed redirection to the homepage for pages which are loaded while the application is restarted.
  • #1570 Filter option "Only deactivated customers" filters deleted instead of deactivated customers.
  • #1475 select boxes must be wrapped on mobile devices if data-select-url is set
  • Fixed the redirection to the homepage for pages which were loaded while the application was restarted
  • Fixes product feeds expect a different base price formatting.
  • #1369 Shopping cart shows "Discount code applied", although it is not applied due to a lower tier price.
  • Many other fixes...

3.1.5

5 years ago

Highlights

  • Compliance with EU-GDPR requirements
  • Search engine friendly topic URLs
  • "Honeypot" bot detection for registration and contact forms.

New Features

  • #1429 Search engine friendly topic URLs
  • Implemented cookie consent according to EU law
  • Added checkboxes for data processing consent in all relevant forms
  • Implemented "Honeypot" bot detection for registration and contact forms.
  • Trusted Shops: Added consent checkbox to confirm order page for submission of customer email address to Trusted Shops if review widget is active
  • #1226 Shop-Connector: Added exchange of tier prices and delivery times
  • #1439 Debitoor: Option whether to display the payment method and SKU on invoices

Improvements

  • Added double opt-in feature for newsletter subscriptions during checkout (confirm order)
  • Allow forward slash in product tag URL slug
  • Theming: throttle AJAX cart refresh after spin up/down click
  • Moved StoreLastIpAddress & DisplayPrivacyAgreementOnContactUs from customer settings to privacy settings tab
  • #1450 Show the regular price only if it's higher than the final price
  • #1450 Do not ignore discounts with a negative amount
  • (Soft) deleted customers can be edited now
  • Customer IP addresses will be anonymized on (soft) deletion
  • Set catalogsettings.showsharebutton to false as its not compliant with GDPR
  • Made form fields for first & last name in customer registration optional
  • Implemented settings to make form fields for first & last name required again
  • Made form field for full name in contact us & product request optional
  • Implemented settings to make form field for full name in contact us & product request required again
  • #1453 Import: Use [IGNORE] to ignore a field value on record level
  • #1455 More detail on packing slip when bundled item
  • Display category alias as badge in grids and dropdowns

Bugfixes

  • Migration: take all same-named message templates into account
  • Messaging: OrderPlaced e-mail templates show main product image even when an attribute combination with a custom image has been selected
  • Theming: fix broken product review voting
  • Theming: added missing bottom space to .html-editor-content
  • Theming: Language switcher is not displayed if no currency options are available
  • No bundle item thumbnail displayed in bundle summary if item is not individually visible
  • Tracking number in shipment details was not saved
  • Assigning or removing product tags did not invalidate model cache
  • Reward points weren't displayed in message templates
  • Dashboard: link for not yet shipped orders loads list with all orders
  • Topic search button had no effect
  • #1442 Message factory should not throw an exception if a template has been deactivated
  • Fixes script error "$(...).tab is not a function" on product detail page
  • Title attribute for the product name in product lists was sometimes truncated
  • Relativizing font sizes should cast to double, not int
  • Fixes category list on product edit page shows empty category name
  • #1438 Debitoor: The country is displayed twice
  • MegaSearch: Fixes indexing ignores DeliveryTimeIdForEmptyStock setting
  • Web API: Fixes "No NavigationLink factory was found for the navigation property 'WalletHistory'"
  • #1449 IgnoreCharges of shipping methods is not working if a localized name is specified
  • Fixes "The object does not support the property or method 'startsWith'" on product edit page.
  • Wallet: Fixes "Child actions are not allowed to perform redirect actions" when there are cart warnings
  • Fixes the delivery time in the order notifications may differ from delivery time on the product detail page

3.1.0

6 years ago

Highlights

  • Wallet: Enables full or partial order payment via credit account. Includes REST-Api. (commercial plugin)
  • Liquid template engine: very flexible templating for e-mails and campaigns with autocompletion and syntax highlighting.
  • Cash Rounding: define money rounding rules on currency and payment method level.
  • Modern, responsive backend: migrated backend to Bootstrap 4, overhauled and improved the user interface.
  • Enhanced MegaMenu: virtual dropdowns for surplus top-level categories and brands (commercial plugin exclusively bundled with Pro Edition).
  • RTL: comprehensive RTL (Right-to-left) and bidi(rectional) support.
  • Amazon Pay:
    • Supports merchants registered in the USA and Japan
    • External authentication via Login with Amazon button in shop frontend
    • Several improvements through the new Login and pay with Amazon services
  • (Perf) Faster image processing: new processing and caching strategy! Thumbnails are not created synchronously during the main request anymore, instead a new middleware route defers processing until an image is requested by any client.
  • TinyImage: scores ultra-high image compression rates (up to 80 %!) and enables WebP support (commercial plugin exclusively bundled with Premium Edition).
  • UrlRewriter: define URL redirection rules in the backend using mod_rewrite notation. (commercial plugin)
  • Address formatting templates by country
  • Language packs: downloader & auto-importer for packages available online.

Breaking changes

  • Message template customizations are lost due to the new template engine. You have to customize the templates again. No automatic migration, sorry :-(
  • Amazon Pay: The plugin has been changed to new Login and pay with Amazon services. The client ID has been added, which has to be created in Amazon Seller Central and saved in the payment method configuration.
  • (Dev) Calls to cache methods Keys() and RemoveByPattern() require glob chars to be present now (supported glob-styles see https://redis.io/commands/keys). Previously these methods appended * to the passed pattern, which made pattern matching rather unflexible.
  • (Dev) Hook framework now passes IHookedEntity interface instead of HookedEntity class
  • (Dev) Completely removed all EntityInserted<T>, EntityUpdated<T> and EntityDeleted<T> legacy events. We were using DbSaveHooks anyway, which provides a much more powerful and way faster pub-sub mechanism for database operations.

New Features

  • 1203 MegaMenu shrinker and Brands virtual menu item
  • Summernote is now the primary HTML editor
  • #431 Added option to randomize the display order for slides on each request
  • #1258 Add option to filter shipping and payment methods by a specific customer role
  • #1247 Allow to import non system customer roles in customer import
  • #1117 Added an option to display a dropdown menu for manufacturers
  • #1203 Added an option to define a maximum number of elements in the main menu for the first hierarchy of the catalog navigation
  • GMC: column chooser for edit grid
  • #1100 Customer can register in frontend via "Login with Amazon" button
  • Web API:
    • #1292 Added endpoint to get order in PDF format
    • Added endpoint to complete an order
    • #1364 Added endpoints for MeasureWeight and MeasureDimension
  • Added options to include option names of specification and product attributes in the search index
  • #441 added option to specify that additional shipping surcharges are considered only once.
  • #1295 Sales tracking (tracking pixel) for Billiger.de
  • XML and CSV export of shopping cart and wishlist items
  • #1363 Make storing of IP addresses optional
  • #729 Option for automatic order amount capturing when the shipping status changed to "shipped"
  • (Dev) ILocalizationFileResolver: responsible for finding localization files for client scripts
  • #998 GMC: Find a way to map attribute combination values to feed export values
  • Added Instagram icon to social media icons in footer

Improvements

  • Target .NET Framework changed: 4.5.2 > 4.6.1.
  • Lower memory consumption
  • #649 Media FileSystem provider: segmenting files in subfolders to increase IO perf with huge amount of files
  • #1141 Cleaner backend order list. Added more infos like payment method.
  • OuputCache: Simple product changes that affect visibility now correctly invalidate all assigned category and manufacturer pages
    • OuputCache: When MegaSearch is active, invalidation occurs only during indexing and not ad-hoc anymore.
  • #1248 New payment integration guidelines for Sofort\Klarna
  • TwitterAuth: better error handling and enhanced admin instruction
  • #1181 Debitoor: Add option to display shipping address on invoices
  • Moved RoundPricesDuringCalculation setting to currency entity
  • #1100 Use new "Login with Amazon" services to initialize an Amazon payment
  • #1285 Copy product: Add option to add more than one copy
  • (Perf) Many improvements in hooking framework
  • #1294 Swiss PostFinance: External payment page too small on mobile devices. Added setting for mobile device template URL, pre-configured with PostFinance template.
  • #1143 Make shipping methods suitable for multi-stores
  • #1320 Image import: Find out the content type of image URLs by response header rather than file extension (which is sometimes missing)
  • #1219 Recently viewed products list should respect setting to hide manufacturer names
  • Import and export product quantity step
  • Add bundle item information to order messages
  • #1031 Enable offline payment methods to have brand icons
  • DevTools Plugin: Added example for cached output invalidation

Bugfixes

  • #1268 Data importer always inserts new pictures and does not detect equal pictures while importing
  • OutputCache computes ambiguous cache keys for blog pages
  • #1142 Customer import creates role multiple times
  • #1244 Variant query model binder cannot handle types text and datepicker
  • #1273 Attribute formatter should consider setting CatalogSettings.ShowVariantCombinationPriceAdjustment
  • Product entity picker should use the wildcard search to find products
  • Hook framework should run hooks with ImportantAttribute when hooking was disabled per scope
  • #1297 Web API: Parsing the timestamp may fail due to the different accuracy of the milliseconds
  • Debitoor: VAT amount could be transmitted as miscellaneous for deliveries abroad.
  • Prices with discounts limited to categories and customer groups were shown to all users in product lists
  • #1330 MegaSearch: Missing variant facets if the variant value is not unique
  • Back-in-stock subscription form was already submitted when opening the popup dialog
  • Associated products of a grouped product were displayed in the wrong order
  • Payment-Filter: Fixed "The cast to value type 'System.Decimal' failed because the materialized value is null"
  • The tax value per tax rate was not updated when adding\removing a product to\from the order.
  • The option to send manually was ignored when sending e-mails
  • #528 LimitedToStores is required on payment provider rather than plugin level
  • #1318 Disabled preselected attribute combination permanently hides the shopping cart button, even if another combination is selected.
  • Copy product: Fixes "Cannot insert duplicate key row in object dbo.UrlRecord with unique index IX_UrlRecord_Slug"
  • Fixed export publishing via email