4.0.0
Note
The Intershop PWA 4.0.0 has been developed and tested with Intershop Commerce Management (ICM) version 7.10.39.2.
It will work with all versions from ICM 7.10.39.2 and later.
Other ICM versions may also work with some limitations, which are listed in the "CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS" sections.
The PWA has been developed and tested using Node.js version 18.16.0 LTS (including npm 9.5.1), which is the recommended version.
Features
- introduce a general print styling, e.g. to nicely print to PDF (#1376) (94be193)
- add product zoom functionality in fullscreen dialog (#1011, #1350) (c839353)
- enhance modal dialog component with fullscreen and scrolling (#1350) (1de7672)
- product notifications (price, in stock) (#1327) (c07edca)
- add "Product List (REST)" CMS component (#1397) (dc5c9dc)
- add title for (status) checkboxes (#1383) (9dafd3f)
- add schematic to apply migration changes for formly 6 update (932cafa)
- introduce account navigation grouping - used in b2b theme (#1331) (3334e77)
Bug Fixes
- use ProductsListComponent for wishlist widget component (#1408) (3486687)
- use ProductsListComponent for recently viewed items on PDP and recently viewed page (#1408) (5fbdfb6)
- adapt Products List component to not display failed products (#1408) (ff4f2e7)
- improve matcher routing for SEO URLs (#1387, #1409) (f952dc9)
- encode canonical link to match actual link URLs (0fd2766)
- basket loaded in SSR results in error and a toast message that can't be closed (#1406) (8e3b038)
- refresh the search page with query parameter 'view' (4e7f9d7)
- quick quantity change on item lists (#1391) (b019bb2)
- server-validation-extension prePropulate() method should not error on execution (30a6178)
- change templateOptions to props using the formly-migrate schematic (#1393) (17f7b66)
- adapt Hybrid Approach mapping table for new SEO optimized URLs (#1392) (81cf2b4)
- return a unique id in the line item list's trackBy function (#1390) (78d99d0)
- added missing translation key (8a7fc5e)
- email and password confirmation fields should only validate the equality with its related input field (58aa313)
- correct names and comments with spelling errors, update spell check dictionary with missing words (#1382) (8f36209)
- prevent HTML input in the form field "name" for order templates and wishlists (#1385) (b990b3b)
- load basket information on basket page when personalization status is determined (45f67c8)
- correct dialog form submission with enter key (#1378) (b60e0a1)
- remove deprecated SSR environment variable 'ICM_IDENTITY_PROVIDER' (#1373) (1f87684)
- false error messages regarding JestMatchers in tests (#1371) (466283c)
Documentation
Code Refactoring
- cleanup/remove obsolete/update TODO comments (e43c432)
- replace deprecated formly field configuration properties (fad6075)
- Angular 15: replace class-based route guards by functional guards (289e161)
- Angular 15: rework translate loader on SSR after Angular 15 update (292d559)
BREAKING CHANGES
- The
TODO
code cleanup removed some implementation fixes to work with ICM versions prior to 7.10.39.2. - Angular 15: Class-based route guards are replaced by functional guards (see Migrations / 3.3 to 4.0 for more details).
- Angular 15: ICM Translate Loader needs new configuration for
LOCAL_TRANSLATIONS
(see Migrations / 3.3 to 4.0 for more details). - Angular 15: Angular 15 and dependencies update (removed Browserslist configuration, update TypeScript compiler
target
, Stylelint adaptions, Jest tests adaptions). - Intershop PWA development is now based on Node.js 18.15.0 with npm 9.5.0 and the
"lockfileVersion": 3,
. - All deprecated formly field configuration properties are replaced.
CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS
- product notifications (price, in stock) (#1327) - 7.10.40.1 (for adapted email templates only, REST functionality is already available in earlier versions)
- product zoom functionality (#1350) - 7.10.40.1 (for 'ZOOM' image demo data, this is not required to use the functionality)
- add "Product List (REST)" CMS component (#1397) - 7.10.40.1 (requires additional CMS Content Model
component.common.productListRest.pagelet2
that could be copied to earlier versions as well)