Releases: intershop/intershop-pwa
Releases · intershop/intershop-pwa
2.4.1
required Intershop Commerce Management version: 7.10.38.0-LTS
Bug Fixes
- dependencies and package-lock fixes (#1182) (5f22ccc)
- pin nginx version to 1.21.6 instead of using latest (#1188) (c983feb)
- use a fixed node.js version to prevent build issues with unknown versions (#1208) (841feba)
- purgecss exeption for generated filter-layer CSS classes (#1204, #1207) (0105006)
- make default favicon accessible from root (#1194, #1199) (893bfd2)
- don't display the review tab on product master variation page (#1193) (8a0a265)
- content page not found when reloading a page with an authenticated user (#1198) (401b393)
2.4.0
required Intershop Commerce Management version: 7.10.38.0-LTS
Features
- display product reviews on product detail page (#1174) (8a2d88d)
- selectively activate source maps on runtime (#1127) (aeb39f5)
- load only visible products in the product links carousel (#1162) (e44ee3e)
- display dynamic promotion messages on shopping cart (#1145) (ffafdc5)
Bug Fixes
- window object can only be used on browser side (#1178) (1b9fc1b)
- rearange the display of product tabs for retail sets and product bundles (f8cf5c1)
- display the number of reviews behind the product rating stars instead of the average rating (#1174) (604f387)
- preserve semicolons in query params (#1167) (e776e14)
- prevent View Context REST API calls with an undefined CategoryRefID value (f7e0de7)
- only update cost center when it actually changes (#1153) (f00e626)
- display undiscounted single base price on shopping basket if it differs from single base price (#1149) (02cdb78)
- non-existing content pages should result in a "Page Not Found" page (#1152) (7ccd223)
- cookie page guard results in error with SSR (#1148) (dc92011)
- schematics: make override schematic robust to path seperators (#1146) (8f28705)
- schematics: create gitignore with correct ignore path (#1124) (3eb320f)
Performance Improvements
Documentation
- add 2.3 datepicker migration note and hybrid approach requirements (4d9b009)
Code Refactoring
Chores
- clean up obsolete html comments and removed unused localization keys (652195e)
BREAKING CHANGES
- Angular 13.3.10 and dependencies update (see Migrations / 2.3 to 2.4 for more details).
- The ratings & reviews functionality was moved into an extension (see Migrations / 2.3 to 2.4 for more details).
- Removed unused newsletter localization keys.
2.3.0
required Intershop Commerce Management version: 7.10.38.0-LTS
Features
- introduce price update strategies (#1089) (c980cbe)
- make products service default attrs easily overridable (#1098) (78ef2e1)
- clean-localizations on used sources (#1047) (bf81099)
- display loading overlay for basket merge (811b540)
- allow strings as propagate index (fc19edd)
- export product context for debug usage (036602b)
- support language plural rules for translations (#1073) (af747b0)
- eslint: add rule disallowing optional inputs (#1121) (e4121a4)
Bug Fixes
- enable locale override for development mode (#1139) (ae7237b)
- allow same product list call after a specified time (#1140) (c4bfe88)
- URL encode formParamsToString values (#1115) (269bf72)
- use feature subscription instead of static check in lazy components (#1138) (a8c75ac)
- handle ICM static files with the ICM proxy configuration (#1105) (29be2c1)
- pin usage of ubuntu focal (0ddcb74)
- add missing feature guards to feature routing modules (5eef759)
- re-implement tracking of anonymous basket for merge basket logic (#1130) (b9ff6cb)
- login gets lost after a link is opened in a different tab (#938, #1109) (2daea47)
- display buyer information for orders based on order data and not based on data of the logged in customer (#1104) (85888d9)
- remove equal character from url slugs (#1112) (26c61d6)
- fix spacing for old prices and scaled prices (8b9a10c)
- schematics: add feature toggle guard to new pages if required (fcd0ac5)
Performance Improvements
- debounce changes made to the context (8aee8b1)
Documentation
Code Refactoring
BREAKING CHANGES
- For a working hybrid approach ICM 7.10.32.16-LTS or 7.10.38.6-LTS or newer is required. The changes in the PWA should not be incompatible with older ICM version if no hybrid approach is needed.
- The method
getFilteredProducts
was moved fromFilterService
toProductsService
.
2.2.0
required Intershop Commerce Management version: 7.10.38.0-LTS
required/tested Node.js version: 16.14.2 - LTS (including npm 8.5.0)
Features
- introduce formly field reusability feature (#1017) (0889f38)
- add desired delivery date with NgbDatePicker & date-fns (#1056) (638609e)
- display feedback when product is out of stock on order templates (#1067) (7c84791)
- enable nginx access logging in json format (#1086) (099af1f)
- handle and display scaled prices (#1030) (699b260)
- support Payone Eps payment method (#1053) (efe7884)
- eslint: rules for customization (#1055) (8107fcf)
Bug Fixes
- support the character sequence 'sku' in product SKUs (#963) (a22a56d)
- improve product tile actions visibility + improve compare icon (#1082) (dc36f5c)
- repair cleanup testbed script with parallel execution and apply changes (#1072) (32953c1)
- display addToQuote and addToOrderTemplate buttons on cart page even in case the cart contains quote items (#1054) (1f0bb53)
- quote items on cart UI issues (#1054) (c9769c2)
- don't display 'UNDEFINED' in case the promotion title is missing for the current locale (#1054) (71a845d)
- repair cleanup testbed script and apply changes (#1057) (a4e403c)
Code Refactoring
BREAKING CHANGES
- Angular 13.3.0 and dependecies update (see Migrations / 2.1 to 2.2 for more details).
- Node.js 16 is now used for development and deployment.
- The compare functionality was moved into an extension (see Migrations / 2.1 to 2.2 for more details).
2.1.0
required Intershop Commerce Management version: 7.10.38.0-LTS
Features
- fetch product price information with new productprice REST API (#1018) (26ebdf2)
- fetch and display personalized category and product data (#1021) (fd08931)
- remove quote items from cart (#1029) (84c449e)
- use demo content artifact in header navigation (#1038) (e065b3f)
- support payone iDeal payment method (#974) (06a25c4)
- move localization keep patterns where they are needed (#960) (9b6a996)
- context with propagateActive as input (#1007) (a4c1c16)
- recalculate basket after currency change (#1005) (04b44bc)
Bug Fixes
- repair service worker (#1045) (2a7a47d)
- prevent out of stock products from being added to basket on order templates (#1031) (5f85f9d)
- prevent console error messages on checkout shipping page (#1040) (7af76a6)
- render content of product detail description tab as html (#1037) (147b07c)
- checkout payment parameter form validation (#1035) (4dbccaf)
- update propagation of parent context if child context is removed (#1022) (61cb60a)
- product search is cached in PWA and does not trigger a new REST call (#983, #1024) (db38c8a)
- trim payment parameter form values (#1013) (507966f)
- include 'all' theme in allowed overrides (#1014) (302285f)
- payment & order redirect respects baseHref (#1010) (d29c1ec)
Performance Improvements
Code Refactoring
BREAKING CHANGES
- Product prices are now fetched by separate
productprices
REST calls instead of using the information fetched with the products REST call. - Handling personalized REST calls for category and product data required some possibly breaking changes (see Migrations / 2.0 to 2.1 for more details).
- The recently viewed products functionality was moved into an extension (see Migrations / 2.0 to 2.1 for more details).
2.0.0
required Intershop Commerce Management version: 7.10.38.0-LTS
Features
- introduce footer top component that integrates the store locator (9a433e9)
- store locator with Google Maps integration (#911) (2f3bc1a)
- replace product detail info accordion with tabs (#994) (3b9f9d1)
- local ICM cache for (performance) testing purposes (#867) (9aedbfc)
- render additional CMS demo content artifacts (#967) (d31f430)
- extend product image component by an optional link target parameter (037253c)
Bug Fixes
- add title to registration form (#1002) (3e1d3b0)
- terms and conditions link on checkout review page (e044069)
- minor bugs concerning the preferred wishlist behavior (b4d98a7)
- cost center management improvements and fixes (4413804)
- optional info-box heading, parameter docu (4ec081f)
- move the position of the CSSClass configuration from the 'img' to the 'div' tag (8a92b10)
- respect ICM setting basket.maxItemQuantity (#993) (81341ce)
- lazily resolve translate service in translate compiler (#978) (3838171)
- remove matrix parameters from URL to prevent accumulation (#976) (83a1711)
- catch and log errors from translation API (e04c735)
- stringify SSR error if possible (50cafde)
- remove console.log from schematic (98daa81)
- include healthcheck.js in docker compile scripts (#969) (9946ca2)
- rename component inputs named 'class' to 'cssClass' (#975) (892a1ef)
- code documentation of the attribute helper class (44111ab)
- improve Cybersource Credit Card styling (2e3f5bf)
- display product labels by adding PurgeCSS exeption to keep 'product-label' styling (6b7657c)
- display of unlimited budget (phone view) (#950) (17c37a9)
- improve requisition buyer approval widget ui in case the buyer has an unlimited budget (#951) (cd3e3c0)
- unify budget input fields layout in phone view (#957) (cb4355c)
- remove unnecessary quoting breadcrumb data (#964) (3c35ac5)
- add quote to cart in case no cart exists (#952) (114c8d5)
- query-params should not duplicate at rewrite (#945) (498ecbe)
Documentation
- adapt outdated component documentation (02f2c0d)
- eslint: update documentation regarding the switch from tslint to eslint (bad71ea)
Code Refactoring
- replace deprecated methods after dependencies update (c7766ed)
- necessary code adaptions after dependencies updates (bd87999)
- use the ICM channel preference to configure the advancedVariationHandling instead of the feature toggle of the same name (#991) (b459006)
- remove obsolete form components (#953) (7cc7ec1)
- move SelectOption interface to the model folder (#953) (c634b58)
- rename standard PWA themes - (b2b + b2c) (#923) (12c52ae)
- eslint: e2e test code changes from tslint to eslint (eb211be)
- eslint: code adaptions to respect "no-negated-async" rule (c98c4d1)
- eslint: code adaptions to respect "no-output-native" and "no-output-on-prefix" rule (6194435)
- eslint: code adaptions to respect "complexity" rule (85e2616)
- eslint: code adaptions to respect "prefer-template" rule (4cde7f6)
- eslint: code adaptions to respect "member-ordering" rule (dc2af27)
- eslint: code adaptions to respect "no-empty-interface" rule (6e11d11)
- eslint: code adaptions to respect "sort-ngmodule-metadata-arrays" rule (013236c)
- eslint: code adaptions to respect minor rule requirements (fcf2b74)
- eslint: application code changes from tslint to eslint (23578b9)
- eslint: helper code changes from tslint to eslint (4d8114e)
- eslint: add eslint rule 'prefer-optional-chain' to enforce the usage of the elvis operator (#987) (4f6ad62)
Dependencies
- update swiper to version 7 (#892) (c771796)
- formly 6 update and necessary code adaptions (f01ebbf)
- update polyfills.ts and .browserslistrc according to Angular 13.0.2 defaults (e18b0e3)
- Angular 13.0.2 update + dependencies updates + configuration adaptions (6f68e77)
Build
- eslint: switch project configuration from tslint to eslint (0034553)
- eslint: add eslint configuration (f3a5230)
- eslint: add custom eslint rules and eslint rule schematic (3cb52b4)
- eslint: remove custom tslint rules and tslint configuration (c19c99c)
BREAKING CHANGES
- Switch linting from
tslint
toeslint
(see Migrations / 1.4 to 2.0 for more details). - Swiper 7 upgrade (see Migration Guide to Swiper 7 for more details).
- Formly 6 upgrade (see upgrade from 5.0 to 6.0 for more details).
- Angular 13 and dependecies update (see Migrations / 1.4 to 2.0 for more details).
- Angular 13 removes support for IE 11 (see Internet Explorer 11 support deprecation and removal for more details).
- The feature toggle 'advancedVariationHandling' has been removed. Use the ICM channel preference for 'Variations List View' now. (see Migrations / 1.4 to 2.0 for more details.
- The input parameter
class
was changed tocssClass
for the following components:ish-basket-create-order-template
,ish-lazy-basket-create-order-template
,ish-lazy-product-add-to-order-template
,ish-lazy-product-add-to-quote
,ish-lazy-product-add-to-wishlist
,ish-product-add-to-basket
,ish-product-add-to-compare
,ish-product-add-to-order-template
,ish-product-add-to-quote
,ish-product-add-to-wishlist
. All uses of these components need to be adapted in custom code. - Our deprecated form components have been removed, use Formly to generate and maintain your forms. (see Migrations / 1.4 to 2.0 for more details.
- The
SelectOption
interface has been moved to the select-option.model.ts file of the core/model folder, the related import statements have been adapted. - The B2C theme
default
is renamed tob2c
and the B2B themeblue
is renamed tob2b
andb2b
is now used as the default theme (see Migrations / 1.4 to 2.0 for more details.
1.4.0
required Intershop Commerce Management version: 7.10.32.10-LTS
Features
- cost center management (#920) (a11651d)
- introduce formly field plain-text-field (57c6162)
- introduce template option 'inputClass' to set css classes at input/select/textarea tags in formly components (0a7ccaa)
- formly - data type of the input addon text extended by Observable (bb1a47c)
- set accent color for inputs (5e44ece)
- SSR-only ICM call cache interceptor (369d94c)
- punchout identity provider (#916) (36fb90f)
- cybersource creditcard save for later checkbox. (#925) (058533f)
- add 'lang' property to 'html' tag (#926) (5828487)
- add option to enable SSR only for crawlers in nginx (#899) (c826583)
Bug Fixes
- CMSImageEnhancedComponent remove component CSS class from img tag (#943) (38124c7)
- support sitemap locations for muliple servers (bbf98ce)
- display a default promotion name if promotion messaging is disabled (#934) (67967c8)
- use newest Bootstrap release 4.6.1 with own divide() function (#921) (13ce267)
- make ICM sitemap files available via nginx (9574457)
BREAKING CHANGES
- We no longer use
@use 'sass:math';
andmath.div();
in our.scss
files but instead switched to the new Bootstrap default way usingdivide()
. This is more a note to check your styling customizations for possible adaptions. Both ways should still work together and adaptions are not required.
1.3.0
required Intershop Commerce Management version: 7.10.32.7-LTS
Features
- requisition approval usability improvements (#887) (2de6856)
- add cost center approval widget (#887) (7b412b7)
- display a success/info message after a requisition has been approved/rejected (#887) (9846c87)
- display cost center approval information in the checkout approval dialog (#887) (1fb61f3)
- extend the authorization service and directive to check against multiple permissions (b4d9c38)
- introduce info message component (#909) (4eb6f24)
- adapt styling for toast messages (#909) (725eeb1)
- add quickorder sample CSV file (#895) (cd420f7)
Bug Fixes
- display wishlist items in the wishlist widget (#917) (17224f1)
- contact us page can't be used twice (#915) (41eae48)
- DNS resolve issue in SSR (0e7010c)
- update placeholders correctly on SSR (#906) (b734680)
- check for whole occurences of localizations (#907) (a952146)
- don't display 'please select' in the cost center selection dropdown if a cost center has already been assigned to a basket (8a2a6d3)
- wait for retrieving localized ICM data until configuration is retrieved (#902) (fc068c2)
- disable inlineCriticalCss for Angular Universal engine (#904) (00377e5)
- respect ICM setting "Add Product Behavior" when adding basket items (#905) (a5fd804)
- styling of radio buttons on shipping page (#900) (072f747)
- missing styles for main navigation hover menu - removed by PurgeCSS (#901) (0205842)
- repair chunk output file names for differential loading (#896) (b1e27d5)
- quick order CSV file error message doesn't overlap button (#897) (c23b9d5)
Performance Improvements
Documentation
Code Refactoring
BREAKING CHANGES
- The PWA no longer relies on the dependency to 'b64u' since no encoding and decoding Base64 is needed any more in SSR. In the browser native methods are used. If your custom code uses b64u in SSR you should not remove this dependency or use a polyfill like 'btoa-polyfill'.
1.2.0
required Intershop Commerce Management version: 7.10.32.3-LTS
Features
- helper for never forgetting npm install on branch change (#875) (7c0b11a)
- add option for only building specific themes in docker build (#856) (ad3fb75)
- add virtual theme "all" for always overriding files (#841) (9b595d1)
- customizable nginx cache duration (#873) (b33dc3e)
Bug Fixes
- enable cXML punchout with unclean user state (#861) (5f2e4de)
- restrict product-quantity input to numbers (browser dependend) (#884) (ecef9e4)
- no search results displayed when filter name contains special characters (#885) (5f628d6)
- use translate get instead of instant for product-image component (#876) (d4ba64c)
- noSSR PWA Docker container does not support deep links (#871) (0df009e)
- use get instead of value for global variables in Jest tests (#866) (bc2517c)
Performance Improvements
- restrict NgRx state transfer filtering to two levels (#889) (a1e4efd)
- prevent unnecessary individual loading of path categories (#877) (dc820a7)
- prevent compiling translations with very large values (#880) (36aebad)
- cache compiled translations in PWA process (#881) (82de3a4)
- reduce breadcrumb set delay as it also blocks SSR (#870) (a0eafd7)
- prevent api token restore on SSR (#870) (c9425f5)
- prevent basket loading subscription for SSR (#870) (cffd192)
- prevent suggest search trigger on SSR (#870) (25624e3)
- retrieve links and child products only on successful products call (#870) (9b7ab1a)
- cache 404 longer in nginx (#870) (bdab77a)
Documentation
Code Refactoring
BREAKING CHANGES
- JavaScript files from
dist
folder have been moved. See Migrations / 1.1 to 1.2 for more details. - The identity provider's
triggerLogout
method now takes 0 instead of 2 arguments.
1.1.0
required Intershop Commerce Management version: 7.10.32.3-LTS
Features
- add version method for inspecting version information (#858) (4b9294f)
- Cost Center selection for checkout (#807) (72a439f)
- display product attachments at the product detail page (#840) (d275b95)
Bug Fixes
- enable logout of punchout user in combination with SSO (#852) (eb4f222)
- let purgecss only search app sources (8db741a)
- stylePreprocessorOptions missing on server build (#834) (2069f47)
- broken page on missing requisition data like user and budget (#859) (0f3f847)
- prevent double requests after inserting a SKU on direct order and quickorder form including validation (fb2e192)
- prevent call for empty product on quickorder and direct order (#844) (385a855)
- propagate extra arguments in build:multi script (5ece62e)
- mainNavigationMaxSubCategoriesDepth configuration with '0' fails to disable main navigation hover menu (#850) (725cfb8)
- use translate compiler for fallback translations (#843) (69af5ff)
- THEME variable should be string (fc519bc)
- align table heading with associated content in quickorder form (#832) (64c0e1d)
- insert none default theme at the end (e2d7639)