This changelog is a list of backwards-compatible updates and fixes in the API and dashboard. These updates are rolled out automatically, but we would still like to keep you informed about the most current state of our API.
MAJOR Removed deprecated fields on transaction responses
MINOR Promotion code response is now paginated
MAJOR Flow slugs can no longer be pluralised versions of core entity slugs (products, orders, etc)
MINOR In some cases, errors to the orders endpoints would return a blank error. This has been resolved
MINOR Deleting a relationship on a flow will now set the fields to
null, not a blank array
MINOR Fixed an issue where whitespace in filters would cause a 500 error
MINOR Fixed an issue where all flows were returned when using
MINOR Fixed an issue where meta data wasn't being returned when searching for customers
MINOR Added the ability to delete a single promotion code via a new endpoint
detail to error responses that only included
details in preparation to deprecate
MINOR Added Stripe payment gateway to attributes
MINOR Fixed an issue where updating a file would sometimes result in a 500 error
MINOR Currency is now formatted correctly across all
MINOR Product slug is now returned for cart items
MINOR Order CSV exports now include the
instructions field from the shipping address.
MINOR Fixed an issue where the formatted money was not being formatted for transaction responses.
MINOR Fixed a bug where
field_type needed to be specified when updating a field and omitting it would cause a
MINOR Fixed a bug where the
updated_at on a flow was not being updated when the flow was updated
MINOR Return an error if a user tries to add a product to a cart that does not have a price in the supplied currency.
MINOR Return an error if more than 10 filter parameters are applied to a request.
MINOR Fixed a bug where adding a relationship field to some entity types could cause a
MINOR Fixed a bug where new store settings could be empty.
MINOR Added new readonly settings.
OPTIONS requests will now be handled from the nearest edge location to the client instead of our EU data centre.
MINOR Improved validation when creating and updating integrations.
MAJOR Added a new
payload field to webhooks with the JSON representation of the updated object.
resources is now deprecated but will remain in place for the foreseeable future.
MINOR Fixed a bug where incorrect error messages could be returned if there was an error when making a payment. For example you could get an
Insufficient Stock error because of an incorrectly formatted payment request.
MAJOR Added new methods,
simple (default) and
line, to calculate totals for carts and orders.
MINOR Fixed a bug where a PUT to a cart item with a quantity of
0 would return a
MINOR Fixed a bug where passing mismatched IDs in the URL and body, or not passing an ID in the body would cause a
MINOR Improved error handling when making payments.
MINOR Fixed a bug where attempting to disable any currency would result in a
Cannot disable the default currency error.
MAJOR Added a settings option to allow store owners to specify how taxes and promotions are calculated on their carts.
MINOR Fixed bug where in some cases cart totals did not exactly reflect the order totals created after the cart was checked out. Cart totals and order totals now exactly match.
MINOR Fixed bug where phone number associated with address would not update correctly on PUT
MINOR Cart items now returned with GET cart call.
MINOR Adding a promo code to an empty cart now returns 422: "At least one product must be included in your cart to qualify for this offer"
MINOR Adding the same promo code to a cart more than once returns 201 but ensures the code is applied only once.
MINOR Updating a modifier no longer changes the child product IDs on rebuild
MINOR Added ability to update tax items (PUT) once added to a cart item.
MINOR Improved the safety of carts using different currencies by rejecting requests which would mix up currencies. The following use cases apply:
If you attempt to add a product to a cart which contains items in a different currency, you will receive a 400 error.
If you attempt to check out a cart in a different currency than the products that exist in the cart, you will receive a 400 error.
If you attempt to GET a cart in a different currency than the items in the cart, then the currency header should be ignored and you will see it in the original currency.
If you attempt to GET cart items in a different currency than the items in the cart, then the currency header should be ignored and you will see it in the original currency.
MINOR Fixed an issue with carts whereby changing the product quantity would change the order of cart items. This will now be preserved.
MINOR Added attribute validation so that only known events are accepted.
MINOR DELETE calls are now rejected to remove a relationship from a collection for incorrectly formatted requests.
MINOR Checkout call now returns order items in the response
DASHBOARD Fixed inconsistent behavior of pagination in the UI.
Fixed an issue whereby an invalid slug would cause an error with the
Fixed an issue whereby a payment request without an object would cause an error.
Fixed an issue with the validation issue being logged as error.
Pagination on the
/v2/flows/:flowSlug/entries endpoint now defaults to 100 entries per page.
MAJOR Released a caching layer for
/products endpoints. Cached data is now served to stores from edge locations around the world.
MAJOR Released live version of the Self Checkout solutions.
MAJOR Added pagination to the
/v2/flows/:flowSlug/entries endpoint with default set to 1000 entries per page.
Fixed issue with timestamp on inventory record.
Validation error code now returns a helpful message for SingleEqualsPriceModifierViolation.
Fixed an issue whereby newly created Flow Field wouldn't immediately present on resource.
MAJOR Added Zendesk integration for improved customer support.
MAJOR Moltin's architecture now incorporates Kubernetes.
Successful request to orders/:ID/payments endpoint now returns information about the transaction which was created.
Validation on files endpoint now checks the file parameter is passed, that it is an actual file and returns a 422 if it is not.
MAJOR Created a tax item to calculate sales tax for individual cart items. GitHub now includes an example app showcasing TaxJar integration.
DASHBOARD Transactions now include the
date field and show formatted values.
Fixed issue with filtering orders.
Added validation checks for file import.
formatted field to
transaction.data.meta showing the formatted display price.
transaction response now includes the
Updated search to return a 400 error explaining the search contains unsupported characters.
Fixed an issue whereby GET
orders.flow fields would return 404 when flow exists.
Fixed issue with accessing dashboard.
Fixed issue with stores list visible when there are no stores.
MAJOR DASHBOARD Customers can now bulk add promo codes.
Fixed issue with initial POST to cart returning unformatted
Fixed issue with child Product
slug not reflecting API response.
Fixed an issue with deleting customers through dashboard and API.
DASHBOARD Customers can now easily delete promo codes.
Fixed issue with using modifier placeholder in
Fixed issue with assigning Inventory.
Fixed issue whereby
id fields on update user and delete user are returned as integers instead of strings.
Fixed issue with deleting a user from a store.
Fixed an issue whereby adding a second
cart_item or deleting a
cart_item wouldn’t return
flow.entries for all
cart_items in the cart.
Fixed issue with creating
MAJORDASHBOARD Added product variations.
Updated validation rules for POST requests on
Fixed issue with additional key returned with
Added validation for
price object when adding a price modifier.
Fixed issue with filtering on email.
DASHBOARD Added pagination to Customers grid.
MAJOR Added pagination to
Fixed issue with
flow custom relationship.
Added allocate and deallocate actions to inventory service.
Fixed issue around
product relationships and pagination.
MAJOR Added Inventory Management is now available.
MAJOR Order exporting is now available.
variation.option returns the newly created
option object instead of the parent
variation.modifier returns the updated
modifier object instead of the parent
variation.modifiers returns the newly created
modifier instead of the parent
MAJOR DASHBOARD Customers can now easily export order data into a CSV file.
MAJOR Added Beta access to Inventory Management with
Added validation for the
currencies array in the promotions schema.
Resolved an issue with using payment captured events.
products now display
MAJOR Stripe Connect payment method now available.
Resolved issue that prevented some users from working with Promotions API correctly.
flow relationships are now available.
gateway now available.