github vendurehq/vendure v3.6.1

7 hours ago

Highlights

This patch release addresses some important issues that were flagged by our community after the recent v3.6.0 release. Thank you to everyone who contributed issue reports and PRs with fixes!

Product creation flow improvements

This release includes several fixes and improvements to the product creation experience in the dashboard:

  • Single-variant products no longer require option groups (#4616) -- You can now create a product with a single variant directly, without needing to set up option groups first. This simplifies the workflow for products that don't have multiple options (e.g. sizes, colors).
  • Validation no longer blocks unchecked variant rows (#4610) -- Previously, unchecked (excluded) variant rows in the creation form could still trigger validation errors, preventing you from saving. These rows are now correctly skipped during validation.
  • Fixed option group edit link on variant detail page (#4620) -- The link to edit an option group from the variant detail page was broken; this is now corrected.
image

CLI codemod fix

  • tsconfig resolution in the migration codemod (#4599) -- The @vendure/cli codemod for migrating dashboard extensions now correctly resolves tsconfig.json by walking up from the target directory rather than only looking in the current working directory. This fixes failures when running the codemod from a different directory than where the tsconfig lives.

Core fixes

  • Product channel assignment (#4618) -- assignProductsToChannel was not correctly assigning the Product entity itself to the target channel, only its variants. This is now fixed.
  • Order splitting channel deduplication (#4632) -- When an order's channel matched the default channel, the OrderSplitter could produce duplicate channel entries, causing issues downstream. Channels are now correctly deduplicated.

Dashboard fixes and improvements

  • Toaster z-index stacking (#4634) -- Toast notifications are now portalled to document.body, fixing an issue where they were hidden behind dialogs due to CSS stacking context isolation.
  • Address dialog scrollability (#4622) -- The address dialog is now scrollable with a max height, fixing overflow issues on smaller screens.
  • Query key invalidation (#4630) -- Fixed a cache invalidation mismatch that could cause stale data after mutations.
  • Zod v4 support (#4607) -- The dashboard now supports Zod v4 and re-exports Zod from @vendure/dashboard, so extensions don't need to manage their own Zod dependency.
  • Dashboard widget permissions (#4627) -- Dashboard widgets can now specify requiresPermissions, restoring a capability from the legacy Angular admin UI. The built-in order widgets are now gated behind ReadOrder.

What's Changed

  • ci: Fix Playwright install in publish_and_install workflow by @michaelbromley in #4603
  • ci: Use cd instead of working-directory for Playwright install by @michaelbromley in #4605
  • feat(dashboard): Support Zod v4 and re-export Zod from @vendure/dashboard by @dlhck in #4607
  • fix(ci): Remove [skip ci] from docs manifest commit to unblock PR checks by @dlhck in #4611
  • fix(dashboard): Use index-based identification for collection filters by @grolmus in #4428
  • fix(dashboard): Skip validation for unchecked variant rows by @michaelbromley in #4610
  • chore(dashboard): Sync i18n catalogs by @michaelbromley in #4613
  • fix(cli): Resolve tsconfig by walking up from target directory by @michaelbromley in #4599
  • fix(dashboard): Fix collection filter e2e test selector by @michaelbromley in #4615
  • feat(dashboard): Allow creating single variant without option groups by @michaelbromley in #4616
  • fix(ci): Tolerate i18n line reference changes in sync check by @michaelbromley in #4617
  • fix(core): Assign Product entity to channel in assignProductsToChannel by @michaelbromley in #4618
  • fix(dashboard): Fix option group edit link on variant detail page by @michaelbromley in #4620
  • refactor: Replace local docs generation code with @vendure-io/docs-generator by @oliverstreissi in #4626
  • fix: Make address dialog scrollabe with max h by @Ryrahul in #4622
  • fix: Match query key invalidation by @Ryrahul in #4630
  • fix(core): Deduplicate channels in OrderSplitter when channelId matches default (#4631) by @Draykee in #4632
  • fix: Add creator portal in toaster to avoid isolation:isolate stacking by @Ryrahul in #4634
  • feat(dashboard): Add requiresPermissions support to dashboard widgets by @niko91i in #4627

Full Changelog: v3.6.0...v3.6.1

Don't miss a new vendure release

NewReleases is sending notifications on new releases.