Releases
5.1.0
New Features
Currency rounding:
Added currency properties and settings for rounding: midpoint rounding, skip rounding when displaying net prices, round unit price before or after quantity multiplication
Amounts are always rounded when calculating the order total to avoid rounding differences (usually of 1 cent)
The recycle bin for products enables to restore and permanently delete products
payever plugin (commercial)
Botsonic plugin (commercial)
Media Manager now allows image files to be re-processed based on the current media and post processor settings.
Cart quantity input control now respects the product's available stock (as max input)
#823 Added canonical URL to search pages
#745 Page Builder: depend story visibility on user roles
Added option to configure allowed characters for user names
#836 Added option to define additional lines for robots.txt
Theming
Infrastructure
Forked & customized Bootstrap framework. Our implementation combines version 4.6 and 5.x. We have not made any modifications to the JavaScript files; only SCSS has been customized. The primary objective is to maintain compatibility with the original Bootstrap documentation for developer convenience.
Logical CSS for better RTL support
Added subtle and emphasis colors to the color system
Revamped button styling
Revamped dropdown styling
Revamped select2 styling
Revamped pagination styling
Revamped modal window styling
Badges: new variants and modifiers .badge-subtle
, .badge-outline-*
, .badge-ring
, .badge-counter
Revamped check & radio styling: new variants and modifiers .form-check-solo
, .form-check-{color}
, .form-switch
, .form-switch-lg
Many improvements to input groups, button groups and collapsibles
Sass variables for all easings, contained in _easings.scss
Dropped responsive (rfs) spacing
Frontend
New grid breakpoint xxl (1400px)
Made components rounder by slightly increasing border-radius variables
Revamped product listing action bar styling (sorting, view mode, pagination)
On screens < md, the offcanvas window for product filter slides in from bottom and also provides the sorting options
Revamped offcanvas main menu
Revamped image gallery styling
Revamped cart, wishlist & order confirm
Fixed Slick slider dotted navigation responsiveness issues
Slightly improved InstantSearch box and dropdown
Revamped product tags component
Dropdown product quantity input (automatically rendered instead of spinner if possible quantities do not exceed 100).
Revamped checkout progress indicator
Revamped scroll-to-top button
Revamped cookie consent dialog styling
Dropped Triple Date Picker component in favour of browser native date picker
Unstyled links are underlined by default
New responsive and collapsible MyAccount menu with avatar image, customer name and email address in header.
Backend
Revamped Configuration / Settings and made settings menu responsive
Revamped plugin and provider managers
New colorpicker component with swatches
Revamped number input styling
Locale editor tab navigation has been redesigned and is now more responsive
Improvements
Increased performance:
Added hash codes to attribute combinations. With a large number of attribute combinations, variants are found much faster now.
Fixed slow loading of product categories for a large number of categories. Price calculation and product export were affected.
MediaSearcher always performed a LIKE search for terms (the equals operator was missing)
#820 More scalable media service dupe file detection
Improved plugin & provider manager UI
MegaSearch: #842 added hit count for availability filter. Hide filter if it leads to no further hits.
Use billing address if there is no shipping address and tax calculation is based on shipping address.
#580 Added caching for live currency exchange rates.
#767 Handle tier prices in depending prices module.
#378 Remove the assignments of products to a tax category when the tax category is deleted.
Blogs and news: added counter for pageviews and author field. Both displayed for admins only.
Product tags:
#388 Ajaxify product tag selection in backend.
Added search panel to product tags grid.
Web API:
#142 Take back in stock notifications into account.
#805 Add endpoints to assign discounts to entities.
#821 Add endpoints for RecurringPayment and RecurringPaymentHistory.
Add endpoints for the recycle bin of products.
Import:
#390 Add a setting for whether to send the completion email.
#377 Import cross- and checkout-selling products.
#503 Don't round quantity unit amount for PAnGV.
#403 Added preview image link of NewsItem to RSS feed.
#276 Enable to set the time of day for start and end date of discounts.
#486 Add setting to capture payment when order status changes to complete .
#782 Make the total weight of a shipment editable.
#782 Enable to mark shipments of an order as shipped or delivered via orders grid.
Added ability to edit delivery time in product grid
#807 Enable absolute Paths for DataExchangeSettings.ImageImportFolder.
#786 Replace TripleDatePicker with native input type date.
#804 Implemented the new TrustBadge integration mode, including new settings for positioning, color scheme, etc.
#819 Fix zoom on product detail page when there is a large right column.
PayPal credit card: Removed address fields and integrated Strong Customer Authentication (SCA) instead.
#834 Make the expiration date of visitor cookies of guests configurable.
#493 Display quantity name plural when quantity unit is more then 1.
#847 EU check VAT service: switch from SOAP to REST API
#763 Display admin edit button for public entities on touch displays
Bugfixes
Price calculation:
Rounding differences between the subtotal and the sum of the line totals.
Manufacturer discount is ignored as soon as an attribute with a linked product is selected.
Product lists:
Fixed do not show tax info in product lists if the product is tax exempt.
Fixed call for price note not displayed in product lists.
MegaSearch:
Fixed incorrect search results when a multistore has different default languages configured.
Fixed an incorrect second search result, executed via a spell checker suggestion, when the first search did not return any hits.
Import:
Fixed localized properties were not updated during import.
Localized SeName was only updated when import file also contained a non-localized SeName column.
Fixed duplicate imported images if they were assigned to several products within a batch.
Fixed the category navigation no longer shows the number of contained products after reindexing.
Fixed products associated to a grouped product cannot be deleted via associated products grid.
Fixed not yet awarded reward points were reduced when an order was deleted.
Checkout attributes:
Fixed wrong tax was applied to checkout attributes in checkout.
Fixed checkout attributes that are not active anymore should not be applied.
Web API:
Fixed 404 file swagger.json not found when opening Swagger documentation in a virtual directory.
#815 Import of customers via WebApi/OData sets PasswordFormat to 'clear'.
Fixed incorrect message when applying a discount coupon code on cart page.
Fixed the saving of multistore settings for default tax and default shipping address.
Fixed a scripting issue where the input focus of the direct debit payment form was mistakenly set to a wrong input element.
Fixed missing cache clearing after importing localized properties.
Output Cache: missing Content-Type
header when serving page from cache
#531 Error reading import file with localized values of languages with the same UniqueSeoCode.
Fixed discounts assigned to categories and limited to customer roles should be excluded from export and exported prices.
Fixed MainPictureId not applied on product edit page if missing and if there is only one picture assigned to a product.
Fixed product image gallery issue where no image was displayed at all.
#843 Additional shipping charge displayed in product details even if free shipping is activated.
Fixed "The requested service 'Other (Smartstore.Core.Rules.IRuleProvider)' has not been registered" when creating a rule.
Fixed #792 Downloaded language sometimes cannot be deleted when using SQLite.
Stripe: Fixed incorrect system name in several places.
Gift cards were not generated according to the order item quantity during order processing.
Fixed incorrect cart validation if minimum cart quantity and quantity step were configured for a product.
#810 Doubleclicking login button can lead to 400 BadRequest error page.
Fixed arithmetic overflow SqlException in ShippingByWeight
and ShippingByTotal
four decimal places migrations.
#776 PayPal credit card payment fails due to missing session PayPalOrderId entry.
#797 Incorrect validation when product can be added to the cart in single positions.
Manufacturer pictures were not displayed on product detail pages.
#828 Queued email identifier is 0 for order completed email.
#873 Category preview may show 404 page if the category is limited to a certain store.
Do not fallback to "Product is not available" delivery info on product detail page if the product is available.
#839 Output cache must be invalidated when menu items are added or edited.
OpenTrans: fixes RuntimeBinderException "cannot perform runtime binding on a null reference" when exporting shipping address.
Brand pictures weren't displayed in product lists.
Skin select2 if remote url is used (rules in admin area were unusable on touch devices).
When using Stripe or PayPal on cart page checkout attributes were reseted.
You can’t perform that action at this time.