7.5.3
October 12th, 2024
What's fixed
- Fixed an issue with the
{{ sc:cart }}
tag when value is array #1165 #1170 by @darinlarimore - Fixed an issue with shipping tax calculations in the Basic Tax Engine when
included_in_prices
is enabled #1168 by @rolinbos
7.5.2
October 1st, 2024
What's fixed
- Made the
GeneratorCommand
class abstract, to prevent Statamic from autoloading it @duncanmcclean
7.5.1
September 20th, 2024
What's fixed
- Ensure Runway blueprint are configured correctly when blueprints are stored in the database by @duncanmcclean
7.4.7
September 6th, 2024
What's fixed
- Fixed an issue where an exception would be thrown when redeeming invalid coupon #1153 by @jesseleite
7.4.6
September 4th, 2024
What's fixed
- Differentiate subject from first order confirmation email #1152 by @jesseleite
7.4.5
August 31st, 2024
What's fixed
- Workaround error when refunding Stripe payments
- Remove validation of Shipping Method fields #1147 by @duncanmcclean
- Worked around a weird issue when merging user data between flat-file and database users #1083 by @duncanmcclean
7.4.4
August 26th, 2024
What's fixed
- Removed
tr_
prefix from Mollie webhook code #1148 by @Web10-Joris
7.4.3
August 21st, 2024
What's fixed
- Mollie: Check for the payment ID under the
gateway
key too #1136 #1138 by @duncanmcclean
7.4.2
August 16th, 2024
What's improved
- A warning is now thrown when the Runway config file already exists #1126 by @duncanmcclean
What's fixed
- Fixed issue where fields were being wiped on users #1122 #1132 by @duncanmcclean
- Fixed issue where the
tax_category
field wasn't being added to variant products by @duncanmcclean - Added back missing Region & Country fields to order bleprint by @duncanmcclean
- Updated
stripe/stripe-php
dependency #1125 #1127 by @david-lobo
7.4.1
August 5th, 2024
What's fixed
- Ensure status log timestamps are always in UTC #1113 #1120 by @duncanmcclean
- Fixed empty
Address
objects being returned #1116 by @duncanmcclean - Fixed empty Shipping Method field when storing orders in the database #1106 by @duncanmcclean
- Fixed issue where product variants weren't showing properly #1117 #1118 by @duncanmcclean
- Adjusted type hint of
GatewayData::data()
method #1111 by @duncanmcclean
7.3.2
July 4th, 2024
What's fixed
- Fixed issue where the value of the
tax_category
field was being saved incorrectly #1104 by @duncanmcclean - When the order has no shipping tax,
Order@shippingTotalWithTax
should return zero.
7.3.1
June 13th, 2024
What's fixed
- Fixed the Low Stock Products widget with Variant Products #1100 #1101 by @duncanmcclean
7.3.0
June 8th, 2024
What's new
- The
CouponRedeemed
event now includes the order #1091 by @sbrow - You can now set the expiry date for the cookie cart driver #1089 by @Web10-Joris
What's fixed
- Added additional "has cart" checks to the cart tag, to prevent empty carts #1096 by @duncanmcclean
- Fixed the
{{ sc:cart:shipping_total_with_tax }}
tag when the tax rate has "Price includes tax" enabled #1095 by @duncanmcclean
7.2.1
May 31st, 2024
What's fixed
- Fixed error when querying customers stored as database users #1082 #1088 by @duncanmcclean
- Fixed error when saving user customer data #1083 #1087 by @duncanmcclean
- Fixed
{{ sc:customer:order }}
tag #1081 #1086 by @duncanmcclean - Prevented
preload
method from being called when augmenting product variants #1076 #1085 by @duncanmcclean - Fixed broken link to the Statamic 5 upgrade guide in the docs #1080 by @Afan417
7.1.0
May 18th, 2024
What's new
- Both v3 and v4 of
stillat/proteus
are now supported #1074 by @duncanmcclean
7.0.1
May 11th, 2024
What's fixed
- Fixed Stripe Payment Intent not being saved to order gateway data #1071 #1072 by @duncanmcclean
6.3.1
May 11th, 2024
What's fixed
- Fixed Stripe Payment Intent not being saved to order gateway data #1071 #1072 by @duncanmcclean
6.3.0
April 27th, 2024
What's new
- When storing customers as users, the customer will now be removed from their order when they logout #1068 by @duncanmcclean
What's fixed
- Fixed roles & groups being overwritten when updating customer information #1067 by @duncanmcclean
6.2.1
April 22nd, 2024
What's fixed
- Fixed an issue when address has a region, but no available tax zones have a region, just a country #1061 by @duncanmcclean
6.2.0
April 16th, 2024
What's improved
- Improved the default ordering of database orders #1056 by @duncanmcclean
- Added
order_date
to$appends
on theOrderModel
by @duncanmcclean
6.1.0
April 13th, 2024
What's improved
- UX Improvements to the
sc:switch-to-database
command #1050 by @duncanmcclean - Added "This could take a while" to
sc:run-update-scripts
command by @duncanmcclean - Added
ext-intl
PHP extension as an install requirement #1044 by @joshuablum
What's fixed
- Fixed infinite loop when querying orders #1043 #1049 by @duncanmcclean
- Fixed the "Order Date" field for database orders #1053 by @duncanmcclean
- Fixed searching database orders #1045 #1051 by @duncanmcclean
- Removed the
default
config option from the "Use Shipping Address for Billing" field #1052 by @duncanmcclean
6.0.11
April 2nd, 2024
What's fixed
- Fixed error with
{{ sc:cart:raw_tax_total_split }}
tag #1037 by @duncanmcclean
6.0.10
March 5th, 2024
What's fixed
- Fixed missing gateway data for payments via Mollie #1026 #1029 by @duncanmcclean
- Fixed the Shipping Method fieldtype not finding shipping methods #1026 #1028 by @duncanmcclean
6.0.9
February 29th, 2024
What's fixed
- Fix "Recursion detected" error with cart endpoints #1024 #1025 by @duncanmcclean
- Changed empty state message on Status Log stack by @duncanmcclean
6.0.8
February 22nd, 2024
What's fixed
- Fixed an error with the Status Log fieldtype when storing orders in the database #1022 by @duncanmcclean
- Fixed an error when adding items to the cart with a default shipping method configured #1019 #1021 by @duncanmcclean
- Fixed an issue where the Mollie Webhook couldn't find related orders when storing orders in the database #1018 by @duncanmcclean
6.0.6
February 13th, 2024
What's fixed
- Fix error when redirecting back from off-site gateways #1010 #1012 by @duncanmcclean
- Database Orders: Fixed
Serialization of 'PDO' is not allowed
when adding items to cart #1003 #1013 by @duncanmcclean - Database Orders: Fixed augmentation of Status Log fieldtype #1014 by @duncanmcclean
6.0.5
February 12th, 2024
What's fixed
- Prevented an error from occuring from cart drivers when the customer has no cart #1005 #1007 by @duncanmcclean
- Fixed a typo #1008 by @duncanmcclean
6.0.4
February 12th, 2024
What's fixed
- Fixed querying data in Eloquent Query Builders #1002 #1004 by @duncanmcclean
6.0.2
February 11th, 2024
What's fixed
- Fixed errors in some of the update scripts
- Fixed some issues with the default blueprints
What's improved
- Refreshed the upgrade guide
- Tidied up some of the comments in the config file
6.0.1
February 11th, 2024
What's fixed
- Prevented vendor blueprints from being published
- Fixed errors from the
PublishMigrations
upgrade script
6.0.0
February 11th, 2024
What's new
- Runway v6 compatability #953
- Added "Delivered" order status #991
- Added
findOrFail
methods toOrder
/Product
/Customer
repositories #990 - The Digital Products addon has been merged into the Core Simple Commerce addon #986
- Orders, Products & Customers now have their own query builders (eg.
Order::query()
) #973 - When using Statamic users as customers, the authenticated user will automatically be associated with their orders #961
What's changed
- The package namespace has changed from
DoubleThreeDigital
toDuncanMcClean
#993 - Removed the "Overview" Control Panel page in favour of Dashboard widgets #963
- Gateways & Shipping Methods are now referenced by their handles, rather than FQCNs #968
- Removed the "Enabled" toggle from coupons, in favour of the "End Date" setting #992
- When storing orders in the database, the "Status Log" is now stored in its own table #983
- The
all
method on repositories now return collections ofOrder
/Product
/Customer
objects - The
find
method on repositories now returnnull
when no entry or model is found #990 - Dropped support for gateways being referenced in the legacy format #969
- Refactored method for getting gateway data in the
Order
object #970 - When a customer submits a cart form with an
email
field and a customer already exists on the order, the existing customer will be updated, rather than a new customer being created #972
You can read more about what's changed in the upgrade guide, along with steps on how to upgrade.
5.9.2
January 20th, 2024
What's fixed
- Fixed "Top Customers" query when storing users in a database #977 by @duncanmcclean
5.9.1
January 13th, 2024
What's fixed
- Fixed positioning of "Configure" dropdown on the Overview page #964 by @duncanmcclean
- "Paid Orders" string in Overview orders chart is now translatable #965 by @duncanmcclean
- Fixed issues querying the status log #962 by @duncanmcclean
5.9.0
January 2nd, 2024
What's new
- Added 'Start Date' setting to coupons #959 by @duncanmcclean
- You can now whitelist customers in coupons by their domains #960 by @duncanmcclean
What's improved
- Improved the Coupons UI in the Control Panel (& added a new 'Summary' to coupons) #959 by @duncanmcclean
5.8.0
December 23rd, 2023
What's new
- You can now view the Status Log history in the Control Panel #956 by @duncanmcclean
What's improved
- Refactored the
CheckoutController
#957 by @duncanmcclean - Coupon blueprint now uses an actual section, rather than the old Section fieldtype
What's fixed
- Added
max_items
to Shipping Method field in default orders blueprint
5.7.0
December 21st, 2023
What's new
- Orders finally have an "Order Date" field #955 by @duncanmcclean
- The Product Variants field can now be localized #952 by @duncanmcclean
- PHP 8.3 Support #951 by @duncanmcclean
What's improved
- Changed how the "status log" is saved #954 by @duncanmcclean
- Simplified the handling of customer information in the
{{ sc:cart:addItem }}
and{{ sc:cart:update }}
tags - Various improvements to the docs
What's fixed
- Name & Email are now listed by default in the Database Customers listing
- Fixed Gateway Fieldtype when using Database Orders
- Fixed errors in the "switch to database" process
- Fixed Product Variant fieldtype when viewed in inline publish form #950 by @duncanmcclean
5.6.2
November 18th, 2023
What's fixed
- Fixed missing Control Panel nav items when using database orders & logged in as a non-super-user #937 #938 by @duncanmcclean
5.6.1
November 16th, 2023
What's fixed
- The Product Variants fieldtype now augments fields with the config for each of the fields #936 by @duncanmcclean
What's improved
- Tidied up empty state for Tax & Coupon pages in the Control Panel #628 by @duncanmcclean
- Notifications are now disabled by default
5.6.0
September 27th, 2023
5.5.0
September 12th, 2023
What's new
- Added augmentation to the Country & Region fieldtypes #921 by @duncanmcclean
5.4.0
September 11th, 2023
What's new
- Introduced "Save Zero Value?" config option to Money fieldtype #916 #918 by @duncanmcclean
What's improved
- Refactored the Product Variants field behind the scenes to support field conditions!
5.3.8
September 7th, 2023
What's fixed
- Fixed an error caused by the Line Item Tax fieldtype when it was being augmented by @duncanmcclean
5.3.7
September 5th, 2023
What's fixed
- Fixed errors using the "Overview" page with Database Orders #911 by @duncanmcclean
- Fixed empty dropdown when using Country & Region fieldtypes in Select mode #909 by @duncanmcclean
- Re-ordered steps in migration process for migrating orders/customers to the database #910 by @duncanmcclean
5.3.6
August 28th, 2023
What's fixed
- Fixed an issue where customers were created in the default site, instead of the order's site #899 #903 by @duncanmcclean
5.3.5
August 19th, 2023
What's fixed
- Fixed an issue in multi-site, where new orders would always be created in the default site #899 #900 by @duncanmcclean
- Fixed an issue where the customer could see an empty cart on the post-checkout page #901 by @duncanmcclean
- Fixed the "Are you sure you want to leave this page?" warning from popping up when using the Money Fieldtype #897 #902 by @duncanmcclean
5.3.4
August 12th, 2023
What's improved
- Improved docblocks in the
Coupon
,Customer
,Order
andProduct
facades - The
billingAddress
andshippingAddress
methods now check a few more fields when deciding if an address is present or not
5.3.3
August 1st, 2023
What's fixed
- Fixed the 'Coupon Code' fieldtype showing as selectable in form blueprints #895 by @duncanmcclean
- Empty arrays are no longer saved to product entries when variants & variant options aren't provided #892 #894 by @duncanmcclean
5.3.2
July 21st, 2023
What's fixed
- Fixed an issue where the Delete action was missing on anything but coupons
5.3.0
July 3rd, 2023
5.2.0
June 13th, 2023
5.1.0
May 27th, 2023
What's new
What's improved
- Gateway Webhooks are now automatically excluded from CSRF protection #875
- The Order Calculator has been refactored #873
- Changed the way tests are skipped #872
Note: Extending the calculator
If you're extending the Calculator
class at all, you want to read these notes about changes to how the calculator works.
5.0.3
May 20th, 2023
5.0.2
May 16th, 2023
5.0.0
April 28th, 2023
4.5.10
April 11th, 2023
What's improved
- The "Top Customers" widget on the Overview page should now be much quicker when using the Eloquent User repository #861
4.5.8
March 9th, 2023
What's fixed
- Fixed an issue with Order Number accessor when using database orders #851
4.5.6
March 4th, 2023
4.5.5
February 17th, 2023
What's fixed
- Handle £0 orders when redirecting to off-site gateways #821 #822 by @duncanmcclean
- When gateway was included in the
OrderPaid
event, it was an instance of the gateway, not the class name like it should have been by @duncanmcclean
4.5.4
February 16th, 2023
What's fixed
- Fix gateway not included in order when listening to
OrderPaid
event #817 by @duncanmcclean - Ensure coupon fields are processed when creating/updating coupons #819
- Fixed an issue with title of Edit Coupon page
- Update coupon field in order blueprint stub for database orders
- Fix issue with
sc:switch-to-database
where it would incorrectly think the command had already been run
4.5.3
February 4th, 2023
What's new
- You can now use Simple Commerce's form tags with Blade! #792 by @jacksleight
What's fixed
- Fixed an error that was shown after deleting tax categories/zones/rates when using the Standard tax engine #803 by @duncanmcclean
4.5.2
February 1st, 2023
What's fixed
- Product stock is now checked when updating existing line items #797 #801 by @duncanmcclean
4.4.2
January 19th, 2023
What's new
- Added support for separate first & last name fields for order addresses #788
4.4.1
January 14th, 2023
4.3.1
January 4th, 2023
4.3.0
January 3rd, 2023
What's new
- Redesigned documentation site!
- PHP 8.2 is now officially supported!
- An 'Orders' field will be added to Customer/User blueprints automatically, if not already present #772
What's improved
- Made some tweaks to the
CheckoutController
- no new features #773
4.2.4
December 16th, 2022
4.2.3
November 12th, 2022
4.2.2
November 2nd, 2022
4.2.1
October 29th, 2022
4.2.0
October 22nd, 2022
Note: v4.2 now requires a minimum of Statamic v3.3.48.
What's new
- Added
raw_price
computed value for products
4.1.3
October 20th, 2022
What's fixed
- Fixed 'Order Shipped' email #743 #744
- Fixed coupons not working when using Database Customer Driver #742 #745 by @jornwildenbeest
4.1.2
October 19th, 2022
What's fixed
- Fixed a bug where marking an order as shipped could override order data #741 by @cesaramirez
4.0.3
October 1st, 2022
4.0.2
September 24th, 2022
4.0.1
September 13th, 2022
4.0.0
September 10th, 2022
What's new
- There's been a few coupon-related improvements:
- Under the hood, we're now taking advantage of PHP 8.1 enums #712
What's changed
- Simple Commerce has dropped support for PHP 8.0 and Laravel 8. Leaving PHP 8.1 and Laravel 9 as the currently supported versions.
- Coupons have moved out of collections, into their own 'thing' in the Stache. #705
You can read more about what's changed in the upgrade guide, along with steps on how to upgrade.
3.2.20
September 3rd, 2022
What's fixed
- Fix overview widgets not loading (#707)
What's improved
- Implement contracts for tax repositories
3.2.19
September 1st, 2022
What's new
- Simple Commerce will now show a 'Customers' nav item if you're using the user customer driver. #702 #703
What's fixed
- When using the user customer driver in combination with database users, there was an issue where a 'super user' check would error out. #702 #703
What's improved
- Removed usage of
parseLoop
method in Tags - it's not very performant and isn't really needed.
3.2.18
August 24th, 2022
3.2.17
August 19th, 2022
3.2.16
July 30th, 2022
What's fixed
- Fixed issues when users rename the 'Collections' nav item in the CP #692
3.2.15
July 28th, 2022
What's fixed
- Fixed an issue caused when you rename sections in the CP Nav #691
3.2.14
July 22nd, 2022
What's fixed
- Fixed an issue in the upgrade script if you use users for your customers
3.2.13
July 19th, 2022
3.2.12
July 8th, 2022
3.2.11
June 20th, 2022
3.2.10
June 20th, 2022
3.2.9
June 17th, 2022
What's new
- Form Parameter Validation can now be disabled, if needed #670
What's improved
- Adjusted copy of 'Price includes tax' toggle on tax rates
What's fixed
3.2.8
June 15th, 2022
3.2.7
June 9th, 2022
3.2.6
June 7th, 2022
What's fixed
- Database Orders: Fixed an issue where customers & coupon's weren't being saved on orders correctly #648
3.2.5
June 3rd, 2022
3.2.4
June 3rd, 2022
What's fixed
- Fixed an issue post-install when using a language other than English
3.2.0
June 2nd, 2022
Note: During the update process, the 'Value' field on your coupon blueprint will be renamed to coupon_value
.
What's new
- Added a
product
parameter to the{{ sc:cart:updateItem }}
and{{ sc:cart:removeItem }}
tags #644 - Added a
{{ sc:gateways:count }}
tag that returns a count of available gateways
What's fixed
- Renamed the 'Value' field on coupons to
coupon_value
(to avoid conflicts with Statamic) #642 - Squashed the bug that caused 'ghost orders' to be created
3.1.0
May 24th, 2022
3.0.4
May 16th, 2022
What's fixed
- Fixed an issue where the order number would be regenerated after every save #632
3.0.2
May 12th, 2022
3.0.1
May 7th, 2022
What's fixed
- Database orders: Fixed an issue where you'd end up with multiple orders when creating a new one #627
- Session Cart Driver: If there's no current cart, create one.
- Fixed an issue where you could get a 'stale' version of the cart when using the
{{ sc:cart:addItem }}
tag with AJAX.
3.0.0
April 28th, 2022
What's new
- Support for storing orders & customers in a database #599
- Brand new 'Overview' CP page for a top-level view of your store #620
- Brand new Gateway fieldtype #609
- Brand new Shipping Method fieldtype #611
- Statamic's new-ish 'title format' feature is now used to generate titles for order/customer entries #601
- You can now use Simple Commerce's cart tags on the Order Confirmation page #605
- Gateways may return their own validation messages #598
- Shipping Methods can now have their own config arrays #610
What's improved
- Huge improvements to order emails #603
- Added some protection for 'hidden form parameters' #607
- You may now specify a 'whitelist' of additional fields you wish to provide when submitting front-end forms #608
- Order Numbers are stored in their own (hidden) field now #604
- Improved the handling of first/last name fields
- Line Items are no longer returned as arrays, they have their own DTO class now #612
- Updated
moneyphp/money
to v4.0
What's fixed
- £0 will be returned instead of
null
if Money value is empty
Breaking changes
There's quite a lot of breaking changes between v2.4 and v3.0. It's highly recommended you read the upgrade guide before upgrading.
2.4.11
April 26th, 2022
What's fixed
- Stripe: Payment Intent ID is now saved properly (meaning refunds will now work) #624 #625 by @duncanmcclean
2.4.10
April 25th, 2022
What's fixed
- Fixed an issue where checkout would fail OR a customer would get charged incorrectly when using a coupon with
maximum_uses
set #622
2.4.9
April 5th, 2022
What's new
- Added a
{{ total_including_tax }}
tag to help you figure out the Line Item Total + Tax #602
What's fixed
- Made some performance improvements to the way order numbers are generated.
2.4.8
April 2nd, 2022
What's new
- Added
{{ sc:cart:free }}
tag to check if an order is free
What's improved
- The Receipt PDF will contain the site name, rather than random admin information
- Back-office email has some bold text now
2.4.7
March 31st, 2022
What's new
- Added 'Refunded' option to Order Status filter
What's fixed
- The 'Refund' action can now be used when overriding default
Order
class - Improved exception handling for refunds
- Fixed an issue around refunds not working as expected
2.4.6
March 30th, 2022
What's improved
- You can now filter by 'Shipped' orders via the Order Status filter in the CP #597 by @duncanmcclean
2.4.5
March 28th, 2022
What's new
- Ability to customise the 'Payment Intent Data' sent to Stripe #592 by @duncanmcclean
2.4.4
March 21st, 2022
What's new
- Added a 'Simple Commerce' tab to Laravel Debugbar #590 by @duncanmcclean
2.4.2
March 17th, 2022
What's fixed
- Removed an upgrade script which could potentially cause issues with sites with large amounts of orders.
2.4.0
March 15th, 2022
After a long wait, Simple Commerce v2.4 is finally here!!
Please ensure you read the upgrade guide before upgrading. It notes how to update & any breaking changes you might want to know about.
What's new
- Brand new Tax Engine ✨ #438
- Regions - ties into tax, allowing you to specify an area of a country (eg. Scotland, UK)
- Ability to set a 'default shipping method' #555 #562
- Statamic 3.3 compatibility #580
What's improved
- Gateway data has been combined, under a single key #498
- 'Temporary' gateway data will now be cleared after checking out
- Shipping Methods can now access the order when checking availability
- Multisites: each site will now have it's own cart (rather than sharing one between them) #519
- The
PreCheckout
andPostCheckout
events now includes the context of the request
2.3.70
March 11th, 2022
What's fixed
- Fixed an issue when removing an item from a cart, where the items would end up with keys (which could break stuff) #585
2.3.69
March 3rd, 2022
What's fixed
- Validation errors use the
default
error bag, so SC shouldn't try and use its own when pulling out errors #581 #583 by @duncanmcclean
2.3.68
February 23rd, 2022
What's new
- Order Receipts are now attached to the back-office confirmation email #569 #577 by @duncanmcclean
2.3.67
February 22nd, 2022
What's fixed
- Fixed a compatibility issue with PHP 8.1 and the package we use for Currency formatting #575 #576 by @duncanmcclean
- Fixed 'Division by zero' issue when generating receipts #576 by @duncanmcclean
2.3.66
February 15th, 2022
What's fixed
- Added validation to ensure email addresses with spaces don't work #564 #565 #567 by @duncanmcclean
2.3.65
February 3rd, 2022
2.3.64
January 22nd, 2022
What's new
- Need an order's receipt URL in the front-end? Just grab for
{{ receipt_url }}
and be done with it! #550
2.3.63
January 17th, 2022
What's new
- You may now configure if you'd like the metadata to be unique or not in line items #546
2.3.62
January 11th, 2022
What's fixed
- Fixed an error when you have no 'option fields' configured on your Product Variants field #542
2.3.61
January 8th, 2022
What's new
- Added a new
{{ sc:cart:alreadyExists }}
tag for checking if a product exists in the cart
What's improved
- We're now telling Gateways which version of Simple Commerce is being used to send API requests
What's fixed
- Fixed compatibility issues with the 'Order Status' filter in the CP
2.3.60
January 7th, 2022
2.3.59
January 3rd, 2022
What's improved
- When setting up a multisite, developers will see a more helpful exception reminding them to add the site to their Simple Commerce config #524
What's fixed
2.3.57
December 20th, 2021
What's fixed
- Fixed issue when using
UserCustomer
and Eloquent users together
2.3.56
December 13th, 2021
What's fixed
- Fixed issue where selected images would not be shown after save on Product Variants fieldtype #511
2.3.55
December 13th, 2021
What's fixed
- The 'Stock' feature will now work when using an off-site gateway #506 #509
- Fixed issue with custom option fields not working before initial save #503 #510
- The
name
parameter will no longer be stripped when using form tags #505 - When updating line items, the quantity will always be saved as an integer, not a string.
2.3.54
November 30th, 2021
What's fixed
- Removed
ray
call from Variants fieldtype which would cause errors #496 by @ryanmitchell
2.3.53
November 20th, 2021
2.3.52
November 13th, 2021
What's new
- Added a new
PreventCheckout
exception which will cancel a checkout attempt if thrown PreCheckout
&PostCheckout
events now both contain the Checkout request
What's fixed
- Fixed
{{ sc:errors }}
tag not returning what it should.
2.3.51
November 9th, 2021
2.3.48
October 15th, 2021
What's fixed
- Fixed issue with variant stock checks if you have 'dynamic variants' (eg. ones that don't actually exist on the product but are made up on the fly)
- Fixed an issue where shipping address would fail to exist if you were using
billing_address_line1
instead ofbilling_address
2.3.47
October 14th, 2021
What's new
- Added Region fields to addresses #483
What's fixed
- Everything in the default Order blueprint is now read-only
- Product variant fieldtype now respects being
read_only
2.3.46
October 9th, 2021
What's new
- Ability to dynamically change prices of products when they're added to the cart #479
2.3.45
October 6th, 2021
2.3.42
September 30th, 2021
2.3.40
September 20th, 2021
2.3.29
September 18th, 2021
What's fixed
- Fixed a dirty state issue with the Product variants fieldtype #461
- Only the Transaction ID is now stored as
paypal
data on the order entry
2.3.28
September 17th, 2021
2.3.27
September 15th, 2021
What's fixed
- Fixed issue when you're being redirected back from an off-site gateway, where it would be unable to find the related order.
2.3.26
September 14th, 2021
What's new
- Added
{{ sc:cart:quantityTotal }}
tag to get total quantity of all items in cart #468
2.3.25
September 10th, 2021
What's fixed
- Customers are now marked as published by default, fixes #463
2.3.24
September 7th, 2021
2.3.23
September 6th, 2021
What's fixed
- The Country fieldtype no longer gives array errors when
max_items
is set to1
2.3.22
September 6th, 2021
2.3.21
August 30th, 2021
2.3.20
August 27th, 2021
What's fixed
- Fixed issue where field meta was not being passed into the 'Product Variants' fieldtype #454
2.3.19
August 19th, 2021
What's new
- Support for Statamic 3.2
- Smarten'd up the
{{ sc:coupon }}
tag, so you can do things like{{ sc:coupon:minimum_cart_value }}
What's fixed
- If
maximum_uses
wasnull
on a coupon, you would be unable to redeem it gateway_config
went missing somewhere and it's documented, so we added it back
2.3.18
August 10th, 2021
What's fixed
- Fixed an issue where notifications were not being sent properly #451
2.3.17
August 3rd, 2021
What's fixed
- Fixed an issue where if the order value was
0
theOrderPaid
event would not be dispatched (causing issues with notifications, etc)
2.3.16
July 31st, 2021
What's fixed
- Fixed an issue where the
prepare
method on gateways would still be loaded even if the value of an order was0.00
2.3.15
July 28th, 2021
What's fixed
- Fixed tax calculations when
price_includes_tax
isfalse
#449
What's improved
- Added some better testing around the Stripe Gateway
2.3.14
July 17th, 2021
What's new
- Added a new 'User Customer' driver so you can use your users as customers, not a seperate collection
2.3.13
July 12th, 2021
What's fixed
- Added
environment
config for PayPal gateway (otherwise we'd always be in sandbox
2.3.11
July 7th, 2021
I've been doing some 'dog-fooding' of Simple Commerce at work over the last couple of days and I've found quite a few bugs, so this release is a big pile of fixes.
What's improved
- If a product is out of stock, we'll now give you a validation error and remove the item from the cart.
- Getting data from the cart tag, like so:
{{ sc:cart:something }}
will now go through augmentation - Stripe will now show API requests as coming from Simple Commerce (instead of directly through the Stripe SDK)
What's fixed
- Fixed coupon redeemed/maximum uses check
- The Coupon total will now calculate properly when using a non-entry driver
- Fixed
{{ sc:coupon:has }}
when using a non-entry driver - Tided up some code and added some null checks in places
- Fixed Stripe refunds not working properly
2.3.10
July 6th, 2021
What's new
- Added a new
currency
modifier
What's fixed
- Receipts now work when using a custom order class #443
_request
will no longer be saved when checking out.
2.3.9
July 6th, 2021
2.3.8
June 29th, 2021
What's fixed
- Fixed small bug with notification improvements from the other day
2.3.7
June 26th, 2021
What's fixed
- Updated the gateway stub so it's up-to-date
_request
will no longer be saved to the order entry when saving.
What's new
2.3.6
June 11th, 2021
2.3.4
June 9th, 2021
What's fixed
- Fixed tax calculations if result is a rounded number, with no decimals #429
What's improved
- 'United States' and 'Canada' aren't at the top of the countries list anymore
- Removed
sc:info
command - it's never been used
2.3.3
June 5th, 2021
What's new
- You can now specify a Form Request on some form tags (for custom validation rules) #425
2.3.2
June 3rd, 2021
What's improved
- Refactored usage of
findBySlug
, it's being deprecated soon and will likely be removed in Statamic 3.2 #424 - When using
Something::create
, you can now provideslug
orpublished
to manually set the slug/published status. - Checkout: Payment is now done at the very end of the checkout request, rather than just before the coupon. Orders will also be recalculated before payment in case of any last-minute changes.
- Checkout: You can now set the Customer's ID in the checkout request
- Checkout: You can now redeem coupons as part of the checkout request
- Checkout: Refactored some stuff around product stock
- Checkout: Added a job lot of automated tests to cover the checkout flow
What's fixed
- Fixed IDE completion on the
Coupon
facade (was suggesting Order methods, rather than Coupon methods) - Checkout: Free orders will now be marked as paid again after checkout
- Fixed issue where coupons limited to certain products could be valid/non-valid accidentally.
2.3.1
May 16th, 2021
What's new?
- You can now grab 'raw' data through the Cart Tag, rather than augmented data. (
{{ sc:cart:rawGrandTotal }}
)
2.3.0
May 10th, 2021
While there's been quite a few breaking changes between v2.2 and v2.3, most of them have been addressed by Update Scripts, which will be run automatically when updating Simple Commerce.
Simple Commerce v2.3 requires your site to be running Statamic 3.1 and configured correctly for update scripts.
Please review the Upgrade Guide before updating.
What's new
- It's now easier to swap out the driver being used for products, orders, coupons or customers.
- You can now mark any unpaid orders as paid from inside the Control Panel.
- Events have been renamed and parameters have been switched about.
- Notifications have been refactored! (Again...)
- The
Address
DTO now contains some more helpful methods. - Product Variants now have their very own DTO
- You can now filter by Order Status in the CP
Breaking changes
- Translations have been simplified. All translations live in the
messages.php
file. If you override the translations, please review. - Built-in gateways have been moved from
Gateways\GatewayName
toGateways\Builtin\GatewayName
- Gateway DTOs are now called
Response
,Purchase
andPrepare
(Gateway is no longer in the name) - Updates have been made to Data Contracts, please review if you are overriding any of them.
- If you're overriding any of the Data Classes, please register it inside the updated config file, rather than manually via the Service Container.
Cart
facade has been removed (it was deprecated in v2.2). Please replace with theOrder
facade.- Event parameters & event names have been changed. Please review if you are listening for any Simple Commerce events.
- Notifications have been refactored - they now use Laravel Notifications, rather than Mailables. If you were overriding the notifications previously, you will need to refactor into Notifications and update inside the Simple Commerce config.
2.2.21
April 20th, 2021
- Fix Don't fail if user's cart has been deleted. Create a new one instead. #416
2.2.20
April 16th, 2021
- Fix Fixed exception when running Refund action on Order entry.
- Fix Tidied up the orders CP listing for new sites.
2.2.18
March 30th, 2021
- Fix Fixed issue where shipping & billing addresses would not be output on PDF Receipts #404
2.2.17
March 29th, 2021
2.2.16
March 13th, 2021
2.2.15
March 10th, 2021
- New Ability to bind your own
Calculator
class - Fix Fixed bug where
items_total
would be a string when using coupons. - Refactored the
Calculator
2.2.14
March 8th, 2021
- New A new
ReceiveGatewayWebhook
event is dispatched when a gateway webhook is received. - New You can now specify a different redirect URL for errors. -
error_redirect
. - Fix Improved handling of Mollie webhooks, we now detect if an order has been paid and redirect correctly. #384
- Fix Fixed issue where cookie cart driver wasn't forgetting cart after checkout #383
- Fix An exception will be thrown when a gateway errors, instead of a die dump.
- Fix Fixed webhook and callback URLs sometimes not being formed correctly.
- Fix Fixed an occasionaly exception with the Cookie Driver.
- Deprecated 'order item' methods, and replaced them with 'line item' methods.
2.2.13
March 4th, 2021
- New Added Ignition Solutions to some exceptions to help with debugging.
- Fix Fixed the ability to update an existing cart item with a negative quantity #375
- Fix Fixed an incorrect method signature in the shipping method stub #380
- Tidied up the
README
(but it's not really code related)
2.2.12
February 22nd, 2021
- New Orders will now be added to Customer entries, so there's now a two-way relationship #369
- New You can also now use
{{ sc:customer:orders }}
with Orders on the Customer entries, using thefrom
parameter. - Fix Fixed issue where email's would not be sent if email was set but no customer on order. #372
2.2.11
February 19th, 2021
- New Added some helper methods to the
Address
object. - Added tests to the Order Calculator (not sure how we got this far without them)
- And some general cleanup
2.2.10
February 19th, 2021
- Fix Tax amounts should no longer be off. Was previously using the wrong formula.
2.2.9
February 18th, 2021
- Cookie Driver is now the default for new installs.
- Fix Fixed
Call to undefined method make()
when using cookie cart driver. #365
2.2.8
February 16th, 2021
- Fix Validate against the possibility of having negative line item quantities. #354
- Fix Fixed bug with
{{ sc:cart:{key} }}
usage. - Fix Fixed bug when Order calculator is called on paid order.
2.2.7
February 12th, 2021
2.2.6
February 10th, 2021
2.2.4
February 9th, 2021
- Fix Don't throw an exception on
cart
endpoint if no cart exists - Fix Don't attempt to augment variant fieldtype if value is
null
- Fix When customer's active cart is deleted, a new one will be created, instead of throwing an exception. #348
2.2.3
February 6th, 2021
- New Added a command to automatically remove old cart entries.
php please sc:cart-cleanup
- Fix Coupon total should be calculated from items total, not the grand total.
- Fix If grand total of cart is
0
, then don't do any gateway work - Fix Strip out any decimals from product prices when added to cart
- Fix On the variant fieldtype: if there is no value, display an error message instead of spinner.
2.2.1
January 31st, 2021
It didn't take me very long to find a bunch of bugs...
- Fixed exception within upgrade tool when
stillat/proteus
isn't installed - Upgrader will no longer continue if
stillat/proteus
isn't installed - Stripe Gateway should pull key & secret from gateway config, not hard coded
.env
values - When processing checkout, don't attempt to save data if we don't have any.
2.2.0
January 31st, 2021
Before upgrading, please review the upgrade guide in case there's any changes you need to make.
What's new
- Cart Drivers
- Under the hood codebase improvements
What's fixed
- Various bugs
2.1.36
February 19th, 2021
- Fix Tax amounts should no longer be off. Was previously using the wrong formula.
2.1.35
January 30th, 2021
- Fix Actually use the new format when adding items to the cart
- Fix Fixed issue when clearing the cart
2.1.34
January 30th, 2021
- New Updated the default order blueprint
- New Added a new 'Product Variant' fieldtype to select a single variant
2.1.32
January 21st, 2021
- Fix Fix situations where the tax totals would be wrong with certain tax rates #340
2.1.31
January 21st, 2021
- Fix ~~Fix situations where the tax totals would be wrong with certain tax rates #340~~
2.1.29
January 14th, 2021
2.1.28
January 11th, 2021
2.1.26
January 9th, 2021
- Fix Sometimes tags were being called twice. Now it should just be once!
- Fix Fixed exception sometimes if attempting variant augmentation on a product with no variants.
- Fix Fixed issue where Gateway Webhook URL's were returned as
null
.
2.1.24
January 4th, 2021
- Fix Fixed exception thrown by Off-site gateway callback. #327
- Fix If a redirect is not provided for off-site gateway, user should be redirected to the homepage.
2.1.23
December 28th, 2020
- New PHP 8 Support! #318
- Fix Product entries with variants should not have a standard
price
field. - Fix The
has
method on Repositories will now returnnull
, instead of throwing an exception about undefined indexes.
2.1.21
December 23rd, 2020
- Fix Just get site with
Site::current()
inside Money Fieldtype, instead of getting the entries' locale.
2.1.14
December 12th, 2020
- New You can now enable automatic receipt emails from Stripe.
- New You can now use a single address for an order, instead of different shipping and billing ones.
- New You can now set display names for gateways. Useful for when you give the customer an option between them.
- Fix Fixed a bug causing type exceptions.
- Fix Ensure customer can't add more of a product than you actually have in stock.
2.1.13
December 5th, 2020
- New Added some better error handling for form tags.
- Fix Issue where it couldn't find an 'index' gateway using the
{{ sc:gateways }}
tag? Now sorted!
2.1.12
November 29th, 2020
A whole lot of API related changes this release...
- New It's now easier to get fields from your cart. How's
{{ sc:cart:delivery_note }}
? - New The Order Calculator has been moved out of the
CartRepository
and into it's own class. However, therecalculateTotals
method on theCartRepository
will continue to work for the time being. - New Introduced a new
OrderRepository
which will eventually replace theCartRepository
(it's a breaking change so it won't happen until at least v2.2) - New Added
customer
method toCartRepository
- Fix Default order blueprint no longer has a SKU field on it.
- Fix
php please sc:install
command will now only publish blueprints and configuration file.
2.1.11
November 27th, 2020
- New Add an
exempt_from_tax
field to products that you want to be exempt from tax. - Fix Carts & Customers will be created in the correct site.
- Fix When created, customers will now be published instead of a draft.
- Fix Money Fieldtype will respect the site of the entry and display the correct currency.
- Fix Fixed issue where you could add the same product/variant to the cart twice.
2.1.8
November 21st, 2020
- Fix Fix
vendor:publish
bug when runningphp please sc:install
(I should really double check this stuff before I release it)
2.1.6
November 21st, 2020
- [update] Improved the install process - combine
vendor:publish
step andsetup-content
.
2.1.5
November 13th, 2020
- Fix A more descriptive message will now be shown if currency formatting fails due to the
php-intl
extension not being installed or enabled.' - Fix Fixed issue where gateways weren't being booted at all...
2.1.4
November 12th, 2020
- Fix Fixed issue with Woodland when installing Simple Commerce for the first time. #313
- Fix Fixed issue with product variants fieldtype on new product entries. #314
- Fix Fixed issue when adding a new variation in product variants fieldtype
- Fix Localize and use plural/signular stuff with index text for product variants fields.
2.1.2
October 30th, 2020
- New Licensing statistics - so we can check how many sites are using Simple Commerce, what versions are in use and if they have valid licenses.
2.1.1
October 28th, 2020
- New Simple Commerce fieldtypes will now display nicely in entry listings
- Fix Fixed issue when using an off-site gateway without specifing a
redirect
- Added a bunch of tests behind the scenes
2.1.0
October 18th, 2020
v2.1 contains various breaking changes, we recommend reviewing the update guide to ensure your site will work with the update.
- New Product Variants
- New Built-in Mollie Gateway
- New Product Stock
- New Sales Widget - dashboard widget for reviewing sales over a week, 14 days and a month.
- New Support for Off-site gateways and a bunch of changes to the way gateways work overall.
- New Minimum Order Numbers
- Fix Various bug fixes.
2.0.25
February 19th, 2021
- Fix Tax amounts should no longer be off. Was previously using the wrong formula.
2.0.23
November 5th, 2020
- New Licensing statistics - so we can check how many sites are using Simple Commerce, what versions are in use and if they have valid licenses. (also introduced in v2.1.2)
2.0.22
October 4th, 2020
- New You can now update the format of the customer titles.
- Fix When updating a customer, sometimes the title would be removed... #311
- Fix If updating a customer's name using
{{ sc:cart:update }}
tag, it wouldn't work because of some copy and pasting - And added a bunch of customer related tests...
2.0.21
October 4th, 2020
- Fix Fixed a bug that would happen if you try and get a customer that doesn't have a title or slug set.
2.0.20
October 4th, 2020
- Fix Fixed issue where SC would presume a customer entry had a name on it, but if it didn't then stuff would break.
2.0.19
October 4th, 2020
- Fix Fixed issue with customer data when being passed into Stripe Gateway, from #307
2.0.18
October 3rd, 2020
- Fix Fixed issues when creating/updating customers via the
{{ sc:cart:update }}
tag. #307
2.0.17
September 30th, 2020
- Fix Fixed issue with decimals causing incorrect totals, when using coupons on an order #304
2.0.15
September 4th, 2020
- Fix The money fieldtype will now default to 0 when nothing is entered instead of throwing an exception.
- Fix Fixed issue where you couldn't remove the last item from the cart
2.0.14
August 29th, 2020
- New You can now register gateways on-demand with
SimpleCommerce::registerGateway(PayPalGateway::class, [])
- Fix Fixed issue where deleting a single cart item would clear the cart instead (again) #293
- Fix Fixed issue when trying to submit checkout form without any customer information.
2.0.13
August 27th, 2020
- Fix Fixes issue when adding to the cart when you've already deleted items from the cart. #293
- Fix Generate a title and slug for customer if they don't already have one - fixes a type error #296
- Fix Fixed issue when the
CheckoutController
tries to call thePreCheckout
event on case sensitive systems. #294
2.0.12
August 26th, 2020
- New Brought back Order Statuses, you may want to run
php please simple-commerce:setup-command
to create the relevant taxonomies and terms. - New You can now send customer metadata when using
{{ sc:cart:update }}
and{{ sc:checkout }}
tags. #289 - New You can now toggle if Simple Commerce sends an
Order Confirmation
email to your customers after checkout. It's enabled by default. #288 - New Customer & Order information is now passed to Stripe when preparing payment intent #292
- New Brand new
php please simple-commerce:setup-command
command for setting up collections & taxonomies when installing Simple Commerce - Fix Fixed issue where adding items to cart would overwrite what is already there. #290
2.0.11
August 24th, 2020
- Fix Fixed issue with
ProductRepository
not being bound properly because of a spelling mistake
2.0.10
August 21st, 2020
- New You can now specify the version of the Stripe API you want to use.
- Fix Fixed issue caused when using a gateway that doesn't return anything from the
prepare
method. - Fix Fixed
checkAvailability
failing for shipping methods - Fix Fixed issue with completing cart without a customer being attached to the order.
- Changed version constraint of
statamic/cms
due to v3 release
2.0.9
August 18th, 2020
- Fix Simple Commerce releases should now include built assets.
- Fix Issue when entering value inside Money fieldtype without separator and it converts it to cents/penies
- Fix Percentage coupons #281
2.0.7
August 17th, 2020
- Fix Config, blueprint etc should no longer be overwritten on
composer update
- Simple Commerce only supports PHP 7.4
2.0.6
November 21st, 2020
- New Refunds - somehow managed to ship without refunds but they're here now!
- New The output from prepare methods in gateways is now saved in the order so it can be used again in the gateway
- Break Really small breaking change, inside the
{{ sc:gateways }}
loop, change{{ config:* }}
to{{ gateway-config:* }}
to grab gateway configuration values. - Fix Fixed initial state for the money fieldtype, should no longer show .
- Fix Exceptions should now be thrown for when gateways don't exist or none is required at checkout
- Fix
_redirect
should no longer be passed into cart when updating cart - Fix Fixed issue with coupon validation, where an error was being thrown as we were validation the wrong thing
2.0.4
August 10th, 2020
- Fix Simple Commerce no longer relies on
calebporzio/sushi
for Currency and Country models - Fix Incorrect typehint causing issues when getting cart items
- Fix Typos
2.0.3
August 6th, 2020
- New Introduced a
Product
facade, repository and related things... - Fix Fixed bug where you'd run into an error if you visit the cart/checkout when you have no cart in the session. Fixes #275
- Break The
$request
variable is now passed in as a second parameter of thepurchase
method to a gateway.
2.0.2
August 1st, 2020
- New Introduced two new commands:
make:gateway
andmake:shipping-method
- Fix Use FormRequests for validating action endpoints
- Fix Officially only supports PHP 7.4
- Break Removed
/shipping-options
endpoints. - Break Removed need for SKUs, you can have them if you want them but they won't be saved in orders anymore.
2.0.1
August 1st, 2020
- New Added
PreCheckout
andPostCheckout
events, triggered by the Checkout controller.