Skip to content

Latest commit

 

History

History
124 lines (103 loc) · 6.48 KB

UPGRADE-API-1.13.md

File metadata and controls

124 lines (103 loc) · 6.48 KB

UPGRADE FROM v1.12.x TO v1.13.0

  1. The constructor of Sylius\Bundle\ApiBundle\Serializer\ChannelDenormalizer has been changed:

        public function __construct(
            private FactoryInterface $channelPriceHistoryConfigFactory,
    +       private FactoryInterface $shopBillingDataFactory
        ) {
        }
  2. The constructor of Sylius\Bundle\ApiBundle\EventSubscriber\TaxonDeletionEventSubscriber has changed:

        public function __construct(
            private ChannelRepositoryInterface $channelRepository,
    +       private TaxonInPromotionRuleCheckerInterface $taxonInPromotionRuleChecker,
        ) {
        }
  3. The signature of constructor of Sylius\Bundle\ApiBundle\Command\Account\ChangeShopUserPassword command changed:

        public function __construct(
    -       public ?string $newPassword, 
    +       public string $newPassword, 
    -       public ?string $confirmNewPassword,
    +       public string $confirmNewPassword,
    -       public ?string $currentPassword,
    +       public string $currentPassword,
        ) {
        } 
  4. The constructor signature of Sylius\Bundle\ApiBundle\Command\Catalog\AddProductReview changed:

        public function __construct(
    -       public ?string $title,
    +       public string $title,
    -       public ?int $rating,
    +       public int $rating,
    -       public ?string $comment,
    +       public string $comment,
            public string $productCode,
            public ?string $email = null,
        ) {
        }
  5. 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,
        ) {
        }
  6. 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}
  7. 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.

  8. 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.

  9. 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
  10. 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
  11. The Sylius\Bundle\ApiBundle\Filter\Doctrine\CatalogPromotionChannelFilter service and class has been renamed to Sylius\Bundle\ApiBundle\Filter\Doctrine\ChannelsAwareChannelFilter.

  12. 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.

  13. 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.