-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Release 2.0.0 rc.8 #4896
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 2.0.0 rc.8 #4896
Conversation
Do not require the item tax code to match in order to charge taxes if the tax rate record does not include a taxCode. If the fix to filtering Custom Rates taxes by tax code is an undesired breaking change, you can revert to the old behavior by clearing out the "Tax Code" field in the Custom Rates definition now.
Co-Authored-By: aldeed <[email protected]>
…tax-rates-plugin Improve tax API, split out Custom Rates plugin
…pport-extend-in-graphql Update graphql packages to support extend enum and extend union
…tion into feat-operator-2.0
being passed to calculateOrderTaxes function Changes for tax plugins to be aware of: - Will now be called even when there is not yet a shipping address. Return `null` if you are not able to calculate due to no shipping address or any other missing information. - Called with a stable order-like schema, which now includes `originAddress`, `currencyCode`, `fulfillmentPrices`, and `price` on every item - Change function name from `calculateOrderGroupTaxes` to `calculateOrderTaxes`
…y-shop-id-fallback primaryShopId query fallback
…row-parens Configure prettier arrowParens to match our eslint rules
…-navigation [Feat] Navigation Backend
chore : e2e integration for release branches
…eserve order of subtags (order defined on parent)
…navigation-migration [Fix]: Migrate existing tag nav to new navigation tree structure
…-vars chore : use ci env var for staging url
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…ion-error fix: fix migration publish errors
…rrencyNANissue fix: add replace to remove comma from formatting
jeffcorpuz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
solved issues.
jeffcorpuz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approved.
jeffcorpuz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
v2.0.0-rc.8
This is our eighth release candidate for v2.0.0 of Reaction. Please check it out and let us know what works and what doesn't for you.
New Bits
Operator 2.0
The core experience and UI for a shop operator using Reaction Commerce has not changed much over the last couple of years. We've been hard at work on the new and improved storefront but until now have not revealed any of our design or plans for improving the updated operator UI.
This release includes the first beta of the new Reaction operator UI. Our focus with this new operator UI has several goals. First, we’re transitioning from a single page storefront and admin experience to a full page admin experience that will be separate from the storefront. . We believe this change is necessary and beneficial for anyone operating a store that works with a large number of products and/or does a high-volume of order. This change also decouples the customer facing storefront from the operator UI. The existing UI had a WYSIWYG flavor to it where the product and catalog management was done in an interface that was identical to what the customer saw. There are some benefits to this - having a good perspective of what your customers see when you make a change - but for large catalogs, it's not very practical. In addition, we’ve received feedback that the experience could be confusing for admin users who wanted to concentrate on their admin tasks only. Once decoupled the operator UI can use 100% of the screen space for store management and operation. The change will be a big benefit to users managing large product catalogs and complex fulfillment patterns.
Right now this new operator UI is opt-in and the existing, drawer style operator experience will continue to function as it has. You can access the new operator UI by visiting
/operator.This UI should have all existing functionality baked in, but we anticipate that there may be some rough edges and from a user experience standpoint it is the first step on a longer path. The first step here has been to replicate existing functionality by moving existing components into the new layout and fixing bugs that we've found. Going forward, we'll be implementing improved UIs for many of the operator tools - Catalog Management, Inventory, Pricing, Order Management, etc.
Please file an issue for any bugs that you find, whether they be weird UI quirks or things that don't as expected.
.env file
Most services that make up the Reaction platform use a .env file in the root of the service folder to define environment variables that should be set while running. They also have a pre-build script that the reaction-platform tool runs to create or update the .env file from a .env.example file, which is committed. Until now, this project did not use
.envfile, so we've added one. See #4826 for more details.Improved Bits
Support for extending GraphQL enums and unions
We've updated GraphQL and GraphQL Tools to new versions and added support for
extend enumandextend union. This permits extending the core schema in this way from a plugin. See #4798 for more detailsDeveloper performance
When we introduced
reaction-platformand begun developing in Docker environments, we began to notice high CPU utilization that for those of us developing on OSX.Long story short, this is an issue with filesystem operations in Docker for Mac and there's not much we can do to resolve the core issue. In development mode, we leverage Meteor to watch for file changes. By adjusting the polling interval for the Meteor file watcher, we can greatly reduce the issues introduced by Docker for Mac. We've set two environment variables in the example .env file
.env.example(#4826) as follows, but if these don't work for you, I'd start by adjusting the polling interval to something higher - 20000 (20s) or 30000 (30s). If you're working directly on the corereactionproject, this may impact how long it takes before a change you've made is recognized and rebuilt, but that may be a small price to pay to reduce CPU burn by hyperkit. There shouldn't be any other consequences to increasing this number.Breaking changes
This release contains a number of breaking changes that we've been working to get into Reaction before we cut the final 2.0.0 release. If you're planning to update an existing shop, please read through this list
Catalog
Meteor Methods
shop/getBaseLanguageshop/getCurrencyRatesshop/getWorkflowgetTemplateByNameorders/addOrderEmailtaxes/updateTaxCodeworkflow/coreOrderWorkflow/coreOrderProcessingworkflow/coreOrderWorkflow/coreOrderCompletedTaxes
taxes-ratesplugin in theincludedfolder, and all features related to custom rates have been moved there. This includes the "Custom Rates" panel in tax settings; theTaxescollection and its related schemas; the "taxes/addRate", "taxes/editRate", and "taxes/deleteRate" Meteor methods, and the "Taxes" Meteor publication.taxesplugin has a new API for registering tax services (such as the included "Custom Rates" service, or a custom Avalara service for example). They are registered by passing in ataxServicesarray toregisterPackage(example and details in Improve tax API, split out Custom Rates plugin #4785)taxesarray, which now has a different schema and appears for individual items as well as the full cart or order fulfillment group.Productsdocuments,taxableis nowisTaxable. This change had previously been made in theCatalogschema and now is made inProductsto match.taxCodevalue is now used for filtering which products should be taxed at that rate. This requires a review of all your products to ensure that they have a tax code specified, in addition to being marked as taxable. If you'd rather not do this review, you can revert to the old behavior of ignoring tax codes by editing each of your Custom Rates entries, clearing the the "Tax Code" field, and saving.Address Validation
Breaking changes to how address validation works. Affects all plugins that provide address validation and all clients that validate addresses. (#4767)
Configuration
.envfile with correct environment variables set in it. The.env.examplefile, with no changes, should work for most people. When running with reaction-platform, this should happen automatically. But if you've already been developing locally and you pull in this change, you'll need to run bin/setup once. You can also run bin/setup anytime you pull in the future, to add any new ENV variables. (Update main Reaction app to use.envfile #4826)Meteor Plugins
Features
.envfile (Update main Reaction app to use.envfile #4826)Fixes
isSoldOutandisLowQuantityare always false #4741Refactor
Performance
Chores
Contributors
Thanks to @willmoss1000 for contributing to this release! 🎉