CHANGELOG_v2.md
typescript to dev dependencies (#2816) (b3c29e7), closes #2816This release contains no changes - it was published to fix a mistake
in the publishing of the @vendure/[email protected] package.
jobQueueStrategy.add function (#2770) (f869a17), closes #2770Not unique table/alias (#2740) (357ba49), closes #2740 #2738entity$ observable on action bar context (3f07179)registerAlert provider for custom UI alerts (698ea0c), closes #2503q query param for dynamic quality (b96289b)maxAge and expires options in cookie config (c903388), closes #2518amount field to RefundOrderInput (fe43b4a), closes #2393gracefulShutdownTimeout to DefaultJobQueuePlugin (cba06e0)precision property to MoneyStrategy (c33ba63)products list in Admin API (876d1ec), closes #2519enabled field for Product in shop api (#2541) (f6f2975), closes #2541setOrderCustomer mutation (26e77d7), closes #2505ProductVariantPriceEvent (aa4eeb8)ProductVariantPriceUpdateStrategy (9099f35), closes #2651prefix option to route config to allow overrides (babe4f4), closes #2705updatedAt column when updating translation (#2630) (44fc828), closes #2630refundOrder (#2559) (b5a265f), closes #2559This patch addresses the following security advisory: https://github.com/vendure-ecommerce/vendure/security/advisories/GHSA-wm63-7627-ch33
status of Mollie payment methods (#2499) (071aa9db)Facet.valueList resolver for paginated values (09c7175), closes #1257In the Admin UI, the "stock locations" list and detail views
have been moved from the "catalog" module to the "settings" module. Also, the
menu item & breadcrumb for "inventory" has been renamed to "products". This is an end-user breaking change rather than a code breaking change. Any UI
extensions that link to a /catalog/inventory/... route will still work as there is a redirect in place to /catalog/products/....
The update of Apollo Server to v4 includes some breaking changes if you have defined any custom ApolloServerPlugins. See the Apollo migration guide for full details: https://www.apollographql.com/docs/apollo-server/migration/
The new Promotion.usageLimit field will require a non-destructive database migration to be performed. You should not need to do any manual migration work - it is a straightforward addition of a field to a table.
The ForbiddenError now defaults to a "warning" rather than "error" log level. Previously this was causing too much noise in logging services and the new level better reflects the severity of the error.
If after update you are running into the error [GraphQL error]: Message: POST body missing, invalid Content-Type, or JSON object has no keys., this may be due to having the body-parser json middleware configured in your app. You should be able to safely remove this middleware in order to resolve the issue.
Note: although we now have complete translations for Arabic & Hebrew, the right-to-left layout support is still in progress, so if you use these languages you will encounter layout issues.
<a> tags in rich text editor (8f72e1e), closes #2281loginUrl is provided (#2175) (c0630fb), closes #2175topLevelOnly collections option in Shop API (ed28743)compatibility check to VendurePlugin metadata (d18d350), closes #1471topLevelOnly filter to collection list query (66b8c75)redirecturl dynamic (#2094) (b452419), closes #2094 #2093When updating from v1.x, please see the Migration Guide.
<vdr-page-block> (or <div class="page-block">) will improve things.DataService, you might find that some no longer exist. They are now deprecated and will eventually be removed. Use the dataService.query() and dataService.mutation() methods only, passing your own GraphQL documents.channels mutation now returns a PaginatedList rather than a simple array of Channels.taxCategories mutation now returns a PaginatedList rather than a simple array of TaxCategory objects.zones query now returns a PaginatedList rather than a simple array of Zone objects. Likewise, the ZoneService.findAll() method also returns a paginated list.
The old behaviour of ZoneService.findAll() (all Zones, cached for rapid access) can now be found under the new ZoneService.getAllWithMembers() method.vdr-product-selector has been renamed to vdr-product-variant-selector to more accurately represent what it does. If you are using vdr-product-selector if any ui extensions code, update it to use the new selector.CustomOrderProcess, CustomFulfillmentProcess or CustomPaymentProcess. Details in the migration guide.Channel.currencyCode field has been renamed to defaultCurrencyCode, and a new currencyCode field has been added to the ProductVariantPrice entity.Money scalar, which replaces Int used in v1.x. In practice, this is still a number type and should not
break any client applications. One point to note is that Money is based on the Float scalar and therefore can represent decimal values, allowing fractions of cents to be represented.translations array for setting the name and description in a given language.Region entity has been introduced, which is a base class for Country and the new Province entity. The Zone.members property is now an array of Region rather than Country, since Zones may now be composed of both countries and provinces. If you have defined any custom fields on Country, you'll need to change it to Region in your custom fields config.@aws-sdk/client-s3 & @aws-sdk/lib-storage packages, and can remove the aws-sdk package.Changelogs for versions prior to v2.0.0 can be found in the CHANGELOG_v1.md file.