Releases

Announcing Vendure v2.3 & v3.0

July 17, 2024

Michael Bromley

Michael Bromley

CTO & Co-Founder

Today sees the release of Vendure v2.3 as well as the next major version, v3.0

As covered in our recent post on Vendure's new licensing models, version 2.3 will be the last feature release on the 2.x line, as well as the last release under the MIT license.

Version 3.0 is identical to v2.3 with the only difference being that the license of v3.0 is GPL v3.0.

In this post we will cover what is new, as well as looking ahead at the roadmap from v3.0 onwards.

What's new in v2.3 & v3.0?

Vendure v2.3 and v3.0 include the following new features. There are no breaking API changes, so upgrading should be as simple as updating your package.json and installing the new versions. For more information about updating, see the Updating Vendure guide.

  • [admin-ui] Add support for tabs on custom UI routes (26b4ea5)
    Your custom Admin UI routes can now support tabs by setting a locationId. This means that in your re-usable plugins you can enable plugin consumers to further extend your plugin interface with tabs of their own.

  • [admin-ui] Enable useQuery hook to refetch on channel change (3d516ea), PR #2869
    For those using React components to extend the Admin UI, you can now have the useQuery hook automatically re-fetch the data whenever the user switches channel in the Admin UI.

  • [core] Add RefundEvent & publish on Refund creation (cb08427), PR #2832
    This new event will now be published when Refunds are created, allowing you to hook into and respond to these events with custom code.

  • [core] Make Refund process configurable (c8f1d62), PR #2942
    You can now fully configure the Refund process (just like you can with Orders, Fulfillments and Payments). This unlocks more advanced control & customization of how refunds are handled in your app.

  • [core] Publish event when OrderLine cancelled (213a26b), PR #2829
    You can now subscribe to any time an OrderLine gets cancelled, and trigger custom logic.

  • [create] Support SSL enforced PostgreSQL databases (65b4f3c), PR #2905
    When setting up a new project you can now directly connect to postgres servers that require an SSL connection.

  • [email-plugin] Add support for computed email subject (e546f24), PR #2863
    When defining email event handlers, the .setSubject() method can now accept a function, allowing you to dynamically set the subject based on more advanced logic. For instance, this allows you to set different subjects based on the active channel, or on the location of the customer.

  • [email-plugin] Add support for dynamic globalTemplateVars (cab67b6), PR #2950
    Template variables can now be dynamically computed, enabling support for advanced functionality like channel-based theming and branding. See our new docs on this feature.

  • [ui-devkit] Support pnpm to build UI extensions (37e6a35), PR #2877
    When using compileUiExtensions() to generate a custom Admin UI, you can now specify command: 'pnpm' which will allow the UI compiler to correctly run in projects that use pnpm.

Here's the complete changelog.

Version 3.0, GPL & Roadmap

As mentioned, Vendure v3.0 is identical to v2.3 in terms of functionality. The only difference is that this is the first release under the new GPL v3 license. This means that updating to v3.0 should be very straightforward and this is the recommended path.

For those companies who are still evaluating the implications of the license change in v3.0, you can update to v2.3 and in the mean time please read my recent article on Busting the Myth of GPL which I hope can answer any doubts or reservations you may have about what the GPL means for you. For the vast majority of our users, the license change will have negligible practical impact.

Going forward, all feature development will occur on the v3.0 line. Version 2.3 will see only critical bugfixes & security patches until reaching end-of-life on 31st December 2024.

In contrast, we have a lot of incredible new features planned for version 3 which we will begin releasing later this year. Some highlights include:

  • Refreshed Admin UI built on Tailwind
    We will refresh our Admin UI and in the process move from Clarity to Tailwind. This will additionally streamline the experience of authoring UI extensions, allowing you to use your own Tailwind-based components in both Angular and React. All of this will be backwards-compatible with existing extensions, of course.

  • Improved automations with the Vendure CLI
    Along with expanded capabilities, our CLI tool will get new programmatic APIs, allowing you to directly script & automate on top of its powerful features. This unlocks seamless integration with tools like Nx generators and executors.

  • Introduce an SDK to simplify building clients apps
    We're designing an SDK which will handle details like authentication, session management, language handling, and channel selection whilst preserving the full power of GraphQL. This will enable you to build client applications in record time without running in to the edge-cases and issues that we have already solved for you.

  • Structured data in custom fields
    Our powerful custom fields feature will be able to store structured data, massively boosting the scope of customizations you can build to support even more use-cases.

  • Order interceptor API
    We'll be introducing a powerful new set of APIs which will enable you to intercept and run custom code on any changes to an Order. These APIs will unlock advanced use-cases such as product bundles, order quantity limits, and protecting orders with a captcha mechanism.

Thank you, Vendure community!

We would like to thank our community for your continued support, suggestions, bug reports and code contributions. A special thanks goes to our Open Source Community Team who have been busy triaging issues, moderating & helping in our community Discord and working on new content and documentation.

Building a project of the scope of Vendure is no small task, and furthermore, creating a sustainable company and ecosystem around an open-source project is even more challenging. We very much appreciate all the support we have received as we start this new chapter for Vendure.

The following people contributed directly to these releases:

21_Reinite, Andreas Sonnleitner, Balazs Gallay, Edgar Jegorov, Gautier Darchen, HotTotem, Jeremy Milledge, Leonid Vinogradov, Pieter Doms, Shubham Vishwakarma, Tiis, vjung28, Marc Schipperheijn

Vendure
Get started

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.

Newsletter

Get the latest product news and announcements delivered directly to your inbox.

© Copyright 2022 - 2024, Vendure GmbH. All rights reserved.