-
The constructor of
Sylius\Bundle\ApiBundle\Serializer\ChannelDenormalizer
has been changed:public function __construct( private FactoryInterface $channelPriceHistoryConfigFactory, + private FactoryInterface $shopBillingDataFactory ) { }
-
The constructor of
Sylius\Bundle\ApiBundle\EventSubscriber\TaxonDeletionEventSubscriber
has changed:
public function __construct(
private ChannelRepositoryInterface $channelRepository,
+ private TaxonInPromotionRuleCheckerInterface $taxonInPromotionRuleChecker,
) {
}
- The signature of constructor of
Sylius\Bundle\ApiBundle\Command\Cart\ChangeItemQuantityInCart
command changed:
public function __construct(
- public int $quantity,
+ public ?int $quantity,
) {
}
- The constructor signature of
Sylius\Bundle\ApiBundle\Command\Cart\AddItemToCart
changed:
public function __construct(
- public string $productCode,
+ public ?string $productCode,
- public int $quantity,
+ public ?int $quantity,
) {
}
- The constructor signature of
Sylius\Bundle\ApiBundle\Command\Catalog\AddProductReview
changed:
public function __construct(
public ?string $title,
public ?int $rating,
public ?string $comment,
- public string $productCode,
+ public ?string $productCode,
public ?string $email = null,
) {
}
- The constructor signature of
Sylius\Bundle\ApiBundle\Command\Account\VerifyCustomerAccount
changed:
public function __construct(
- public $token,
+ public string $token,
+ public ?string $channelCode = null,
+ public ?string $localeCode = null,
) {
}
- The item operation paths for ProductVariantTranslation resource changed:
GET /admin/product-variant-translation/{id}
->GET /admin/product-variant-translations/{id}
GET /shop/product-variant-translation/{id}
->GET /shop/product-variant-translations/{id}
-
Typo in the constraint validator's alias returned by
Sylius\Bundle\ApiBundle\Validator\Constraints\ChangedItemQuantityInCartValidator::validatedBy
has been fixed. Previously it wassylius_api_validator_changed_item_guantity_in_cart
and now it issylius_api_validator_changed_item_quantity_in_cart
. -
The
ApiPlatform\Core\Bridge\Symfony\Bundle\Action\SwaggerUiAction
controller has been removed. Therefore, theapi_platform.swagger.action.ui
service ID points to the API Platform'sSwaggerUiAction
controller. -
The following services have been removed:
Sylius\Bundle\ApiBundle\Swagger\AdminAuthenticationTokenDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\ShopAuthenticationTokenDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\ProductDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\ProductImageDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\ProductSlugDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\ProductVariantDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\ShippingMethodDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\PathHiderDocumentationNormalizer
Sylius\Bundle\ApiBundle\Swagger\AcceptLanguageHeaderDocumentationNormalizer
Responsibility of these services has been moved to the corresponding services tagged with
sylius.open_api.modifier
:Sylius\Bundle\ApiBundle\OpenApi\Documentation\AdminAuthenticationTokenDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ShopAuthenticationTokenDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductImageDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductSlugDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductVariantDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ShippingMethodDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\PathHiderDocumentationModifier
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AcceptLanguageHeaderDocumentationModifier
-
All usages of
ApiPlatform\Core\Api\IriConverterInterface
have been switched to its non-deprecated counterpartApiPlatform\Api\IriConverterInterface
. Due to that, the constructor and usage in the following classes have been changed accordingly:Sylius\Bundle\ApiBundle\Controller\GetProductBySlugAction
Sylius\Bundle\ApiBundle\Controller\UploadAvatarImageAction
Sylius\Bundle\ApiBundle\EventListener\AdminAuthenticationSuccessListener
Sylius\Bundle\ApiBundle\EventListener\AuthenticationSuccessListener
Sylius\Bundle\ApiBundle\Filter\Doctrine\CatalogPromotionChannelFilter
Sylius\Bundle\ApiBundle\Filter\Doctrine\ProductVariantCatalogPromotionFilter
Sylius\Bundle\ApiBundle\Filter\Doctrine\ProductVariantOptionValueFilter
Sylius\Bundle\ApiBundle\Filter\Doctrine\ProductVariantOptionValueFilter
Sylius\Bundle\ApiBundle\Filter\Doctrine\TaxonFilter
Sylius\Bundle\ApiBundle\Serializer\ChannelPriceHistoryConfigDenormalizer
Sylius\Bundle\ApiBundle\Serializer\ProductNormalizer
Sylius\Bundle\ApiBundle\Serializer\ProductVariantNormalizer
Sylius\Bundle\ApiBundle\Serializer\ZoneDenormalizer
-
The
Sylius\Bundle\ApiBundle\Filter\Doctrine\CatalogPromotionChannelFilter
service and class has been renamed toSylius\Bundle\ApiBundle\Filter\Doctrine\ChannelsAwareChannelFilter
. -
The
sylius.api.product_taxon_filter
filter has been removed and its functionality has been superseded by thesylius.api.search_filter.taxon.code
filter. The usage stays the same. -
Update in Translations Handling
The process for creating or updating translations via the API has been refined. Now, the locale for each translation is determined directly from its key, making the explicit transmission of the
locale
field redundant. Although the API continues to support the explicit sending of thelocale
field, it is essential that this explicitly sent locale matches the key in the translation array. In cases of a mismatch between the key and an explicitly sent locale, the API will respond with aSylius\Bundle\ApiBundle\Exception\TranslationLocaleMismatchException
.