Reaction Commerce v1.10.0 Release Notes

  • Collection Hooks | Breaking Change!

    ๐Ÿ”จ The biggest change in 1.10.0 is the removal of the meteor-collection-hooks package. If your app or plugin is dependent on collection hooks, we'd recommend refactoring to eliminate the need for those types of hooks. If you're not up for refactoring you can just add that package back into your app though you'll lose some of the benefits that Reaction will see by eliminating that dependency. The removal of this package is a breaking change for any plugin that depends on collection hooks or uses the direct method to update a collection. For example, Products.before, Products.after, and will no longer work. These hooks have all been migrated to our event hook system. If you were using Collection hooks to perform an action that you cannot perform in 1.10.0 with the current set of event hooks, please file an issue and we can determine if we need to add additional event hooks. This change should lead to much simpler code that is easier to understand.

    ๐Ÿ†• New GraphQL API

    ๐Ÿš€ In addition to a few performance updates, refactors, and bug fixes, this release starts the rollout of our GraphQL API. Until further notice, this GraphQL API should be considered a prototype and should not be used for production. If you're interested in following along with our GraphQL work, tracking our GraphQL issues is probably the easiest way for now.

    ๐Ÿš€ In short, this release adds a prototype GraphQL server running in the Reaction project with the following urls exposed:

    /graphql - The GraphQL endpoint.
    /graphiql - The GraphiQL user interface.

    ๐Ÿš€ We'll be incrementally adding functionality to this GraphQL endpoint, but this release serves as the starting point for our GraphQL api.


    • feat: GraphQL Prototype (#3898) .. Resolves #3935, Resolves #3928, Resolves #3910
    • โœ… feat: GraphQL Jest testing pattern (#3995) .. Resolves #3936
    • feat: Create GraphQL viewer query (#4019)
    • feat: Create GraphQL account query (#3991)

    ๐Ÿ”จ Refactors

    • ๐Ÿ”จ refactor: remove collection hooks in search mongo package (#3889) .. Resolves #3866
    • ๐Ÿ”จ refactor: remove collection hooks for Products collection (#3825)
    • ๐Ÿ”จ refactor: remove media hooks (#4035) .. Resolves #3994
    • ๐Ÿ”จ refactor: hooks in the inventory package to use Hooks.Events (#3887)
    • ๐Ÿ”จ refactor: remove collection hooks package (#4036)

    ๐ŸŽ Performance

    • perf: Memoize/Cache getShopId to Reduce DB Load (#3510) .. Resolves #3507

    ๐Ÿ›  Fixes

    • ๐Ÿ›  fix: typo fix (#4000) .. Resolves #3975
    • ๐Ÿ›  fix: Browser console warning when beginning checkout (#3980)
    • ๐Ÿ›  fix: PDP Image gallery does not handle portrait sized images well (#3993)
    • ๐Ÿ›  fix: Cloning products is not reactive (#3964)
    • ๐Ÿ›  fix: Uploading Product Image (#4029)
    • ๐Ÿ›  fix: ProductsContainers are not replaceable (#4025)
    • ๐Ÿ›  fix: ProductGridItem is not replaceable (#4027)

    โœ… Tests

    • โœ… CI: Run Jest and Meteor tests in parallel (#4030)

    ๐Ÿ“„ Docs

    • ๐Ÿ“„ docs(jsdoc): namespace MethodHooks into its own JSDoc section. (#3844) .. Resolves #3840