Skip to content

Conversation

@spencern
Copy link
Contributor

@spencern spencern commented Aug 14, 2018

v1.15.0

Sitemap Generator

A sitemap generator plugin that creates and stores XML for a sitemap index, as well as sitemaps for tag pages, PDPs, and arbitrary URLs that can be added via an event hook.

There is a recurring job that runs every 24 hours (the specific interval can be changed) that generates the sitemaps. There is also a button to manually trigger a refresh, at Dashboard -> Shop -> Options - along with a notification that appears when it's completed.

Use our GraphQL API for the Product Grid within the Meteor App

As part of our push towards our GraphQL API, we've started to leverage the API inside of our existing Meteor app. This release converts our customer facing product grid from using Meteor Pub/Sub to consuming data from our GraphQL API instead. This is the first step in an ongoing initiative to start using the GraphQL API inside of our existing monolithic commerce application. See #4481 for a list of files changed.

GraphQL Checkout

This release includes the first set of GraphQL APIs designed for stepping through a checkout. While we've started to consume this API within our Storefront Starter Kit, these APIs should be treated as unstable and subject to change. We've added mutations for setting an anonymous email - setEmailOnAnonymousCart and selecting fulfillment options - selectFulfillmentOptionForGroup.

A note on fulfillment options
Fulfillment options are what we're calling what used to be shipment options. In order to prepare ourselves for several types of fulfillment that do not necessarily include shipping, we're updating the checkout through order models, methods, and now our GraphQL API to be capable of grouping items into "Fulfillment Groups". This opens the door for several new types of fulfillments down the line such as In Store Pickup, Digital Downloads, Digital Key Generation, and anything else you can think up. We're not actively building any of these different fulfillment types into core, but want to ensure that it's possible and there's a clear direction to do so.

Breaking Changes

  • If a plugin adds an "afterCartUpdate" hook, it will no longer be called. Change the plugin code to use appEvents.on("afterCartUpdate" instead. (Refactor cart / fulfillment hooks #4535)
  • If a plugin creates or updates a cart, be sure it calls appEvents.emit("afterCartCreate") or appEvents.emit("afterCartUpdate"), respectively, passing the proper arguments. If you do this within an appEvents.on hook for the same event, be sure to wrap the call in conditional logic to avoid an infinite loop. (Refactor cart / fulfillment hooks #4535)
  • We've refactored the Shipment schema to remove the items property. This will cause a breaking change for plugins expecting the items property to be there. Such plugins should be updated to use a combination of itemIds and the main items list. (Refactor fulfillment items #4531)
  • Removed requiresShipping prop from products and catalog products. This has been replaced by an array supportedFulfillmentTypes. Reaction's core admin interface did not provide a method for setting this prop, and we've left the supportedFulfillmentTypes out of the exiting operator interface. This change will emable us to show a "Shipping"/"Pick Up" selector for other items down the road. Will also permit creation of digital fulfillment types, etc. (Fulfillment improvements #4554)
  • The last argument of the setShipmentMethod Meteor method now expects just the method ID rather than the whole method object. Core client code has been updated, but you should update any custom code that calls this method.
  • Removed the resetShipmentMethod Meteor method
  • The cart/setAnonymousUserEmail Meteor method is removed. This does not break any core behavior, but it might require updates to any custom plugins.

GraphQL DevServer

Features

Fixes

Meteor App

Features

Performance

Fixes

Refactor

Chores

Contributors

  • Thanks to @pmn4 for contributing to this release 🎉

dancastellon and others added 30 commits July 20, 2018 17:07
aldeed and others added 19 commits August 16, 2018 13:45
…onenumber-js

#4516: Move formatPhoneNumber (and libphonenumber-js) server-side to reduce client bundle
…-sitemap-generator

#4353 Plugin for auto-generated sitemaps
…tEmailOnAnonymousCart

GraphQL: Replace "cart/setAnonymousUserEmail" Meteor method with setEmailOnAnonymousCart mutation
…regate-order

feat: improve orders sub speed by rearranging pipeline
@spencern spencern changed the title [WIP] Release 1.15.0 Release 1.15.0 Aug 22, 2018
@spencern spencern requested a review from jeffcorpuz August 22, 2018 04:47
@spencern spencern added this to the Little Bear milestone Aug 24, 2018
@jeffcorpuz
Copy link
Contributor

jeffcorpuz commented Aug 24, 2018

Google Chrome Mozilla Firefox Microsoft Edge
PASS PASS PASS
68.0.3440.106 (64-bit) 61.0.2 (64-bit) 42.17134.1.0

Detailed Sheet:

https://docs.google.com/spreadsheets/d/e/2PACX-1vRRr-Zb5EDk7rQFoyOMAnZmMt3wEMIuCsFKpgap5XUn1GZbjZTvgPNUHFJx7iZJMmBDpv9pTBtdB6w3/pubhtml

@spencern spencern merged commit 5c58334 into master Aug 24, 2018
@spencern spencern deleted the release-1.15.0 branch November 5, 2018 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

10 participants