Announcing Vendure v1.1
June 07, 2023
Upgrading from v1.0.x
This minor release contains no breaking schema or GraphQL API changes, so updating should be a matter of changing all @vendure/...
dependencies in your package.json file to 1.1.0
.
{
"dependencies": {
- "@vendure/admin-ui-plugin": "1.0.3",
- "@vendure/asset-server-plugin": "1.0.3",
- "@vendure/core": "1.0.3",
- "@vendure/elasticsearch-plugin": "1.0.3",
- "@vendure/email-plugin": "1.0.3",
- "@vendure/ui-devkit": "1.0.3",
+ "@vendure/admin-ui-plugin": "1.1.0",
+ "@vendure/asset-server-plugin": "1.1.0",
+ "@vendure/core": "1.1.0",
+ "@vendure/elasticsearch-plugin": "1.1.0",
+ "@vendure/email-plugin": "1.1.0",
+ "@vendure/ui-devkit": "1.1.0",
},
"devDependencies": {
- "@vendure/testing": "1.0.3",
+ "@vendure/testing": "1.1.0",
}
}
New Features in v1.1
"Since" data added to API docs
Our TypeScript API docs now include information on which Vendure version an API was introduced. It looks like this:
New text
custom field type
It is now possible to define a custom field with the type 'text'
. This differs from the 'string'
type in that it is not limited to 64k of data, since internally it will use the text
or longtext
data type of your database, which allows the storage of very large amounts of data.
This can be suitable for storing things like large JSON objects or descriptions which may exceed 64k in length.
New StockMovementEvent
A brand-new event type, StockMovementEvent can now be subscribed to with the EventBus. This event is published whenever the stock level of a ProductVariant is changed, e.g. due to adjustments, sales, allocations and cancellations.
Search API improvements
The search
query now exposes a new collections
field, which provides an array of all the Collections to which the search results belong. This works very much in the same way as the existing facetValues
field, and can be used to add collection-based navigation to the search results page in your storefront.
This has been implemented in both the DefaultSearchPlugin and in the ElasticSearchPlugin.
Improvements to EmailPlugin
Email handlers now have a new method, setOptionalAddressFields(), which allows the cc
, bcc
and reply-to
fields to be set.
It is also now possible to specify attachments as a stream or buffer, in addition to the existing method of specifying a file path.
Admin UI improvements
The Admin UI is now available in Ukranian.
The promotions list view now allows promotions to be filtered by name or coupon code.
New OptionGroups may now be added to existing Products via the "manage variants" view.
Custom field controls are now displayed in the Order detail table as well as in the Fulfillment detail card.
Other notable features
It is now possible to configure the rules around accessing a completed order by order code for guest customers. Previously the logic was hard-coded that a guest customer could view a completed order for up to 2 hours after checkout (to allow an order summary screen to be displayed in the storefront). This logic is now configrable via the new OrderByCodeAccessStrategy.
The
TransactionalConnection.getEntityOrThrow()
method can now be configured with retry logic. This can be useful when working with the EventBus and subscribing to the creation of new entities which may not be initially visible due to an ongoing transaction.Middleware can now be configured to execute earlier in the middleware stack.
The VendurePlugin
entities
array may now be defined via a function.The CSV import format now supports importing custom field lists.
The performance of the
apply-collection-filters
(one of the most commonly-run background jobs) has been drastically improved - from between 2 - 8x faster depending on your inventory and number of Collections.
Thank you to our contributors
I'd like to thank the wonderful Vendure community who contribute their ideas, bug reports, and code to the project daily. This release includes contributions by:
Andrew Kirillov:
Artem Danilov:
feat(search): add to SearchResponse collections array (#956)
Dmytro Kostenko:
feat(admin-ui): Add ability to filter promotions by name or coupon code
perf(core): Improve performance of apply-collection-filters job (#915)
Kai Chu:
fix(admin-ui): Fixed unsupported plural for Simple Chinese translation (#888)
Karel Van De Winkel:
fix(core): Make verifyCustomerAccount channel-independent (#945)
Create your first commerce experience with Vendure in less than 2 minutes
Vendure is a registered trademark. Our trademark policy ensures that our brand and products are protected. Feel free to reach out if you have any questions about our trademarks.
Documentation
Newsletter
Get the latest product news and announcements delivered directly to your inbox.