mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 17:10:53 +00:00
130 lines
6.4 KiB
Markdown
130 lines
6.4 KiB
Markdown
# UPGRADE FROM `v1.12.x` TO `v1.13.0`
|
|
|
|
1. The constructor of `Sylius\Bundle\ApiBundle\Serializer\ChannelDenormalizer` has been changed:
|
|
|
|
```diff
|
|
public function __construct(
|
|
private FactoryInterface $channelPriceHistoryConfigFactory,
|
|
+ private FactoryInterface $shopBillingDataFactory
|
|
) {
|
|
}
|
|
```
|
|
|
|
1. The constructor of `Sylius\Bundle\ApiBundle\EventSubscriber\TaxonDeletionEventSubscriber` has changed:
|
|
|
|
````diff
|
|
public function __construct(
|
|
private ChannelRepositoryInterface $channelRepository,
|
|
+ private TaxonInPromotionRuleCheckerInterface $taxonInPromotionRuleChecker,
|
|
) {
|
|
}
|
|
````
|
|
|
|
1. The signature of constructor of `Sylius\Bundle\ApiBundle\Command\Cart\ChangeItemQuantityInCart` command changed:
|
|
|
|
````diff
|
|
public function __construct(
|
|
- public int $quantity,
|
|
+ public ?int $quantity,
|
|
) {
|
|
}
|
|
````
|
|
|
|
1. The constructor signature of `Sylius\Bundle\ApiBundle\Command\Cart\AddItemToCart` changed:
|
|
|
|
````diff
|
|
public function __construct(
|
|
- public string $productCode,
|
|
+ public ?string $productCode,
|
|
- public int $quantity,
|
|
+ public ?int $quantity,
|
|
) {
|
|
}
|
|
````
|
|
|
|
1. The constructor signature of `Sylius\Bundle\ApiBundle\Command\Catalog\AddProductReview` changed:
|
|
|
|
````diff
|
|
public function __construct(
|
|
public ?string $title,
|
|
public ?int $rating,
|
|
public ?string $comment,
|
|
- public string $productCode,
|
|
+ public ?string $productCode,
|
|
public ?string $email = null,
|
|
) {
|
|
}
|
|
````
|
|
|
|
1. The constructor signature of `Sylius\Bundle\ApiBundle\Command\Account\VerifyCustomerAccount` changed:
|
|
|
|
````diff
|
|
public function __construct(
|
|
- public $token,
|
|
+ public string $token,
|
|
+ public ?string $channelCode = null,
|
|
+ public ?string $localeCode = null,
|
|
) {
|
|
}
|
|
````
|
|
|
|
1. 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}`
|
|
|
|
1. Typo in the constraint validator's alias returned by `Sylius\Bundle\ApiBundle\Validator\Constraints\ChangedItemQuantityInCartValidator::validatedBy` has been fixed.
|
|
Previously it was `sylius_api_validator_changed_item_guantity_in_cart` and now it is `sylius_api_validator_changed_item_quantity_in_cart`.
|
|
|
|
1. The `ApiPlatform\Core\Bridge\Symfony\Bundle\Action\SwaggerUiAction` controller has been removed.
|
|
Therefore, the `api_platform.swagger.action.ui` service ID points to the API Platform's `SwaggerUiAction` controller.
|
|
|
|
1. 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`
|
|
|
|
1. All usages of `ApiPlatform\Core\Api\IriConverterInterface` have been switched to its non-deprecated counterpart `ApiPlatform\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`
|
|
|
|
1. The `Sylius\Bundle\ApiBundle\Filter\Doctrine\CatalogPromotionChannelFilter` service and class has been renamed to `Sylius\Bundle\ApiBundle\Filter\Doctrine\ChannelsAwareChannelFilter`.
|
|
|
|
1. The `sylius.api.product_taxon_filter` filter has been removed and its functionality has been superseded by the `sylius.api.search_filter.taxon.code` filter. The usage stays the same.
|
|
|
|
1. 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 the `locale` 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 a `Sylius\Bundle\ApiBundle\Exception\TranslationLocaleMismatchException`.
|