Releases: getcandy/candy-api
v0.12.6
Upgrading
Update the GetCandy API package.
composer update getcandy/candy-api
🏗️ Additions
- Added
location
andfilename
toAssetResource
v0.12.5
Upgrading
Update the GetCandy API package.
composer update getcandy/candy-api
Run any migrations
php artisan migrate
🐞 Fixes
- Fixed an issue that caused an un hydrated basket being returned when fetching shipping methods for an order.
- Fixed an issue when publishing/drafting customer groups that was causing
purchasable
to not get populated correctly. - Fixed an issue on the indexer which caused disabled languages to be indexed and if they didn't have a value it would error.
- Fixed an issue where order shipping or billing details were an empty array on create.
⭐ Improvements
- Publishing variant tiers from a draft has been simplified.
- In the recycle bin, entries are now ordered by the date they were added descending.
- When uploading an asset via the simple upload endpoint, you can now specify the filesystem disk to use. e.g.
disk=public
- When uploading an asset via the simple upload endpoint, you can now specify a path, if blank
uploads
will be the default. - When fetching a product you can now specify an SKU in the action.
- Improved the way product variant tiers were fetched, this now relys on the underlying scope rather than passing through customer group ids.
🏗️ Additions
- Added manual flag to transactions
- Added an
GetCandy\Api\Core\Orders\Events\OrderStatusUpdatedEvent
for when an order status is updated. - Added
order_status
key to the order response, this will return an array of details if the status has been matched from thegetcandy.php
config.
v0.12.4
Hotfixes and issue where having a blank shipping email when sending out notifications would cause an exception.
v0.12.3
Upgrading
Update the GetCandy package.
composer update @getcandy/candy-api
Run migrations
php artisan migrate
🐞 Improvements
- Added missing settings for categories via a migration
v0.12.2
Upgrading
Update the GetCandy package.
composer update @getcandy/candy-api
🐞 Fixes
- Fixed an issue where the correct language wasn't being set when publishing routes from a draft
- Fixed an issue with routes where if you where not on a draft and clicked delete route, it would remove it from the live version and not the draft. Meaning if you then published the draft the route would reappear.
v0.12.1
Hotfix to route migration which would cause an error in an edge case where the old locale
column on routes
would not map to a code
in the languages table. Now if we can't find the language we fall back to the default as we need to have one.
v0.12.0
Upgrading
For a full guide on how to upgrade, see the full documentation.
🐞 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
path
wasn'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
trim
when being saved - Languages have been refactored and simplified so now we only rely on
code
. Thelang
column has been replaced bycode
and theiso
column has been removed. - When detecting the language to use for API responses, we now parse the
accept-language
header properly.
🏗️ Additions
- Added endpoint to get a payment provider via it's given ID
- Added Stripe Payment Intents provider
- Added a
RebuildTree
action and command for categories, so if your category tree is messed up you can runcandy:categories:rebuild
- Added
user/addresses
endpoint 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
Upgrading
You must reindex your categories and products by running
php artisan candy:products:reindex
php artisan candy:categories:reindex
You should also run migrations
php artisan migrate
🐞 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_at
date was being set when editing a discount - Fixed an issue when passing the search type as a singular string i.e.
product
would 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
depth
setting when getting a category tree. - The
SavedBasketResource
now includes the relatedBasketResource
correctly. - 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
PluginResource
andPluginCollection
. - 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
path
when searching for a route gave a validation error. This should allow null.
🔀 Changes
- High Impact Changed
POST
method onbasket-lines/{id}/remove
to aPUT
request. 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_at
field 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
visible
andpurchasable
fields weren’t set the customer group wouldn’t be added to the document, now these fields have been added asboolean
types 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
count
to the pagination response on search results. - Added
draft
filter onFetchProduct
action. - 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_count
instead to boost performance.
🏗️ Additions
- Added
provider_users
table for association with payment providers. BasketResource
now includes the basket currency
💖 Thanks to
v0.11.4
This update only affects new installs.
🐞 Fixes
- Fixed an issue with a missing foreign key constraint drop.
v0.11.3
This update does not require any migrations to be run.
🐞 Fixes
- Fixed an issue where not having products assigned to a category prevented it from being published from a draft.