Skip to content

Smartstore 6.0

Latest
Compare
Choose a tag to compare
@Michael-Herzog Michael-Herzog released this 06 Dec 11:56
· 67 commits to main since this release

Breaking Changes

  • Removed Sofort provider from PayPal module (disabled by PayPal on 18.04.2024)
  • Storage location for Customer.LastVisitedPage has changed. The historical data will be collected again successively after the update.

New Features

  • Conditional product attributes
    • Makes the visibility of an attribute dependent on the selection state of other attributes.
    • Copying attributes, options and rules from one product to another.
  • Improved checkout process
    • Quick-Checkout allows to skip addresses, shipping and payment method selection if these are known.
    • The order total amount is displayed in a sticky sidebar on each checkout page.
    • Improved design and greater legal certainty of the confirmation page.
    • One-click checkout for sales at retail terminals.
  • Essential specification attributes
    • Specification attributes marked as an essential feature are displayed in the checkout.
  • Cart & wishlist enhancements
    • Disable cart items via checkbox.
    • Show delivery time, stock info, weight, additional shipping surcharge and brand.
  • Grouped product enhancements
    • Optional presentation of associated products as collapsible/expandable panels.
    • Added paging for associated products.
  • EU General Product Safety Regulation (GPSR) plugin (commercial)
    • Manufacturer information (postal address, responsible person) is displayed in product details.
    • Warnings and safety instructions are added as text blocks and assigned to the product manually or automatically via product rules.
  • MailChimp plugin (commercial)
  • Pixlr image editing plugin (commercial)
    • Create and edit images directly in the Media Manager.
  • Updated to .NET 8
    • Faster app startup
    • Increased overall performance
    • ~10 % less memory usage after app start
  • DevTools: New widget zone preview panel
    • Lists all zones in a menu
    • Zones can be temporarily toggled
  • #371 Importer for manufacturers.
  • Toggle password visibility
  • New app setting for MS SQL Server compatibility level
  • Enhanced database optimization and vacuum operations
  • Vacuum single database table
  • #909 Allow to control the product availability based on the existence of an attribute combination.
  • New catalog setting to label products as new by the availability start date.
  • MegaSearch
    • Setting to place the search hits of unavailable products further back in the search list.
    • Finding products by keywords (e.g. product compatibility list). Also added product meta keywords to the search index.
    • Added price calculation options for the price to be indexed.
  • Affiliates: Added a button to remove the assignment of a customer to an affiliate on customer edit page.
  • Import news from RSS news feeds.
  • Reverse proxy: added support for X-Forwarded-Prefix header (for PathBase resolution)
  • Page Builder
    • Added AudioPlayer block
  • Added cart rules to Rule Builder
    • #971 Customer's external authentication method
    • #896 Customer is an affiliate
    • VAT number status
    • Tax exempt
    • Billing/shipping to EU
    • Billing/shipping to company
  • Product details
    • #997 Added a setting to disable display of product tags.
    • #1127 Display reward points.
    • #1201 Added a setting to display the price with the suffix "from" if no variant has yet been selected.
  • #858 Implemented Paypal package tracking
  • #1100 Display customer generic attributes in backend
  • #1129: Extend the PrivacySettings CookieConsentRequirement option to include Switzerland when choosing the option RequiredInEUCountriesOnly
  • #762 CookieManager: Scripts are now loaded immediately after consent without refreshing the page.
  • #783 Add a field to shipment entity for the name of the cargo company.
  • #1176 Avoid duplicate assignment of description on the product page.
  • #528 Add an option to no longer allow posts on a forum topic.
  • #1204 Added settings to enable/disable the RSS feed in blogs and news.
  • #1210 Add a setting to not apply a discount associated with a product when the special price of the product is applied.
  • PayPal: Add addresses returned by PayPal to the customer and set billing and shipping addresses.

Improvements

  • #876 Changing password in backend via modal dialog.
  • #871 Show the total media file size in dashboard stats.
  • Theming
    • Revamped SignIn / Register page
    • Revamped dashboard stats
    • Multi-level dropdown groups
    • Activate .spa-layout only on screen height > 600px (DataGrid is unusable in mobile landscape mode otherwise)
  • Page Builder
    • Fixed boxed titles spacing and line-height issues
  • Web API
    • Enabling CORS.
    • #928 Mask the secret key in backend API user list.
    • #1057 Add endpoints for WalletHistory entity.
    • #929 Add endpoints for PageBuilder stories, story blocks and import/export.
    • #1175 Add endpoints for DependingPrices.
  • Security
    • #886 Replace CoreFTP with FluentFTP.
    • #1004 Add captcha to password recovery form.
  • Add a setting for a maximum order age. For orders over this age, no more messages such as shipped or delivered may be sent to the buyer.
  • Skrill: added support for new parameter website_id (required for Giropay and iDeal payments).
  • PostFinance: Check whether an order already exists for a payment before an order is placed.
  • GMC
    • Only export images (not videos or other media types).
    • Export out of stock if inventory management and the buy button are deactivated.
  • Search Log: Added settings for the maximum search term length and the minimum number of search hits (to control which terms are logged).
  • #912 Add a setting to use the CultureInfo.NativeName in language selector instead of the language name maintained in backend.
  • #968 Allow to specify a language in which the notification is to be sent for manually created gift cards.
  • #1115 Use atomic transaction in PlaceOrder (save all or nothing).
  • #1158 Natural sorting for product attributes.
  • Added meta properties name and uploadDate for videos
  • (DEV) Database migrations: Long running data seeders can now be run during the request stage to overcome app startup timeout issues.
  • #965 Prevent adding of products to the shopping cart by system customers such as [email protected].
  • Increased the default maximum file size of an avatar and added a customer setting for this in backend.
  • Stripe:
    • Update shipping address on confirm order.
    • Update to API version *2024-09-30.acacia * (Stripe.net 47.0.0).
  • Addresses: make first and last name optional if a company name has been specified.
  • #1012 Estimate shipping costs without rules if no shipping method was found with rules.
  • PayPal: Orders were canceled when capturing was declined, now they are being voided instead.
  • #1020 Prevent creation of unnecessary Stripe "payment intent".
  • Added deletion of selected rows to the data grid of manufacturers, discounts, menus and topics.
  • ActivityLogger: don't log activities from system accounts (bots, scheduler, etc.).
  • Added specific browser automplete hints to some common forms
  • Identity: Moved ClientIdent and LastViditedPage from GenericAttribute to Customer table (for performance reasons and to distress GenericAttribute table)
  • Enable tokens (e.g. current date and time) for email subject in email export deployments.
  • PostFinance: added an order note with the selected payment method.
  • Customer import: providing a last name in an address should not be mandatory.
  • URL sanitizer for last visited page tracking.
  • For security reasons, do not delete administrators via the customer grid. Double ask if administrators are deleted via the edit page.
  • Added filters to shipping by total and shipping by weight grids.
  • #862 Changed resources of X (Twitter) to X.

Bugfixes

  • Fixed only the first product attribute of list type attributes was displayed on the cart and order page.
  • Fixed cart page shows 0 bundle item price if per-item pricing is deactivated.
  • #996 Limited to customer roles is not working for topics that are displayed as widgets.
  • #914 Featured sorting on category and manufacturer pages not applied when using standard search.
  • #1211 Sorting by price should consider the special price in LINQ search (including special price date).
  • Product attributes are lost when navigating to Ask Question page multiple times.
  • Checkout:
    • Fixed a new shipping address is used as the billing address in checkout.
    • #1105 Wrong sorting of shipping methods in checkout when multiple computation methods are active.
  • Product details:
    • Fixed a product can only be added to the shopping cart with a quantity of 1 if the stock quantity is below 0.
    • Fixed delivery time is not displayed when stock is empty.
    • Fixed an unavailable attribute was not grayed-out if the product has at least one non list-type attribute.
  • Required products:
    • #1024 Apply preselected options of required attributes of added products when required products are automatically added to shopping cart.
    • Fixed InvalidOperationException when adding a required product to cart that is already on the wishlist.
    • Fixed the validation of required products was missing if they were not automatically added to the shopping cart.
  • Fixed mini shopping cart displayed large placeholder images if the cart setting for bundle item images was deactivated.
  • Fixed cart settings for images on wishlist were always ignored.
  • Fixed the discount amount of an order can have an incorrect value if a discount rule was applied during the subtotal calculation.
  • #957 Fixed prices should not be hidden if the Access Shopping Cart permission has not been granted.
  • Fixed tier prices of product bundles were not taken into account in product lists if the lowest possible price is to be displayed.
  • #1041 Fixed ArgumentException "The resource object with key DateHumanize_MultipleMonthsAgo was not found (Parameter resourceKey)" in Czech language (probably also appears in others).
  • Fixed NullReferenceException calling search page without any search term.
  • Fixed NullReferenceException typeFilter was null when uploading a video.
  • Fixed NullReferenceException on product detail page if the main menu is not published.
  • MegaSearch:
    • Fixed missing search filters for specification attribute options with numeric values.
    • Hits from an SKU search tend to appear too far back.
  • Tax by region: fixed tax rate was not applied if asterisk placeholder character was saved for zip code.
  • #921 IOException "The filename, directory name, or volume label syntax is incorrect" when MediaSettings.AppendFileVersionToUrl is activated.
  • #922 Newsletter subscription event not triggered upon email confirmation.
  • Language selector in off-canvas menu should show the same language name as in the main menu.
  • #936 Password protected topic was not displayed after password has been entered.
  • #955 Searching a product by product code in grids returns an infinite list.
  • Fixed the reward points for purchases setting was not saved in multi-store mode.
  • #960 Setting ManufacturerItemsToDisplayInOffcanvasMenu cannot be changed in backend.
  • Fixed offcanvas cart issue in mobile browsers (buttons in the footer were sometimes truncated).
  • #1197 Product grid search form does not parse the search term expression.
  • Page Builder:
    • Creating a story can result in the deletion of another story's store mappings.
    • Position of blocks can be lost in Page Builder editor.
    • Some radio button groups were not deselectable
    • Story min-height (medium | tall) often resulted in broken page layout
    • #991 topic target homepage was not imported correctly.
    • #938 Story is published in Page Builder editor.
  • Forum:
    • #951 The forum post page counter is always incremented by 2 when the page is opened.
    • Fixed HTML links are not displayed in posts.
  • Fixed a filter reset of the product grid does not work correctly.
  • Fixed validation issues when saving guest customers.
  • Web API:
    • #1066 Fixed schema validation errors for MaxLength attribute and OpenAPI OperationId.
    • #1186 Missing order in GET request if customer was deleted.
  • #1072 Missing customer welcome message after approval of the registration by admin.
  • #897 Discount code input seems to be confirmed (border color and check icon)
  • #964 Removed meta information from publication according to catalog settings.
  • Fixed shoping cart MinOrderValidation.
  • Added quantity information on non-editable wishlist page.
  • Some external authentication methods (like AmazonPay) were not displayed on customer pages.
  • Hitting the return key in the text field of a product variant resulted in a 404 status error.
  • Fixed QuantityBelowStoreOwnerNotification was sent twice.
  • #1001 MediaManager: fix moov atom not found ffmpeg issue in VideoHandler.
  • #1185 Image upload fails after selecting Replace or Rename in duplicate files dialog.
  • Fixed the e-mail subject was not transferred when sending an e-mail from customer edit page.
  • Fixed offcanvas problem whith mega sized page builder stories.
  • PayPal:
    • Fixed payment discount problem (discount from a formerly choosen payment method was applied).
    • Fixed VAT exempt & currency conversion problems.
    • Only the frist refund executed from the backend was accepted by PayPal.
    • Fixed unhandled payer action required problem for wallet payment methods.
  • #1042 Fixed broken roxy file manager.
  • #969 Promo badges are not rendered in frontend due to type mismatch.
  • Google Analytics: Fixed problem with single quotation mark in category name.
  • #983 Uploaded product variant file is lost after selecting any other variant option (in product details).
  • Fixed missing line breaks for product attributes in the print/PDF view of orders.
  • SEO:
    • Marked product list filter option links as nofollow.
    • fixed redirection error for TrailingSlashRule setting redirect.
  • Hide the cookie manager for topics that need to be fully visible without being overlayed by the cookie manager dialog.
  • #1091 Allow recursive cache access in AlbumRegistry.GetAlbumDictionary()
  • #1088 Special characters (like Umlaut) are not displayed correctly in client-side messages.
  • Files from subfolders must not be attached to an e-mail when deploying an export (can be thousands).
  • #1136 Datagrid Vue component throws when expanding child grid.
  • #1125 Buttons for payment methods that are restricted by cart rule to the subtotal amount are not shown/hidden when the item quantity is updated on the cart page.
  • Delete media tracks of variant values of permanent deleted products.
  • Show soft-deleted products on order edit page and in order details.
  • Fixed duplicate minus signs for amounts on the order detail page.
  • Category and manufacturer pages show "Relevance" as sorting, although only "Featured" is offered in the selection.
  • #234 The combination of multiple choice values (and-combine of checkbox values) is missing when creating all attribute combinations.
  • GMC:
    • Fixed missing product edit URL in product grid.
    • Fixed Google category cannot be cleared in product grid.
  • Fixed SqlException "String or binary data would be truncated" when generating URL slugs that are too long.
  • Fixed orders of deleted customers were not displayed in order grid.
  • ProductRuleEvaluatorTask should also take unpublished categories into account.
  • Fixed the generic attributes grid always displayed only one data page.