Reaction Commerce v1.13.0 Release Notes

  • Removal of Legacy Product Revision Control system

    ๐Ÿš€ The major change in this release is that we've removed the existing revision control system in favor of publishing Products to the Catalog. The existing revision control system contained some powerful ideas, but was complex and intertwined into many areas of the app that were not directly related to Product. By removing the old revision control system, we've paved the way to substantially improve product grid performance, especially for Operators and we've simplified the product publication logic.

    ๐Ÿ“ฆ This removes all code, hooks, collections, and packages related to revision control.

    ๐Ÿ’ฅ Breaking changes:

    • ๐Ÿ“ฆ Any custom packages that depend on the Revision control system.
    • Operators will no longer be able to "undo" changes to a product. Instead products are published through the catalog
    • Any unpublished changes to products will be lost when upgrading to 1.13.0. In this release, it's possible that if you were to downgrade that you would see the unpublished changes again, but that may cause unexpected behavior. We recommend either publishing or discarding any changes to your products before upgrading to this release.
    • ๐Ÿš€ Similarly, any products that have been created but not published will demonstrate unexpected behavior. To avoid this undesirable behavior, publish any newly created, unpublished products prior to upgrading to this release.

    • ๐Ÿ”Œ All plugin authors will need to update your package.json with a change to the babel config similar to what was done here

    โšก๏ธ Update to Meteor 1.7

    โšก๏ธ This update brings some enormous improvements to the amount of time it takes to rebuild the application in development after making a file change. In some (less than perfectly scientific) tests that I ran testing file changes between 1.7 and 1.6.1 I saw 50%-90% improvements in the reload time. Your experience may vary depending on how much you've customized Reaction, your computer specs, and your specific development setup, but I fully expect this to be a noticeable improvement for anyone working with Reaction.

    โšก๏ธ There are some early reports that the included update to the MongoDB driver may have some kinks to work out, so I'd follow those issues on Meteor's repo if that's a cause for concern for you. These reports are all coming from a single person, and we haven't experienced any of these issues in particular yet, but we'll be keeping an eye on them.

    ๐Ÿ“š We ran into a few issues with npm install that we resolved in #4317. One product that came out of this investigation was some documentation for how to properly clean up and rebuild docker images in Reaction.

    To stop and clean up your images

      docker-compose down -v --rmi local --remove-orphans
    

    To rebuild your Reaction images

      docker-compose up --build --force-recreate --renew-anon-volumes
    

    If you only want to run Reaction and not the GraphQL DevServer

      docker-compose up --build --force-recreate --renew-anon-volumes reaction
    

    If you only want to run the DevServer and not the Meteor app

      docker-compose up --build --force-recreate --renew-anon-volumes devserver
    

    Meteor App

    ๐ŸŽ Performance

    • ๐Ÿšš perf: remove revision control (#4238)
    • โšก๏ธ perf: update to Meteor 1.7 (#4265)

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  fix: Use catalog collection for PDP (#4324)
    • ๐Ÿ›  fix: Import fixture data only if collections empty (#4327) .. Resolves #4326
    • ๐Ÿ›  fix: Invalid class name: .variant-list-item-{variant._id} (#4217)
    • ๐Ÿ›  fix: NPM build issue in Docker build (#4317)
    • ๐Ÿ›  fix: add getAutoValues: false to discounts/codes/remove (#4288)
    • ๐Ÿ›  fix: hadolint image version (#4306)
    • ๐Ÿ›  fix: CI step failure to tag Docker image with latest release version (#4304)
    • ๐Ÿ›  fix: admin products publication slowness (#4260)
    • ๐Ÿ›  fix: remove inventoryPolicy check on low inventory (#4298)

    ๐Ÿ”จ Refactors

    • ๐Ÿ”จ refactor: non meteor schemas (#4266) .. Resolves #4263

    โœ… Tests

    • โœ… test: new mocks factory (#4276) .. Resolves #4246
    • ๐Ÿ“ฆ test: run snyk when package.json has changed or base is master (#4285)

    ๐Ÿ“„ Docs

    • ๐Ÿ“„ docs(jsdoc): document all Meteor Template helpers in 1 @namespace (#3841) .. Resolves #3840

    GraphQL Dev Server

    ๐Ÿ”‹ Features

    • feat: add Media to Tag Schema and GraphQL query (#4270)

    Chore

    • โšก๏ธ chore: update default GraphQL query limit values (#4297)

    Contributors

    ๐Ÿš€ Thanks to @mikeumus for contributing to this release. ๐ŸŽ‰