1
0

CHANGELOG_NEXT.md 68 KB

2.0.0-beta.3 (2023-06-01)

Fixes

  • core Correctly handle localeText in GraphQL API (24607d7), closes #2181
  • core Fix bad import in event bus (fe1dce7)
  • core Resolve stockLocation with variant stockLevels (d613e3f)
  • payments-plugin Remove invalid error logging (#2192) (6a0a29e), closes #2192

Features

  • admin-ui-plugin Add simple metrics support via new metricSummary query (717d265). Thanks to @martijnvdbrug for providing the initial implementation, on which this is based!
  • admin-ui Too many new features to list! Check the commit history if you really wanna know :D
  • core Add topLevelOnly filter to collection list query (66b8c75)
  • core Add bulk delete mutations (2f5e096)
  • core Add facetValueId filter to products/variants list queries (00b8268)
  • core Allow variant options to be added & removed (8cb9b27)
  • core Channels mutation now returns PaginatedList (d7a3447)
  • core ChannelService.findAll() returns PaginatedList (53fa2a0)
  • core Export VENDURE_VERSION constant (b2a910a), closes #1471
  • core Move global stock & language settings into Channel (2748a6e)
  • core TaxCategories query now returns PaginatedList (ddcd0fc)
  • core Zones query now returns PaginatedList (afbb408)

BREAKING CHANGE

  • The Admin UI app has been refreshed, including upgrading to Angular v16 as well as a host of style, layout & functional improvements. If you have ui extensions, they should still work but the layout will look somewhat broken. A full upgrade guide will be published with the final v2 release, but for now, wrapping all your custom pages in <vdr-page-block> (or <div class="page-block">) will improve things.
  • If you use any of the scoped method of the Admin UI 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.
  • ChannelService.findAll() will now return a PaginatedList instead of a Channel[]
  • The channels mutation now returns a PaginatedList rather than a simple array of Channels.
  • The taxCategories mutation now returns a PaginatedList rather than a simple array of TaxCategory objects.
  • The 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.
  • 2.0.0-beta.2 (2023-04-28)

    Features

    • admin-ui Implement custom fields updating of ProductOptionGroup and ProductOption entities (d2a0824)
    • admin-ui Search field added on administrators list on dashboard -> administrator. (#2130) (0cc20f2), closes #2130
    • asset-server-plugin Update s3 asset storage strategy to use AWS sdk v3 (#2102) (d628659), closes #2102
    • core Allow specifying transaction isolation level (#2116) (bf2b1f5), closes #2116
    • email-plugin Add support for dynamic templates & SMTP settings (c6686cd), closes #2043 #2044
    • payments-plugin Make Mollie plugin redirecturl dynamic (#2094) (b452419), closes #2094 #2093
    • payments-plugin Make Stripe plugin channel-aware (#2058) (3b88702), closes #2058

    Fixes

    • admin-ui Add branding to welcome page (#2115) (f0f8769), closes #2115 #2040
    • core Fix error messages containing colon char (2cfc874), closes #2153
    • core Fix issues with Promotion & PaymentMethod null descriptions (7b407de)
    • ui-devkit Fix baseHref configuration (c7836b2), closes #1794

    BREAKING CHANGE

    • Promotion & PaymentMethod description is once again non-nullable. This will require a simple non-destructive DB migration.
    • If you are using the s3 storage strategy of the AssetServerPlugin, it has been updated to use v3 of the AWS SDKs. This update introduces an improved modular architecture to the AWS sdk, resulting in smaller bundle sizes. You need to install the @aws-sdk/client-s3 & @aws-sdk/lib-storage packages, and can remove the aws-sdk package.
    • The Stripe plugin has been made channel aware. This means your api key and webhook secret are now stored in the database, per channel, instead of environment variables.

    To migrate to v2 of the Stripe plugin from @vendure/payments you need to:

    Remove the apiKey and webhookSigningSecret from the plugin initialization in vendure-config.ts:

    -StripePlugin.init({
    -    apiKey: process.env.YOUR_STRIPE_SECRET_KEY,
    -    webhookSigningSecret: process.env.YOUR_STRIPE_WEBHOOK_SIGNING_SECRET,
    -    storeCustomersInStripe: true,
    -}),
    +StripePlugin.init({
    +    storeCustomersInStripe: true,
    + }),
    

    Start the server and login as administrator.

    For each channel that you'd like to use Stripe payments, you need to create a payment method with payment handler Stripe payment and the apiKey and webhookSigningSecret belonging to that channel's Stripe account.

    2.0.0-beta.1 (2023-04-14)

    Features

    • core Add compatibility check to VendurePlugin metadata (d18d350), closes #1471
    • core Add quantity arg to OrderItemPriceCalculationStrategy (02a0864), closes #1920
    • core Export VENDURE_VERSION constant (b2a910a), closes #1471
    • core Implement Regions & support for Provinces (7b8f5bf), closes #76

    Fixes

    • admin-ui Fix scroll bar colour in left nav (4a080cb)
    • core Fix updating channel currencyCode (7e01ecf), closes #2114
    • core Remove text default values (dd21a82), closes #2113
    • core Translatable fields default to empty string if falsy (e119154)

    BREAKING CHANGE

    • A new 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.

    If you are updating from beta.0, you'll need to generate a migration (for a standard project created with @vendure/create, this would be done by running npm run migration:generate v2_beta1), then edit the generated migration file and add the following lines in the up() method before any generated ADD CONSTRAINT statements (this is postgres syntax, swap backticks for double-quotes for mysql - but make sure that single quotes around 'country' and 'Country' remain):

       await queryRunner.query(`INSERT INTO "region" ("createdAt", "updatedAt", "code", "type", "enabled", "id", "discriminator") 
                                               SELECT "createdAt", "updatedAt", "code", 'country', "enabled", "id", 'Country' FROM "country"`, undefined);
       await queryRunner.query(`INSERT INTO "region_translation" ("createdAt", "updatedAt", "languageCode", "id", "name", "baseId") 
                                                           SELECT "createdAt", "updatedAt", "languageCode", "id", "name", "baseId" FROM "country_translation"`, undefined);
       await queryRunner.query(`INSERT INTO "zone_members_region" ("zoneId", "regionId") SELECT "zoneId", "countryId" FROM "zone_members_country"`, undefined);
    

    2.0.0-beta.0 (2023-04-04)

    Fixes

    • admin-ui Clean up nav menu styles, make light (78dcc09)
    • admin-ui Fix navigation to order list component (9b4821e)
    • asset-server-plugin Change image format with no other transforms (#2104) (6cf1608), closes #2104
    • core Correctly remove invalid promotion couponCodes from Order (7a1c127)
    • core Fix concurrent order address update edge case (f4ca9b2)
    • create Use "create" version for all Vendure dependencies (844b9ba)
    • payments-plugin Make peer dependencies optional (98c764c)
    • testing More graceful shutdown (aa91bd0)

    Features

    • admin-ui Add support for translatable PaymentMethods (06efc50), closes #1184
    • admin-ui Add support for translatable Promotions (00bd433), closes #1990
    • admin-ui New app layout with updated nav menu (e6f8584), closes #1645
    • admin-ui Update to Angular v15.x (0c503b4)
    • core Add currencyCode to variant price model (24e558b), closes #1691
    • core Add ProductVariantPriceSelectionStrategy (efe23d1), closes #1691
    • core Implement Admin API operations for stock location, e2e tests (7913b9a), closes #1545
    • core Implement data model & APIs for multi-location stock (905c1df), closes #1545
    • core Implement GuestCheckoutStrategy (7e0f1d1), closes #911 #762
    • core Implement localeText custom field type (6a3c61f), closes #2000
    • core Implement MoneyStrategy (61ac041), closes #1835
    • core Make PaymentMethod entity translatable (2a4b3bc), closes #1184
    • core Make Promotion entity translatable, add description (dada243), closes #1990
    • core Normalize email addresses for native auth (ad7eab8), closes #1515
    • core Update to TypeScript v4.9.5 (99da585)
    • job-queue-plugin Update bullmq & redis dependencies (#2020) (eb0b73f), closes #2020
    • testing Turn productsCsvPath into an optional property for test server initialization (#2038) (4c2b118), closes #2038
    • ui-devkit Add "exclude" option to UI extensions (#2009) (dd6eee3), closes #2009

    BREAKING CHANGE

    • The Channel.currencyCode field has been renamed to defaultCurrencyCode, and a new currencyCode field has been added to the ProductVariantPrice entity. This will require a database migration with care taken to preserve exiting data.
    • The introduction of the new MoneyStrategy includes a new GraphQL 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.
    • The minimum Redis recommended version is 6.2.0
    • The Promotion entity is now translatable, which means existing promotions will need to be migrated to the new DB schema and care taken to preserve the name data. Also the GraphQL API for creating and updating Promotions, as well as the corresponding PromotionService methods have changed to take a translations array for setting the name and description in a given language.

    2.0.0-next.28 (2023-01-27)

    Features

    • core Create underlying APIs to support multivendor Orders (3d9f7e8), closes #1329
    • core Extract hard-coded fulfillment state & process (cdb2b75)
    • core Extract hard-coded order state & process (cff3b91)
    • core Extract hard-coded payment state & process (4c5c946)
    • core Improve Collection tree data structure (5e7af0d)
    • ui-devkit Support module path mappings for UI extensions (#1994) (6d57c86), closes #1994

    Fixes

    • core Handle cyclic data structures when serializing job data (10dfa7c)

    BREAKING CHANGE

    • This release includes a number of changes to the database schema to prepare full support for multivendor applications. The migration created should be non-destructive, but as always exercise caution before migrating production data - make a backup and thoroughly test the updated version before deploying!
    • There's a breaking change you'll need to handle if you are using a CustomOrderProcess, CustomFulfillmentProcess or CustomPaymentProcess. See the section in the v2 upgrade guide: https://github.com/vendure-ecommerce/vendure/discussions/1991

    2.0.0-next.27 (2022-12-22)

    Features

    2.0.0-next.26 (2022-12-08)

    • Includes all fixes from v1.9.1

    2.0.0-next.25 (2022-12-01)

    • Includes all fixes & features from v1.9.0

    2.0.0-next.24 (2022-11-28)

    Features

    • core ChannelService.findAll() returns PaginatedList (53fa2a0)
    • payments-plugin Use Mollie's Order API (#1884) (56b8646), closes #1884

    Fixes

    • Includes all fixes & perf improvements from v1.8.5

    BREAKING CHANGE

    • ChannelService.findAll() will now returns a PaginatedList instead of a Channel[]
    • 2.0.0-next.23 (2022-11-22)

      Features

      • admin-ui Add default component for custom history entries (cd8d5a2), closes #1694
      • admin-ui Add filter inheritance control to Collection detail view (7f1b01e), closes #1382
      • admin-ui Allow custom components for Customer history timeline (eeba323), closes #1694 #432
      • admin-ui Allow custom components for Order history timeline (fc7bcf1), closes #1694 #432
      • core Add facetValues list query (ddab719), closes #1404
      • core Custom Order/Customer history entries can be defined (d9e1770), closes #1694 #432

      Perf

      • admin-ui Lazy-load facet values for selector component (3350608), closes #1404

      2.0.0-next.22 (2022-11-10)

      • Contains all fixes from v1.8.3
      • Refreshed admin ui login page

      2.0.0-next.21 (2022-11-01)

      • Contains all fixes from v1.8.2

      2.0.0-next.20 (2022-10-27)

      • Contains all fixes & features from v1.8.1

      2.0.0-next.19 (2022-10-11)

      Perf

      • core Add indexes to Product & Collection slugs (937cf67)

      Features

      Fixes

      • Includes all fixes from v1.7.4

      BREAKING CHANGE

      • Indexes have been added to the ProductTranslation & CollectionTranslation slug fields. This means a database migration will be needed - the change is small and non-destructive so this is a routine migration which should not require manual editing of the migration script.

      2.0.0-next.18 (2022-09-29)

      Features

      • admin-ui Add support for bulk collection actions (220cf1c), closes #853
      • admin-ui Add support for bulk facet channel assignment/removal (647857c), closes #853
      • admin-ui Add support for bulk facet deletion (3c6cd9b), closes #853
      • admin-ui Add support for bulk product channel assignment (6ee74e4), closes #853
      • admin-ui Add support for bulk product deletion (47fa230), closes #853
      • admin-ui Add support for bulk product facet editing (0d1b592), closes #853
      • admin-ui Add support for shift-select to DataTableComponent (87f4062), closes #853
      • admin-ui Create supporting infrastructure for bulk actions API (7b8d072)
      • admin-ui Display breadcrumbs in Collection detail view (5ff4c47)
      • core Add bulk collection delete mutation (98b4c57), closes #853
      • core Add bulk facet delete mutation (4a1a2f5), closes #853
      • core Add bulk product deletion mutations (d5f5490), closes #853
      • core Add bulk product update mutation (fe007e2), closes #853
      • core Add Facet/Collection Channel assignment mutations (34840c9)
      • core Add support for PromotionAction side effects (1a4a117), closes #1798
      • core Pass order arg to OrderItemPriceCalculationStrategy and ChangedPriceHandlingStrategy (#1749) (01d99d3), closes #1749
      • testing Enable e2e test logging using the LOG env var (5f5d133)

      Fixes

      • Includes all fixes from v1.7.3

      2.0.0-next.17 (2022-09-19)

      Fixes

      • Includes all fixes from v1.7.2

      2.0.0-next.16 (2022-09-15)

      Features

      • core Export prorate function (#1783) (d86fa29), closes #1783
      • email-plugin Allow to override email language (#1775) (54c41ac), closes #1775
      • email-plugin Use full Nodemailer SMTPTransport options (#1781) (86b12bc), closes #1781
      • payments-plugin Add includeCustomerId metadata key to Braintree (a94fc22)

      Fixes

      • admin-ui Adjust rich text context menu sensitivity (86442cf)
      • admin-ui Fix issues with rich text editor in custom field (f350ad8)
      • admin-ui Fix rich text editor when used in custom field list (77fef28)
      • core Handle edge-case of Collection.breadcrumbs having null values (4a9ec5c)
      • create Make dotenv a dependency, not devDependency (a641beb)

      2.0.0-next.15 (2022-09-06)

      (This was released to rectify a publishing error with the last version. No code changes.)

      2.0.0-next.14 (2022-09-06)

      Fixes

      • admin-ui Fix issues with rich text editor in custom field (aa13dcb)
      • admin-ui Fix rich text editor when used in custom field list (21ef048)

      2.0.0-next.13 (2022-09-06)

      Features

      • admin-ui Add basic table support to rich text editor (09f8482), closes #1716
      • admin-ui Add context menu for images in rich text editor (5b09abd), closes #1716
      • admin-ui Add context menu for table operations (7b68300), closes #1716
      • admin-ui Implement raw HTML editing support in rich text editor (e9f7fcd), closes #1716
      • admin-ui Improve styling of rich text editor (054aba4)
      • payments-plugin Add support for opting-out of Braintree vault (faeef6d), closes #1651

      Fixes

      • core Correctly populate shipping/billing address for new customer (264b326)
      • create Fix default migration path of scaffold (#1759) (e1c90cc), closes #1759

      2.0.0-next.12 (2022-08-29)

      • Includes all features & fixes from v1.7.1

      2.0.0-next.11 (2022-08-15)

      Features

      • admin-ui Implement pagination & filtering for customer groups (972123f), closes #1360
      • admin-ui Support filtering orders by transaction ID (74eac8f), closes #1520
      • admin-ui Support tabbed custom fields in Order detail view (013c126), closes #1562
      • asset-server-plugin Add support for avif image format (1c49143), closes #482
      • asset-server-plugin Allow custom AssetPreviewStrategy to be set (add65e3), closes #1650
      • asset-server-plugin Enable preview image format configuration (f7c0800), closes #1650
      • asset-server-plugin Support for specifying format in query param (5a0cbe6), closes #482
      • core Add support for custom GraphQL scalars (099a36c), closes #1593
      • core Declare setDefaultContext in VendureLogger (#1672) (5a93bf0), closes #1672
      • core Enable defining custom states in a type-safe manner (#1678) (4e2b4ad), closes #1678
      • core Support filtering orders by transactionId (7806bc4), closes #1520
      • ui-devkit Support Clarity Sass variable overrides (#1684) (46d1e2d), closes #1684

      Fixes

      • Includes all fixes from v1.6.5

      2.0.0-next.10 (2022-07-07)

      Fixes

      • admin-ui Fix facet-value-form-input when used with custom fields (0ae36a9)
      • core Add missing languageCode field on ShippingMethod type (4fab7cf)
      • core Correctly resolve translatable custom field relations (354932c)
      • payments-plugin Fix error on Braintree refund failure (0b79eb5)

      Includes all fixes from v1.6.3

      Features

      • admin-ui Show total items in datatables (#1580) (e8e349c), closes #1580
      • core Deprecation of getRepository without context argument (#1603) (9ec2fe5), closes #1603
      • payments-plugin BraintreePlugin make card vault optional (16ad00c), closes #1651
      • payments-plugin Make BraintreePlugin metadata configurable (99c80e8)

      BREAKING CHANGE

      • (TypeORM): Due to an update of the TypeORM version, there is a potential breaking change if you make use of TypeORM's soft-remove feature in combination with listeners/subscribers. Namely, update listeners and subscriber no longer triggered by soft-remove and recover (https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md#0242-2022-02-16). This is not used in Vendure core and is a relatively obscure edge-case.

      2.0.0-next.9 (2022-06-21)

      Features

      • core Implement AssetImportStrategy, enable asset import from urls (75653ae)
      • core Support save points (nested transactions) (#1579) (9813d11), closes #1579

      Fixes

      BREAKING CHANGE

      • (TypeORM): Due to an update of the TypeORM version, there is a potential breaking change if you make use of TypeORM's soft-remove feature in combination with listeners/subscribers. Namely, update listeners and subscriber no longer triggered by soft-remove and recover (https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md#0242-2022-02-16). This is not used in Vendure core and is a relatively obscure edge-case.

        2.0.0-next.8 (2022-06-12)

      Includes all fixes from v1.6.2

      2.0.0-next.7 (2022-05-19)

      This release brings the next branch to parity with v1.6 (in addition to the new breaking changes already on the next release).

      Features

      • admin-ui Update collection preview on filter inheritance toggle (1a4aced)
      • core Collection preview handles filter inheritance (3d2c0fb)

      Fixes

      • admin-ui Fix broken filter controls in Collection detail (fd67ac2)

      2.0.0-next.6 (2022-05-18)

      Fixes

      • admin-ui Fix merge error in collection detail component (09fc5ef)
      • admin-ui Rename vdr-product-selector (9d9275c)
      • core Correctly populate Collections in channel (58090bb)

      Features

      • admin-ui Add filter inheritance control to Collection detail view (7f1b01e), closes #1382
      • admin-ui Update to Angular v13 (3b49d23)
      • asset-server-plugin Update to Sharp v0.30 (15d8e8d)
      • core Add indices to many-to-one relations (01e369f), closes #1502
      • core Added a unique index to Order.code (aa6025d)
      • core Collections can control inheritance of filters (5d4206f), closes #1382
      • core Improve Collection tree data structure (5e7af0d)
      • core Update codegen errors plugin to use object inputs (6b9b2a4)
      • core Update to NestJS v8, Apollo Server v3, GraphQL v16 (c843860)

      BREAKING CHANGE

      • Explicit indexes have been added to many-to-one relations used throughout the data model. If you are using MySQL/MariaDB you should not notice a change from this, since they automatically add indexes to FK relations. Postgres, however, does not so this change will require a DB migration.
      • The Admin UI component 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.

      • The data structure used to represent the tree of Collections has changed, which will require a DB migration.
      • The internal ErrorResult classes now take all constructors arguments as a single input object.
      • The internal ErrorResult classes now take all constructors arguments as a single input object.

      feat(core): Update codegen errors plugin to use object inputs

      • The new inheritFilters property on the Collection entity will require a DB migration.

        2.0.0-next.5 (2022-05-02)

      Features

      • admin-ui Implement combination mode toggle for Collection filters (cb1e137)
      • admin-ui Implement FormInput for multi product/variant selection (47c9b0e)
      • core Add boolean combination support on default CollectionFilters (8889ac2)
      • core Implement unique constraint for custom fields (07e1601), closes #1476
      • core Make all health checks configurable (f3d2d59), closes #1494
      • core Make OrderService.applyPriceAdjustments() public (826fd55), closes #1522
      • core Use variant featuredAsset in OrderLine if available (0c308e2), closes #1488
      • payments-plugin Deprecate orderId when generating Braintree token (8ba76f2), closes #1517

      Fixes

      • admin-ui Improve display of many channels on Product detail (87b8a53), closes #1431
      • core Manage transactions outside of orderService.modifyOrder function. (#1533) (e707274), closes #1533
      • job-queue-plugin Fix Redis health indicator error reporting (48a30fb)
      • ui-devkit Wrap output path in quotes. (#1519) (755d2e2), closes #1519

      Perf

      • core Optimize query to fetch all collection ids on changes (a362fb4)

      2.0.0-next.4 (2022-04-26)

      Fixes

      • admin-ui Fix merge error in collection detail component (09fc5ef)
      • core Make OrderLine.items eager-loaded from the DB (8465d84)

      2.0.0-next.3 (2022-04-25)

      Features

      • admin-ui Add live preview of Collection filter changes (ba6c64a), closes #1530
      • admin-ui Add sku to Collection contents table (8c2263c)
      • admin-ui Display description tooltip for configurable args (837e1f2)
      • admin-ui Implement content preview when creating collection (1e4f072), closes #1530
      • admin-ui Improve styling of configurable arg inputs (d20a1dc)
      • admin-ui Persist Collection list expanded states to the url (d67187e), closes #1532
      • admin-ui Persist Collection list filter term to the url (dcdd05b), closes #1532
      • core Add metadataModifiers for low-level DB entity config (16e52f2), closes #1506 #1502
      • core Add indices to many-to-one relations (01e369f), closes #1502
      • core Add new variantIdCollectionFilter default CollectionFilter (449c584)
      • core Added a unique index to Order.code (aa6025d)
      • core Allow entity alias to be specified in ListQueryBuilder (f221940)
      • core Create Relations decorator (063b5fe), closes #1506
      • core Expose Importer.importProducts method (bbe09aa)
      • core Implement previewCollectionVariants query in Admin API (1c3b38c), closes #1530
      • core Make search strategy configurable via plugin options (#1504) (b31694f), closes #1504
      • core Pass shipping method to calculator and eligibility checker (#1509) (826aa4a), closes #1509
      • core Use query relations data to optimize DB joins (0421285), closes #1506 #1407

      Fixes

      • admin-ui Prevent route change on collection contents list change (5589628), closes #1530
      • core Fix error in configurable operation codec when arg not found (9ba44f4)

      Perf

      BREAKING CHANGE

      • Explicit indexes have been added to many-to-one relations used throughout the data model. If you are using MySQL/MariaDB you should not notice a change from this, since they automatically add indexes to FK relations. Postgres, however, does not so this change will require a DB migration.

      2.0.0-next.2 (2022-03-21)

      Features

      • core Loosen constraints on adding payment to Order (7a42b01), closes #963
      • core Allow schema introspection to be disabled (052d494), closes #1353
      • admin-ui Allow couponCodes to be set when modifying Order (8083219), closes #1308
      • core Allow couponCodes to be set when modifying Order (af3a705), closes #1308
      • admin-ui-plugin Make refund/cancellation reasons configurable (1ab0119), closes #893
      • admin-ui Implement generic custom field relation selector (f3ea8a3)

      Fixes

      • core Fix FK error when merging orders with an existing session (7cedf49), closes #1454
      • core Export all Promotion conditions & actions (56b30fa), closes #1308
      • core Prevent error cause by order in outdated state (2266293)

      2.0.0-next.1 (2022-03-07)

      Fixes

      • admin-ui Rename vdr-product-selector (9d9275c)
      • core Correctly populate Collections in channel (b42bf1e)
      • core Support usage of GQL interfaces on relational custom field (#1460) (c608516), closes #1460
      • email-plugin Add currency code in mock email confirmation (#1448) (ef8b244), closes #1448
      • payments-plugin Mollie payment intent + Stripe unauthorized settlement fix (#1437) (37e5f58), closes #1437 #1432 #1340

      Features

      • admin-ui Add filter inheritance control to Collection detail view (7f1b01e), closes #1382
      • admin-ui Allow custom ng compiler args to be passed to admin ui compiler (#1386) (d47df21), closes #1386
      • core Collections can control inheritance of filters (5d4206f), closes #1382
      • core Improve Collection tree data structure (5e7af0d)

      BREAKING CHANGE

      • The Admin UI component 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.

      • The data structure used to represent the tree of Collections has changed, which will require a DB migration.
      • The new inheritFilters property on the Collection entity will require a DB migration.

        2.0.0-next.0 (2022-03-01)

      Fixes

      • admin-ui Fix circular dependency error (ddc8941)
      • core Correctly populate Collections in channel (58090bb)
      • core Fix regression in accessing OrderLine.items when not defined (3fcf5dc)
      • core Use sessionDuration when creating anonymous sessions (2960a09), closes #1425
      • email-plugin Correctly resolve urls for OrderLine featured assets (15f9b44)

      Features

      • admin-ui Add asset preview links to asset gallery & asset detail (b09bc1f), closes #1305
      • admin-ui Enable filtering CustomerList by postalCode (f3a2654), closes #1389
      • admin-ui Implement deletion of addresses from customer detail (4a81f7c)
      • admin-ui Improve cancel modal to allow full order cancellation (3b90888), closes #1414
      • admin-ui More flexible assets component (#1358) (259e352), closes #1358 #1357
      • admin-ui Update to Angular v13 (3b49d23)
      • asset-server-plugin Update to Sharp v0.30 (15d8e8d)
      • core Add inList op to enable filtering on custom field lists (94da850), closes #1332
      • core Add a job queue name prefix as a config option (#1359) (921f8e0), closes #1359 #1350
      • core Add option to CancelOrderInput to cancel of shipping (9eebae3), closes #1414
      • core Add order event (#1306) (c682c0e), closes #1306
      • core Add OrderLineEvent, to notify on changes to Order.lines (16e099f), closes #1316
      • core Add PasswordValidationStrategy to enable password policies (dc4bc2d), closes #863
      • core Allow channel to be specified in populate() function (03b9fe1), closes #877
      • core Enable filtering customers by postalCode (6692b95), closes #1389
      • core Expose & document DataImportModule providers (640f087), closes #1336
      • core Expose RequestContextService and add create() method (335dfb5)
      • core Include Customer in CustomerAddressEvent (67f60ac), closes #1369
      • core Update codegen errors plugin to use object inputs (6b9b2a4)
      • core Update to NestJS v8, Apollo Server v3, GraphQL v16 (c843860)
      • payments-plugin Add Stripe integration (#1417) (238be6b), closes #1417
      • ui-devkit Allow yarn or npm to be specified to run ng compiler (db66657)

      BREAKING CHANGE

      • The internal ErrorResult classes now take all constructors arguments as a single input object.

      1.4.0-beta.0 (2021-12-06)

      Features

      • admin-ui-plugin Support for defaultLocale (e7bd576), closes #1196
      • admin-ui Add json editor field input component (4297b87)
      • admin-ui Add language switcher to Country & Zone list views (7552fae)
      • admin-ui Add rich text control form input (0b09598), closes #415 #722
      • admin-ui Add support for tabbed custom fields (b6cb16f), closes #724
      • admin-ui Allow custom components to embed in detail views (e15c553), closes #415
      • admin-ui Allow manual payments to be added by Administrator (0416869), closes #753
      • admin-ui Display available UI extension points (0963745), closes #415
      • admin-ui Export all catalog components (#1248) (e5feac4), closes #1248 #1245
      • admin-ui Implement custom fields on newly-supported entities (2da2ec9), closes #1185
      • admin-ui Implement filtering in Collection list view (aa74129)
      • admin-ui Support for language regions (language + locale) (b5cdbce), closes #1196
      • admin-ui Use customField ui components specified in config (f52459f), closes #415
      • core Add OrderPlacedEvent (c1465dc), closes #1219
      • core Allow customField ui components to be specified in config (e22e006), closes #415
      • core Allow manual payments to be added by Administrator (107ca9a), closes #753
      • core CustomField support on Country, CustomerGroup, PaymentMethod, Promotion, TaxCategory, (fac803d), closes #1185
      • core Expand the range of events published by the EventBus (#1222) (edc9d69), closes #1222 #1219 #1219 #1219 #1219 #1219 #1219 #1219
      • core Support CSV import in multiple languages (#1199) (4754954), closes #1199
      • core Upgrade TypeORM to v0.2.41 (44f6fd5)
      • elasticsearch-plugin Add custom sort parameter mapping (#1230) (0d1f687), closes #1230 #1220 #1220
      • elasticsearch-plugin Add option to hide indexed fields in api (#1181) (#1212) (9193dee), closes #1181 #1212
      • payments-plugin Allow Braintree environment to be set (55d67d9)

      Fixes

      • admin-ui Fix error if no array of assets is provided (#1249) (5af2b12), closes #1249
      • admin-ui Fix layout of Zone & CustomerGroup lists (cd8b93d)
      • admin-ui Fix rendering of custom field lists (da9e2ce)
      • core Clear shippingLines if no eligible ShippingMethods exist (f9bc532), closes #1195
      • core Correctly validate custom field list types (6f71bf2), closes #1241
      • core Ensure all Orders have a ShippingMethod before payment (9b9e547)
      • core Fix batch size error on postgres when reindexing (#1242) (57be4c5), closes #1242
      • core Fix caching of zone members when switching language (3c32fb2)
      • core Fix permissions for pendingSearchIndexUpdates query (152e64b)
      • core Fix stream not being instance of ReadStream (#1238) (5ee371d), closes #1238
      • core Gracefully handle errors in creating asset previews (c3cfcb3), closes #1246
      • core Make facetValueCollectionFilter safe with uuids (a3fef0f)
      • core Make populator.populateCollections more robust to bad input (8189c1b)
      • core Order collection.children by position (f2def43), closes #1239
      • core Re-allocate stock when cancelling a Fulfillment (693fd83), closes #1250

      1.3.0-beta.1 (2021-10-08)

      Features

      • admin-ui Add empty option for nullable custom field selects (894ca4a), closes #1083
      • admin-ui Display pending search index updates in product list (6f4a89f), closes #1137
      • admin-ui Display retry data in job list (9c544bf)
      • core Add DB-based buffer storage support to DefaultJobQueuePlugin (f26ad4b), closes #1137
      • core Allow DefaultJobQueue retries to be configured per queue (5017622), closes #1111
      • core Create buffering logic for DefaultSearchPlugin (6a47dcf), closes #1137
      • core Create JobBuffer infrastructure (d6aa20f), closes #1137
      • core Expose nullable property of CustomFieldConfig (9ec6b90), closes #1083
      • core Expose withTransaction method on TransactionalConnection (861ef29), closes #1129
      • core Expose pending search index updates operations in Admin API (53a1943), closes #1137
      • core Expose retry data on Job type in Admin API (4b15ef4)
      • core Make password hashing strategy configurable (e5abab0), closes #1063
      • elasticsearch-plugin Support search index job batching (f3fb298), closes #1137
      • job-queue-plugin Allow config of retries/backoff for BullMQ (9fda858), closes #1111
      • job-queue-plugin Implement Redis-based job buffering (c7b91c3)

      Fixes

      • core Correct cancellation logic with custom Order process (b8448c1), closes #1104
      • core Correctly calculate job duration for pending/retrying jobs (73fa278)
      • core Fix error when resolving deleted Product from Order (511f04d), closes #1125
      • create Correct escaping of quotes in templates (9537245)
      • job-queue-plugin Close redis connection on destroy (64ebdd1)
      • job-queue-plugin Correctly filter BullMQ jobs by isSettled (2f24a33)
      • job-queue-plugin More accurate determination of BullMQ job state (3b3bb3b)

      1.3.0-beta.0 (2021-09-30)

      Features

      • admin-ui Add admin-ui Portuguese (Portugal) translation (#1069) (81d9836), closes #1069
      • admin-ui Improve facet filtering for product search input (43f0adb), closes #1078
      • admin-ui Use server pagination of product variants (552eafe), closes #1110
      • core Add config for enabling/disabling worker health check (f620566), closes #1112
      • core Add Product.variantList field (438ac46), closes #1110
      • core Implement EntityHydrator to simplify working with entities (28e6a3a), closes #1103
      • core Make entity cache ttl values configurable (a05e7ab), closes #988
      • core Make event bus subscriptions transaction-safe (f0fd662), closes #1107 #520
      • core Remove all long-lived in-memory state, use short-TTL caching (d428ffc)

      Fixes

      • core Fix transaction-related issues with in-memory caching (d35306f)

      Perf

      • core Simplify hot DB query for active order (fa563f2)
      • core Use memoization when caching zone members (54dfbf4), closes #988
      • core Use per-request caching for hot ProductVariant paths (214b86b), closes #988
      • core Use request cache for hot-path tax rate calculation (9e22e8b)