All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
4.0.0 - 2024-11-27
This is stable release for v4.0.0. No changes have been made since v4.0.0-rc.1.
4.0.0-rc.1 - 2024-11-04
customerPasswordChange
mutation- On a successful password change, all old tokens are invalidated, and new ones are returned
- Return type was changed from
bool
toOxidEsales\GraphQL\Base\DataType\LoginInterface
- Return type of
OxidEsales\GraphQL\Storefront\Customer\Service\PasswordInterface::change
was changed frombool
toOxidEsales\GraphQL\Storefront\Customer\DataType\Customer
3.1.0 - 2024-07-05
This is stable release for v3.1.0. No changes have been made since v3.1.0-rc.1.
3.1.0-rc.1 - 2024-06-12
variantSelections
query for fetching multidimensional variants PR-11- Add the
CategoryAttribute
data type and possibility to get Attributes for category PR-13 - Workflow trigger to update schema in documentation
- Shop 7.1 dependencies match
- PHP 8.2 support
- Classes
OxidEsales\GraphQL\Storefront\Manufacturer\DataType\ManufacturerImage
OxidEsales\GraphQL\Storefront\Shared\Infrastructure\OxNewFactory
OxidEsales\GraphQL\Storefront\Shared\Infrastructure\OxNewFactoryInterface
- Password forgotten feature
- Mutations:
customerPasswordForgotRequest
customerPasswordReset
- Classes:
OxidEsales\GraphQL\Storefront\Customer\Infrastructure\Password
OxidEsales\GraphQL\Storefront\Customer\Infrastructure\PasswordInterface
OxidEsales\GraphQL\Storefront\Customer\Exception\CustomerNotFoundByUpdateHash
OxidEsales\GraphQL\Storefront\Customer\Exception\PasswordValidationException
OxidEsales\GraphQL\Storefront\Customer\Infrastructure\RepositoryInterface
OxidEsales\GraphQL\Storefront\Customer\Service\CustomerInterface
OxidEsales\GraphQL\Storefront\Customer\Service\PasswordInterface
OxidEsales\GraphQL\Storefront\Shared\Infrastructure\RepositoryInterface
- Methods:
OxidEsales\GraphQL\Storefront\Customer\Infrastructure\Repository::saveNewPasswordForCustomer
OxidEsales\GraphQL\Storefront\Customer\Infrastructure\Repository::getCustomerByPasswordUpdateHash
OxidEsales\GraphQL\Storefront\Customer\Service\Password::sendPasswordForgotEmail
OxidEsales\GraphQL\Storefront\Customer\Service\Password::resetPasswordByUpdateHash
- Mutations:
- Aliases for Dependency Injection
OxidEsales\GraphQL\Storefront\Customer\Service\Customer
OxidEsales\GraphQL\Storefront\Customer\Infrastructure\Repository
- Replace webmozart/path-util usage with symfony/filesystem
- New module logo
- Updated the structure to Codeception 5
- Modify github workflows to use new universal workflow
- Use new interfaces instead of direct classes
- PHP 8.0 support
- Migration trigger on module activation
OxidEsales\GraphQL\Storefront\Shared\Service\Authorization
byLength
inOxidEsales\GraphQL\Storefront\Customer\Exception\PasswordMismatch
- Add error message to product response when variant loading is disabled #0007421
3.0.0 - 2023-06-08
- Support for PHP 8.1
- Support for MySQL 8
- Classes:
OxidEsales\GraphQL\Storefront\Basket\Service\BasketFinder
- Classes:
OxidEsales\GraphQL\Storefrnt\Address\Exception\DeliveryAddressMissingFields
OxidEsales\GraphQL\Storefrnt\Address\Exception\InvoiceAddressMissingFields
- Module upgraded for eshop version 7
- NAME-constant removed from events
- Support PHP 7.4
- Refactored NotFound exception and children to create instance with constructor instead of static methods.
- Moved methods from Basket-Service to BasketItem, BasketVoucher and BasketFinder-Service
- License file was updated to be consistent with other OXID eSales modules
- Module upgraded for eshop version 7
- Assetspath updated
- Migrations config structure updated
2.2.0 - Unreleased
- Dependency on Base module. Base module cannot be deactivated till Storefront is active.
- Workflow trigger to update schema in documentation
- License updated - now using OXID Module and Component License
2.1.0 - 2022-07-14
- New Event
OxidEsales\GraphQL\Storefront\Basket\Event\AfterRemoveItem
- Not mandatory
remark
parameter added forplaceOrder
mutation PR-9 - New service
OxidEsales\GraphQL\Storefront\Shared\Infrastructure\ListConfiguration
. Optionally supply core table name of list objects that must be instantiated with BaseModel::load().
- Code quality tools list simplified and reconfigured to fit our quality requirements
- Send registration email when creating a user
- Do not crush on not available Address country PR-10
OxidEsales\GraphQL\Storefront\Basket\Service\BasketRelationService::owner()
return value will be null for anonymous user.
- Workflow trigger to update schema in documentation
2.0.1 - 2022-01-03
- New event
BeforeBasketRemoveOnPlaceOrder
2.0.0 - 2021-12-08
- Support for PHP 8.0 and
oxid-esales/graphql-base ^6.0.0
OxidEsales\GraphQL\Storefront\Customer\Service::fetchCustomer
is now public- New Events:
OxidEsales\GraphQL\Storefront\Basket\Event\AfterAddItem
OxidEsales\GraphQL\Storefront\Basket\Event\BasketAuthorization
OxidEsales\GraphQL\Storefront\Basket\Event\BeforeAddItem
OxidEsales\GraphQL\Storefront\Basket\Event\BeforeBasketDeliveryMethods
OxidEsales\GraphQL\Storefront\Basket\Event\BeforeBasketModify
OxidEsales\GraphQL\Storefront\Basket\Event\BeforeBasketRemove
BeforeBasketPayments
updated with payment methods list so it can be adjusted
- Interface
OxidEsales\GraphQL\Storefront\Basket\Event\BasketModifyInterface
- Classes
OxidEsales\GraphQL\Storefront\Basket\DataType\AbstractBasket
OxidEsales\GraphQL\Storefront\Basket\DataType\PublicBasket
OxidEsales\GraphQL\Storefront\Basket\Service\PublicBasketRelationService
OxidEsales\GraphQL\Storefront\Basket\Exception\BasketItemAmountLimitedStock
OxidEsales\GraphQL\Storefront\Contact\Service\ContactInfrastructureAwareService
OxidEsales\GraphQL\Storefront\Shared\Exception\GraphQLServiceNotFound
OxidEsales\GraphQL\Storefront\Shared\Service\Authorization
- Methods
OxidEsales\GraphQL\Storefront\Basket\Controller\Basket::publicBasket()
OxidEsales\GraphQL\Storefront\Basket\DataType\Basket::getDeliveryAddressId()
OxidEsales\GraphQL\Storefront\Basket\DataType\Basket::getDeliveryMethodId()
OxidEsales\GraphQL\Storefront\Basket\DataType\Basket::getPaymentId()
OxidEsales\GraphQL\Storefront\Basket\DataType\BasketItem::basketId()
OxidEsales\GraphQL\Storefront\Basket\Exception\BasketItemNotFound::byIdInBasket()
OxidEsales\GraphQL\Storefront\Basket\Exception\PlaceOrder::productsNotOrdarable()
OxidEsales\GraphQL\Storefront\Basket\Infrastructure\Basket::getBasketItemByProductId()
OxidEsales\GraphQL\Storefront\Basket\Infrastructure\Basket::checkBasketItems()
- Extracted basket authorization block to be handled with event so can be easier overwritten if needed
- Updated paths to bin directory in README PR-5
OxidEsales\GraphQL\Storefront\DeliveryMethod\DataType\DeliveryMethod::getPosition()
method returns correct field dataOxidEsales\GraphQL\Storefront\WishedPrice\DataType\WishedPriceFilterList
now uses IDFilter instead of StringFilter
- Method
OxidEsales\GraphQL\Storefront\Basket\Service\Basket::publicBasketsByOwnerNameOrEmail
now returns an array ofOxidEsales\GraphQL\Storefront\Basket\DataType\PublicBasket
baskets(owner String)
now returns an array ofOxidEsales\GraphQL\Storefront\Basket\DataType\PublicBasket
in order to not expose address or payment information on a public basketdeliveryAddressId
parameter ofbasketSetDeliveryAddress
mutation can be null.basketAddItem
,basketRemoveItem
,placeOrder
mutations andbasket
query honour stockflag and calls may give you back an error- Drop support for PHP 7.3
- DataTypes related to
OxidEsales\Eshop\Core\Model\BaseModel
implementOxidEsales\GraphQL\Base\DataType\ShopModelAwareInterface
OxidEsales\Eshop\Core\Model\BaseModel::getRawFieldData()
is used instead ofOxidEsales\Eshop\Core\Model\BaseModel::getFieldData()
- Improved basket product stock check and related error messages
- Interface
OxidEsales\GraphQL\Storefront\Shared\DataType\DataType
- Method
OxidEsales\GraphQL\Storefront\Customer\Service\Customer::basketOwner()
1.0.0 - 2021-05-28
baskets(owner ID)
tobaskets(owner String)
- Query
foobar
left over from testing
1.0.0-rc1 - 2021-05-19
- Queries and Mutations for Storefront
- 3rd Party checkout support
- Schema documentation
- Remove
final
statement from shop extending classes PR-3
- Use
@Rights
annotation instead of@Logged
so that an anonymous token user could create/modify basket and place an order
0.1.0 - 2020-12-16
- Initial release
- deprecates
oxid-esales/graphql-catalogue
oxid-esales/graphql-account
oxid-esales/graphql-checkout