Reaction Commerce v2.0.0-rc.12 Release Notes

Release Date: 2019-07-02 // almost 5 years ago
  • v2.0.0-rc.12

    ๐Ÿš€ This is our twelfth release candidate for v2.0.0 of Reaction.
    Please check it out and let us know what works and what doesn't for you.

    ๐Ÿš€ This release is being coordinated with reaction-platform and is designed to work with the same versions of example-storefront and reaction-hydra.

    ๐Ÿ‘Œ Improvements

    ๐Ÿ”‹ Feature

    • ๐Ÿ‘ feat: better cart and order item attributes, with labels (#5253)
    • feat: add shopLogoUrls to shop settings to allow logo to be rendered from url (#5227)
    • feat: add resolver to get displayStatus from database (#5236)
    • feat: Add DetailDrawer component for supplementary views (#5239)
    • feat: add regex filter to tags GQL query (#5232)
    • feat: add landing page for catalyst (#5226)
    • โšก๏ธ feat: update sidebar, fix mobile responsiveness (#5209)
    • feat: hard code cache keys prefix (#5222)
    • feat: add read-only version of orders 2.0 to break up PRโ€™s (#5202)
    • feat: add approveOrderPayments graphql mutation (#5201)
    • feat: dangerButton and ConfirmButton components (#5200)
    • ๐Ÿ”Œ feat: define collections using registerPlugin (#5196)
    • โšก๏ธ feat: update default navigation item visibility options when added to the navigation tree (#5190)
    • feat: storefront login url (#5187)
    • feat: add a setting for whether options without inventory enabled are sellable (#5186)
    • ๐Ÿ’ป feat: UI for adding Storefront Urls inside Catalyst (#5174)
    • feat: additional navigation visibility options (#5153)
    • feat: add ENV to disable inventory auto-publish (#5149)
    • feat: migrations & related checks can be disabled (#5140)
    • feat: allow 10 levels of navigation tree (#5129)
    • feat: add Catalog query filters (#5126)
    • feat: ShopId can be any string (#5119)
    • feat: use shop logo for login pages (#5109)
    • feat: drop unnecessary MongoDB indexes (#5106)
    • feat: adds optional flag to filter out sold-out products (#5105)
    • feat: allow viewing of orders by reference id (#5092)
    • ๐Ÿ”Œ feat: plugin: Prometheus Metrics (#5088)
    • feat: feature/system info (#5087)
    • feat: add name related data to viewer Account query (#5079)
    • ๐Ÿ”Œ feat: replace reaction plugins usage (#5070)
    • feat: Add cart referenceId in graphql schema (#5065)
    • feat: registerBlock API for registering blocks and rendering components for regions (#5064)
    • feat: allow extend generate orderId and cartId (#5054)
    • feat: de-Meteorize emailing code in the API (#4998)

    ๐Ÿ›  Fix

    • ๐Ÿ›  fix: socket issues (#5255)
    • ๐Ÿ›  fix: Make new order email links correct for storefront (#5251)
    • ๐Ÿ›  fix: ensure translations from all packages load (#5252)
    • ๐Ÿ›  fix: Fix page title from not found (#5245)
    • ๐Ÿ›  fix: alphabetical currencies (#5230)
    • ๐Ÿ›  fix: app will not start (#5216)
    • ๐Ÿ›  fix: shop with data error (#5207)
    • ๐Ÿ›  fix: change calibre ci step to use npx (#5197)
    • ๐Ÿ›  fix: NaN for prices with commas (#5193)
    • ๐Ÿ›  fix: add subtotal display amount to dataForOrderEmail (#5183)
    • ๐Ÿ›  fix: remove product-admin dead import (#5180)
    • ๐Ÿ›  fix: Can't re-send shop manager invite to existing non-activated user (#5178)
    • ๐Ÿ›  fix: set shop manager password on invitation (#5173)
    • ๐Ÿ›  fix: replaceBlock function (#5161)
    • ๐Ÿ›  fix: detect and add a newline in .env file if its missing (#5156)
    • ๐Ÿ›  fix: race condition by awaiting each publish catalog function by typeโ€ฆ (#5151)
    • ๐Ÿ›  fix: inventory quantity resets to 0 when any variant or option quantity is undefined (#5134)
    • ๐Ÿ›  fix: remove transform for billingAddress in gql resolver for Payment (#5125)
    • ๐Ÿ›  fix: add correct item images to order email data (#5121)
    • ๐Ÿ›  fix: password reset form (#5120)
    • ๐Ÿ›  fix: include submodule bare repos in docker build context (#5118)
    • ๐Ÿ›  fix: extendCommonOrder items data was over-written by itself (#5104)
    • ๐Ÿ›  fix: orders performance (#5096)
    • ๐Ÿ›  fix: revert metrics prometheus (#5099)
    • ๐Ÿ›  fix: catalog items performance (#5095)
    • ๐Ÿ›  fix: rounding Issue in Cart/Orders (#5091)
    • ๐Ÿ›  fix: remove aldeed:schema-index Meteor package, use collectionIndex (#5090)
    • ๐Ÿ›  fix: make tax code field available for new rate (#5076)
    • ๐Ÿ›  fix: duped cart referenceId (#5074)
    • ๐Ÿ›  fix: shipping restrictions not correctly denying methods (#5071)
    • ๐Ÿ›  fix: navigation editor WSOD when navigation tree is empty (#5067)
    • ๐Ÿ›  fix: set variant media correctly when added to cart (#5063)
    • ๐Ÿ›  fix: marketplace invitation validation (#5057)

    Chore

    • โšก๏ธ chore: Remove unused npm deps and update to latest Babel (#5250)
    • โšก๏ธ chore: update @reactioncommerce/file-collections version (#5244)
    • ๐ŸŒฒ chore: Omit email credentials from log data (#5241)
    • ๐Ÿ’… chore: update styles for MUI Typography to match designs (#5235)
    • ๐Ÿšš chore: Move some core files to new shop plugin (#5233)
    • โšก๏ธ chore: Update NPM packages (#5231)
    • โšก๏ธ chore: Update React 16.8.6 (#5204)
    • chore: add language to shop query (#5203)
    • ๐Ÿšš chore: remove Profile (#5198)
    • ๐Ÿ”Œ chore: finish simple-pricing plugin (#5143)
    • ๐Ÿ‘• chore: add a GraphQL schema linter, fix found issues (#5112)
    • chore: ignore js-yaml vuln for 30 days (#5108)
    • โšก๏ธ chore: security update for js-yaml (#5093)
    • chore: ensure an error message is logged for apollo errors (#5061)
    • chore: more consistent Usage of ES6+ Code (#5056)

    ๐Ÿ”จ Refactor

    • ๐Ÿ”จ refactor: Demeteorize registration for remaining API server plugins (#5234)
    • ๐Ÿ”จ refactor: Rename graphql endpoint (#5249)
    • ๐Ÿ”จ refactor: update styling of orderCard header section, move details to sidebar (#5240)
    • ๐Ÿ”จ refactor: enhancements to tag ui in Catalyst (#5223)
    • ๐Ÿ”จ refactor: inventory Rewrite - new simple-inventory plugin (#5164)
    • ๐Ÿ”จ refactor: add home, order, orders, and account profile urls to shop object (#5145)
    • ๐Ÿ”จ refactor: use getVariantPrice to determine price in xformCartGroupToCommonOrder (#5142)
    • ๐Ÿ”จ refactor: add env. vars. for graphql playground and introspection (#5055)

    ๐ŸŽ Performance

    • ๐ŸŽ perf: minor inventory performance improvments (#5220)
    • perf: demeteorize and reorg some core startup code (#5212)
    • perf: avoid unnecessary database queries for common GraphQL requests (#5154)
    • โšก๏ธ perf: faster inventory updates (#5138)
    • ๐Ÿ‘ท perf: create index for Jobs queries (#5137)
    • ๐ŸŽ perf: improved performance for products and catalog items queries with featured sort (#5136)
    • perf: tag subscription (#5130)
    • perf: speed up the products table publication (#5128)
    • ๐Ÿšš perf: remove unused Meteor methods and client cart code (#5059)

    ๐Ÿ’ฅ Breaking Changes

    • uiState.isLeftSidebarOpen renamed to uiState.isPrimarySidebarOpen (#5209)
    • ๐Ÿ’ฅ Breaking workflow, every item added to the nav tree will need to be explicitly made visible on the storefront (#5190)
    • 0๏ธโƒฃ There is a new shop-specific app setting, canSellVariantWithoutInventory, which is true by default. If this is changed to false, then variants/options without inventory tracking enabled will appear sold out and with back-ordering disabled. (#5186)
    • navigationTreeById now accepts an object containing params { language, navigationTreeId, shouldInlcudeSecondary } instead of individual params. (#5153)
    • draftItems is admin only now so to not expose work-in-progress changes to the public
    • Potential for http routing conflicts on /metrics. (#5088)
    • ๐Ÿšš Product components have been broken into smaller peices and the old files removed. This should be an internal breaking change as prior to this PR, those components couldn't be modified without touching core. (#5064)
    • โšก๏ธ The new order confirmation email template has been updated (#5251)
    • Multi-shop orders will no longer work (#5096)
    • โšก๏ธ If you have custom plugins that use index or unique options in their schemas, add back the aldeed:schema-index dependency or update the plugins to use collectionIndex function. (#5090)
    • โšก๏ธ Custom plugins importing any of the removed packages or using the removed component will need to be updated. (#5250)
    • ๐Ÿšš The deprecated price field has been removed from CatalogProduct and CatalogProductVariant. (#5143)
    • ๐Ÿ”Œ Custom plugins that manage or use inventory are likely to need a rewrite. (#5164)
    • ๐Ÿ”Œ Older shops must confirm they are using our simple-pricing plugin, and that pricing is available on Catalog items. (#5142)
    • โœ‚ Removed support for undocumented feature Meteor.settings.cdnPrefix
    • โœ‚ Removed support for undocumented feature Reaction.Endpoints
    • โœ‚ Removed support for prerender by prerender-node NPM package (#5212)
    • ๐Ÿท Tags are no longer subscribed to at a global level. Subscribe to tags when you need them using Meteor.subscribe("Tags", [tagIds]); (#5130)
    • โšก๏ธ Any custom plugins relying on the removed Meteor methods will need to be updated. (#5059)