github vendurehq/vendure v3.7.1

3 hours ago

Highlights

A maintenance patch on top of 3.7.0. It fixes a batch of core, dashboard, and @vendure/create issues, moves a stray type dependency in the email plugin into dependencies, and adds request-scoped DataLoader batching when resolving relation custom fields. Thanks to everyone who reported bugs and sent in PRs.

Core

  • Public API type dependencies delivered to consumers (#4947) — types that the public API depends on are now shipped, fixing broken consumer type resolution.
  • Hydration merges shared entity instances (#4945) — shared entity instances are merged into every hydration target, fixing stale/partial hydrated relations.
  • Non-list ID config args no longer double-encoded (closes #2483, #4856) — corrects ID encoding for non-list configurable-operation args.
  • Tax-inclusive shipping cancellation (#4370) — cancelling shipping with pricesIncludeTax now uses the tax-inclusive amount.
  • Promotion condition threshold validation (#4922) — minimum threshold is now validated in promotion conditions.

Dashboard

  • Remove from group bulk action for customer group members (#4346).
  • Option groups can be removed from the product detail page (#4876).
  • Draft order editing no longer removes a line accidentally when changing quantity (#4345); modified line quantities are reflected in the refund dialog (#4917).
  • i18n — added several missing translation strings (#4074) and localised the configurable-operation selector buttons (#4914).
  • Experimental bundle mode now shares context libraries correctly (#4967).

Other

  • @vendure/create — fixed Quick Start hangs and package-manager install failures (#4946).
  • email-plugin@types/nodemailer moved into dependencies (#4942).

Performance

  • Relation custom fields are now resolved with request-scoped DataLoader batching, cutting redundant queries.

What's Changed

  • chore: Consolidate agent skills directory by @dlhck in #4911
  • fix(core): Use tax-inclusive amount when cancelling shipping with pricesIncludeTax by @BibiSebi in #4370
  • fix(dashboard): Reflect modified line quantities in refund dialog by @grolmus in #4917
  • [FIX] Save and serve files with correct Content-Type by @kwerie in #4404
  • fix(core): validate minimum threshold in promotion conditions by @Sanjuhub in #4922
  • fix(core): Export and register Province entity and ProvinceService by @grolmus in #4857
  • fix: assign facets to channel when re-importing products via CSV by @Ryrahul in #4713
  • Fix typo in channel-aware entities description by @mistuttodos in #4927
  • fix(dashboard): Add several missing translation strings by @lucatk in #4074
  • test(core): add unit tests for buy-x-get-y-free promotion condition by @GabrielRoc in #4879
  • fix(dashboard): Localize configurable operation selector buttons by @grolmus in #4914
  • fix(core): Stop double-encoding non-list ID config args by @ryandiginomad in #4886
  • ci: skip docs workflows on draft PRs by @BibiSebi in #4938
  • fix(core): retain v3.6 migration helpers to avoid breaking committed migrations by @michaelbromley in #4939
  • fix(create): Fix Quick Start hangs and package-manager install failures by @michaelbromley in #4946
  • fix(email-plugin): Move @types/nodemailer to dependencies by @grolmus in #4942
  • chore: Align root @types/nodemailer pin with nodemailer@9 by @grolmus in #4944
  • chore: Share CI-aware vitest timeout and worker settings across packages by @michaelbromley in #4948
  • fix(core, asset-server-plugin): Deliver public API type dependencies to consumers by @michaelbromley in #4947
  • fix(core): Merge shared entity instances into every hydration target by @ryandiginomad in #4945
  • chore(core): Fix flaky e2e search-index and scheduler tests by @michaelbromley in #4950
  • fix(dashboard): Allow removing an option group from the product detail page by @grolmus in #4876
  • perf(core): resolve relation custom fields using request-scoped DataLoader batching by @supermadu7 in #4923
  • fix(dashboard): Add "Remove from group" bulk action to customer group members by @biggamesmallworld in #4346
  • fix(dashboard): Prevent accidental line removal when editing draft order quantity by @biggamesmallworld in #4345
  • docs: Fix typo in CMS integration plugin guide by @grolmus in #4963
  • chore: Correct 2FA session-window assumption in stage approve script by @michaelbromley in #4966
  • fix(dashboard): share context libraries in experimental bundle mode by @michaelbromley in #4967
  • fix: resolve SonarCloud reliability issues in maintained packages by @michaelbromley in #4968

New Contributors

Full Changelog: v3.7.0...v3.7.1

Don't miss a new vendure release

NewReleases is sending notifications on new releases.