Reaction Commerce v2.0.0-rc.10 Release Notes
Release Date: 2019-03-08 // about 5 years ago-
v2.0.0-rc.10
๐ This is our tenth 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 ofreaction-next-starterkit
andreaction-hydra
.๐ Improvements
๐ป UI Removal
๐ We have removed several UI components to transition and solidify that in 2.0 the application will only be used as an API and a UI for shop operators.
โ Additional PRs will be coming to remove other pieces of the storefront UI bit by bit until only an operator UI is left. (#4947 , #4948)
๐ Performance Tweaks
- ๐ We have done a bunch of performance tweaks to increase performance and initial boot time! We removed the
reaction-cli
with this update. (#4992)
General
- We have added the ability for shops to apply surcharges depending on criteria for an order. (#4829)
- ๐ป We have added a new Navigation Manager UI for Operator 2.0. (#4936)
- ๐ฆ We have added envalid as a dependency for validating environment variables. (#4983)
- We changed the GraphIQL url from
localhost:3000/graphiql
tolocalhost:3000/graphql-alpha
GraphQL
- ๐ We have streamlined the way plugins register functions that can transform media objects for a product. (#4987)
- ๐ We have implemented GraphQL subscriptions support. (#4938)
Custom Data
- We have added the capability to add a custom data object when placing an order. (#4962)
- We have added the capability for
calculateOrderTaxes
to return a custom data object. (#4955)
๐ Custom Plugins
- ๐ We have coalesced the separate env.example files from custom Reaction plugins into one file to reduce tedious integration steps. (#5003)
๐ฅ Breaking Changes
AppEvents
- ๐ We have replaced all
Hooks
usage with the newerappEvents
. This does not break anything within the core and included plugins, however:
โก๏ธ If you use community or custom plugins that depend on the@reactioncommerce/hooks
package, you will need to update or obtain updated versions that usecontext.appEvents
instead.
โก๏ธ If you have a plugin that usesMethodHook
s, update it to implement those hooks a different way.
โก๏ธ review allappEvents
consumed and emitted by custom plugins. Update expected and emitted arguments. See the table. (#4915)
๐ Multiple Payment Support
- ๐ All of the individual
placeOrder*
GraphQL mutations provided by the built-in payment plugins are removed and replaced with a singleplaceOrder
mutation which supports multiple payments. Any custom payment method plugins will break due to the removal ofcreateOrder
internal mutation. Look at all changes. (#4908)
Surcharges
- โก๏ธ When applying surcharges to certain methods, there is a delay in the update. (#4984)
โก๏ธ Updates
- ๐จ Refactor
inventoryQuantity
toinventoryInStock
inProducts
collection, update if used in your codebase. (#4930)
Removals
- There is no longer a storefront catalog grid (#4973)
- ๐ป There is no longer a Checkout UI (#4948)
- ๐ป There is no longer a Cart UI (#4948)
๐ New Commands
๐ In relation to improving performance, we have added new debugging statements (#4992) so you can use the Node debugger while developing Reaction!:
"inspect": "node --experimental-modules --inspect ./.reaction/run/index.mjs", "inspect-brk": "node --experimental-modules --inspect-brk ./.reaction/run/index.mjs", "inspect-docker": "node --experimental-modules --inspect=0.0.0.0:9229 ./.reaction/run/index.mjs", "inspect-brk-docker": "node --experimental-modules --inspect-brk=0.0.0.0:9229 ./.reaction/run/index.mjs",
Example Usage :
docker-compose run --rm --service-ports reaction yarn run inspect-brk --service-ports docker-compose run --rm --service-ports reaction yarn run inspect --service-ports
๐ New Documents
๐ We have added new documentation! :
- ๐ We officially stated that
reaction-platform
has not been fully tested or is compatible with Windows.
๐ (https://docs.reactioncommerce.com/docs/next/installation-reaction-platform) - ๐ We added a Storefront UI Development guide answering: "How do I build a storefront for Reaction or adapt my storefront to get its data from Reaction, without starting from an example app" (https://docs.reactioncommerce.com/docs/next/storefront-intro)
- ๐ We added a new tutorial on how to create a fullfillment methods plugin
๐ (https://docs.reactioncommerce.com/docs/how-to-create-a-fulfillment-methods-plugin)
๐ Feature
- ๐ feat: use .env.example files from custom plugins (#5003)
- feat: add ordersByAccountId query (#4981)
- ๐ feat: allow plugins to register functions to handle GraphQL transformation of catalog product media items (#4988)
- ๐ feat: support storing custom fields on orders when placing (#4962)
- feat: shipping Operator into 2.0 (#4967)
- feat: custom tax data part 2 (#4965)
- feat: allow tax services to add custom data to taxes (#4955)
- feat: shipping surcharges (#4829)
- ๐ป feat: navigation manager UI (#4936)
- feat: make Sitemap data available via GraphQL query (#4927)
- ๐ป feat: tag management operator UI (#4914)
- feat: add custom fields to order schema (#4979)
- โก๏ธ feat: update collectionIndex util function to take options (#4950)
- ๐ฆ feat: add envalid package (#4943)
- feat: GraphQL subscriptions (#4938)
- feat: create fulfillment surcharges (#4801)
๐ Fixes
- ๐ fix: add tagId check to guard against undefined (#5015)
- ๐ fix: do not emit afterCartUpdate unless surcharges are updated (#5001)
- ๐ fix: properly save all customFields from tax service result (#4986)
- ๐ fix: don't crash when mediaItem.URLs is null (#4982)
- ๐ fix: addAccountAddressBookEntry mutation - set account updatedAt (#4971)
- ๐ fix: taxes not updating reactively in starterkit (#4949)
- ๐ fix: inventory is set to
NaN
in rare circumstances based on Migrations (#4946) - ๐ fix: use stripe.setAppInfo to identify ReactionCommerce to Stripe (#4942)
- ๐ fix: tag bulk actions copy (#4941)
- ๐ fix: ENOSPC error with jest --watch (#4939)
- ๐ fix: tag ui bugs (#4933)
- ๐ fix: migration 56 throwing an error (#4934)
- ๐ fix: 404 from invite email link (#4919)
๐จ Refactor
- ๐จ refactor: update
inventoryQuantity
field to beinventoryInStock
(#4930) - ๐จ refactor: replace all Hooks with appEvents (#4915)
- ๐จ refactor: rewrite placeOrder and support multiple payments for an order (#4908)
Chores
- chore: delete unused files (#4990)
- chore: wrong version in migration 54 & 55 file (#4940)
- โก๏ธ chore: updated dependencies and snyk policies (#4974)
- ๐ chore: meteor and docker performance tweaks (#4992)
- chore: storefront catalog grid (#4973)
- ๐ chore: remove the cart UI (#4948)
- ๐ chore: remove the checkout UI (#4947)
- โก๏ธ chore: update to base image 1.8.0.2 to include Kafka binary libs (#4937)
Contributors
๐ Thanks, @rattrayalex-stripe for contributing to this release!
- ๐ We have done a bunch of performance tweaks to increase performance and initial boot time! We removed the