# Release Notes
# v0.12.0
# ๐ Fixes
- Fixed an issue that was causing a indefinite wildcard search on products
- Allow certain fields to be nullable on a customer address (
company_name,address_two,address_three) - Fixed some issues on route creation
- Fixed issue where shipping method relationships were not having their timestamps updated
- Fixes to some migrations
- Fixed an issue where the recycle bin item wasn't returned on the relationship
- Fixed and issue where the indexable event wasn't being triggered when publishing a resource
- Fixes to drafting and publishing of resources
- Fixed an issue where
pathwasn't updating when updating a route - Fixed an issue where the customer was not attached to the initial user on install
# โญ Improvements
- Slight optimisation for Elasticsearch and the fields it returns
- Drafting and Publishing of a draft will now run in a transaction, you can also extend the drafting functionality in your plugins.
- SKU uses
trimwhen being saved - Languages have been refactored and simplified so now we only rely on
code. Thelangcolumn has been replaced bycodeand theisocolumn has been removed. - When detecting the language to use for API responses, we now parse the
accept-languageheader properly.
# ๐๏ธ Additions
- Added endpoint to get a payment provider via it's given ID
- Added Stripe Payment Intents provider
- Added a
RebuildTreeaction and command for categories, so if your category tree is messed up you can runcandy:categories:rebuild - Added
user/addressesendpoint to get the current users saved addresses - Added initial report exporting logic, this will now run and exporter in the background and email you when ready to download.
- Add some additional reports
- Average spending across customer groups
- Total spending across customer groups
# v0.11.5
# ๐ Fixes
- Fixed a missing class on the
SyncWithBasketListener - Fixed an issue where the wrong Eloquent resource was being returned when fetching shipping estimates.
- Fixed an issue where the incorrect
published_atdate was being set when editing a discount - Fixed an issue when passing the search type as a singular string i.e.
productwould break the searching. Now you can pass both the singular and plural versions. - General fixes to Discount editing and creation.
- Tweaked offset calculation when searching on Elasticsearch.
- Fixed aggregations not returning on search results.
- Fixed invalid relationship call when returning activity log records.
- Fixed default
depthsetting when getting a category tree. - The
SavedBasketResourcenow includes the relatedBasketResourcecorrectly. - Fixed an issue which prevented assets being added by YouTube or URL.
- Fixed an issue which caused an error if you tried to add the same YouTube video more than once to a product. Thumbnail naming was clashing, now we will get a unique name.
- Fixed an issue which, when publishing a category draft, would cause child nodes to disappear.
- Fixed namespace issue on
PluginResourceandPluginCollection. - Fixed an issue where a product or category wasnโt being removed from the search index when it was hard deleted.
- Fixed an issue where not sending
pathwhen searching for a route gave a validation error. This should allow null.
# ๐ Changes
- High Impact Changed
POSTmethod onbasket-lines/{id}/removeto aPUTrequest. This is so it matches the spec. - High Impact When filtering on multiple values, a pipe
|should be used instead of a hyphen- - High Impact The way products/categories channel and customer group data gets indexed has changed.
- Channels: Previously if a channel wasnโt published it wouldnโt get added into the document, this has been changed so that the
published_atfield is now indexed as a date. This will allow us to filter on these documents more accurately in the future. - Customer groups: Previously if the
visibleandpurchasablefields werenโt set the customer group wouldnโt be added to the document, now these fields have been added asbooleantypes to again allow better filtering in the future.
- Channels: Previously if a channel wasnโt published it wouldnโt get added into the document, this has been changed so that the
- Added
countto the pagination response on search results. - Added
draftfilter onFetchProductaction. - Channel and Customer Group scopes will check if we are on the command line before resolving.
# โญ Improvements
- Used eager loading when indexing instead of the query builder to boost performance.
- Category filter has been added back.
- Removed using the query builder to count products and children and use Laravelโs
with_countinstead to boost performance.
# ๐๏ธ Additions
- Added
provider_userstable for association with payment providers. BasketResourcenow includes the basket currency
# ๐ Thanks to
@ven7ura @Repox
Upgrade Guide โ