Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.13.0 #4296

Merged
merged 237 commits into from
Jun 21, 2018
Merged

Release 1.13.0 #4296

merged 237 commits into from
Jun 21, 2018

Conversation

spencern
Copy link
Contributor

@spencern spencern commented Jun 4, 2018

v1.13.0

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

Bug Fixes

Refactors

Tests

Docs

GraphQL Dev Server

Features

Chore

Contributors

Thanks to @mikeumus for contributing to this release. 🎉

Machiko Yasuda and others added 30 commits February 26, 2018 16:41
`id="variant-list-item-{variant._id}"` didn't interpolate the `variant._id`
`id={`variant-list-item-${variant._id}`}` is working fine for me.
Remove methods to apply revisions to media
- Remove `isRevisionControlEnabled` conditional, keeping the contents of the block.
- Remove the old publish logic
Remove tests related only to revision control features.
import PropTypes from "prop-types";
import { composeWithTracker } from "@reactioncommerce/reaction-components";
import PublishControls from "../components/publishControls";
import { Meteor } from "meteor/meteor";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import order

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why isn't eslint catching this?

@@ -387,6 +387,7 @@ export function addressBookAdd(address, accountUserId) {
};
const accountsUpdateQuery = {
$set: {
shopId: Reaction.getShopId(),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh, I've been chasing this bug when load testing for a week. 🎉

// validate, catch except but return no results
try {
if (productFilters) filters.validate(productFilters);
} catch (e) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we make an exception re: single letter variables here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't be, looks like it slipped through code review. Nice catch.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like it came in through a community contribution, still shouldn't have slipped through code review though. I'll fix it.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have swore that ESLint caught those in the past

Copy link
Contributor

@nnnnat nnnnat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! @spencern I tested #4202 and it looks to have been resolved when we removed the autoValue functions from the shop schema.

@spencern spencern merged commit 12cd570 into master Jun 21, 2018
@spencern spencern deleted the release-1.13.0 branch June 25, 2018 23:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
9 participants