|
1 | | -# Release Notes |
| 1 | +# Release Notes |
| 2 | + |
| 3 | +## SmartStore.NET 3.1.5 |
| 4 | + |
| 5 | +### Highlights |
| 6 | +* Compliance with EU-GDPR requirements |
| 7 | +* Search engine friendly topic URLs |
| 8 | +* "Honeypot" bot detection for registration and contact forms. |
| 9 | + |
| 10 | +### New Features |
| 11 | +* #1429 Search engine friendly topic URLs |
| 12 | +* Implemented cookie consent according to EU-GDPR |
| 13 | +* Added checkboxes for data processing consent in all relevant forms |
| 14 | +* Implemented "Honeypot" bot detection for registration and contact forms. |
| 15 | +* Trusted Shops: Added consent checkbox to confirm order page for submission of customer email address to Trusted Shops if review widget is active |
| 16 | +* #1226 Shop-Connector: Added exchange of tier prices and delivery times |
| 17 | +* #1439 Debitoor: Option whether to display the payment method and SKU on invoices |
| 18 | + |
| 19 | +### Improvements |
| 20 | +* Added double opt-in feature for newsletter subscriptions during checkout (confirm order) |
| 21 | +* Allow forward slash in product tag URL slug |
| 22 | +* Theming: throttle AJAX cart refresh after spin up/down click |
| 23 | +* Moved StoreLastIpAddress & DisplayPrivacyAgreementOnContactUs from customer settings to privacy settings tab |
| 24 | +* #1450 Show the regular price only if it's higher than the final price |
| 25 | +* #1450 Do not ignore discounts with a negative amount |
| 26 | +* (Soft) deleted customers can be edited now |
| 27 | +* Customer IP addresses will be anonymized on (soft) deletion |
| 28 | +* Set catalogsettings.showsharebutton to false as its not compliant with GDPR |
| 29 | +* Made form fields for first & last name in customer registration optional |
| 30 | +* Implemented settings to make form fields for first & last name required again |
| 31 | +* Made form field for full name in contact us & product request optional |
| 32 | +* Implemented settings to make form field for full name in contact us & product request required again |
| 33 | +* #1453 Import: Use [IGNORE] to ignore a field value on record level |
| 34 | +* #1455 More detail on packing slip when bundled item |
| 35 | +* Display category alias as badge in grids and dropdowns |
| 36 | + |
| 37 | +### Bugfixes |
| 38 | +* Migration: take all same-named message templates into account |
| 39 | +* Messaging: OrderPlaced e-mail templates show main product image even when an attribute combination with a custom image has been selected |
| 40 | +* Theming: fix broken product review voting |
| 41 | +* Theming: added missing bottom space to .html-editor-content |
| 42 | +* Theming: Language switcher is not displayed if no currency options are available |
| 43 | +* No bundle item thumbnail displayed in bundle summary if item is not individually visible |
| 44 | +* Tracking number in shipment details was not saved |
| 45 | +* Assigning or removing product tags did not invalidate model cache |
| 46 | +* Reward points weren't displayed in message templates |
| 47 | +* Dashboard: link for not yet shipped orders loads list with all orders |
| 48 | +* Topic search button had no effect |
| 49 | +* #1442 Message factory should not throw an exception if a template has been deactivated |
| 50 | +* Fixes script error "$(...).tab is not a function" on product detail page |
| 51 | +* Title attribute for the product name in product lists was sometimes truncated |
| 52 | +* Relativizing font sizes should cast to double, not int |
| 53 | +* Fixes category list on product edit page shows empty category name |
| 54 | +* #1438 Debitoor: The country is displayed twice |
| 55 | +* MegaSearch: Fixes indexing ignores DeliveryTimeIdForEmptyStock setting |
| 56 | +* Web API: Fixes "No NavigationLink factory was found for the navigation property 'WalletHistory'" |
| 57 | +* #1449 IgnoreCharges of shipping methods is not working if a localized name is specified |
| 58 | +* Fixes "The object does not support the property or method 'startsWith'" on product edit page. |
| 59 | +* Wallet: Fixes "Child actions are not allowed to perform redirect actions" when there are cart warnings |
| 60 | +* Fixes the delivery time in the order notifications may differ from delivery time on the product detail page |
| 61 | + |
2 | 62 |
|
3 | 63 | ## SmartStore.NET 3.1.0 |
4 | | -### Breaking changes |
5 | | -* Message template customizations are lost due to the new template engine. You have to customize the templates again. No automatic migration, sorry :-( |
6 | | -* Amazon Pay: The plugin has been changed to new *Login and pay with Amazon* services. A registration at Amazon and new access data are necessary for its use. The old access data can no longer be used. |
7 | | -* (Dev) Calls to cache methods `Keys()` and `RemoveByPattern()` require glob chars to be present now (supported glob-styles see [https://redis.io/commands/keys](https://redis.io/commands/keys)). Previously these methods appended `*` to the passed pattern, which made pattern matching rather unflexible. |
8 | | -* (Dev) Hook framework now passes `IHookedEntity` interface instead of `HookedEntity` class |
9 | | -* (Dev) Completely removed all `EntityInserted<T>`, `EntityUpdated<T>` and `EntityDeleted<T>` legacy events. We were using DbSaveHooks anyway, which provides a much more powerful and way faster pub-sub mechanism for database operations. |
10 | 64 |
|
11 | 65 | ### Highlights |
12 | | -* New [Liquid](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers) based template engine |
13 | | -* Multi-configurable rounding of order total ("cash rounding"). Can be adjusted and activated separately for each currency and payment method. |
14 | | -* (Perf) Picture service: new processing and caching strategy! Thumbnails are not created synchronously during the main request anymore, instead a new middleware route defers processing until an image is actually requested by any client. |
15 | | -* MegaMenu shrinker and *Brands* virtual menu item |
16 | | -* Address formatting templates by country |
17 | | -* Connection to translate.smartstore.com. For available languages, localized resources can be downloaded and installed directly. |
| 66 | +* **Wallet**: Enables full or partial order payment via credit account. Includes REST-Api. (commercial plugin) |
| 67 | +* **[Liquid](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers) template engine**: very flexible templating for e-mails and campaigns with autocompletion and syntax highlighting. |
| 68 | +* **Cash Rounding**: define money rounding rules on currency and payment method level. |
| 69 | +* **Modern, responsive backend**: migrated backend to Bootstrap 4, overhauled and improved the user interface. |
| 70 | +* **Enhanced MegaMenu**: virtual dropdowns for surplus top-level categories and brands (commercial plugin exclusively bundled with Pro Edition). |
| 71 | +* **RTL**: comprehensive RTL (Right-to-left) and bidi(rectional) support. |
18 | 72 | * **Amazon Pay**: |
19 | 73 | * Supports merchants registered in the USA and Japan |
20 | 74 | * External authentication via *Login with Amazon* button in shop frontend |
21 | 75 | * Several improvements through the new *Login and pay with Amazon* services |
| 76 | +* (Perf) **Faster image processing**: new processing and caching strategy! Thumbnails are not created synchronously during the main request anymore, instead a new middleware route defers processing until an image is requested by any client. |
| 77 | +* **TinyImage**: scores ultra-high image compression rates (up to 80 %!) and enables WebP support (commercial plugin exclusively bundled with Premium Edition). |
| 78 | +* **UrlRewriter**: define URL redirection rules in the backend using *mod_rewrite* notation. (commercial plugin) |
| 79 | +* **Address formatting** templates by country |
| 80 | +* **Language packs**: downloader & auto-importer for packages available online. |
| 81 | + |
| 82 | +### Breaking changes |
| 83 | +* Message template customizations are lost due to the new template engine. You have to customize the templates again. No automatic migration, sorry :-( |
| 84 | +* Amazon Pay: The plugin has been changed to new *Login and pay with Amazon* services. The client ID has been added, which has to be created in Amazon Seller Central and saved in the payment method configuration. |
| 85 | +* (Dev) Calls to cache methods `Keys()` and `RemoveByPattern()` require glob chars to be present now (supported glob-styles see [https://redis.io/commands/keys](https://redis.io/commands/keys)). Previously these methods appended `*` to the passed pattern, which made pattern matching rather unflexible. |
| 86 | +* (Dev) Hook framework now passes `IHookedEntity` interface instead of `HookedEntity` class |
| 87 | +* (Dev) Completely removed all `EntityInserted<T>`, `EntityUpdated<T>` and `EntityDeleted<T>` legacy events. We were using DbSaveHooks anyway, which provides a much more powerful and way faster pub-sub mechanism for database operations. |
22 | 88 |
|
23 | 89 | ### New Features |
24 | 90 | * 1203 MegaMenu shrinker and *Brands* virtual menu item |
|
48 | 114 | * Target .NET Framework changed: 4.5.2 > 4.6.1. |
49 | 115 | * Lower memory consumption |
50 | 116 | * #649 Media FileSystem provider: segmenting files in subfolders to increase IO perf with huge amount of files |
51 | | -* #1141 Clearer backend order list. Added more infos like payment method. |
| 117 | +* #1141 Cleaner backend order list. Added more infos like payment method. |
52 | 118 | * OuputCache: Simple product changes that affect visibility now correctly invalidate all assigned category and manufacturer pages |
53 | 119 | * * OuputCache: When MegaSearch is active, invalidation occurs only during indexing and not ad-hoc anymore. |
54 | 120 | * #1248 New payment integration guidelines for Sofort\Klarna |
|
65 | 131 | * Import and export product quantity step |
66 | 132 | * Add bundle item information to order messages |
67 | 133 | * #1031 Enable offline payment methods to have brand icons |
68 | | -* DevTools Plugin: Added example for how to invalidate cached output |
| 134 | +* DevTools Plugin: Added example for cached output invalidation |
69 | 135 |
|
70 | 136 | ### Bugfixes |
71 | 137 | * #1268 Data importer always inserts new pictures and does not detect equal pictures while importing |
|
0 commit comments