Saturday, December 30, 2023
Smartstore 5.1.0 available
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
andShippingByTotal
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...