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.9.0 #3941

Merged
merged 458 commits into from
Mar 15, 2018
Merged

Release 1.9.0 #3941

merged 458 commits into from
Mar 15, 2018

Conversation

spencern
Copy link
Contributor

@spencern spencern commented Mar 8, 2018

v1.9.0

This release contains a lot of fixes, some of them performance related and several enormous refactors.
The three biggest changes are:

  1. We've migrated from the Meteor version of Simple Schema to the npm version. See notes in the breaking changes section below.
  2. We've dropped our dependency on the deprecated Meteor-CollectionFS package. We've replaced it with an npm package we've created called reaction-file-collections
  3. We've created a new catalog collection for use on the Product Grid when viewed by a consumer or other user without a product admin role

There's a full list of changes and fixes below, as well as detailed explanations of potential breaking changes and what you might need to do to migrate

BREAKING CHANGES

This is a breaking change for any plugin that implements or modifies a schema based on the Meteor simple-schema package.

From the Simple Schema update

This PR updates the aldeed:simple-schema Meteor package dependency to instead depend on the simpl-schema NPM package, which is the newest release of the same library. As part of this change, there are several breaking changes and other gotchas to be aware of.

IMPORTANT! The NPM package does not play nice with the previous Meteor package. After updating to this Reaction release, run the app one time, and then look at the .meteor/versions file. Make sure that aldeed:simple-schema is not listed. If it is there, that is because you depend on another Meteor package that depends on aldeed:simple-schema. You will have to update or remove any such packages (with meteor remove / meteor add) until aldeed:simple-schema disappears from your .meteor/versions file.
Search your app for any import { SimpleSchema } from "meteor/aldeed:simple-schema" lines that you have added in your custom code, and replace them with import SimpleSchema from "simpl-schema"
Be aware that the package name does not have the "e" on "simpl". (There is a different NPM package called simple-schema with the "e", and that is NOT the one you want.)
If you have your own custom schemas, refer to the SimpleSchema changelog to update them for the breaking changes: https://github.com/aldeed/meteor-simple-schema/blob/master/CHANGELOG.md#200
If you use attachSchema in your code, be aware that passing an array to attachSchema will no longer work. You should first merge all the schemas and then pass the combined schema to attachSchema

Please read the PR if you need more details Use NPM SimpleSchema rather than Meteor #3331

From the removal of CollecitonFS

If you've saved the file URLs anywhere, they're now different.

/assets/files/:collectionName/:fileId/:filename

becomes

/assets/files/:collectionName/:fileId/:primaryStoreName/:filename

and

/assets/files/:collectionName/:fileId/:filename?store=storeName

becomes

/assets/files/:collectionName/:fileId/:storeName/:filename

We've deleted some unused Blaze templates rather than update URL handling within them:

  • shopBrandImageOption
  • ordersListItems
  • select
  • upload
  • productMetaField
  • productMetaFieldForm
  • metaComponent
  • productDetailEdit
  • productDetailField
  • productImageGallery
  • imageDetail
  • imageUploader
  • productSocial
  • variantList
  • variant
  • Media-related publishing is changed and improved:

Publications have been added, removed, or changed:

  • CartItemImage publication is removed
  • CartImages now takes an ID
  • Added ProductGridMedia to replace Media being included with the products publication for the grid
  • Added ProductMedia
  • Added OrderImages, similar to CartImages, used for order now rather than reusing CartImages

Full notes on the PR to replace CFS #3782

From the customer product catalog

The old imports/plugins/included/product-variants/containers/productsContainer.js has been renamed to productsContainerAdmin.js and a new component named productsContainer.js now handles which products container to load based on the user's permissions. Full notes on the PR #3876

From the Dockerfile updates

reactioncommerce/base:v4.0.1 removed the following:

  • Removed the conditional MongoDB installation (via $INSTALL_MONGO env). Use mongo as a service in docker-compose, see example in README.
  • Removed the conditional PhantomJS installation (via $INSTALL_PHANTOMJS env). If PhantomJS is required in your build, you can include it in your custom Dockerfile.
    Full notes on the PR

Dockerfile Updates

  • Base image updated to reactioncommerce/base:v4.0.1 which has:
    • node:8.9.4 as base image (same Debian base as before, but with Node 8 preinstalled)
    • Meteor 1.6.1 preinstalled
  • Multi-stage build support.
    This helped reduce the size of the production image by removing un-required dependencies.
  • Final production bundle uses node:8.9.4-slim

Docker Compose changes

  • Updated existing docker-compose.yml to serve as the config for running a local development environment.
  • Added a new docker-compose-demo.yml for testing out production builds (this is the replacement for the previous docker-compose.yml).

Upgrades

CI

We've updated our circle ci config to use v2 of Workflows. This permits us to run additional automated tests on circle instead of using other services. We now have 6 workflow steps that must pass before a PR can be merged.

Refactor

Fix

Chore

Docs

Contributors

Thanks to @pmn4 for contributing to this release!

mikemurray and others added 30 commits March 1, 2018 13:52
…reactioncommerce/reaction into refactor-3662-nnnnat-product-publishing
Resolves #3867

Changes:
   - No longer use route with email query parameter
   - No longer use Blaze template to render the confirmation/error page
   upon click of registration URL
   - Use meteor-accounts method Accounts.verifyEmail to login upon
   registration
   - Don't verify Meteor.user email address in Meteor method
   "accounts/verifyAccount", because this is done implicitely in
   Accounts.verifyEmail
Move product filters to a shared function. Use shared `filterProducts` function in `Products` and `Products/grid` publication.
…reactioncommerce/reaction into refactor-3662-nnnnat-product-publishing
@brent-hoover
Copy link
Collaborator

So I just pulled this now and I get "No Products Found" as an anonymous user

…ci-workflow

Update circleci config to circleci workflows 2
@mikemurray
Copy link
Member

@zenweasel #3876 was merged into this release. It's the catalog collection changes.

To see products on the grid as a customer, they must first be published by an admin.

@brent-hoover
Copy link
Collaborator

brent-hoover commented Mar 14, 2018

Should we have the default product published by default? @mikemurray?

@mikemurray
Copy link
Member

Products are published to the Catalog collection with a method. We'd have to call that at some point to publish the default product, but only once.

As a side note, the original grid still exists, only moved to a new file in the product-variant package. If we don't want to delay the release further we can always disable the customer only grid and revisit in the next release.

…summary-not-shown

Fix for "Summary not shown in Invoice"
…enable

Fix #3965: Check for number if sms is enabled.
@brent-hoover
Copy link
Collaborator

I talked to @spencern and we agreed that it's cool to just have no product on the consumer-side. I don't think consumers have an expectation that there should be products loaded by default.

@brent-hoover
Copy link
Collaborator

Ran smoke tests and seems like it's ready to go 👍

brent-hoover
brent-hoover previously approved these changes Mar 14, 2018
Copy link
Collaborator

@brent-hoover brent-hoover left a comment

Choose a reason for hiding this comment

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

Looking good. 👍

@spencern spencern merged commit 2b0c180 into master Mar 15, 2018
@spencern spencern deleted the release-1.9.0 branch March 15, 2018 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment