Skip to content

Smartstore 5.1.0

Latest
Compare
Choose a tag to compare
@Michael-Herzog Michael-Herzog released this 07 Nov 13:28
· 1298 commits to main since this release

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.