Mailchimp Open Commerce is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.
GPL-3.0 License
Bot releases are visible (Hide)
Published by MohanNarayana over 3 years ago
Published by kieckhafer almost 4 years ago
Reaction v3.11.0 adds minor enhancements, fixes bugs and contains no breaking changes since v3.10.0.
Fixed issues causing image upload to fail.
Thanks to @loan-laux and @balibebas for contributing to this release! π
Published by kieckhafer about 4 years ago
Reaction v3.10.0 adds minor features and performance enhancements, and contains no breaking changes since v3.9.0
Update Reaction to current stable node for general maintenance.
Please note that node's ES Modules support is stable, but still experimental. While we are not aware of any specific breaking changes or issues, some CommonJS/ES Modules refactoring may be necessary in some installations.
feat: update to nodejs v14 (#6292)
Published by kieckhafer about 4 years ago
Reaction v2.9.3 fixes vulnerabilities introduced via npm dependencies, and contains no breaking changes since v2.9.2.
This release is being coordinated with reaction-development-platform
and is designed to work with v2.9.3
of example-storefront
and reaction-hydra
.
This is the final release of Reaction v2 software. As of September 1, 2020, Reaction v2 is no longer supported. We encourage everyone to upgrade to Reaction v3. Please see the Upgrading from 2.x guide in our docs.
Published by kieckhafer about 4 years ago
Reaction v3.9.0 adds minor features and performance enhancements, and contains no breaking changes since v3.8.0
chore: update simple authorization plugin (#6274)
chore: Update accounts package (#6269)
chore: use yalc for package link and unlink (#6266)
chore: updated api plugins (#6265)
chore: fix package link script issues (#6251)
Thanks to @loan-laux for contributing to this release! π
Published by kieckhafer over 4 years ago
Reaction v3.8.0 adds minor features and performance enhancements, and contains no breaking changes since v3.7.1
bin/package-link
and bin/package-unlink
allow you to test local plugins easily and efficiently, no longer needing you to npm link
packages or adjust your docker-compose.yml
file.
api-plugins
Published by kieckhafer over 4 years ago
Reaction v3.7.0 adds minor features and performance enhancements, and contains no breaking changes since v3.6.0.
API core is now its own plugin which provides the ReactionAPICore
class. Use this to build a NodeJS microservice that is compatible with the Reaction Commerce platform, or to build your main Reaction Commerce API if you don't want to start by forking this project.
All remaining plugins which were not moved previous to this release have now been moved out of this project and into their own npm plugins.
shipments-flat-rate
plugin to npm (#6199)taxes-flat-rate
plugin to npm (#6198)payments-stripe
plugin to npm (#6161)email
plugin to npm (#6200)notifications
plugin to npm (#6211)job-queue
plugin to npm (#6197)Published by kieckhafer over 4 years ago
Reaction v3.6.0 adds minor features and performance enhancements, fixes bugs, and contains no breaking changes since v3.5.0.
Fixes a bug which was causing cart and checkout to fail if an item was hidden after it was added to cart
accounts
, address-validation
, address-validation-test
, catalogs
, i18n
, settings
, simple-schema
and shops
plugins have been moved from internal plugins, to npm install packages.
simple-schema
plugin to npm (#6202)Published by kieckhafer over 4 years ago
Reaction v2.9.2 fixes a high severity vulnerability introduced via an npm dependency, adds miscellaneous bug fixes and contains no breaking changes since v2.9.1.
This release is being coordinated with reaction-development-platform
and is designed to work with v2.9.2
of example-storefront
and reaction-hydra
.
Updates bson
, which installed through mongodb
, to patch a high severity vulnerability.
handling
charge from fulfillment total #5987
Thanks to @trojanh for contributing to this release! π
Published by kieckhafer over 4 years ago
Reaction v3.5.0 adds minor features and performance enhancements, fixes bugs, and contains no breaking changes since v3.4.0.
discount-codes
, sitemap-generator
and translations
plugins have been moved from internal plugins, to npm install packages.
A new pricing
field has been added to Product and ProductVariant types, and price
has been deprecated, to keep field consistant across packages and product types.
Thanks to @timgates42 for contributing to this release! π
Published by kieckhafer over 4 years ago
Reaction v3.4.0 adds minor features and performance enhancements, fixes bugs, and contains no breaking changes since v3.3.0.
navigation
and payments-example
plugins have been moved from internal plugins, to npm install packages.
updateShop
mutationupdateShop
mutation has been expanded to allow updating of more Shop related settings via the GraphQL API
Thanks to @trojanh for contributing to this release! π
Published by kieckhafer over 4 years ago
Reaction v3.3.0 adds minor features and performance enhancements, and contains no breaking changes since v3.2.0.
Remaining role
and permissions
related code has been moved of the API and into the simple-authorization
plugin, which makes it easier to swap this plugin for a custom authorization service.
Published by kieckhafer over 4 years ago
Reaction v3.2.0 adds minor features and performance enhancements, and contains no breaking changes since v3.1.0.
Introduces Gateway capability, which allows for the API to be a participant on the Federated Gateway.
simple-authorization
and system-information
plugins have been moved from internal plugins, to npm install packages.
plugin-simple-authorization
package (#6110)Published by kieckhafer over 4 years ago
Reaction v3.2.0 adds minor features and performance enhancements, and contains no breaking changes since v3.1.0.
Introduces Gateway capability, which allows for the API to be a participant on the Federated Gateway.
simple-authorization
and system-information
plugins have been moved from internal plugins, to npm install packages.
plugin-simple-authorization
package (#6110)Published by kieckhafer over 4 years ago
We're excited to introduce version 3.0.0 (v3.0.0) of the Reaction Commerce GraphQL API (hereby referred to as "The Reaction API"). In this version, we've expanded the existing GraphQL API to include administrative and operator functionality, eliminated the Meteor framework from the Reaction API, split the Reaction Admin UI and the identity provider into separate services, added support for plugins as NPM packages, and improved automated integration testing for the Reaction API.
The reactioncommerce/reaction repo exclusively hosts the Reaction API in v3.0.0. This Reaction API now has full GraphQL coverage of the functionality that was previously provided by Meteor. In v2 we introduced GraphQL into the Reaction API for storefronts. Now the Reaction API includes GraphQL coverage for administrative and operator functionality. This enables the creation of custom UI for operating a shop using Reaction Commerce.
The Reaction API plugin system has changed a lot - primarily because the Reaction API runs as a Node.js application instead of a Meteor application. It's now possible and recommended to write plugins as NPM packages. See our docs on plugins in Reaction 3.x for details.
Permissions of a Reaction Account are now exclusively determined by the permissions of the Group (or Groups) the Account belongs to.
Previously, roles (renamed permissions) were attached to a user by querying the single Group a user belonged to, and copying the group permissions over to the user account. Permissions were then checked against the user.roles object. If there was ever an update to the permissions a group was allowed, every user in the group needed to be updated.
In v3.0.0, Accounts are now allowed to be added to more than one group, and permissions are checked by querying the Groups the user belongs too, aggregating all permissions all of these groups, and then checking against this list of permissions. If a group is ever updated, each individual account no longer needs to be updated.
We've written many integration tests for our Reaction API. See this GitHub ticket for a full list of new integration tests. While we've made huge strides here to improve test coverage, there is still room for improvement here. We'd welcome contributions that improve our test coverage!
Improving developer experience has been high on the list of priorities for quite a while. We've made significant improvements to startup, restart, and build times for the reaction
project by removing Meteor. In doing this we've also updated to version 12 of Node.js, which is in Active LTS status.
With this release, we are also introducing a beta of Reaction Admin, now a standalone application. We've moved the codebase for the Admin UI into a separate repository - reactioncommerce/reaction-admin.
It's important to note that while this is the official v3.0.0 release of the Reaction API, we're keeping the beta
tag on Reaction Admin for now.
Our focus and effort for this release has primarily been on readying our full GraphQL Reaction API. We're keeping Reaction Admin in beta because it uses Meteor under the hood for builds and there are still a few Meteor APIs left in the codebase. The future Reaction Admin UI will use the Reaction API exclusively.
The Reaction Admin project will be in beta beyond the v3.0.0 release of Reaction API. We suggest careful consideration before copying any patterns found in the Reaction Admin project while it still has the beta tag. There are sections where it consumes the Reaction API and other sections that still use patterns from when the Admin UI was part of the monolithic Meteor application.
This release moves the identity provider for Reaction into a separate service - reactioncommerce/reaction-identity. Reaction Identity is the user interface and server for identity management, including user registration, login, logout, and password change. It works together with reaction-hydra to enable OAuth2 flows.
v3.0.0 is a coordinated release across all of Reaction's open source projects. Following this release, we will release Reaction Commerce projects independently. For example, if there are fixes or improvements made to the Example Storefront or to the API, they can be released without bumping the version of every other project. Reaction Development Platform will continue to be bumped with each release of a Reaction Commerce project.
Mongo version 4.0+ is now required. Mongo 4 introduces multi-document transactions. Requiring Mongo 4+ means that services and plugins can start using transactions where necessary to ensure better data integrity.
The docker-compose.yml file in each project now uses public images rather than building an image. This drastically speeds up the initial startup time in development, and makes the application run smoother in development. When you're ready to start developing, you'll need to switch over to using the docker-compose.dev.yml file in the project you're wanting to develop - see for example: reaction/docker-compose.dev.yml).
The migration tool in Reaction v2.x depended on Meteor and was built into the Reaction monolith. For v3.0.0, we've moved to a new CLI migration tool for MongoDB. We weren't planning to write Migrator, but we couldn't find anything that met all of our MongoDB migration needs. Although we built Migrator for Reaction Commerce, it is a general purpose MongoDB data migration tool that you can use for any project. See the project page for details on why we decided to build our own and to learn how to use the new migration tool.
We've got an example project that you can use to get started. There's also an npm package that can ensure your database has migrated to the correct version before running any commands.
Our (recently renamed) reactioncommerce/reaction-development-platform project is still the best place to start if you want to check out what Reaction has to offer or start developing for Reaction.
If you're experienced with Reaction already check-out our Upgrade Guide. If you've got a plugin you'd like to upgrade, read our guide for updating a 2.x API plugin to work with Reaction API 3.x.
updateAccount
GraphQL mutation (#6067)cartToken
(#5820)simple-authorization
to legacy-authorization
, change function footprint (#5772)api-utils
version number (#5851)We couldn't have done this without the incredible people contributing to Reaction. From writing PRs and docs to creating bug reports, every contribution matters. Thanks to the over 60 people, involved in 8+ repos who have contributed in some way to the v3.0.0 release. We appreciate each of you! π
@janus-reith
@loan-laux
@trojanh
@HarisSpahijaPon
@adilsaeed31
@agustif
@akakak1
@aktywnitu
@albertstartup
@alex-haproff
@Arthur236
@ashwinsoni
@Badyl1g
@bjanssen-pon
@BunnyMan1
@chriscamplin
@cmbirk
@CristianCucunuba
@curmudgeonation
@daniel-rosiak
@deividaspetraitis
@delagroove
@DennisWanjiru
@derBretti
@desktp
@dominik-myszkowski
@Escalion
@eusebiu-andrei9
@gddabe
@hamxabaig
@hems
@ichtestemalwieder
@ikabudimir
@jackson-sandland
@jdonor
@jhonsfran1165
@jm18457
@jmav
@joshreeves
@juanzjck
@karaarda
@karbal
@kmyn
@manzettidenis
@MarcMagnin
@mauber91
@michaelstanton
@moeghashim
@monarkatfactly
@Niko0918
@octoxan
@okazdal
@paales
@preminfy
@rogersoares
@RoytenBerge
@sagargupta
@samkelleher
@tccack
@TilenKreca
@vigyano
@volanar
@yashutanna
@YuuwakU
@Zachary-work
These changes were originally tested and released in our alpha and beta releases
The following Reaction projects are being released one time in coordination as v3.0.0
After this release, Reaction releases will no longer be coordinated across all projects - we'll release each project independently, as needed. Version numbers will no longer be kept in sync. The newest versions of each project will work together.
Published by kieckhafer over 4 years ago
This is the third beta release of our new Reaction project.
Reaction releases will no longer be coordinated across all projects - we'll release each project, independently, as needed. This means version numbers will no longer be in sync. The newest versions of each project will work together. This change has two exceptions: we will release all projects in coordination for a beta
release, and all projects in coordination for the official v3.0.0
release.
owner
is no longer a global override permission which allows the user to perform any actions. Users must now have specific permissions for all tasks they wish to perform.
updateAccount
GraphQL mutation #6067
Thanks to @trojanh and @daniel-rosiak for contributing to this release! π