Releases: intershop/intershop-pwa
5.2.0
Note
The Intershop PWA 5.2.0 has been developed and tested with Intershop Commerce Management (ICM) version 12.0.0.
It will work with all versions from ICM 12.0.0 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 5.2.0 with the feature toggle legacyEncoding
enabled should work as well with ICM 11 and ICM 7.10.x (versions newer than 7.10.38.0 should work). The "CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS" sections list functionalities that are only available with ICM releases of the noted version or newer.
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.
Intershop recommends using the PWA Helm Chart version 0.9.1 for PWA 5.2.0 deployments.
Features
- support for cXML punchout self service configuration (#1683) (74bb9cf)
- extend order list filter by buyer selection (#1697) (28d9846)
- fast checkout payment (e.g. PAYPAL Express) (#1682) (fb5a0d6)
- switch to ICM 12 resource ID encoding and provide a feature toggle for 'legacyEncoding' (#1704) (f7176c9)
- extend logging for monitoring by OPS (#1685) (480447a)
- introduce
labelNoTranslate
andtitleNoTranslate
flag to prevent Formly field label translation (4428c56) - make recently viewed products display lazy (#1654) (0a27c17)
- introduce ishBrowserLazyView directive (#1654) (dd219e3)
- set default theme also as default for override schematic (#1637) (4755c15)
- use optional template for environment.development.ts if avalable (#1639) (d3c2249)
- product warranties support (#1368) (bb952bd)
- add package ngx-mask (ddf650f)
- exclusive ICM URL for SSR process (#1624) (a324675)
- create order template from order (#1610) (553e05a)
- Design View: provide page structure tree information for the Design View (#1577) (46c2d29)
- nginx: make
worker_processes
andworker_connections
configurable (#1632) (8f6e86f) - schematics: option to skip creating tests for components (#1663) (5d6a685)
Bug Fixes
- prevent triggering the countries call more than once (8479bdf)
- change facade method for eligible address determination (#1701) (818a32b)
- click empty mini cart in mobile view (5ae95c3)
- error message in the checkout after basket has expired (c3d4b79)
- remove logging data from nginx configuration file (#1696) (bc6b628)
- fetch captcha V3 token after first form input (#1693) (0d69d51)
- suppress the wrong display of Search-No-Results page after a search (#1679) (3a92e22)
- encode product urls (#1688) (d2e6c82)
- remove '%' signs from product slugs (#1687) (6903fd2)
- Formly 'ish-select-field' select box does not display updated model value correctly (847aa97)
- improved
textarea-description
Formly wrapper and renamed it tomaxlength-description
(cb1366c) - do not display "add to cart" button if product has no price (#1657) (2732de4)
- wishlist and order template titles with special characters do not displayed correct (#1658) (42864a7)
- handle setting price notification for products without a price (#1659) (112f11e)
- implement input mask for IBAN and BIC (#1655) (06b5461)
- improve mock data redirection for URLs with matrix parameters (#1324) (db448ae)
- add loading animation for search result page (1699b79)
- URI components are not encoded correctly (#1640, #1641) (3e7c0ae)
- remove state error when loading /recently route directly (69f0caf)
- introduce method to exclude failed/offline products from product lists (used for recently viewed and wishlist improvements) (#1647) (f2f5ebd)
- disable hydration HTTP transfer cache (#1635) (0f664eb)
- save Address Doctor configuration to the state management so it works with SSR (#1622) (2cadc4b)
- enable localized number inputs for price notifications (1618b05)
- enable localized number inputs for budgets (a67cf06)
- Design View: show Design View editing frame highlighting inside the component to avoid cut display (#1651) (1347fd8)
- localization: avoid NoSuchElementException when adding a new locale (#1652) (b4971a3)
Performance Improvements
- switch to lazy triggering of 'loadProductParts' action (e5f94f6)
- disable rendering of view contexts by default (#1650) (56c3869)
Documentation
- add notes for
OVERRIDE_IDENTITY_PROVIDERS
usage (4510f8b) - update PWA sitemap documentation (#1642) (41d7d1b)
Code Refactoring
- rework product-item-variations component (#1648) (a8c94a0)
- disconnect master product from product view model (#1644) (48fc8f7)
- disconnect variations from product view model (#1644) (5ffa2cc)
- extend the ExternalDisplayPropertiesProvider to get not only the product from the product context but the prices too (#1657) (0e4f96e)
- enforce consistent Pipe prefix (#1625) (e845597)
BREAKING CHANGES
- The function
encodeResourceID
has been moved to a methodencodeResourceId
of theapi.service
, and it is now used to encode all dynamic resource IDs in any REST API call to ICM (see Migrations / From 5.1 to 5.2 for more details). - The Formly wrapper
textarea-description
was renamed tomaxlength-description
(see Migrations / From 5.1 to 5.2 for more details). - The
ish-product-item-variations
component has been refactored (see Migrations / From 5.1 to 5.2 for more details). - The productMaster property on the product view model has been removed. The master product should be individually retrieved.
- The variations property on the product view interface was removed. Variations can now be retrieved via the product context facade or the shopping facade.
- The
ExternalDisplayPropertiesProvider
setup
method was changed to no longer working with product data only but a combination of product and prices (see Migrations / From 5.1 to 5.2 for more details). - Pipes
sanitize
,makeHref
andhtmlEncode
are renamed using anish
prefix (see Migrations / From 5.1 to 5.2 for more details). - The store action and method
addBasketToNewOrderTemplate
of the OrderTemplatesFacade have been renamed tocreateOrderTemplateFromLineItems
and refactored slightly. - In preparation of the cXML punchout self service configuration, we switched from a hidden route parameter that conveys the punchout ty...
5.1.0
Note
The Intershop PWA 5.1.0 has been developed and tested with Intershop Commerce Management (ICM) version 11.7.0.
It will work with all versions from ICM 11.7.0 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 should work as well with the latest ICM 7.10.38.28-LTS release and newer ICM 7.10.x versions. The "CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS" sections list functionalities that are only available with ICM releases of the noted version or newer.
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.
Intershop recommends using the PWA Helm Chart version 0.8.0 for PWA 5.1.0 deployments.
Features
- order list filtering (#1571) (564d5c8)
- lazy loading switch option for the Enhanced Image Teaser component (#1591) (650dcf3)
- handle complex values of variation attributes (#1600) (59d15c6)
- use brotli instead of gzip for compression in NGINX (#1593) (a9c5766)
- add an order to shopping cart (#1592) (8c216a7)
- CMS navigation category component (b08443c)
- CMS navigation page component (c4ff692)
- CMS navigation link component (c9ca883)
- styling changes for main navigation with CMS components + documentation (b3c3e92)
- support further budget periods (#1539) (e2e7aea)
- newsletter subscription (#1523) (68c0bc5)
- introduce optional ICM Compatibility Interceptor (#1542) (88de2a2)
- use server setting for message-to-merchant checkout field (#1542) (a77fd0f)
- extension schematic adds feature toggle (29173be)
- introduce
htmlEncode
pipe to encode HTML code to be rendered as string (#1575) (c99e1d0)
Bug Fixes
- scrolling to basket validation messages (#1615) (25c2c3f)
- confirming cookie preferences removes punchout related cookies (#1619) (d929606)
- content page tree calculation improvments (#1555) (2e84cb7)
- prevent validation error when closing dialogs (#1617) (f14f8aa)
- product variation availability if the products have more than 2 variation attributes (#1613) (4e06b47)
- render CMS content based on component templates correctly (#1608) (ff21e54)
- paging bar ui issues on cart (cc23804)
- missing translation for edit address button (#1596) (6a0f9e3)
- use a prefix (icm_) for internal token oauth storage (#1601) (f3e940f)
- display variations when there are no variation attributes at the master product (#1599) (b230a93)
- small UI issues (#1604) (7643c5f)
- support hyphens in translation case variables (#1539) (9487fc3)
- improved NGINX route rewrite handling for '/home' and '/loading' (#1566) (052a4ec)
- remove default search input field specific elements in Chrome (#1589) (1903d09)
- display of duplicated headers for special logins with activated hydration (#1585) (75bf2d2)
- prevent rendering errors for text on enhanced image teaser caused by Angular hydration (#1583) (6b8256e)
- display dates in the user's timezone, if no timezone is given (#1582) (33ff2fc)
- data type of some creation dates (#1582) (7e6c02c)
- prevent HTML injection on no search result page and account overview (#1575) (3066250)
- display error message on order history page #1565 (a93e17d)
Performance Improvements
- improve the performance of 'Static Content Page' component (#1603) (a6189fe)
- in SSR load only top level categories, on client side load and render the configured level of sub categories (#1586) (b589113)
- lazily fetch products for CMS carousels (#1581) (cbe9072)
- prevent unnecessary actions (#1580) (093f1ec)
- fetching eligible basket addresses (#1567) (71a93ad)
- optimize getting order lists (#1565) (9211841)
Documentation
- documentation improvements (Redis, Address Doctor) (#1605) (194d4d4)
- improve Google Tag Manager integration documentation (b68ab76)
- clarify ICM required version documentation (#1574) (afab8cf)
BREAKING CHANGES
- An empty 'NavigationDepth' value of the 'Static Content Page' component now defaults to '0' instead of no depth limitation, that resulted in the whole content page tree being fetched and saved to the state (see Migrations / From 5.0 to 5.1 for more details).
- Header rendering was changed and introduced header type (see Migrations / From 5.0 to 5.1 for more details).
- The feature toggle
messageToMerchant
was removed since the feature is controlled via back office configuration in ICM 11 (see Migrations / From 5.0 to 5.1 for more details and ICM 7.10 compatibility). - The orders API call now uses additionally the
limit
parameter (requires ICM 11.6), the deprecatedpage[limit]
parameter will be removed soon.
CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS
5.0.0
Note
The Intershop PWA 5.0.0 has been developed and tested with Intershop Commerce Management (ICM) version 11.7.0.
It will work with all versions from ICM 11.7.0 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 should work as well with the latest ICM 7.10.38.28-LTS release and newer ICM 7.10.x versions. The "CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS" sections list functionalities that are only available with ICM releases of the noted version or newer.
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.
Intershop recommends using the PWA Helm Chart version 0.8.0 for PWA 5.0.0 deployments.
Features
- button for clearing cart (#1537) (dd5f34f)
- add custom response headers with NGINX (#1456) (28268d8)
- use an optional shared Redis cache for multiple NGINX instances (e266e28)
- use OpenResty image instead of NGINX (7d7c8ec)
- ICM 11: experimental Design View support for the PWA (within the Intershop Administration Portal) (#1462) (8452343)
- ICM 11: co-browsing support via Customer Engagement Center (#1475) (e7346b5)
- ICM 11: switch to ICM 11 as project dependency and configuration for develop, demo and review servers (0594bcc)
Bug Fixes
- console error after saving user roles selection (cbb77f5)
- avoid scrolling up after show/hide permissions (6263074)
- use take instead of first to prevent EmptyError on missing translation (#1554) (0904c9e)
- sanitize potentially malicious values in order template and wishlist titles (#1551) (4602463)
- remove sortkey 'default' from product list REST calls to prevent inconsistent results (#1550) (cf7541c)
- trailing '/' in path results to a wrong multi channel configuration (#1553) (c500625)
- handle static ICM content links in CMS content (#1543) (eb03fde)
- respect cache settings for static files from PWA (cc2057a)
- navigate to anchor on master filter selection (#1534) (f1e8947)
- include rewriting for scripts artifact in deploy-url handling (#1532) (4304cf2)
- revert irrelevant changes of "wrong ICM is used with errors on SSR" (#1533) (a48c7ae)
- forward protocol correctly from reverse proxy (#1524) (eca77f9)
- deploy URL not set right for all CSS 'url' references (e.g. fonts) (#1521) (e6d4dfb)
- wrong ICM is used when configured ICM throws errors on SSR (#1519) (8c2c203)
- display salutions on registration page rendering (#1518) (51b52ad)
- ICM 11: sort basket line items by position - missing in ICM 11 REST API (67bba20)
Documentation
- rename 'upgrade' to 'update' as suggested (367fe70)
- documentation review adjustments (7123e81)
- use new GitHub blockquote highlighting options (6423534)
- improved getting started guide (39f1ba4)
- punchout identity provider documentation improvement (bb21aab)
BREAKING CHANGES
- Switch to ICM 11 as required/tested version and
-
as default application. - Switch from the plain standard NGINX Docker image to an OpenResty Docker image that provides more flexibility to configure the underlying NGINX (see Migrations / From 4.2 to 5.0 for more details).
CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS
4.2.0
Note
The Intershop PWA 4.2.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
- save language selection as cookie (#1447) (c2e43bb)
- logging restriction to errors (#1472) (2d0bf20)
- save orderReferenceId as native basket attribute (#1499) (7c160ce)
- export rest metrics (d49262d)
- report ssr max memory in prometheus (0127488)
- report memory per pm2 process (9c7d0cb)
- introduce simple browser detection to fix Safari 14 cookies issue (94b25d5)
- implement better handling for cookie 'SameSite' and 'secure' settings (#1485) (0d28fae)
- use aria-labels in forms (2a895a2)
- add aria-label property to formly components (d60c051)
- accessibility improvements (cfe40ff)
Bug Fixes
- prevent invoking destroyed injector (#1500) (6cabc7d)
- cookies consent banner animation handling for both "accept" buttons (0a2a380)
- make use of new cookies.service defaults when setting cookies (#1485) (22944bc)
- replace translate.instant in product-list-toolbar.component (#1482) (191788a)
- prevent setting values on uninitialized field of the cms-carousel.component (#1492) (8d3f6a1)
- handle multitab browsing (#1465) (d5f749c)
- remove token informations from local storage after succesful logout (#1488) (1c0bf6e)
- remove api-token cookie from root '/' path (#1487) (9ce4cf6)
- complete current localization call, when a new language is requested (4724fda)
- remove interfering query parameter "page" for product detail page routes (#1481) (28ba5f0)
- properly handle system signals in pwa docker container (#1471) (2b9d8ea)
- reload the application after the pgid changed (#1461) (d0984ce)
- display first product image after switching products on product detail page (#1474) (96737be)
- repair caching for output-hashed files (#1473) (721b26a)
- repair partial build with "active-themes" after npm upgrade (#1476) (30cc36c)
- NoSunday date validator does not work properly (#1459) (623921d)
- /localization call should wait until all server configurations are applied (#1457) (31028be)
- display updated customer address on the myAccount address page (#1454) (be31fef)
- minor address form issues (#1451) (8d9a803)
- remove apiToken cookie if a request fails due to an invalid token (#1452) (57d0fa8)
Performance Improvements
- reduce product price call aggregation delay in SSR (#1493) (2c10245)
- reduce number of distributors (#1496) (12a8ca6)
- increase pm2 SSR max memory (#1494) (a081c94)
- use better suited operators for REST requests (#1491) (e54f611)
- remove 3 sec SSR delay by enabling PreviewContextID listening only in browser (#1455) (65c8c9a)
Documentation
- change migration notes headings for better Knowledge Base syncing (#1506) (dc4ed04)
- concept for CAPTCHA in the PWA (#1453) (38d8662)
BREAKING CHANGES
- The
cookies.service
has new defaults:SameSite=Strict
andsecure
(see Migrations / From 4.1 to 4.2 for more details).
4.1.0
Note
The Intershop PWA 4.1.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
- add Address Doctor integration (#1337) (28eb2ce)
- introduce FeatureEventService as addition to the FeatureToggleService (c5973ac)
- fetch anonymous user token only on basket creation when no apiToken is available (a16501f)
- improve token endpoint handling (2aa15ba)
- OCI punchout configuration (#1431) (dfc19ac)
- load extra configuration from Configuration CMS component for dynamic storefront configuration (#1427) (f50671a)
- make the 'b2c' theme a configurable theme dynamically customizable with CSS custom properties (#1427) (849ebc1)
- add "accept only essential" cookies to Cookie Consent banner (#1430) (34d138c)
- accessibility improvements - lighthouse report (#1405) (4e38080)
- add domService for DOM manipulations (3232241)
Bug Fixes
- handle failing basket fetching for anonymous ICM apiToken without an assigned basket (a55751f)
- product variation master facet selection does not work for non-string filters (#1439, #1449) (94967fa)
- parameters ;loc and ;cur may overlook server configuration (ff102e3)
- save company name(s) at address after b2b customer registration (#1444) (4d81e6b)
- force a name attribute on radio inputs (#1435) (a8f0817)
- 'ishIntersectionObserver' emits 'NotVisible' events when target element moves out of viewport (#1433) (237a1a8)
- use 'stepQuantitiy' instead of 'stepOrderQuantity' to fetch the correct data in product listings (#1432) (bd20419)
- add promotion code encoding to the REST call for promotion code removal (#1428) (db1860d)
- adapt 'addGlobalGuard' function to work with functional guards (#1425) (2bf9828)
- add items to basket with common shipping method (#1419) (6ee9909)
- identity Provider init() should be triggered async (#1415) (61c4b0f)
Performance Improvements
Documentation
- add Configurable Theme documentation (#1427) (7a48e20)
- added "Disabling the Integrated Cookie Consent Handling" documentation (38f3751)
- extend logging documentation for logging to an external device (#1417) (20f75a2)
BREAKING CHANGES
- The
/token
endpoint handling was improved (see Migrations / 4.0 to 4.1 for more details). - The
ishIntersectionObserver
returnsNotVisible
status now too (see Migrations / 4.0 to 4.1 for more details). - The two standard themes
b2b
andb2c
where refactored in such a way that theb2c
theme could be changed into a configurable theme (see Migrations / 4.0 to 4.1 for more details).
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)
3.3.0
required Intershop Commerce Management version: 7.10.38.11-LTS
required/tested Node.js version: 16.16.0 LTS (including npm 8.11.0)
Features
- add the message to merchant feature to the checkout (#1323) (50cbe36)
- formly - add the legend element to the fieldset, add legend class attribute (#1354) (256bd7f)
- design preview support (#1216) (8a22f3c)
- accessibility: satisfy 'click-events-have-key-events' rule for HTML elements with click event (#1336) (200409e)
- accessibility: enable and satisfy 'click-events-have-key-events' rule for '<a>' tags (#1336) (ae2d6c4)
Bug Fixes
- suppress shopping cart info message if the user adds the same product again (#1356) (c05df22)
- shopping cart message needs more space (#1356) (558a869)
- scrollbar added to the approval tabs (#1353) (2ac7f03)
- icm rest endpoint should be truthy to construct a valid api url (#1367) (61f9b0e)
- pages should render properly after basket changes (login, addToBasket, ...) (fd6aace)
- render quoting pages properly (c1054ca)
- disable add-to-cart button during page loading (#1364) (0a2bf63)
- handle google recaptcha v3 expiration (#1347) (db071ec)
- add basket ship-to-address to the product prices call (#1362) (0e3c633)
- redirect before checkout (checkout guard) due to a cookie restore timing issue (#1357) (84b0e99)
- reset correct product context infos when switching prorduct from retail-set to a single product (f245f07)
- reset product quantity input field when switching products (72744de)
- styling fix for enhanced variation select options dropdown with long option names (615211b)
Documentation
CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS
- design preview support (#1216) - 7.10.39.1
3.2.0
required Intershop Commerce Management version: 7.10.38.11-LTS
required/tested Node.js version: 16.16.0 LTS (including npm 8.11.0)
Features
- use ICM '/token' REST endpoint for authentication (#1156) (4e02efd)
- introduce additional components for product variation select display (#1317) (ddd6e2e)
- introduce variation attribute mapping with extended /variations call (#1317) (d9e4b17)
- provide and combine metrics of theme instances (#1340) (88b4206)
- route to product detail page if only one search result was found (#1316) (9964ebd)
- save desired delivery date at basket items (#1325) (f8fba29)
- add zebra striped table style for attributes in product details tab (#1326) (7999f02)
- customer address update in the My Account section (#1315) (a98d391)
Bug Fixes
- apply ordered-import rule on multiline import statements (#1344) (5887c41)
- prevent outdated basket information on /basket route (#1342) (1a730f8)
- remove check for variations or variation master data for variation product data handling (41e674f)
- error when submitting consecutive search after submitting search from search suggestion (#1332) (9d063a9)
- add SSR hybrid backend configuration option for kubernetes deployments (#1320) (3e293fa)
- prevent budget bar arrow and product label ribbons to be shown in the subcategories layer (#1329) (7f4d34c)
- replace the product label image sprite, use CSS only styling and localized HTML text (#1319) (7f63863)
- replace the empty cart image with pure CSS and remove the image file (#1319) (eebebec)
- remove active_catalog.png and budget-bar-indicator.png and replace with CSS styling (#1319) (9aeafaf)
- display company input fields for anonymous b2b users on checkout edit address form (#1312) (23a9257)
- change and display an anonymous user`s email during the checkout process (#1312) (b2c265b)
- validate email during the checkout process of an anonymous user (#1312) (5ba41ec)
- apiToken cookie should be shared between same host (#1321) (80d5f9d)
- add promotion scope to the validation of the first basket checkout step (#1322) (8da52d6)
- keep the footer at the bottom of the page (#1318) (feb1648)
- 'npm install' not working with PWA release zip file (#1314) (33be4cc)
- display login modal after authentication token has expired (#1280, #1311) (025818c)
- add matrix parameter spgid to promotion REST calls (#1310) (1cae0d8)
Documentation
- improve authentication documentation (#1156) (cf89956)
- extend PurgeCSS integration documentation (#1313) (d4db9d6)
BREAKING CHANGES
- PWA uses the ICM
/token
REST endpoint to retrieve user token, every anonymous user will get a anonymous user token, every identity provider has to configure theoAuthService
with information about the token endpoint, before expiration the given token should be refreshed. - Changed the rendering of the
ProductVariationSelectComponent
and introduced additional product variation select rendering components (see Migrations / 3.1 to 3.2 for more details). ProductsService
was changed to use anextended=true
details and variations call.VariationAttribute
model was cleaned up and extended (see Migrations / 3.1 to 3.2 for more details).- The product label ribbon image is replaced with localized text and CSS styling.
- The empty cart image is removed and replaced with localized text and CSS styling.
- The
active_catalog.png
andbudget-bar-indicator.png
are removed and replaced with CSS styling. - Formly has been upgraded from version 5 to 6 (see Migrations / 3.1 to 3.2 for more details).
3.1.0
required Intershop Commerce Management version: 7.10.38.11-LTS
required/tested Node.js version: 16.16.0 LTS (including npm 8.11.0)
Features
- add customer approval handling (#1284) (2c6ac07)
- add personal data request handling - GDPR (#1214) (b8ba675)
- support for two separate applications in hybrid mode (#1289) (6b99953)
- show inactive flag for cost center users (#958, #1283) (752e38e)
- add html text formly field type (295e122)
- display server error page if the loading of the server configuration fails (856b3f7)
- display a maintenance page if a http error 503 occurs (#1111) (27d937a)
- add specific header component for error pages (a461e35)
- add "no server side rendering" guard to protect routes that should not be rendered in SSR (#1277) (e0cbc91)
- extended default mobile listing view type environment configuration (#1268) (713675e)
- add default mobile listing view type environment configuration (#1243) (e4ec8e7)
Bug Fixes
- replace the PNG image with a self explaining SVG image without text (#625, #1296) (9a984da)
- product list after a logged in user clicked a filter navigation link on family page (#1300) (ef8e2ba)
- equality validation of input fields like password/passwordConfirmation (#1297) (7895931)
- prevent filter changes when opening sign in popup (#468, #1286) (ef234c1)
- display filter navigation after page refresh with logged in user (#1232, #1286) (c6bbe51)
- show mini cart animation after add quote to cart (#1041, #1287) (a1cf6c8)
- explicitly set breadcrumb data when using the Static Content Page Component (#1250) (efa1323)
- account pages with enabled quoting feature should be at least one time stable (#1265) (8ef8768)
- replace server encoded whitespace in productfilters '+' with '%20' (#1278) (4692947)
- merge product information for lower product completeness levels (#1279) (eec9cda)
- repair dead-code script finding comments (#1222, #1273) (0a550ea)
- rework category completeness computation (#1276) (a6783cc)
- use productprices api for retail sets and product master (#1262) (208decc)
- open product description tab by default when navigating between product detail pages (#1263) (8138800)
- extend ishServerHtml mediaobject handling to handle new image resource format (#1263) (c4066d4)
- render product descriptions with images properly (#1263) (5477d85)
- add fallbackLocales to show translations even if there is no connection to the server (#1259) (9b3ec42)
- show success messages for cost center buyer actions (#959, #1249) (9e079a2)
- do not override theme specific favicon if requested from assets (#1257, #1261) (8b5c5e2)
- do not merge product filter query params by default but only for products of the product listing component (#1252) (8a4f66e)
- add missing translation key for company information on registration page (40e5362)
- do not override product information in the state with information with lower completeness level (#1256) (81b2220)
- product attributes not nullable (#1197, #1248) (90c384c)
- eslint-rules: repair ban-imports-file-pattern rule (0c65e3d)
Documentation
BREAKING CHANGES
- We removed the
not_available.png
image and replaced it with an SVG image (without text inside the image) and adjusted file references (see Migrations / 3.0 to 3.1 for more details). - We changed the default queryParamsHandling for product detail links via product image or product name component (see Migrations / 3.0 to 3.1 for more details).
- The validator
equalToControl
did not work properly. For that reason we removed it. Use the validatorequalTo
instead. Find more information in the method description in thespecial-validators.ts
.
CHANGES THAT REQUIRE MORE RECENT ICM VERSIONS
3.0.0
required Intershop Commerce Management version: 7.10.38.11-LTS
required/tested Node.js version: 16.16.0 LTS (including npm 8.11.0)
Features
- add "Back To Top" button (#1180) (27f1f27)
- show system reject errors for requisition (#1238) (ace4c77)
- display multiple basket errors (#1230, #1108) (c0d73c7)
- translate CMS configuration parameter URL based on type (#385, #1223) (3957b14)
- Angular A11y ESLint Rules (Accessibility) (#1168) (e584271)
- display basket loading only on items list (1cabc4b)
- add paging bar to the list of line items (basket, requisition, order, quote) (afd7995)
- active files report includes style files (#1190) (2f7c765)
- complex configuration can be supplied as yaml (#1133) (4a71df7)
- select payment methods as default in the payment settings (#1159) (87a19f8)
- enable additional features extending defaults in multi-site (#1191) (8a260b1)
- CMS managed footer (#1144, #1166) (562c56a)
- introduce SSR variable for platform checks (#1080) (7c6a226)
- remove pagespeed module from our nginx container (#1150) (d2897f9)
- create a product review on product detail page (#1198) (9ac2f85)
- add a custom description to the textarea description wrapper (80a69c3)
- seo: optimized content page URLs with full content page path (#1161) (7a71372)
- seo: optimized product URLs with full category path (#1164) (0252857)
- seo: optimized category URLs with full category path (#1163) (2a212bb)
Bug Fixes
- prevent directory traversal on SSR (#1241) (c7d8d00)
- disable add-to-basket when quantity is zero (#1066) (edf1573)
- correct selector for custom components in projects generated by schematics (#1240) (3280dd4)
- missing display name for default sorting in product lists (5fb6ee9)
- do not display a shipping method details popover if no shipping method description is managed (8fe342b)
- unnecessary emissions of the getCurrentBasket selector if the basket loading state changes (#1234) (d22ba7d)
- prevent linting for running schematics with dry-run option (#1221, #1226) (5183ed4)
- failing precommit hook, if this commit doesn't include tests (#1228) (ac782ba)
- display the order confirmation page when returning from redirect after checkout (#1227) (3ea3b8c)
- revert selector-not-notation behavior to overload Bootstrap standard styles (#1218) (6bf7e47)
- static page component needs to load the content page tree for the breadcrumb even if the navigation is not shown (#1215) (51275d5)
- use double encoded resource ids to support special characters in email address as user login (#939, #940) (2e8f7e4)
- repair jest optimization for Angular 14 upgrade (#1210) (491d78b)
- repair cleanup testbed (c824159)
- Invite page in ssr is not working (#1200) (215525e)
- purgecss exeption for generated filter-layer CSS classes (#1204, #1207) (3bd0626)
- make default favicon accessible from root (2cda276)
- don't display the review tab on product master variation page (#1193) (c70b0ff)
- content page not found when reloading a page with an authenticated user (#1198) (1e7af60)
- pin nginx version to 1.21.6 instead of using latest (#1188) (2ba3d94)
Performance Improvements
- reduce add product to basket debounce time (243a567)
- limit the number of items shown in the mini basket (7175453)
Documentation
- update mapper documentation (#1224) (d5155d3)
- seo: add chapter for search engine optimized URLs/routes (b8424e2)
Code Refactoring
- replace unmaintained angular2-uuid lib (#1203) (3c6b924)
- schematics: invert noCMSPrefixing option (d1258fb)
Dependencies
- Cypress 10 upgrade (#1225) (a8b3d4e)
- remove unused http-loader dependency (#1154) (636a6e2)
- update to Angular 14 and fix issues (c216537)
- update Jest and fix issues (8087fa7)
- remove deferLoad and use loading lazy (#1097) (8c74111)
BREAKING CHANGES
- seo: Content page routes/URLs were changed (see Migrations / 2.4 to 3.0 for more details).
- seo: Product routes/URLs were changed (see Migrations / 2.4 to 3.0 for more details).
- seo: Category routes/URLs were changed (see Migrations / 2.4 to 3.0 for more details).
- The
footer.content
localization key was replaced for most of its content by a CMS manageable content include. - Introduced double encoding of resource ids in REST API calls for user login (see Migrations / 2.4 to 3.0 for more details).
- Introduced the build variable
SSR
that is now used for all checks if the application is running in SSR or Browser context (see Migrations / 2.4 to 3.0 for more details). - Angular 14 and dependecies update (see Migrations / 2.4 to 3.0 for more details).
- Jest upgrade to version 28, the jest-marbles package has been replaced by jasmine-marbles.
- The @ngx-translate/http-loader has been removed from the dependencies.
- The pagespeed module of NGINX has been removed without replacement.
- We removed the unmaintained
angular2-uuid
library in favor of the standarduuid
library (see Migrations / 2.4 to 3.0 for more details). - Removed
(deferLoad)
directive and replaced it withloading="lazy"
(see Migrations / 2.4 to 3.0 for more details). - The cypress test files moved from cypress/integration folder to cypress/e2e. The cypress config file changed and also some scripts have been adapted to reflect the new config structure.
- schematics: The
cms
schematic'snoCMSPrefixing
option has been renamed tocmsPrefixing
with an inverted behavior.