# Change Log
This changelog is no longer updated
Starting from version 1.11.0, our commercetools integration implements a new architecture featuring the @vsf-enterprise/commercetools-sdk package instead of the @vsf-enterprise/commercetools package. Changelog for the SDK can be found here (opens new window). Changelog for the @vsf-enterprise/commercetools-api package versions higher than 1.10.0 can be found here (opens new window).
All notable changes to this project will be documented in this file. See Conventional Commits (opens new window) for commit guidelines.
# 1.10.0 (opens new window) (2022-12-27)
# Bug Fixes
- deprecated set output (#429 (opens new window)) (1da34c1 (opens new window))
- expected an assignment or function call and instead saw an expression (d41ccbe (opens new window))
- remove dead code (7a4e39e (opens new window))
- replace
<b>tag with<strong>(08031b4 (opens new window)) - update core package 2.7.2 -> 2.7.4 (053e6bb (opens new window))
# Features
- add separated middleware support for multiple domains (650b3b0 (opens new window))
- add separated middleware support for multiple domains (9b2d52e (opens new window))
- use core packages in v2.7.5 (#439 (opens new window)) (3fecd69 (opens new window))
# 1.9.0
# Features
- feat!: init function and token flow improvement
- chore: upgrade middleware 2.7.1 -> 2.7.2
# 1.8.5 (2022-11-03)
# Bug Fixes
- allow using separated middleware with multiple domains
- return raw response when using customQuery in
useProductcomposable
# 1.8.4 (2022-08-26)
# Bug Fixes
- cart is no longer cleared when choosing store in shipping step
- add missing key back to
getFacetCategories - fixed links to products in order history
- unable to place an order with an invalid coupon
# Features
- handle cart discount invalid state
- improve TTFB by reducing api response size
- custom query for
customerUpdateMe
# Reverts
initfunction
# 1.8.3 (2022-08-11)
# Bug Fixes
- added option to reload cart
- product page ssr error
- state/province in my account is covered with one of it
getCategorieshardcoded limit param- added option
customFiltersforuseProductcomposable insearchmethod
# Features
- implementing
initfunction for middleware
# 1.8.2 (2022-07-25)
# Bug Fixes
- replaced
SfHerocarousel withSfBanneron homepage - divided sections on shipping and billing pages
- fixed disappearing padding in
StoreLocatorcomponent - added
clickOutsidedirective from SFUI - title from
SfMegaMenuColumninSearchResultsis not clickable anymore - unified order summary on desktop view
- redirect to
404page on PDP when error occurs - fixed alignment of products on category page
# Features
- separated middleware initialization
- prevent out of stock purchase for
Click&Collect - added empty cart page
- reduced size of product page
- language change without full page reload
- added method
getCategorySlugsforproductGetters
# 1.8.1 (2022-07-11)
# Bug Fixes
- removed redundant aria-label from buttons / CLS on PLP
- duplicated products in the cart
- fixed adding promo code on payment step
- fix redirect on checkout
- unable to enter my account page
- bottom navigation overlapping lang modal
- payment method "cash on delivery" is cached after one purchase
# Features
- saved checkout steps
- unifying Click&Collect behavior - Storelocator page removal
- remove all items from the cart
- added login button in checkout
- added loaders for product cards
- added pagination for reviews on PDP
# 1.8.0 (2022-06-29)
# Bug Fixes
- adding and editing addresses in my account
- breadcrumbs linking
- edit button in payment does not work
- wrong language icon
- add custom ClientSideOnly component
- use client-only instead isMounted
- bug with
customQueryinuseUser.register - search results cannot be closed
- hide categories when it not contains any products
- fixed
storelocatorbadge position - lang files missing comma
- pass custom query on to original api method
# Features
- change functional anchors to buttons
- seo improvements
- bundle size optimization
- add new checkout step - customer email
- middleware separation
- node version bump, LTS
- support for screen reader
- added empty states
- add linking to products in cart sidebar
- hide categories when it not contains any products
- links renamed
- update SFUI to 0.13.2
# 1.7.4 (2022-08-26)
# Bug Fixes
- add missing key back to
getFacetCategories - fixed images not showing on product list pages
# Features
- custom query for
customerUpdateMe
# 1.7.3 (2022-08-05)
Please note that these changes are available in version 1.8.3
# Bug Fixes
getCategorieshardcoded limit param- added option
customFiltersforuseProductcomposable insearchmethod
# 1.7.2 (2022-05-24)
# Bug Fixes
- added missing store locator icon on mobile devices
- add option to overwrite
enhanceProductfunction - calculating shipping price with discount
- removed unnecessary checkbox on register screen
# Features
- filter products by channel
getCartapi method is now deprecated- added
http-cachemodule
# 1.7.1 (2022-04-26)
This version is now deprecated. Please use 1.7.2 instead.
# Bug Fixes
- state dropdown is no longer shown when not needed
# Features
- added support for custom field in
setShippingAddressActionandsetBillingAddressAction - added extra parameter for
addReviewandgetReviewinuseReviewcomposable - where - additional field in customer update api call - date of birth
- added form for submitting review
# 1.7.0 (2022-04-20)
# Bug Fixes
- added missing styles for
sf-store - PLP filters are removed on page reload
- selecting billing address redirects to the home page
- remove setting variable based on header's value
- missing app object for Category page
- pass
customQuerytouseFacet - thank you page
addBasePathFiltererror - unable to change language after store change
- wishlist import
# Features
- upgrade SFUI in the theme
- add store configuration from
nuxt.config.js - add ui notification system
- store-locator design on channel change
- export composables helpers
- add
nuxt-imagemodule - remove mobile observer
- set modern=client mode
- click and collect shipping method
- add change method to
useChannel - add
agentkeepalive - update types
# 1.6.1 (2022-03-24)
# Bug Fixes
- change docker namespace
- security: added secure flag for token cookie
# Features
- cache control module - remove cache from theme
- add
customQueryforgetCart - export composables helpers
- native API error handling
# 1.6.0 (2022-02-18)
# Bug Fixes
tokenProvider.invalidateTokenInfo() is not a functionerror- add missing env example for Multistore
- redis environment variables names collision
- use
localeparam instead ofacceptLanguagefor faceting api functions - fixes broken usage of
customQueryinuseProductcomposable - fix HTML missmatch onSSR for Home.vue
- add
languageMapconfiguration for facet accepted language - fixed logo not loading while page refresh
- fixed vue warn due to invalid component name
- removing
mockedSearchProducts - fix double mounting carousel component
- wishlist not being fetched nor refreshed upon login and logout actions
- breadcrumbs mismatch url
- added missing type for
ProductsSearchParams - remove deprecation warning for mode universal
- handle error after
createMyOrderFromCartrequest - nuxt module declaration
- possibility to add products to the cart/wishlist from related
- update deprecated
apollo-linkandapollo-client - error while deleting shipping addresses
- search results add to cart wishlist
# Features
- billing and shipping address not present in checkout
- add composable to get all languages information
- get project settings
- upgrading from
nuxt-i18ntonuxtjs/i18n - added
priceTransformhelper - add base path in templates
- added
StoreLocatorcomponent - add channels api and composable
- add
useInventory - multistore feature flag
- add
SameSitecookie attribute - backport composables from enterprise packages
- performance improvements
- remove unnecessary css
- add multiple filtering strategy for faceting
- dockerfile update
- useFacet integration inside Home.vue
- optimise footer social icons
- switching currency
- add missing static translations within app via
vue-i18n
Please refer to the migration guide (opens new window) for more information.
# 1.5.0
# Bug Fixes
- add wishlist build fix
- removing hardcoded categories from HeaderNavigation
- fixed issues with adding/removing products to/from wishlist
- fixed doubled review types export
- fixed navigate to MyAccount page
- fixed wishlist product prices
- fixed handleAfterAuth method for customToken
- bump SFUI version that fixes memory leak
- fix for ancestors on PDP page over SSR and fix for docs
- update use cart method for newer one
- added usage of FiltersSidebar component
- fixed issue related with building valid query
tokenProvider.invalidateTokenInfo() is not a functionerror- update deprecated apollo-link and apollo-client
- fixes broken usage of customQuery in useProduct composable
- handle error after createMyOrderFromCart request
- possibility to add products to the cart/wishlist from related
# Features
- coupon codes display & removal (0e689b1 (opens new window))
- created product breadcrumbs getter (7260c18 (opens new window))
- moved packages from enterprise packages (223e649 (opens new window))
- changed faceting from rest to qraphql (#36 (opens new window)) (3eefa3c (opens new window))
- use cache mechanism with Redis driver (#29 (opens new window)) (6343e66 (opens new window))
- create template for commercetools integration (#8 (opens new window)) (b399f55 (opens new window))
- refactor of composables (#34 (opens new window)) (e5af219 (opens new window))
- fetch categories with product data (8d0cd0f (opens new window))
- preserve categories in enhanced product (1c977aa (opens new window))
- useFacet integration inside Home.vue (1e8fd721 (opens new window))
- add SameSite cookie attribute (9a1f71f0 (opens new window))
# BREAKING CHANGES
- faceting no longer uses REST API but GraphQL API instead
- changed organization's name under which we release the commercetools integration from
@vue-storefrontto@vsf-enterprise
Please refer to the migration guide for more information.
# 1.4.1
- Fixed handleAfterAuth method to handle customToken scenario correctly (6533 (opens new window))
# 1.4.0
Fix UI for Click and Collect (6276 (opens new window))
[BREAKING] Refactor token handling (6329 (opens new window))
Fix bug with wrong version UI and resolve problems with parse negative number for css calc method(after upgrading SFUI to 0.11.0-rc.1) (6354 (opens new window))
Added server access token (6365 (opens new window))
Add @nuxtjs/google-fonts to improve performance (6374 (opens new window))
use extractCSS rule in build to make the bundle smaller (6375 (opens new window)) - Baroshem (opens new window)
[BREAKING] Update GraphQL API types (6410 (opens new window))
| Before | After | Comment | Module |
|---|---|---|---|
Shipping address could contain contactInfo object with phone, mobile, email and tax properties | phone, mobile, email and tax properties should be used directly on the address object, not nested in the contactInfo object | In the past, the application logged a warning when contactInfo was present on the address object. Now we are deprecating it to match commercetools API | @vue-storefront/commercetools-api |
Prevent cookie creation during SSR (6442 (opens new window))
Before After Comment Module Cookies for currency, locale and country were included in SSR response Cookies for currency, locale and country are generated on client side To prevent generating cookies during SSR (server-side rendering) and allowing caching, change in the nuxt.config.jsfile is required. Inside thei18nconfiguration, you should set thedetectBrowserLanguageoptions tofalse. Then change the order of loaded modules. In thebuildModulesconfiguration, move the@vue-storefront/commercetools/nuxtmodule before@vue-storefront/nuxt. Lastly, update the Vue components used to switch locales to use thenuxt-linkcomponent instead of theatag. By default it's located in theStoreLocaleSelector.vuefile.core [BREAKING] Update Composition API to 1.2.4 (6452 (opens new window))
Before After Comment Module Composition API module was registered internally by Vue Storefront modules Composition API module must be registered inside projects Please refer to the migration guide for more information Theme
# 1.3.6
Fixed close button placement (StoreLocaleSelector) . (6202 (opens new window))
Fixed redirect to localized My Account page. (6474 (opens new window))
# 1.3.3
Overwrite
CategoryPageHeadercomponent and remove filters from OS (5684 (opens new window))Fix bug with raising exception when visiting /checkout/payment page directly from url (5983 (opens new window))
Implemented pagination for orders history (6032 (opens new window))
Enable payment summary section for desktop view (6104 (opens new window))
Fix error thrown by the
searchmethod inuseProductcomposable when searching by product SKUs (6181 (opens new window))Fix no property error in changePassword function in useUser composable (6231 (opens new window))
Updated SFUI (6240 (opens new window))
Fix missing addresses data in order summary (6282 (opens new window))
pass cookies obj with cookie names to mapI18nSettings (6296 (opens new window))
Improve A11Y in Core Web Vitals (6304 (opens new window))
Improve SEO Core Web Vitals (6306 (opens new window))
Make VSF PWA again (6307 (opens new window))
Fix bug with redirect to home page after successful order placement (6309 (opens new window))
Fix for unsuccessful login or register message (6311 (opens new window))
getProduct custom query - productType doesnt get mapped to product response in enhanceProduct helper (6347 (opens new window))
Fix bug with wrong version UI and resolve problems with parse negative number for css calc method(after upgrading SFUI to 0.11.0-rc.1) (6354 (opens new window))
Fix
Insufficient scopeerror when resetting customer's password (6403_1 (opens new window))Allow defining custom GraphQL operations that will be called with server API client (6403_2 (opens new window))
include a copy of the product object in productResponse returned by the enhanceProduct helper (6405 (opens new window))
# 1.3.2
[BREAKING] Fix loading user and cart information (6265 (opens new window))
Before After Comment Module loadUserwas called directly insidesetupmethod inCartSidebar.vuecomponentloadUseris called insideonSSRcallback inCartSidebar.vuecomponentCalling loadUserdirectly insidesetupmethod caused hydration issues, since cart information was not properly loaded during SSR. Additionally cart will now be automatically updated after callingloadfrom theuseUsercomposable, the same way as it happens when callinglogIn,logOutandregister.commercetools theme Add server-specific API client (6321 (opens new window))
# 1.3.1
- Revert changes to Webpack configuration and Google font loading (#6203 (opens new window))
# 1.3.0
[BREAKING] Enable the purchase of item with selected supply channel and distribution channel (#6161 (opens new window))
Before After Comment Module the addToCart method has the signature addToCart ({ id, version }: CartDetails, product: ProductVariant, quantity: number): Promise<CartResponse>; now the addToCart method was change to enable the supply and distribution channels with the signature addToCart ({ id, version }: CartDetails, params: { product: ProductVariant; quantity: number; supplyChannel?: string; distributionChannel?: string;}): Promise<CartResponse>; The composable was changed to match this signature. The changes from Click & Collect / MultiStore are required to use this feature on Product.vue api-client Added missing mobile menu to CT (#6184 (opens new window))
Added customQuery support for useUser factory params (#5883 (opens new window)) - vn-vlad (opens new window)
Fix locale links in core and commercetools integration (#5886 (opens new window))
Remove SSR from personalized elements (#5925 (opens new window))
Add "useStore" implementation and plugin for creating locale, currency and country cookies (#5945 (opens new window)) - vn-vlad (opens new window)
Add forgot password functionality (#5968 (opens new window))
Click "Add New Address" button on the Checkout does not submit the form (#5994 (opens new window))
Remove
generatecommand frompackage.json(#6035 (opens new window))Refactor updateCart, fix retry logic in case of mismatch of cart (#6050 (opens new window))
[BREAKING] refactor(commercetools): fix the frontend client bundling the commercetools-sdk and apollo client (#6066 (opens new window)) - bloodf (opens new window)
Before After Comment Module the "createCommerceToolsConnection" were being exported by the api-client the "createCommerceToolsConnection" is not being exported anymore to use the current connection, you will need to access the context to call the API api-client Linked banner grids buttons on homepage (#6070 (opens new window))
Replace mocked email address in MyProfile password change tab to active user email (#6079 (opens new window))
Removed hardcoded link to category in SearchResults.vue (#6081 (opens new window))
Added new product getter
getProductSku(#6107 (opens new window))Smartphone only promo code input added (#6112 (opens new window))
Updates form validation scheme for street, number and city in the checkout and profile editing pages (#6122 (opens new window))
[BREAKING] updated the removeCoupon interface to match the applyCoupon (#6126 (opens new window))
Before After Comment Module the useCart composable method removeCoupon was using this call signature: ({ coupon: COUPON, customQuery?: CustomQuery }) the method signature was changed to: ({ couponCode: string, customQuery?: CustomQuery }) on each removeCoupon composable usage need to change the "coupon" to "couponCode" composables Add new getter for orders total and change return value of searchOrders (#6132 (opens new window))
Phone number validation via awesome-phonenumber (#5951 (opens new window))
# 1.2.3
Use cookies to read information about i18n (#5919 (opens new window))
Resetting commercetools token when clearing user session (#5920 (opens new window))
Fix calculation of cart totals (#5932 (opens new window))
# 1.2.2
- Allow searching by orderNumber (#5858 (opens new window))
# 1.2.1
Add args parameter to custom queries (#5854 (opens new window))
Export factory params for all composables to allow overriding (#5862 (opens new window))
Export helper Apollo Link functions for easier overriding (#5873 (opens new window))
# 1.2.0
Set 'vsf-commercetools-token' cookie expiration time to match token expiration time. (#5774 (opens new window))
Reduce payload size for cart methods (#5836 (opens new window))
# 1.2.0-rc.3
Fix getters in
cartGettersto not throw errors when some properties don't exist (#5699 (opens new window))Fixed mapping for product attributes with type
set(#5708 (opens new window))Fixed CT wishlist throwing CAPI error (#5716 (opens new window))
# 1.2.0-rc.2
Adjust Checkout UI (#5343 (opens new window))
[BREAKING] Usage of api middleware (#5361 (opens new window))
Before After Comment Module one entrypoint multiple entrypoints We expose multiple entrypoints for server and client side interaction commercetools New part of checkout - shipping details, inside core and commercetools (#5419 (opens new window))
Added
is-authenticatedmiddleware to protect user profile routes from guest access (#5442 (opens new window))Improvements for api middleware (#5500 (opens new window))
[BREAKING] New part of checkout - Billing details, inside core and commercetools (#5552 (opens new window))
Before After Comment Module UserBillingAddress works properly New API inside Checkout/UserBillingAddress.vue Customized components to work with new checkout commercetools-theme [BREAKING] Quick search (#5566 (opens new window))
Before After Comment Module { changeSearchTerm } = useUiHelpers() { setTermForUrl } = useUiHelpers(); Changed changeSearchTerm name to setTermForUrl useUiHelpers/index.ts, { getSearchTermFromUrl } = useUiHelpers(); Created new function useUiHelpers/index.ts [BREAKING] Implementation of api middleware (#5577 (opens new window))
| Before | After | Comment | Module |
|---|---|---|---|
| customQuery was used as a function | customQuery is a key-value object | The key is a query name, value is the name of a new query function, defined in the middleware config | commercetools |
[BREAKING] New Payment API for Checkout (#5587 (opens new window))
Before After Comment Module Dedicated composable for whole checkout Dedicated composable for Shipping, Billing and Provider components undefined commercetools State as a select field at both Checkout and MyAccount (shipping & billing). Support for freeAbove in shipping methods (#5628 (opens new window)) - Fifciu (opens new window)
# 1.1.7
- fixed error with login to the account (#5613 (opens new window))
# 1.1.6
- fix register function from CT useUser composable allows user to log in #5613 (opens new window)
# 1.1.5
- remove deprecated field
descriptionfrom shipping methods query #5614 (opens new window)
# 1.1.6
- fix register function from CT useUser composable allows user to log in #5613 (opens new window)
# 1.1.5
- remove deprecated field
descriptionfrom shipping methods query #5614 (opens new window)
# 1.1.3
- cover errors in re-try apollo-link that are not comming from graphql (#5548 (opens new window))
# 1.1.2
- moved from using
attributesListtoattributesRaw - add 'once' to prevent font reload on each reactivity event (#5513 (opens new window))
# 1.1.1
- fixed
vue-lazy-hydrationdependency innuxt-theme-module(#5406 (opens new window))
# 1.1.0
- fix getOrders api (#5328 (opens new window))
- added bottom margin to fix visibility of last footer category (#5253 (opens new window))
- [BREAKING] refactored names of many factory methods and composable methods, details in linked PR (#5299 (opens new window))
- [BREAKING] changed signatures of factory methods to always 2 arguments, details in linked PR (#5299 (opens new window))
- [BREAKING] removed
totalOrdersandtotalProducts(#5330 (opens new window)) - removed
formatPricefromuseUiHelpers, replaced by vue18n$nfunction (#5339 (opens new window)) - added missing
i18ntags (#5337 (opens new window)) - use updated factories
useUserBillingFactory,useUserShippingFactoryanduseWishlistFactory(5350 (opens new window)) - use updated factories
useUserBillingFactory,useUserShippingFactoryanduseWishlistFactory(5350 (opens new window)) - fix selecting country on checkout payment and shipping (5386 (opens new window))
createMyShoppingListas a restricted anonymous operation
# 1.0.1-rc.1
- updated version of core
# 1.0.0-rc.1
- removed
availableFiltersandavailableSortingOptionsfromuseProduct(#4856 (opens new window)) - removed
@import "~@storefront-ui/vue/styles";from all components, because SFUI variables and mixins are now available globally and imports will drastically increase bundle size (#5195 (opens new window)) - enabled "modern mode" in
yarn buildcommand (#5203 (opens new window)) - added missing order getter to get item price (#5231 (opens new window))
- retry updating the cart with new version if previous request failed due to a version mismatch (#5264 (opens new window))
- removed logging level from nuxt.config.js to use defaults from core (#5304 (opens new window))
- fixed broken focus in login form (#5273 (opens new window))
- fixed select for changing variant on product page (#5281 (opens new window))
- added token re-try strategy (#5295 (opens new window))
- added discounts api getter (#5154 (opens new window))
- added context implementation (#5218 (opens new window))
- added context typings (5290 (opens new window))
# 0.2.6
- fix errors throw by some product getters (#5089 (opens new window))
- The address
contactInfofield is deprecated in the CT api. We have added support for the contact information fields directly in the address and will now show a warning when deprecated field is used (#5083 (opens new window)) - removed
chosenShippingMethoddefaulting (#5073 (opens new window)) - fix
useCheckout- set loading fields to false when api-client throws (#5096 (opens new window))
# 0.2.5
customQueryfor checkout composables (#5025 (opens new window))- api-client apollo client no longer shared between requests (#5056 (opens new window))
# 0.2.4
- Remove defaulting for checkout shipping details (#5026 (opens new window))
# Changes
- added
getTotalReviewsandgetAverageRatingtoproductGetters(#4958 (opens new window)) - added '_rating' back to the product (#4958 (opens new window))
- added mock for user shipping addresses in MyShippingDetails and Checkout's Shipping (#4841 (opens new window))
# 0.2.3
# Changes
- adding ability to overriding
isTokenUserSessioncheck in api-client (#4959 (opens new window))
# 0.2.2
# Breaking changes
- removed '_rating' from product (#4906 (opens new window))
# Changes
- Fix types for CT api-client and composables packages (#4924 (opens new window))
- fixed updateUser on useUser composable (#4863 (opens new window))
- implemented useReviews on product page (#4800 (opens new window))
- implemented faceting using useFacet factory (#4853 (opens new window))
- fixed anonymous token loading (#4917 (opens new window))
- fixed bugs related to customQuery (#4933 (opens new window) , #4913 (opens new window))
# 0.1.0
- refactored setup using apiClientFactory (#4777 (opens new window))