Releases: vuestorefront/magento2
1.0.0-rc.7
Vue Storefront for Magento 1.0.0-rc.7
Refactoring of composables
In this version, the integration packages @vue-storefront/magento
has been marked as deprecated. All things from this package, including composables, getters, and helpers have been moved to @vue-storefront/magento-theme
All composables have been refactored and moved to the theme.
- SharedRefs are not used anymore.
- from now we use the Pinia store for global state management
- instead of sharing context between each composables we use the useContext hook from Nuxt Composition API
- factories have been removed, and from now each composable is a function without dependencies on the
@vue-storefront/core
package
Getters have been moved to the theme package and marked as deprecated.
In the next releases, getters will be removed.
Helpers have been moved to the theme package
The onSSR hook is not used anymore
From now, each operation that should be performed on the server-side must be called inside on the useFetch
and the useAsync
functions that are part of Nuxt Composition API.
The i18n plugin is not used anymore
The i18n plugin from @vue-storefront/core
is not used anymore. Configuring i18n is the responsibility of the theme package from now.
Modularization
We started the process of splitting the whole app into modules. The first module is the category module that contains components and logic responsible for catalog category pages. In next releases we will continue refactorization and add modules for other parts of the app like product, checkout, account, wishlist and so on.
The full migration guide is available here.
New features
- Breadcrumbs on Category pages #819
- Loading skeletons: #681
- Styles for default Magento Static Blocks that appear on Category Landing Pages: #685
- Added possibility to navigate to nested categories in the mobile side menu #709
- Added information about selected filters in the filters sidebar #830
- Display category title below breadcrumbs #892
- Added mega menu on desktop view #903
Performance improvements
- From now, user data is loaded only on pages where it’s necessary like checkout and my account pages. In other cases, user data is not loading and thanks to that the performance on mobile is better because we decreased the time of JS long tasks. #859
- We added the storeConfig plugin and changed the approach to getting config from Magento. #862
- before we loaded the whole Magento config on page load, and we did that in layout so it was not possible to change the use different layout than the default
- after this change, we load only a few necessary fields by the Nuxt plugin.
- Thanks to that it’s possible to use other layouts like default. Moreover, this has an impact on performance because the storeConfig Magento query is not cached on the Magento side, so when we decreased the amount of data, the time of response should be faster.
- Once we updated the Storefront UI to the newest version, we were able to add support for the NuxtImage for images in the Gallery on ta Product Page #850
Bugfix
- color swatches are visible on the product page on a mobile device so from now it’s possible to add a configurable product to the cart on mobile devices. #926
- Wishlist and cart transition works correctly from now when a user opens the wishlist sidebar or cart sidebar #918
- Once the message about the not authorized user is displayed, the cookie with a message will be removed to avoid displaying the message endlessly. #775
- From now, it’s possible to add more than one product to the cart from the Category page in list mode #680
- The “your bag is empty” phrase is centered correctly from now #679
- updated the useUser composable to assign error values for an email update action #777
- removed redundant form handling requests to avoid duplicated/multiplicated requests #777
- fixed 404-page issues and my-account redirects for non-logged users #722
- fixed price caching issue on category page #793
- fallow one digit house numbers #824
- The billing address is no longer cleared while returning to the billing step on checkout #783
- removed placeholder for a sorting mechanism in the category navbar #782
- fixed wrong direction of the draggable icon on the product page (mobile) #927
- Click on a product tab click to scroll to tab content from now #931
- Prevented content jump when an option or variant is selected #933
Refactors
- Removed categoryGetters call from AppHeader.vue #853
- Removed storeConfigGetters and storeGetters from StoreSwitcher and StoresModal
- Removed categoryGetters from SearchBar.vue
- Removed category results from the Search results components #867
- Created the category module and refactored the category three components
- refactored Category page’s filters on desktop view #815
- refactored store switcher #794
- refactored cookie retrieval #797
- removed links from order's product #778
- Moved filters to sidebar on desktop view #884
- Created Grid/list components on Category page #910
- Refactored project config & env variables #813
- refactored useUiState #595
- changed homepage slider to the hero section #928
- changed products carousel on the home page to non-carousel section #914
- added skeleton loaders in category nabvar #936
Chore
- Updated StorefrontUI to 0.13.0 #781
- Updated @vue-storefront packages to 2.5.6 #740
- fixed .lintstagedrc {.vue} warning #779
- lint-staged should run only once #789
- auto-assign team members to pull requests #759
- removed commitizen prepare-commit-msg git hook #780
- Merged the three .lintstagedrc regexes into one #787
Documentation
- documentation about composables has been fully rewrote
- added documentation for API Client methods
1.0.0-rc.6
🚀 Features
- introduced the useApi composable, refactored loading configuration #612
- added LoadWhenVisible component and lazyload footer #618
💅 Refactors
- added ability to close the quick search using the keyboard #552
- disabled the add to cart button while new product configuration is being loaded #523
- made top bar graphql requests non-blocking #621
- added conditional rendering for a store switcher and currencies #606
- refactored how and where the cart is loaded #605
- added lazy-loaded wishlist and the totalItems shared field #617
- made the login modal lazy-loaded #619
- prevented loading unnecessary data on a mobile device in the AppHeader component #620
- moved search form to separate component #642
- changed VSF logo and favicon #622
- The useMagentoConfiguration composable refactorization #612
- "Save for later" button should be hidden for guest user #650
- added pagination on the category mobile view #655
- added asset optimization ‣ #628
🐛 Bugfix
- fixed deployment bugs #563
- fixed my account errors #646
- fixed page header spacing issues #556
- fixed InstagramFeed component #557
- the configurable product should work when only one attribute is used #540
- fixed checkout billing step errors #553
- fixed missing shipping address form on the checkout for a coming back customer #566
- added homepage missing german translations #630
- added HTML unescaping in HTMLContent component #532
- fixed incorrect checkbox styling #656
- fixed currency switcher is missing on mobile view #580
- fixed Login modal is displayed every time customer click account icon #580
- register Form is not displayed after Reset Password #631
- fixed Additional information tab on product page #658
- centered empty cart text and image #649
- aligned State/Province input #651
- customers cannot sort products on mobile devices #653
- fixed customer is not being moved to product details page from search form #665
- fixed Product removal confirmation out of viewport in mini cart #652
- fixed customer cannot change their email on mobile #669
- fixed cart_id GraphQL error #648
Chore
- optimized build #659
- created a dynamic
nuxt.config.js
configuration file based on you configuration
eslint
- updated
eslint-plugin-unicorn
to40.1.0
eslint-jest
- updated
eslint-plugin-jest
to26.0.0
eslint-typescript
@typescript-eslint/eslint-plugin
to5.10.2
@typescript-eslint/parser
to5.10.2
eslint-vue
- updated
eslint-plugin-vue
to8.4.0
api-client
- updated
@apollo/client
to3.5.8
- updated
graphql
to16.3.0
- updated
cross-fetch
to3.1.5
- updated
typescript
to4.5.5
- updated
dotenv
to15.0.0
- updated
msw
to0.36.8
theme
- updated
isomorphic-dompurify
to0.18.0
- updated
@babel/core
to7.16.12
- updated
cypress
to9.3.1
- updated
dotenv
to14.3.2
- updated
lint-staged
to12.3.3
- updated
mocha
to9.2.0
- updated
npm-check-updates
to12.2.1
- updated
typescript
to4.5.5
repository
- updated
@babel/core
to7.16.12
- updated
@babel/plugin-proposal-private-methods
to7.16.11
- updated
@commitlint/cli
to16.1.0
- updated
@graphql-codegen/cli
to2.4.0
- updated
@types/node
to17.0.13
- updated
@typescript-eslint/parser
to5.10.1
- updated
eslint
to8.8.0
- updated
npm-check-updates
to12.2.1
- updated
rollup
to2.66.1
- updated
vue-eslint-parser
to8.2.0
- updated
@graphql-codegen/typescript-operations
to2.2.3
- updated
@types/node
to17.0.14
- updated
@typescript-eslint/parser
to5.10.2
- updated
lint-staged
to12.3.3
1.0.0-rc.5.4
🚀 Features
theme
- Added translations for German store
- Handled currency change so customers can change currency using currency switcher
- Added possibility to use external image providers
- added possibility to use server-side cache and Redis
💅 Refactors
composables
& theme
- [Multistore] fixed multistore setting for new page visitors, handled default store
- PR: #508
- added SSR optimization for the default layout and improved performance
🐛 Bugfix
theme
& composables
Visual fixes
- fixed bundle product visual issues
- Fixed image placeholder rendering on category pages
- Issue: #407
- Fixed product page visual issues on tablet devices
- Fixed the home icon in mobile bottom nav alignment
Checkout / Cart
- Billing address no longer overrides shipping address on checkout
- Added validation for each checkout step
- Improved checkout layout on tablet devices
- Fixed checkout payment step visual issues
- Fixed shipping method price displayed on checkout summary
- [Cart]Added possibility to insert the multidigit quantity
- added cart clearing after log out
- cart product list-keys no longer duplicate themself
- Cart is not loaded multiple times on page load anymore
- fixed product thumbs rendering in the cart for configurable products
Customer / My Account
- handled expired user tokens and log-outs
- Added possibility to got to order details page on desktop and mobile
- fixed bug related to wishlist sidebar, so after log-in customers can see products in the wishlist sidebar (by clicking the heart icon on the header)
- Added empty reviews view on My Account pages
- [My Account] fixed password change view
- fixed missing address details tab for non-english locale stores
- Address fields are populated correctly when customer wants to change the existing address
- Customer is redirected to address page after adding a new address
Catalog
- Disabled add to cart button when configurable product is not fully loaded
- Added possibility to remove products from wishlist on Category pages in list mode
- Customers from now can add products to their wishlist using mobile devices
Other
- Fixed CMS pages loading issue
composables
useFacets composable does not ignores custom queries anymore
📗 Docs
- added documentation about reCaptcha configuration https://docs.vuestorefront.io/magento/guide/recaptcha.html
- added documentation about Server-Side cache & Redis https://docs.vuestorefront.io/magento/guide/ssr.html
- added documentation about external images optimization https://docs.vuestorefront.io/magento/guide/configuration.html#image-providers
🏡 Chore
repository
- added possibility to extend nuxt.config during deployment: #522
- extracted styles to separate .css chunks: #516
- a modified deployment configuration added new env variables etc.: #515, #515
- added Sentry for handle error logging: #507
- removed JS chunks configuration and improved performance: ‣
Other
partial support for reCaptcha
1.0.0-rc.5.3
🚀 Features
💅 Refactors
- added Cookie manipulation on store changing and locale cookie manipulation
🐛 Bugfix
- refactored and fixed store switcher
- fix preselection of sort order when query param is available
- fixed broken cart after placing an order as guest
- fixed flashing category page
- fixed default address selection on address book
- updated URL resolver clearing mechanism to get rid of locale prefix before making an API call.
- fixed links to catch current locale
- fixed my account nav titles alignment
- fixed useFacet(...) customQuery implementation
- fixed 404 issue when redirecting to address details page
- fixed carts with out of stock products
📗 Docs
🏡 Chore
repository
- added gitflow actions to draft new release
- updated VSF core to 2.5.4
- removed html-validator
- updated dependencies
- scaffolded unit tests in composables and api client package
Other:
- Analyzed storefront performance issues #348
1.0.0-rc.5.2.2
💅 Refactors
composables
- fixed
customQuery
not being called
theme
- fixed the user password update params
1.0.0-rc.5.2
🚀 Features
theme
- Configured Jest and Vue Testing Library, and added sample tests #279
💅 Refactors
api-client
- updated Apollo to Apollo 3 #266
- added locale cookie manipulation to state #311
- updated the usage of
customQuery
and applied correct params #363
composables
- added Cookie manipulation on store changing and locale cookie manipulation #311
theme
- updated store changing behavior, added
nl-NL
flag to icons and added configs for other currencies on the nuxt-i18 #311 - moved html-validator to dev dependencies #357
- refactored UserAccount component
🏡 Chore
repository
- updated
@types/jsdom
to16.2.14
- updated
@typescript-eslint/parser
to5.8.0
- updated
eslint
to8.5.0
- updated
lint-staged
to12.1.3
eslint
- updated
eslint-plugin-promise
to6.0.0
eslint-typescript
- updated
@typescript-eslint/eslint-plugin
to5.8.0
- updated
@typescript-eslint/parser
to5.8.0
api-client
- updated
graphql
to16.2.0
composables
- updated
@vue/composition-api
to1.4.2
theme
- updated
@storefront-ui/vue
to0.11.5
- updated
@babel/core
to7.16.5
- updated
@testing-library/jest-dom
to5.16.1
- updated
cypress
to9.2.0
- updated
jest-environment-jsdom
to27.4.4
- updated
lint-staged
to12.1.3
🐛 Bugfix
theme
- Fixed quick search issues #359
api-client
- Fixed product details query extensibility issues #361
- fixed api-client mutations missing variables issue #362
repository
- build: fixed build issues related to new yarn version #364
📗 Docs
1.0.0-rc.5.1
🚀 Features
theme
- added
@nuxt/html-validator
module - added reusable AddToWishlist component #278
💅 Refactors
api-client
- add the possibility to override default queries #291
composables
- a fixed type of bundle option entered value (from number to a string) closes #310
theme
- fixed bundle product rendering closes #310
- fixed bundle product HTML validation issues closes #310
- fixed duplicates keys in bundle product options closes #310
- fix
Start Shopping
button not redirecting closes #299 - remove password strength on Login Modal resolve #295
- fix Vue Router error on store change resolve #304
🐛 Bugfix
api-client
- removed braintree leftover from API calls
1.0.0-rc.5
🚀 Features
- added base support for Virtual and Downloadable products
- added cart coupon code input
- added base support for multi-store
- configured remote environments and deployments: dev, stage, prod
composables
- added storeGetters getters functions
- added neighborhood, extra, and tax field on addresses getters
- added exported API types
theme
- created and applied addToCart composable function
- added pagination on the MyOrderHistory page
- created new HTMLContent component
💅 Refactors & FIxes
theme
- fixed core web vitals results
- fixed sidebar loading
- removed minimal char amount in street fixes
- removed @vue/composition-api and added @nuxtjs/composition-api
- fixed the @nuxtjs/composition-api calls and usages
- added the useGETForQueries as option in the middleware.config.js
- fixed wishlist icon display
- added wishlist pagination support on MyAccount area (closes [Bug]: Pagination for wishlist #219)
- improved wishlist theme page
- improved MyAccount base page
- removed allow_remote_shopping_assistance from user
- created and applied addToCart composable function
- created currencySelector component
- created and applied handleChanges composable function for Magento configuration
- added pagination in MyOrderHistory page
- fixed password regex rules
- fixed product configuration URL #117
- fixed losing the state in shipping / billing step related to region
- removed duplicated api call #220
- updated customer password regex #248
- fixed address creation navigation issue #256
- updated cart item key to stop rendering #287
api-client
- fixed categoryList.ts query
- fixed categorySearch.ts query
- improvements in GraphQL client
- added pagination in user order and wishlist and enhanced API speed
- enabled default useGETForQueries to true for apollo-http-link
- fixed missing type CustomerOrdersFilterInput
- removed allow_remote_shopping_assistance from user
- fixed reset password APIs
- added missing vat_id field
- added missing pagination information in orders
composables
- removed vue-demi and added @vue/composition-api
- improved cart error handling
- improved facet prices filter
- added wishlist pagination and wishlist factory
- removed allow_remote_shopping_assistance from user
- fixed useUserOrder pagination parameters
- added missing pagination on orderGetters
- fixed itemsPerPage default value to 10
- fixed storeConfigGetters adding types
- removed redundant debugger statement
- solved duplicate addresses when creating an order #196
- solved cart data update on login/logout action
- fixed adding to wishlist #190
- fixed cookie values
repository
- fixed the rollup script build
- fixed builds on
develop
andmain
branches
🏡 Chore
- updated README with new VSF brand
- fixed vue-demi version on 0.11.4
- chore: fixes Conventional PR GH Action
updated dependencies and devDependencies
eslint-typescript
- updated
@typescript-eslint/eslint-plugin
to5.6.0
- updated
@typescript-eslint/parser
to5.6.0
eslint-vue
- updated
eslint-plugin-vue
to8.2.0
api-client
- updated
@vue-storefront/core
to2.5.2
- updated
@apollo/client
to3.5.6
- updated
graphql
to16.1.0
composables
- updated
@vue-storefront/core
to2.5.2
theme
- updated
@nuxtjs/composition-api
to0.31.0
- updated
@vue-storefront/core
to2.5.2
- updated
@vue-storefront/middleware
to2.5.2
- updated
@vue-storefront/nuxt
to2.5.2
- updated
@vue-storefront/nuxt-theme
to2.5.2
- updated
cypress
to9.1.1
- updated
mochawesome-merge
to4.2.1
- updated
npm-check-updates
to12.0.3
- updated
ts-jest
to27.1.1
repository
- updated
@types/node
to16.11.12
- updated
@typescript-eslint/parser
to5.6.0
- updated
eslint
to8.4.1
- updated
npm-check-updates
to12.0.3
- updated
@graphql-tools/utils
to8.5.4
- updated
rollup
to2.61.0
- updated
ts-jest
to27.1.1
📗 Docs
- refined project setup description
- Added documentation for the useStore composable
1.0.0-rc.4.5
🚀 Features
api-client
- added
customApolloHttpLinkOptions
config options to customize GraphQL API client
https://devdocs.magento.com/guides/v2.4/graphql/caching.html
theme
- added the
useGETForQueries
parameter as option inmiddleware.config.js
💅 Refactors
composables
- removed
vue-demi
and added@vue/composition-api
theme
- removed minimal char amount in street fixes #232
- fix password RegExp (closes #238)
- fix category not displaying products (closes #236)
- fix customizable product not being able to add t o cart (closes #228)
- fix notification on password change (closes #231)
- fix over pagination (closes #239)
- fix filter product not showing result (closes #230)
- fix wishlist icon not showing for product card (closes #229)
- added no-fetch param to
CategorySidebarMenu.vue
to prevent souble API calls - removed
@vue/composition-api
and added@nuxtjs/composition-api
- fixed the
@nuxtjs/composition-api
calls and usages - added the
useGETForQueries
as option in themiddleware.config.js
repository
- fixed the rollup script build
🏡 Chore
updated dependencies and devDependencies
eslint
- updated eslint-config-airbnb-base to 15.0.0
- updated eslint-config-airbnb-typescript to 15.0.0
- updated eslint-plugin-unicorn to 38.0.1
eslint-import
- updated eslint-plugin-import to 2.25.3
eslint-jest
- updated eslint-plugin-jest to 25.2.4
eslint-typescript
- updated @typescript-eslint/eslint-plugin to 5.3.1
- updated @typescript-eslint/parser to 5.3.1
eslint-vue
- updated eslint-plugin-vue to 8.0.3
api-client
- updated @apollo/client to 3.4.17
- updated @vue-storefront/core to 2.5.0
- updated graphql to 16.0.1
- updated graphql-tag to 2.12.6
composables
- updated @vue-storefront/core to 2.5.0
- updated jsdom to 18.0.1
- updated @nuxtjs/composition-api to 0.29.3
theme
- updated @vue-storefront/core to 2.5.0
- updated @vue-storefront/middleware to 2.5.0
- updated @vue-storefront/nuxt to 2.5.0
- updated @vue-storefront/nuxt-theme to 2.5.0
- updated @storefront-ui/vue to 0.11.2
- updated vee-validate to 3.4.14
- updated cypress to 9.0.0
- updated lint-staged to 11.2.6
- updated mochawesome to 7.0.1
- updated mochawesome-report-generator to 6.0.1
- updated npm-check-updates to 12.0.2
repository
- updated @babel/core to 7.16.0
- updated @babel/plugin-proposal-private-methods to 7.16.0
- updated @commitlint/cli to 14.1.0
- updated @commitlint/config-conventional to 14.1.0
- updated @commitlint/config-lerna-scopes to 14.1.0
- updated @graphql-codegen/cli to 14.1.0
- updated @graphql-codegen/typescript to 2.3.1
- updated @graphql-codegen/typescript-operations to 2.2.0
- updated @graphql-tools/utils to 8.5.3
- updated @manypkg/cli to 0.19.1
- updated @types/node to 16.11.7
- updated @typescript-eslint/parser to 5.3.1
- updated @vue/eslint-config-typescript to 9.0.1
- updated eslint to 8.2.0
- updated lint-staged to 11.2.6
- updated npm-check-updates to 12.0.2
- updated rollup to 2.59.0
- updated vue-eslint-parser to 8.0.1
1.0.0-rc.4.3
🚀 Features
api-client
- added
Currency
&Store
header support in Apollo requests - added pagination parameter user order and wishlist #224
theme
- added possibility to add coupon code on cart sidebar #158
💅 Refactors
api-client
- removed image from the categories queries fixes #204
- applied new Apollo caching techniques
- enhanced caching on GraphQL API calls #224
composables
- fixed cookie values #216
- fixed adding to wishlist #213
- fixed cart data update on login & logout #209
- fixed duplicate addresses when creating order #208
theme
- removed duplicated API call on
VsfShippingProvider
#225 - fixed region being lost in the state in shipping and billing step #214
- fixed duplicate addresses when creating order #208
🏡 Chore
updated dependencies and devDependencies
eslint
- updated eslint-plugin-unicorn to 37.0.1
- updated eslint-plugin-promise to 5.1.1
eslint-import
- updated eslint-plugin-import to 2.25.2
eslint-jest
- updated eslint-plugin-jest to 25.2.2
eslint-typescript
- updated @typescript-eslint/eslint-plugin to 5.1.0
- updated @typescript-eslint/parser to 5.1.0
eslint-vue
- updated eslint-plugin-vue to 7.20.0
api-client
- updated @apollo/client to 3.4.16
- updated @rollup/plugin-commonjs to 21.0.1
- updated @vue-storefront/core to 2.4.5
- updated graphql to 15.6.1
- updated typescript to 4.4.4
composables
- updated @vue-storefront/core to 2.4.5
- updated @types/js-cookie to 3.0.0
- updated jsdom to 18.0.0
theme
- updated @storefront-ui/vue to 0.11.0
- updated @vue-storefront/core to 2.4.5
- updated @vue-storefront/middleware to 2.4.5
- updated @vue-storefront/nuxt to 2.4.5
- updated @vue-storefront/nuxt-theme to 2.4.5
- updated babel-jest to 27.3.1
- updated convict to 6.2.1
- updated cypress to 8.6.0
- updated cypress-tags to 0.3.0
- updated jest to 27.3.1
- updated jest-watch-typeahead to ****
- updated lint-staged to 11.2.4
- updated mochawesome to 6.3.1
- updated ts-jest to 27.0.7
- updated typescript to 4.4.4
repository
- updated **** to 8.0.0
- updated @babel/core to 7.15.8
- updated @commitlint/cli to 13.2.1
- updated @commitlint/config-conventional to 13.2.0
- updated @commitlint/config-lerna-scopes to 13.2.0
- updated @graphql-codegen/cli to 2.4.5
- updated @graphql-codegen/typescript to 2.2.4
- updated @graphql-codegen/typescript-operations to 2.1.8
- updated @graphql-tools/utils to 8.5.0
- updated @types/node to 16.11.4
- updated @typescript-eslint/parser to 5.1.0
- updated @vue/eslint-config-typescript to ****
- updated eslint to 8.1.0
- updated husky to 7.0.4
- updated jest to 27.3.1
- updated jest-watch-typeahead to 1.0.0
- updated lint-staged to 11.2.4
- updated rollup to 2.58.1
- updated ts-jest to 27.0.7
- updated ts-node to 10.4.0
- updated vue-eslint-parser to 8.0.0