Sylius/UPGRADE-2.0.md
2024-10-23 09:48:10 +02:00

157 KiB

UPGRADE FROM 1.14 TO 2.0

Configuration

  • Messenger:

    • The sylius_default.bus and sylius_event.bus configuration options were removed. Use sylius.command_bus and sylius.event_bus for commands and events respectively.
  • SyliusStateMachineAbstraction:

    • The sylius_state_machine_abstraction.default_adapter option has been changed from winzou_state_machine to symfony_workflow.
  • Resource:

    • The configuration nodes for resource options sylius_*.resources.**.options (sylius_addressing.resources.address.options etc.) were removed from all resource definitions in all bundles.
  • The sylius_core.autoconfigure_with_attributes and sylius_order.autoconfigure_with_attributes configuration parameters have been removed. If you want to autoconfigure order processors and cart contexts, use corresponding attributes instead of interfaces:

    • Sylius\Bundle\OrderBundle\Attribute\AsCartContext
    • Sylius\Bundle\OrderBundle\Attribute\AsOrderProcessor
  • The sylius_user.resources.{name}.user.resetting.pin configuration parameter has been removed. The corresponding email reset_password_pin and Sylius\Bundle\UserBundle\Controller\UserController::requestPasswordResetPinAction method have been removed. The related services have been removed as well:

    • sylius.{user_type}_user.pin_generator.password_reset
    • sylius.{user_type}_user.pin_uniqueness_checker.password_reset

Dependencies

  • The following dependencies have been removed, install them in your application, if you still want to use Winzou State Machine:

    • winzou/state-machine
    • winzou/state-machine-bundle
  • The swiftmailer/swiftmailer dependency has been removed. Use symfony/mailer instead.

Codebase

  • Doctrine MongoDB and PHPCR is no longer supported in ResourceBundle and GridBundle:

  • The following classes were removed:

    • Sylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListener
    • Sylius\Bundle\GridBundle\Doctrine\PHPCRODM\DataSource
    • Sylius\Bundle\GridBundle\Doctrine\PHPCRODM\Driver
    • Sylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionBuilder
    • Sylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionBuilderInterface
    • Sylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionVisitor
    • Sylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExtraComparison
    • Sylius\Bundle\ResourceBundle\DependencyInjection\Driver\Doctrine\DoctrineODMDriver
    • Sylius\Bundle\ResourceBundle\DependencyInjection\Driver\Doctrine\DoctrinePHPCRDriver
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\MongoDB\DocumentRepository
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\MongoDB\TranslatableRepository
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\DocumentRepository
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\DefaultParentListener
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\NameFilterListener
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\NameResolverListener
    • Sylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\Form\Builder\DefaultFormBuilder
    • Sylius\Bundle\ResourceBundle\EventListener\ODMMappedSuperClassSubscriber
    • Sylius\Bundle\ResourceBundle\EventListener\ODMRepositoryClassSubscriber
    • Sylius\Bundle\ResourceBundle\EventListener\ODMTranslatableListener
  • The following services were removed:

    • sylius.event_subscriber.odm_mapped_super_class
    • sylius.event_subscriber.odm_repository_class
    • sylius.grid_driver.doctrine.phpcrodm
    • sylius.listener.api_postgresql_driver_exception_listener
  • Aliases introduced in Sylius 1.14 have now become the primary service IDs in Sylius 2.0. The old service IDs have been removed, and all references must be updated accordingly:

Old ID New ID
AttributeBundle
sylius.form.type.attribute_type.select.choices_collection sylius.form.type.attribute_type.configuration.select_attribute_choices_collection
sylius.attribute_type.select.value.translations sylius.form.type.attribute_type.configuration.select_attribute_value_translations
sylius.validator.valid_text_attribute sylius.validator.valid_text_attribute_configuration
sylius.validator.valid_select_attribute sylius.validator.valid_select_attribute_configuration
AdminBundle
sylius.security.shop_user_impersonator sylius_admin.security.shop_user_impersonator
sylius.controller.impersonate_user sylius_admin.controller.impersonate_user
Sylius\Bundle\AdminBundle\Action\Account\RenderResetPasswordPageAction sylius_admin.controller.account.render_reset_password_page
Sylius\Bundle\AdminBundle\Action\Account\ResetPasswordAction sylius_admin.controller.account.reset_password
Sylius\Bundle\AdminBundle\Action\RemoveAvatarAction sylius_admin.controller.remove_avatar
Sylius\Bundle\AdminBundle\Action\ResendOrderConfirmationEmailAction sylius_admin.controller.resend_order_confirmation_email
Sylius\Bundle\AdminBundle\Action\ResendShipmentConfirmationEmailAction sylius_admin.controller.resend_shipment_confirmation_email
Sylius\Bundle\AdminBundle\Action\Account\RenderRequestPasswordResetPageAction sylius_admin.controller.account.render_request_password_reset_page
Sylius\Bundle\AdminBundle\Action\Account\RequestPasswordResetAction sylius_admin.controller.account.request_password_reset
sylius.controller.admin.dashboard sylius_admin.controller.dashboard
sylius.controller.customer_statistics sylius_admin.controller.customer_statistics
sylius.controller.admin.notification sylius_admin.controller.notification
Sylius\Bundle\AdminBundle\Controller\RemoveCatalogPromotionAction sylius_admin.controller.remove_catalog_promotion
Sylius\Bundle\AdminBundle\Controller\RedirectHandler sylius_admin.resource_controller.redirect_handler
sylius.mailer.shipment_email_manager.admin sylius_admin.mailer.email_manager.shipment
Sylius\Bundle\AdminBundle\Form\RequestPasswordResetType sylius_admin.form.type.request_password_reset
Sylius\Bundle\AdminBundle\Form\Type\ResetPasswordType sylius_admin.form.type.reset_password
sylius.listener.shipment_ship sylius_admin.listener.shipment_ship
sylius.listener.locale sylius_admin.listener.locale
sylius.event_subscriber.admin_cache_control_subscriber sylius_admin.event_subscriber.admin_section_cache_control
sylius.event_subscriber.admin_filter_subscriber sylius_admin.event_subscriber.admin_filter
sylius.admin.menu_builder.main sylius_admin.menu_builder.main
Sylius\Bundle\AdminBundle\Console\Command\CreateAdminUserCommand sylius_admin.console.command.create_admin_user
Sylius\Bundle\AdminBundle\Console\Command\ChangeAdminUserPasswordCommand sylius_admin.console.command.change_admin_user_password
Sylius\Bundle\AdminBundle\MessageHandler\CreateAdminUserHandler sylius_admin.command_handler.create_admin_user
sylius.console.command_factory.question sylius_admin.console.command_factory.question
sylius.context.locale.admin_based sylius_admin.context.locale.admin_based
sylius.section_resolver.admin_uri_based_section_resolver sylius_admin.section_resolver.admin_uri_based
sylius.twig.extension.widget.admin_notification sylius_admin.twig.extension.notification_widget
sylius.twig.extension.shop sylius_admin.twig.extension.shop
sylius.twig.extension.channels_currencies sylius_admin.twig.extension.channels_currencies
Sylius\Bundle\AdminBundle\Twig\OrderUnitTaxesExtension sylius_admin.twig.extension.order_unit_taxes
Sylius\Bundle\AdminBundle\Twig\ChannelNameExtension sylius_admin.twig.extension.channel_name
ApiBundle
Sylius\Bundle\ApiBundle\Provider\CompositePaymentConfigurationProvider sylius_api.provider.payment_configuration
sylius.api.applicator.archiving_promotion sylius_api.applicator.archiving_promotion
Sylius\Bundle\ApiBundle\CommandHandler\Account\RegisterShopUserHandler sylius_api.command_handler.account.register_shop_user
Sylius\Bundle\ApiBundle\CommandHandler\Cart\PickupCartHandler sylius_api.command_handler.cart.pickup_cart
Sylius\Bundle\ApiBundle\CommandHandler\Cart\AddItemToCartHandler sylius_api.command_handler.cart.add_item_to_cart
Sylius\Bundle\ApiBundle\CommandHandler\Cart\RemoveItemFromCartHandler sylius_api.command_handler.cart.remove_item_from_cart
Sylius\Bundle\ApiBundle\CommandHandler\Cart\InformAboutCartRecalculationHandler sylius_api.command_handler.cart.inform_about_cart_recalculation
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\UpdateCartHandler sylius_api.command_handler.checkout.update_cart
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\ChooseShippingMethodHandler sylius_api.command_handler.checkout.choose_shipping_method
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\ChoosePaymentMethodHandler sylius_api.command_handler.checkout.choose_payment_method
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\CompleteOrderHandler sylius_api.command_handler.checkout.complete_order
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\ShipShipmentHandler sylius_api.command_handler.checkout.ship_shipment
Sylius\Bundle\ApiBundle\CommandHandler\Account\ChangePaymentMethodHandler sylius_api.command_handler.account.change_payment_method
Sylius\Bundle\ApiBundle\CommandHandler\Cart\ChangeItemQuantityInCartHandler sylius_api.command_handler.cart.change_item_quantity_in_cart
Sylius\Bundle\ApiBundle\CommandHandler\Catalog\AddProductReviewHandler sylius_api.command_handler.catalog.add_product_review
Sylius\Bundle\ApiBundle\CommandHandler\Cart\BlameCartHandler sylius_api.command_handler.cart.blame_cart
Sylius\Bundle\ApiBundle\CommandHandler\Account\ChangeShopUserPasswordHandler sylius_api.command_handler.account.change_shop_user_password
Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestResetPasswordTokenHandler sylius_api.command_handler.account.request_reset_password_token
Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestShopUserVerificationHandler sylius_api.command_handler.account.request_shop_user_verification
Sylius\Bundle\ApiBundle\CommandHandler\Account\ResetPasswordHandler sylius_api.command_handler.account.reset_password
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendAccountRegistrationEmailHandler sylius_api.command_handler.account.send_account_registration_email
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendShopUserVerificationEmailHandler sylius_api.command_handler.account.send_shop_user_verification_email
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\SendOrderConfirmationHandler sylius_api.command_handler.checkout.send_order_confirmation
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendResetPasswordEmailHandler sylius_api.command_handler.account.send_reset_password_email
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\SendShipmentConfirmationEmailHandler sylius_api.command_handler.checkout.send_shipment_confirmation_email
Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyShopUserHandler sylius_api.command_handler.account.verify_shop_user
Sylius\Bundle\ApiBundle\CommandHandler\SendContactRequestHandler sylius_api.command_handler.send_contract_request
Sylius\Bundle\ApiBundle\CommandHandler\Promotion\GeneratePromotionCouponHandler sylius_api.command_handler.promotion.generate_promotion_coupon
Sylius\Bundle\ApiBundle\CommandHandler\Customer\RemoveShopUserHandler sylius_api.command_handler.customer.remove_shop_user
Sylius\Bundle\ApiBundle\SerializerContextBuilder\ChannelContextBuilder sylius_api.context_builder.channel
Sylius\Bundle\ApiBundle\SerializerContextBuilder\LocaleContextBuilder sylius_api.context_builder.locale
Sylius\Bundle\ApiBundle\SerializerContextBuilder\HttpRequestMethodTypeContextBuilder sylius_api.context_builder.http_request_method_type
Sylius\Bundle\ApiBundle\Context\TokenValueBasedCartContext sylius_api.context.cart.token_value_based
Sylius\Bundle\ApiBundle\Controller\DeleteOrderItemAction sylius_api.controller.delete_order_item
Sylius\Bundle\ApiBundle\Controller\GetCustomerStatisticsAction sylius_api.controller.get_customer_statistics
Sylius\Bundle\ApiBundle\Controller\GetProductBySlugAction sylius_api.controller.get_product_by_slug
Sylius\Bundle\ApiBundle\Controller\RemoveCatalogPromotionAction sylius_api.controller.remove_catalog_promotion
Sylius\Bundle\ApiBundle\Controller\RemoveCustomerShopUserAction sylius_api.controller.remove_customer_shop_user
Sylius\Bundle\ApiBundle\Controller\GetStatisticsAction sylius_api.controller.get_statistics
Sylius\Bundle\ApiBundle\Creator\ProductImageCreator sylius_api.creator.product_image
Sylius\Bundle\ApiBundle\Creator\TaxonImageCreator sylius_api.creator.taxon_image
Sylius\Bundle\ApiBundle\EventHandler\OrderCompletedHandler sylius_api.event_handler.order_completed
Sylius\Bundle\ApiBundle\EventSubscriber\ProductVariantEventSubscriber sylius_api.event_subscriber.product_variant
Sylius\Bundle\ApiBundle\EventSubscriber\CatalogPromotionEventSubscriber sylius_api.event_subscriber.catalog_promotion
Sylius\Bundle\ApiBundle\EventSubscriber\KernelRequestEventSubscriber sylius_api.event_subscriber.kernel_request
Sylius\Bundle\ApiBundle\EventSubscriber\ProductDeletionEventSubscriber sylius_api.event_subscriber.product_deletion
Sylius\Bundle\ApiBundle\EventSubscriber\ProductSlugEventSubscriber sylius_api.event_subscriber.product_slug
Sylius\Bundle\ApiBundle\EventSubscriber\TaxonDeletionEventSubscriber sylius_api.event_subscriber.taxon_deletion
Sylius\Bundle\ApiBundle\EventSubscriber\TaxonSlugEventSubscriber sylius_api.event_subscriber.taxon_slug
Sylius\Bundle\ApiBundle\EventSubscriber\AttributeEventSubscriber sylius_api.event_subscriber.attribute
Sylius\Bundle\ApiBundle\Controller\Payment\GetPaymentConfiguration sylius_api.controller.payment.get_payment_configuration
sylius.api.provider.liip_image_filters sylius_api.provider.liip_image_filters
Sylius\Bundle\ApiBundle\QueryHandler\GetCustomerStatisticsHandler sylius_api.query_handler.get_customer_statistics
Sylius\Bundle\ApiBundle\QueryHandler\GetStatisticsHandler sylius_api.query_handler.get_statistics
sylius_api.security.voter.order sylius_api.security.voter.order_adjustments
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\AddressDenormalizer sylius_api.denormalizer.address
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\CommandArgumentsDenormalizer sylius_api.denormalizer.command_arguments
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\CommandDenormalizer sylius_api.denormalizer.command
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ProductNormalizer sylius_api.normalizer.product
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ProductAttributeValueDenormalizer sylius_api.denormalizer.product_attribute_value
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ProductDenormalizer sylius_api.denormalizer.product
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ProductAttributeValueNormalizer sylius_api.normalizer.product_attribute_value
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ImageNormalizer sylius_api.normalizer.image
Sylius\Bundle\ApiBundle\Serializer\Normalizer\CommandNormalizer sylius_api.normalizer.command
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ProductVariantNormalizer sylius_api.normalizer.product_variant
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ShippingMethodNormalizer sylius_api.normalizer.shipping_method
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ZoneDenormalizer sylius_api.denormalizer.zone
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\TranslatableDenormalizer sylius_api.denormalizer.translatable
date_time_normalizer sylius_api.normalizer.date_time
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ChannelPriceHistoryConfigDenormalizer sylius_api.denormalizer.channel_price_history_config
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ChannelDenormalizer sylius_api.denormalizer.channel
sylius.api.denormalizer.numeric_to_string.tax_rate sylius_api.denormalizer.numeric_to_string.tax_rate
sylius.api.denormalizer.numeric_to_string.exchange_rate sylius_api.denormalizer.numeric_to_string.exchange_rate
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\CustomerDenormalizer sylius_api.denormalizer.customer
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\TranslatableLocaleKeyDenormalizer sylius_api.denormalizer.translatable_locale_key
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ProductVariantChannelPricingsChannelCodeKeyDenormalizer sylius_api.denormalizer.product_variant_channel_pricings_channel_code_key
Sylius\Bundle\ApiBundle\Serializer\Normalizer\DoctrineCollectionValuesNormalizer sylius_api.normalizer.doctrine_collection_values
Sylius\Bundle\ApiBundle\Validator\Constraints\UniqueShopUserEmailValidator sylius_api.validator.unique_shop_user_email
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderNotEmptyValidator sylius_api.validator.order_not_empty
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderProductEligibilityValidator sylius_api.validator.order_product_eligibility
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderItemAvailabilityValidator sylius_api.validator.order_item_availability
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderShippingMethodEligibilityValidator sylius_api.validator.order_shipping_method_eligibility
Sylius\Bundle\ApiBundle\Validator\Constraints\CheckoutCompletionValidator sylius_api.validator.checkout_completion
Sylius\Bundle\ApiBundle\Validator\Constraints\ChosenShippingMethodEligibilityValidator sylius_api.validator.chosen_shipping_method_eligibility
Sylius\Bundle\ApiBundle\Validator\Constraints\AddingEligibleProductVariantToCartValidator sylius_api.validator.adding_eligible_product_variant_to_cart
Sylius\Bundle\ApiBundle\Validator\Constraints\ChangedItemQuantityInCartValidator sylius_api.validator.changed_item_quantity_in_cart
Sylius\Bundle\ApiBundle\Validator\Constraints\CorrectOrderAddressValidator sylius_api.validator.correct_order_address
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderPaymentMethodEligibilityValidator sylius_api.validator.order_payment_method_eligibility
Sylius\Bundle\ApiBundle\Validator\Constraints\ChosenPaymentMethodEligibilityValidator sylius_api.validator.chosen_payment_method_eligibility
Sylius\Bundle\ApiBundle\Validator\Constraints\CanPaymentMethodBeChangedValidator sylius_api.validator.can_payment_method_be_changed
Sylius\Bundle\ApiBundle\Validator\Constraints\CorrectChangeShopUserConfirmPasswordValidator sylius_api.validator.correct_change_shop_user_confirm_password
Sylius\Bundle\ApiBundle\Validator\Constraints\ConfirmResetPasswordValidator sylius_api.validator.confirm_reset_password
Sylius\Bundle\ApiBundle\Validator\Constraints\PromotionCouponEligibilityValidator sylius_api.validator.promotion_coupon_eligibility
Sylius\Bundle\ApiBundle\Validator\Constraints\ShipmentAlreadyShippedValidator sylius_api.validator.shipment_already_shipped
Sylius\Bundle\ApiBundle\Validator\Constraints\ShopUserResetPasswordTokenExistsValidator sylius_api.validator.shop_user_reset_password_token_exists
Sylius\Bundle\ApiBundle\Validator\Constraints\ShopUserResetPasswordTokenNotExpiredValidator sylius_api.validator.shop_user_reset_password_token_not_expired
Sylius\Bundle\ApiBundle\Validator\Constraints\ShopUserNotVerifiedValidator sylius_api.validator.shop_user_not_verified
Sylius\Bundle\ApiBundle\Validator\Constraints\SingleValueForProductVariantOptionValidator sylius_api.validator.single_value_for_product_variant_option
Sylius\Bundle\ApiBundle\Validator\Constraints\UniqueReviewerEmailValidator sylius_api.validator.unique_reviewer_email
Sylius\Bundle\ApiBundle\Validator\Constraints\AdminResetPasswordTokenNonExpiredValidator sylius_api.validator.admin_reset_password_token_non_expired
sylius.validator.order_address_requirement sylius_api.validator.order_address_requirement
Sylius\Bundle\ApiBundle\PropertyInfo\Extractor\EmptyPropertyListExtractor sylius_api.extractor.property_info.empty_property_list
Sylius\Bundle\ApiBundle\SectionResolver\AdminApiUriBasedSectionResolver sylius_api.section_resolver.admin_api_uri_based
Sylius\Bundle\ApiBundle\SectionResolver\ShopApiUriBasedSectionResolver sylius_api.section_resolver.shop_api_uri_based
Sylius\Bundle\ApiBundle\EventListener\ApiCartBlamerListener sylius_api.listener.api_cart_blamer
sylius.listener.api_authentication_success_listener sylius_api.listener.authentication_success
sylius.listener.admin_api_authentication_success_listener sylius_api.listener.admin_authentication_success
Sylius\Bundle\ApiBundle\OpenApi\Factory\OpenApiFactory sylius_api.open_api.factory
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AcceptLanguageHeaderDocumentationModifier sylius_api.open_api.documentation_modifier.accept_language_header
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AdministratorDocumentationModifier sylius_api.open_api.documentation_modifier.administrator
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AttributeTypeDocumentationModifier sylius_api.open_api.documentation_modifier.attribute_type
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductDocumentationModifier sylius_api.open_api.documentation_modifier.product
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ImageDocumentationModifier sylius_api.open_api.documentation_modifier.image
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductReviewDocumentationModifier sylius_api.open_api.documentation_modifier.product_review
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductSlugDocumentationModifier sylius_api.open_api.documentation_modifier.product_slug
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductVariantDocumentationModifier sylius_api.open_api.documentation_modifier.product_variant
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ShippingMethodDocumentationModifier sylius_api.open_api.documentation_modifier.shipping_method
Sylius\Bundle\ApiBundle\OpenApi\Documentation\CustomerDocumentationModifier sylius_api.open_api.documentation_modifier.customer
Sylius\Bundle\ApiBundle\OpenApi\Documentation\StatisticsDocumentationModifier sylius_api.open_api.documentation_modifier.statistics
Sylius\Bundle\ApiBundle\OpenApi\Documentation\PromotionDocumentationModifier sylius_api.open_api.documentation_modifier.promotion
Sylius\Bundle\ApiBundle\OpenApi\Documentation\OrderAdjustmentsTypeDocumentationModifier sylius_api.open_api.documentation_modifier.order_adjustments
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AddressLogEntryDocumentationModifier sylius_api.open_api.documentation_modifier.address_log_entry
AddressingBundle
sylius.province_naming_provider sylius.provider.province_naming
sylius.zone_matcher sylius.matcher.zone
sylius.address_comparator sylius.comparator.address
ChannelBundle
sylius.channel_collector sylius.collector.channel
CoreBundle
Sylius\Bundle\CoreBundle\CatalogPromotion\Calculator\FixedDiscountPriceCalculator sylius.calculator.catalog_promotion.fixed_discount_price
Sylius\Bundle\CoreBundle\CatalogPromotion\Calculator\PercentageDiscountPriceCalculator sylius.calculator.catalog_promotion.percentage_discount_price
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\CatalogPromotionEligibilityChecker sylius.checker.catalog_promotion_eligibility
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\InForProductScopeVariantChecker sylius.checker.catalog_promotion.in_for_product_scope_variant
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\InForTaxonsScopeVariantChecker sylius.checker.catalog_promotion.in_for_taxons_scope_variant
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\InForVariantsScopeVariantChecker sylius.checker.catalog_promotion.in_for_variants_scope_variant
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\ApplyCatalogPromotionsOnVariantsHandler sylius.command_handler.catalog_promotion.apply_variants
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\DisableCatalogPromotionHandler sylius.command_handler.catalog_promotion.disable
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\RemoveCatalogPromotionHandler sylius.command_handler.catalog_promotion.remove
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\UpdateCatalogPromotionStateHandler sylius.command_handler.catalog_promotion.update_state
Sylius\Bundle\CoreBundle\CatalogPromotion\EventListener\CatalogPromotionEventListener sylius.listener.catalog_promotion
Sylius\Bundle\CoreBundle\CatalogPromotion\EventListener\ProductEventListener sylius.listener.catalog_promotion.product
Sylius\Bundle\CoreBundle\CatalogPromotion\EventListener\ProductVariantEventListener sylius.listener.catalog_promotion.product_variant
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionCreatedListener sylius.listener.catalog_promotion.created
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionUpdatedListener sylius.listener.catalog_promotion.updated
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionEndedListener sylius.listener.catalog_promotion.ended
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionStateChangedListener sylius.listener.catalog_promotion.state_changed
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductCreatedListener sylius.listener.catalog_promotion.product_created
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductUpdatedListener sylius.listener.catalog_promotion.product_updated
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductVariantCreatedListener sylius.listener.catalog_promotion.product_variant_created
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductVariantUpdatedListener sylius.listener.catalog_promotion.product_variant_updated
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\AssignOrderNumberListener sylius.listener.workflow.order.assign_order_number
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\AssignOrderTokenListener sylius.listener.workflow.order.assign_order_token
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CreatePaymentListener sylius.listener.workflow.order.create_payment
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CreateShipmentListener sylius.listener.workflow.order.create_shipment
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\DecrementPromotionUsagesListener sylius.listener.workflow.order.decrement_promotion_usages
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\IncrementPromotionUsagesListener sylius.listener.workflow.order.increment_promotion_usages
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\HoldInventoryListener sylius.listener.workflow.order.hold_inventory
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\GiveBackInventoryListener sylius.listener.workflow.order.give_back_inventory
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\RequestOrderPaymentListener sylius.listener.workflow.order.request_order_payment
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\RequestOrderShippingListener sylius.listener.workflow.order.request_order_shipping
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\SaveCustomerAddressesListener sylius.listener.workflow.order.save_customer_addresses
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\SetImmutableNamesListener sylius.listener.workflow.order.set_immutable_names
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelOrderPaymentListener sylius.listener.workflow.order.cancel_order_payment
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelOrderShippingListener sylius.listener.workflow.order.cancel_order_shipping
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelPaymentListener sylius.listener.workflow.order.cancel_payment
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelShipmentListener sylius.listener.workflow.order.cancel_shipment
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ProcessCartListener sylius.listener.workflow.order_checkout.process_cart
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ApplyCreateTransitionOnOrderListener sylius.listener.workflow.order_checkout.apply_create_transition_on_order
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\SaveCheckoutCompletionDateListener sylius.listener.workflow.order_checkout.save_checkout_completion_date
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ResolveOrderCheckoutStateListener sylius.listener.workflow.order_checkout.resolve_order_checkout_state
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ResolveOrderPaymentStateListener sylius.listener.workflow.order_checkout.resolve_order_payment_state
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ResolveOrderShippingStateListener sylius.listener.workflow.order_checkout.resolve_order_shipping_state
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderPayment\SellOrderInventoryListener sylius.listener.workflow.order_payment.sell_order_inventory
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderPayment\ResolveOrderStateListener sylius.listener.workflow.order_payment.resolve_order_state
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderShipping\ResolveOrderStateListener sylius.listener.workflow.order_shipping.resolve_order_state
Sylius\Bundle\CoreBundle\EventListener\Workflow\Payment\ProcessOrderListener sylius.listener.workflow.payment.process_order
Sylius\Bundle\CoreBundle\EventListener\Workflow\Payment\ResolveOrderPaymentStateListener sylius.listener.workflow.payment.resolve_order_payment_state
Sylius\Bundle\CoreBundle\EventListener\Workflow\Shipment\AssignShippingDateListener sylius.listener.workflow.shipment.assign_shipping_date
Sylius\Bundle\CoreBundle\EventListener\Workflow\Shipment\ResolveOrderShipmentStateListener sylius.listener.workflow.shipment.resolve_order_shipment_state
Sylius\Bundle\CoreBundle\PriceHistory\CommandHandler\ApplyLowestPriceOnChannelPricingsHandler sylius.command_handler.price_history.apply_lowest_price_on_channel_pricings
Sylius\Bundle\CoreBundle\PriceHistory\EntityObserver\CreateLogEntryOnPriceChangeObserver sylius.entity_observer.price_history.create_log_entry_on_price_change
Sylius\Bundle\CoreBundle\PriceHistory\EntityObserver\ProcessLowestPricesOnChannelChangeObserver sylius.entity_observer.price_history.process_lowest_prices_on_channel_change
Sylius\Bundle\CoreBundle\PriceHistory\EntityObserver\ProcessLowestPricesOnChannelPriceHistoryConfigChangeObserver sylius.entity_observer.price_history.process_lowest_prices_on_channel_price_history_config_change
Sylius\Bundle\CoreBundle\PriceHistory\EventListener\OnFlushEntityObserverListener sylius.listener.price_history.on_flush_entity_observer
Sylius\Bundle\CoreBundle\PriceHistory\EventListener\ChannelPricingLogEntryEventListener sylius.listener.price_history.channel_pricing_log_entry
Sylius\Bundle\CoreBundle\CatalogPromotion\DiscountApplicationCriteria\ExclusiveCriteria sylius.discount_application_criteria.catalog_promotion.exclusive
Sylius\Bundle\CoreBundle\CatalogPromotion\DiscountApplicationCriteria\MinimumPriceCriteria sylius.discount_application_criteria.catalog_promotion.minimum_price
sylius.promotion_coupon_channels_eligibility_checker sylius.checker.promotion_coupon.channel_eligibility
sylius.form.type.checkout_address sylius.form.type.checkout.address
sylius.form.type.checkout_select_shipping sylius.form.type.checkout.select_shipping
sylius.form.type.checkout_shipment sylius.form.type.checkout.shipment
sylius.form.type.checkout_select_payment sylius.form.type.checkout.select_payment
sylius.form.type.checkout_payment sylius.form.type.checkout.payment
sylius.form.type.checkout_complete sylius.form.type.checkout.complete
Sylius\Bundle\CoreBundle\Console\Command\CancelUnpaidOrdersCommand sylius.console.command.cancel_unpaid_orders
Sylius\Bundle\CoreBundle\Console\Command\CheckRequirementsCommand sylius.console.command.check_requirements
Sylius\Bundle\CoreBundle\PriceHistory\Console\Command\ClearPriceHistoryCommand sylius.console.command.clear_price_history
Sylius\Bundle\CoreBundle\Console\Command\InstallAssetsCommand sylius.console.command.install_assets
Sylius\Bundle\CoreBundle\Console\Command\InstallCommand sylius.console.command.install
Sylius\Bundle\CoreBundle\Console\Command\InstallDatabaseCommand sylius.console.command.install_database
Sylius\Bundle\CoreBundle\Console\Command\InstallSampleDataCommand sylius.console.command.install_sample_data
Sylius\Bundle\CoreBundle\Console\Command\SetupCommand sylius.console.command.setup
Sylius\Bundle\CoreBundle\Console\Command\InformAboutGUSCommand sylius.console.command.inform_about_gus
Sylius\Bundle\CoreBundle\Console\Command\JwtConfigurationCommand sylius.console.command.jwt_configuration
Sylius\Bundle\CoreBundle\Console\Command\ShowPlusInfoCommand sylius.console.command.show_plus_info
sylius.locale_provider.channel_based sylius.provider.locale.channel_based
Sylius\Bundle\CoreBundle\Fixture\CatalogPromotionFixture sylius.fixture.catalog_promotion
Sylius\Bundle\CoreBundle\Fixture\Factory\CatalogPromotionExampleFactory sylius.fixture.example_factory.catalog_promotion
Sylius\Bundle\CoreBundle\Fixture\Factory\CatalogPromotionScopeExampleFactory sylius.fixture.example_factory.catalog_promotion_scope
Sylius\Bundle\CoreBundle\Fixture\Factory\CatalogPromotionActionExampleFactory sylius.fixture.example_factory.catalog_promotion_action
sylius_fixtures.listener.catalog_promotion_executor sylius.fixtures.listener.catalog_promotion_executor
Sylius\Bundle\CoreBundle\Fixture\Listener\ImagesPurgerListener sylius.fixtures.listener.images_purger
Sylius\Bundle\CoreBundle\Form\Extension\CatalogPromotionTypeExtension sylius.form.extension.type.catalog_promotion
Sylius\Bundle\CoreBundle\Form\Type\CatalogPromotionAction\ChannelBasedFixedDiscountActionConfigurationType sylius.form.type.catalog_promotion_action.channel_based_fixed_discount_action_configuration
sylius.form.type.for_products_scope sylius.form.type.catalog_promotion_scope.for_products_scope_configuration
sylius.form.type.for_taxons_scope sylius.form.type.catalog_promotion_scope.for_taxons_scope_configuration
sylius.form.type.for_variants_scope sylius.form.type.catalog_promotion_scope.for_variants_scope_configuration
sylius.form.type.customer_guest sylius.form.type.customer.guest
sylius.form.type.customer_checkout_guest sylius.form.type.customer.checkout_guest
sylius.form.type.customer_simple_registration sylius.form.type.customer.simple_registration
sylius.form.type.customer_registration sylius.form.type.customer.registration
sylius.form.type.add_to_cart sylius.form.type.order.add_to_cart
sylius.form.type.channel_pricing sylius.form.type.product.channel_pricing
sylius.form.type.channel_based_shipping_calculator.flat_rate sylius.form.type.shipping.calculator.channel_based_flat_rate_configuration
sylius.form.type.channel_based_shipping_calculator.per_unit_rate sylius.form.type.shipping.calculator.channel_based_per_unit_rate_configuration
sylius.form.type.autocomplete_product_taxon_choice sylius.form.type.product_taxon_autocomplete_choice
sylius.installer.checker.command_directory sylius.checker.installer.command_directory
sylius.installer.checker.sylius_requirements sylius.checker.installer.sylius_requirements
sylius.commands_provider.database_setup sylius.commands_provider.installer.database_setup
sylius.setup.currency sylius.setup.installer.currency
sylius.setup.locale sylius.setup.installer.locale
sylius.setup.channel sylius.setup.installer.channel
sylius.requirements sylius.requirements.installer.sylius
sylius.listener.channel sylius.listener.channel_deletion
sylius.listener.default_username sylius.listener.default_username_orm
Sylius\Bundle\CoreBundle\EventListener\LocaleAwareListener sylius.listener.locale_aware
Sylius\Bundle\CoreBundle\EventListener\XFrameOptionsSubscriber sylius.event_subscriber.x_frame_options
Sylius\Bundle\CoreBundle\EventListener\PaymentPreCompleteListener sylius.listener.payment_pre_complete
Sylius\Bundle\CoreBundle\EventListener\ProductDeletionListener sylius.listener.product_deletion
Sylius\Bundle\CoreBundle\EventListener\PostgreSQLDefaultSchemaListener sylius.listener.postgre_sql_default_schema
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantOptionsMapProvider sylius.provider.product_variant_map.options
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantPriceMapProvider sylius.provider.product_variant_map.price
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantOriginalPriceMapProvider sylius.provider.product_variant_map.original_price
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantAppliedPromotionsMapProvider sylius.provider.product_variant_map.applied_promotions
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantLowestPriceMapProvider sylius.provider.product_variant_map.lowest_price
sylius.promotion_rule_checker.customer_group sylius.checker.promotion_rule.customer_group
sylius.promotion_rule_checker.nth_order sylius.checker.promotion_rule.nth_order
sylius.promotion_rule_checker.shipping_country sylius.checker.promotion_rule.shipping_country
sylius.promotion_rule_checker.has_taxon sylius.checker.promotion_rule.has_taxon
sylius.promotion_rule_checker.total_of_items_from_taxon sylius.checker.promotion_rule.total_of_items_from_taxon
sylius.promotion_rule_checker.contains_product sylius.checker.promotion_rule.contains_product
sylius.promotion_rule_checker.item_total sylius.checker.promotion_rule.item_total
sylius.promotion_rule_checker.cart_quantity sylius.checker.promotion_rule.cart_quantity
sylius.promotion_action.fixed_discount sylius.command.promotion_action.fixed_discount
sylius.promotion_action.unit_fixed_discount sylius.command.promotion_action.unit_fixed_discount
sylius.promotion_action.percentage_discount sylius.command.promotion_action.percentage_discount
sylius.promotion_action.unit_percentage_discount sylius.command.promotion_action.unit_percentage_discount
sylius.promotion_action.shipping_percentage_discount sylius.command.promotion_action.shipping_percentage_discount
sylius.promotion.eligibility_checker.promotion_coupon_per_customer_usage_limit sylius.checker.promotion.promotion_coupon_per_customer_usage_limit_eligibility
sylius.promotion_filter.taxon sylius.filter.promotion.taxon
sylius.promotion_filter.product sylius.filter.promotion.product
sylius.promotion_filter.price_range sylius.filter.promotion.price_range
sylius.promotion.units_promotion_adjustments_applicator sylius.applicator.promotion.units_adjustments
sylius.promotion_usage_modifier sylius.modifier.promotion.order_usage
sylius.promotion_rule_updater.has_taxon sylius.updater.promotion_rule.has_taxon
sylius.provider.channel_based_default_zone_provider sylius.provider.channel_based_default_zone
sylius.translation_locale_provider.admin sylius.provider.translation_locale.admin
sylius.orders_totals_provider.day sylius.provider.statistics.orders_totals.day
sylius.orders_totals_provider.month sylius.provider.statistics.orders_totals.month
sylius.orders_totals_provider.year sylius.provider.statistics.orders_totals.year
sylius.shipping_method_rule_checker.order_total_greater_than_or_equal sylius.checker.shipping_method_rule.order_total_greater_than_or_equal
sylius.shipping_method_rule_checker.order_total_less_than_or_equal sylius.checker.shipping_method_rule.order_total_less_than_or_equal
sylius.state_resolver.order_checkout sylius.state_resolver.checkout
sylius.taxation.order_shipment_taxes_applicator sylius.applicator.taxation.order_shipment
sylius.taxation.order_items_taxes_applicator sylius.applicator.taxation.order_items
sylius.taxation.order_item_units_taxes_applicator sylius.applicator.taxation.order_item_units
sylius.taxation.order_items_based_strategy sylius.strategy.taxation.tax_calculation.order_items_based
sylius.taxation.order_item_units_based_strategy sylius.strategy.taxation.tax_calculation.order_item_units_based
sylius.validator.unique.registered_user sylius.validator.registered_user
sylius.validator.shipping_method_integrity sylius.validator.order_shipping_method_eligibility
sylius.validator.payment_method_integrity sylius.validator.order_payment_method_eligibility
sylius.validator.product_integrity sylius.validator.order_product_eligibility
sylius.validator.order_confirmation_with_valid_order_state sylius.validator.resend_order_confirmation_email_with_valid_order_state
sylius.validator.shipment_confirmation_with_valid_order_state sylius.validator.resend_shipment_confirmation_email_with_valid_order_state
Sylius\Bundle\CoreBundle\Validator\Constraints\MaxIntegerValidator sylius.validator.max_integer
sylius.integer_distributor sylius.distributor.integer
sylius.proportional_integer_distributor sylius.distributor.proportional_integer
sylius.invoice_number_generator sylius.generator.invoice_number
sylius.image_uploader sylius.uploader.image
Sylius\Component\Core\Filesystem\Adapter\FlysystemFilesystemAdapter sylius.adapter.filesystem.flysystem
Sylius\Bundle\CoreBundle\Collector\CartCollector sylius.collector.cart
sylius.shipping_methods_resolver.zones_and_channel_based sylius.resolver.shipping_methods.zones_and_channel_based
sylius.payment_methods_resolver.channel_based sylius.resolver.payment_methods.channel_based
sylius.payment_method_resolver.default sylius.resolver.payment_method.default
sylius.taxation_address_resolver sylius.resolver.taxation_address
sylius.inventory.order_item_availability_checker sylius.checker.inventory.order_item_availability
sylius.inventory.order_inventory_operator sylius.operator.inventory.order_inventory
sylius.custom_inventory.order_inventory_operator sylius.custom_operator.inventory.order_inventory
Sylius\Bundle\CoreBundle\Twig\ProductVariantsMapExtension sylius.twig.extension.product_variants_map
sylius.unique_id_based_order_token_assigner sylius.assigner.order_token.unique_id_based
sylius.customer_unique_address_adder sylius.adder.customer.unique_address
sylius.customer_order_addresses_saver sylius.saver.customer.order_addresses
sylius.order_item_quantity_modifier.limiting sylius.modifier.cart.limiting_order_item_quantity
sylius.customer_ip_assigner sylius.assigner.customer_id
sylius.section_resolver.uri_based_section_resolver sylius.section_resolver.uri_based
sylius.reviewer_reviews_remover sylius.remover.reviewer_reviews
sylius.unpaid_orders_state_updater sylius.updater.unpaid_orders_state
sylius.order_payment_provider sylius.provider.payment.order
sylius.customer_statistics_provider sylius.provider.statistics.customer
sylius.order_item_names_setter sylius.setter.order.item_names
sylius.user_password_resetter.admin sylius.resetter.user_password.admin
sylius.user_password_resetter.shop sylius.resetter.user_password.shop
CurrencyBundle
sylius.currency_converter sylius.converter.currency
sylius.currency_name_converter sylius.converter.currency_name
InventoryBundle
sylius.availability_checker.default sylius.availability_checker
LocaleBundle
Sylius\Bundle\LocaleBundle\Context\RequestHeaderBasedLocaleContext sylius.context.locale.request_header_based
sylius.locale_collection_provider sylius.provider.locale_collection
sylius.locale_collection_provider.cahced sylius.provider.locale_collection.cached
sylius.locale_provider sylius.provider.locale
sylius.locale_converter sylius.converter.locale
Sylius\Bundle\LocaleBundle\Doctrine\EventListener\LocaleModificationListener sylius.doctrine.listener.locale_modification
MoneyBundle
sylius.twig.extension.convert_amount sylius.twig.extension.convert_money
sylius.twig.extension.money sylius.twig.extension.format_money
sylius.money_formatter sylius.formatter.money
OrderBundle
sylius.order_modifier sylius.modifier.order
sylius.order_item_quantity_modifier sylius.modifier.order_item_quantity
sylius.order_number_assigner sylius.number_assigner.order_number
sylius.adjustments_aggregator sylius.aggregator.adjustments_by_label
sylius.expired_carts_remover sylius.remover.expired_carts
sylius.sequential_order_number_generator sylius.number_generator.sequential_order
Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand sylius.console.command.remove_expired_carts
PaymentBundle
sylius.payment_methods_resolver sylius.resolver.payment_methods
sylius.payment_methods_resolver.default sylius.resolver.payment_methods.default
PayumBundle
sylius.payum_action.authorize_payment sylius_payum.action.authorize_payment
sylius.payum_action.capture_payment sylius_payum.action.capture_payment
sylius.payum_action.execute_same_request_with_payment_details sylius_payum.action.execute_same_request_with_payment_details
sylius.payum_action.resolve_next_route sylius_payum.action.resolve_next_route
sylius.payum_action.offline.convert_payment sylius_payum.action.offline.convert_payment
sylius.payum_action.offline.status sylius_payum.action.offline.status
sylius.payum_action.offline.resolve_next_route sylius_payum.action.offline.resolve_next_route
sylius.payum_extension.update_payment_state sylius_payum.extension.update_payment_state
sylius.factory.payum_get_status_action sylius_payum.factory.get_status
sylius.factory.payum_resolve_next_route sylius_payum.factory.resolve_next_route
sylius.form.extension.type.gateway_config.crypted sylius_payum.form.extension.type.crypted_gateway_config
sylius.payment_description_provider sylius_payum.provider.payment_description
sylius.payum.http_client sylius_payum.http_client
ProductBundle
sylius.form.type.sylius_product_associations sylius.form.type.product_associations
sylius.form.event_subscriber.product_variant_generator sylius.form.event_subscriber.generate_product_variants
Sylius\Bundle\ProductBundle\Validator\ProductVariantOptionValuesConfigurationValidator sylius.validator.product_variant_option_values_configuration
sylius.validator.product_code_uniqueness sylius.validator.unique_simple_product_code
sylius.product_variant_resolver.default sylius.resolver.product_variant.default
sylius.available_product_option_values_resolver sylius.resolver.available_product_option_values
PromotionBundle
Sylius\Bundle\PromotionBundle\Console\Command\GenerateCouponsCommand sylius.console.command.generate_coupons
sylius.promotion_coupon_duration_eligibility_checker sylius.eligibility_checker.promotion_coupon.duration
sylius.promotion_coupon_usage_limit_eligibility_checker sylius.eligibility_checker.promotion_coupon.usage_limit
sylius.promotion_coupon_eligibility_checker sylius.eligibility_checker.promotion_coupon
sylius.promotion_duration_eligibility_checker sylius.eligibility_checker.promotion.duration
sylius.promotion_usage_limit_eligibility_checker sylius.eligibility_checker.promotion.usage_limit
sylius.promotion_subject_coupon_eligibility_checker sylius.eligibility_checker.promotion.subject_coupon
sylius.promotion_rules_eligibility_checker sylius.eligibility_checker.promotion.rules
sylius.promotion_archival_eligibility_checker sylius.eligibility_checker.promotion.archival
sylius.promotion_eligibility_checker sylius.eligibility_checker.promotion
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionType sylius.form.type.catalog_promotion
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType sylius.form.type.catalog_promotion_scope
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationType sylius.form.type.catalog_promotion_action.percentage_discount_action_configuration
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionActionType sylius.form.type.catalog_promotion_action
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionTranslationType sylius.form.type.catalog_promotion_translation
Sylius\Bundle\PromotionBundle\Form\Type\PromotionTranslationType sylius.form.type.promotion_translation
sylius.form.type.promotion_action.collection sylius.form.type.promotion_action_collection
sylius.form.type.promotion_rule.collection sylius.form.type.promotion_rule_collection
sylius.validator.date_range sylius.validator.promotion_date_range
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionGroupValidator sylius.validator.catalog_promotion_action_group
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionTypeValidator sylius.validator.catalog_promotion_action_type
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeGroupValidator sylius.validator.catalog_promotion_scope_group
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeTypeValidator sylius.validator.catalog_promotion_scope_type
Sylius\Bundle\PromotionBundle\Validator\PromotionActionGroupValidator sylius.validator.promotion_action_group
Sylius\Bundle\PromotionBundle\Validator\PromotionActionTypeValidator sylius.validator.promotion_action_type
Sylius\Bundle\PromotionBundle\Validator\PromotionRuleGroupValidator sylius.validator.promotion_role_group
Sylius\Bundle\PromotionBundle\Validator\PromotionRuleTypeValidator sylius.validator.promotion_role_type
Sylius\Bundle\PromotionBundle\Validator\PromotionNotCouponBasedValidator sylius.validator.promotion_not_coupon_based
sylius.promotion_processor sylius.processor.promotion
sylius.promotion_applicator sylius.action.applicator.promotion
sylius.registry_promotion_rule_checker sylius.registry.promotion.rule_checker
sylius.registry_promotion_action sylius.registry.promotion_action
sylius.active_promotions_provider sylius.provider.active_promotions
sylius.promotion_coupon_generator sylius.generator.promotion_coupon
sylius.promotion_coupon_generator.percentage_policy sylius.generator.percentage_generation_policy
ReviewBundle
sylius.average_rating_calculator sylius.calculator.average_rating
sylius.%s_review.average_rating_updater sylius.updater.%s_review.average_rating
Note: %s refers to the entity names associated with reviews (e.g., product, etc.).
ShippingBundle
sylius.category_requirement_shipping_method_eligibility_checker sylius.eligibility_checker.shipping_method.category_requirement
sylius.shipping_method_rules_shipping_method_eligibility_checker sylius.eligibility_checker.shipping_method.rules
sylius.shipping_method_eligibility_checker sylius.eligibility_checker.shipping_method
sylius.form.type.shipping_method_rule.collection sylius.form.type.shipping_method_rule_collection
Sylius\Bundle\ShippingBundle\Validator\ShippingMethodCalculatorExistsValidator sylius.validator.shipping_method_calculator_exists
Sylius\Bundle\ShippingBundle\Validator\ShippingMethodRuleValidator sylius.validator.shipping_method_rule
Sylius\Bundle\ShippingBundle\Validator\GroupsGenerator\ShippingMethodConfigurationGroupsGenerator sylius.validator.groups_generator.shipping_method_configuration
sylius.shipping_methods_resolver sylius.resolver.shipping_methods
sylius.shipping_methods_resolver.default sylius.resolver.shipping_methods.default
sylius.shipping_method_resolver.default sylius.resolver.shipping_method.default
sylius.shipping_calculator sylius.calculator.shipping
sylius.shipping_calculator.flat_rate sylius.calculator.shipping.flat_rate
sylius.shipping_calculator.per_unit_rate sylius.calculator.shipping.per_unit_rate
sylius.shipping_date_assigner sylius.assigner.shipping_date
sylius.shipping_method_rule_checker.total_weight_greater_than_or_equal sylius.checker.shipping_method_rule.total_weight_greater_than_or_equal
sylius.shipping_method_rule_checker.total_weight_less_than_or_equal sylius.checker.shipping_method_rule.total_weight_less_than_or_equal
ShopBundle
sylius.shop.locale_switcher sylius_shop.locale_switcher
sylius.storage.locale sylius_shop.storage.locale
sylius.context.locale.storage_based sylius_shop.context.locale.storage_based
sylius.shop.locale_stripping_router sylius_shop.router.locale_stripping
sylius.listener.non_channel_request_locale sylius_shop.listener.non_channel_locale
sylius.controller.shop.contact sylius_shop.controller.contact
sylius.controller.shop.currency_switch sylius_shop.controller.currency_switch
sylius.controller.shop.locale_switch sylius_shop.controller.locale_switch
sylius.controller.shop.register_thank_you sylius_shop.controller.register_thank_you
sylius.mailer.contact_email_manager.shop sylius_shop.mailer.email_manager.contact
sylius.mailer.order_email_manager.shop sylius_shop.mailer.email_manager.order
sylius.listener.shop_cart_blamer sylius_shop.listener.shop_cart_blamer
sylius.listener.email_updater sylius_shop.listener.customer_email_updater
sylius.listener.shop_customer_account_sub_section_cache_control_subscriber sylius_shop.event_subscriber.shop_customer_account_sub_section_cache_control
sylius.listener.order_customer_ip sylius_shop.listener.order_customer_ip
sylius.listener.order_complete sylius_shop.listener.order_complete
sylius.listener.user_registration sylius_shop.listener.user_registration
sylius.listener.order_integrity_checker sylius_shop.listener.order_integrity_checker
sylius.order_locale_assigner sylius_shop.listener.order_locale_assigner
sylius.listener.session_cart sylius_shop.event_subscriber.session_cart
sylius.listener.user_cart_recalculation sylius_shop.listener.user_cart_recalculation
sylius.listener.user_impersonated sylius_shop.listener.user_impersonated
sylius.shop.menu_builder.account sylius_shop.menu_builder.account
sylius.twig.extension.original_price_to_display sylius_shop.twig.extension.order_item_original_price_to_display
Sylius\Bundle\ShopBundle\Twig\OrderPaymentsExtension sylius_shop.twig.extension.order_payments
sylius.section_resolver.shop_uri_based_section_resolver sylius_shop.section_resolver.shop_uri_based
sylius.context.cart.session_and_channel_based sylius_shop.context.cart.session_and_channel_based
sylius.storage.cart_session sylius_shop.storage.cart_session
sylius.grid_filter.shop_string sylius_shop.grid.filter.string
TaxationBundle
sylius.tax_rate_resolver sylius.resolver.tax_rate
sylius.tax_rate_date_eligibility_checker sylius.eligibility_checker.tax_rate_date
TaxonomyBundle
sylius.doctrine.odm.mongodb.unitOfWork sylius.doctrine.odm.mongodb.unit_of_work
UiBundle
Sylius\Bundle\UiBundle\Twig\RedirectPathExtension sylius.twig.extension.redirect_path
UserBundle
Sylius\Bundle\UserBundle\Console\Command\DemoteUserCommand sylius.console.command.demote_user
Sylius\Bundle\UserBundle\Console\Command\PromoteUserCommand sylius.console.command.promote_user
sylius.listener.user_mailer_listener sylius.listener.user_mailer

The old service IDs are no longer available in Sylius 2.0. Please ensure your configurations and service references use the new service IDs.

  • The following services had new aliases added in Sylius 1.14. In Sylius 2.0, these aliases have become the primary service IDs, and the old service IDs remain as aliases:
Current ID New Alias
AddressingBundle
Sylius\Component\Addressing\Checker\ZoneDeletionCheckerInterface sylius.checker.zone_deletion
Sylius\Component\Addressing\Checker\CountryProvincesDeletionCheckerInterface sylius.checker.country_provinces_deletion
ApiBundle
Sylius\Bundle\ApiBundle\Applicator\ArchivingShippingMethodApplicatorInterface sylius_api.applicator.archiving_shipping_method
Sylius\Bundle\ApiBundle\Applicator\OrderStateMachineTransitionApplicatorInterface sylius_api.applicator.order_state_machine_transition
Sylius\Bundle\ApiBundle\Applicator\PaymentStateMachineTransitionApplicatorInterface sylius_api.applicator.payment_state_machine_transition
Sylius\Bundle\ApiBundle\Applicator\ProductReviewStateMachineTransitionApplicatorInterface sylius_api.applicator.product_review_state_machine_transition
Sylius\Bundle\ApiBundle\Context\UserContextInterface sylius_api.context.user.token_based
Sylius\Bundle\ApiBundle\Provider\PathPrefixProviderInterface sylius_api.provider.path_prefix
Sylius\Bundle\ApiBundle\Provider\AdjustmentOrderProviderInterface sylius_api.provider.adjustment_order
Sylius\Bundle\ApiBundle\Changer\PaymentMethodChangerInterface sylius_api.changer.payment_method
Sylius\Bundle\ApiBundle\Converter\IriToIdentifierConverterInterface sylius_api.converter.iri_to_identifier
Sylius\Bundle\ApiBundle\Mapper\AddressMapperInterface sylius_api.mapper.address
Sylius\Bundle\ApiBundle\Checker\AppliedCouponEligibilityCheckerInterface sylius_api.checker.applied_coupon_eligibility
Sylius\Bundle\ApiBundle\Modifier\OrderAddressModifierInterface sylius_api.modifier.order_address
Sylius\Bundle\ApiBundle\Assigner\OrderPromotionCodeAssignerInterface sylius_api.assigner.order_promotion_code
CoreBundle
Sylius\Bundle\CoreBundle\CatalogPromotion\Applicator\CatalogPromotionApplicatorInterface sylius.applicator.catalog_promotion
Sylius\Bundle\CoreBundle\CatalogPromotion\Applicator\ActionBasedDiscountApplicatorInterface sylius.applicator.catalog_promotion.action_based_discount
Sylius\Component\CoreBundle\CatalogPromotion\Calculator\CatalogPromotionPriceCalculatorInterface sylius.calculator.catalog_promotion.price
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\ProductVariantForCatalogPromotionEligibilityInterface sylius.checker.catalog_promotion.product_variant_for_catalog_promotion_eligibility
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\AllProductVariantsCatalogPromotionsProcessorInterface sylius.processor.catalog_promotion.all_product_variant
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionClearerInterface sylius.processor.catalog_promotion.clearer
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionStateProcessorInterface sylius.processor.catalog_promotion.state
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\ProductCatalogPromotionsProcessorInterface sylius.processor.catalog_promotion.product
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\ProductVariantCatalogPromotionsProcessorInterface sylius.processor.catalog_promotion.product_variant
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionRemovalProcessorInterface sylius.processor.catalog_promotion.removal
Sylius\Component\Core\Checker\ProductVariantLowestPriceDisplayCheckerInterface sylius.checker.product_variant_lowest_price_display
Sylius\Bundle\CoreBundle\PriceHistory\CommandDispatcher\ApplyLowestPriceOnChannelPricingsCommandDispatcherInterface sylius.command_dispatcher.price_history.batched_apply_lowest_price_on_channel_pricings
Sylius\Bundle\CoreBundle\PriceHistory\Logger\PriceChangeLoggerInterface sylius.logger.price_history.price_change
Sylius\Bundle\CoreBundle\PriceHistory\Processor\ProductLowestPriceBeforeDiscountProcessorInterface sylius.processor.price_history.product_lowest_price_before_discount
Sylius\Bundle\CoreBundle\Calculator\DelayStampCalculatorInterface sylius.calculator.delay_stamp
Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionAnnouncerInterface sylius.announcer.catalog_promotion
Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionRemovalAnnouncerInterface sylius.announcer.catalog_promotion.removal
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandDispatcher\ApplyCatalogPromotionsOnVariantsCommandDispatcherInterface sylius.command_dispatcher.catalog_promotion.apply_on_variants
Sylius\Component\Core\Checker\CLIContextCheckerInterface sylius.checker.cli_context
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantsMapProviderInterface sylius.provider.product_variant_map
Sylius\Component\Core\Promotion\Checker\ProductInPromotionRuleCheckerInterface sylius.checker.promotion.product_in_promotion_rule
Sylius\Component\Core\Promotion\Checker\TaxonInPromotionRuleCheckerInterface sylius.checker.promotion.taxon_in_promotion_rule
Sylius\Bundle\CoreBundle\Provider\ChannelBasedProductTranslationProviderInterface sylius.provider.channel_based_product_translation
Sylius\Bundle\CoreBundle\Provider\CustomerProviderInterface sylius.provider.customer
Sylius\Component\Core\Statistics\Provider\StatisticsProviderInterface sylius.provider.statistics
Sylius\Component\Core\Statistics\Provider\BusinessActivitySummaryProviderInterface sylius.provider.statistics.business_activity_summary
Sylius\Component\Core\Statistics\Provider\SalesStatisticsProviderInterface sylius.provider.statistics.sales
Sylius\Component\Core\Distributor\MinimumPriceDistributorInterface sylius.distributor.minimum_price
Sylius\Component\Core\Generator\ImagePathGeneratorInterface sylius.generator.image_path
Sylius\Bundle\CoreBundle\PriceHistory\Remover\ChannelPricingLogEntriesRemoverInterface sylius.remover.channel_pricing_log_entries
Sylius\Component\Core\Payment\Remover\OrderPaymentsRemoverInterface sylius.remover.payment.order
Sylius\Component\Core\Cart\Resolver\CreatedByGuestFlagResolverInterface sylius.resolver.cart.created_by_guest_flag
Sylius\Bundle\CoreBundle\Order\Checker\OrderPromotionsIntegrityCheckerInterface sylius.checker.order.promotions_integrity
Sylius\Bundle\CoreBundle\Resolver\CustomerResolverInterface sylius.resolver.customer
Sylius\Component\Core\Statistics\Registry\OrdersTotalsProvidersRegistryInterface sylius.registry.statistics.orders_totals_providers
Sylius\Component\Core\Positioner\PositionerInterface sylius.positioner
LocaleBundle
Sylius\Bundle\LocaleBundle\Checker\LocaleUsageCheckerInterface sylius.checker.locale_usage
ProductBundle
Sylius\Component\Product\Resolver\ProductVariantResolverInterface sylius.resolver.product_variant
PromotionBundle
Sylius\Bundle\PromotionBundle\Provider\EligibleCatalogPromotionsProviderInterface sylius.provider.eligible_catalog_promotions
TaxonomyBundle
Sylius\Bundle\TaxonomyBundle\Repository\TaxonTreeRepositoryInterface sylius.custom_repository.tree.taxon
  • Aliases for the knp_menu.menu_builder tags introduced in Sylius 1.14 are now the only valid menu builder tags in Sylius 2.0:
Old Alias New Alias
AdminBundle
sylius.admin.main sylius_admin.main
ShopBundle
sylius.shop.account sylius_shop.account
  • The following classes have been renamed:
Old Name New Name
Sylius\Bundle\ApiBundle\CommandHandler\Account\ResendVerificationEmailHandler Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestShopUserVerificationHandler
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendAccountVerificationEmailHandler Sylius\Bundle\ApiBundle\CommandHandler\Account\SendShopUserVerificationEmailHandler
Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyCustomerAccountHandler Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyShopUserHandler
  • The Normalizer and Denormalizer in ApiBundle have been reorganized into subdirectories, moving from Sylius\Bundle\ApiBundle\Serializer to Sylius\Bundle\ApiBundle\Serializer\Normalizer and Sylius\Bundle\ApiBundle\Serializer\Denormalizer.

  • The SerializerContextBuilder classes in ApiBundle have been moved to the Sylius\Bundle\ApiBundle\Serializer\ContextBuilder subdirectory.

  • The Filter, QueryCollectionExtension, and QueryItemExtension classes in ApiBundle have been reorganized into separate sections (admin, shop, common) based on their usage context, and grouped by resources.

  • The definition of the service Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationType was moved to the CoreBundle.

  • The definition of the service Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType was moved to the PromotionBundle.

  • The following parameters were removed:

    • sylius.mongodb_odm.repository.class
    • sylius.phpcr_odm.repository.class
  • The following parameters were renamed:

    • sylius.message.admin_user_create.validation_groups to sylius_admin.command_handler.create_admin_user.validation_groups
  • The following configuration options were removed:

    • sylius.mailer.templates
  • Added the Sylius\Component\Order\Context\ResettableCartContextInterface that extends Sylius\Component\Order\Context\CartContextInterface and Symfony\Contracts\Service\ResetInterface.

  • The name of the default LiipImagineBundle's resolver and loader were changed from default to **sylius_image ** (reference). To change the default resolver and/or loader for LiipImagineBundle, configure cache and/or data_loader parameters under the liip_imagine key.

  • The class Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteSubscriber has been removed and replaced with Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteListener.

  • The sylius/calendar package has been replaced with symfony/clock package. All usages of the Sylius\Calendar\Provider\DateTimeProviderInterface class have been replaced with Symfony\Component\Clock\ClockInterface class.

    • The following classes were changed:

      • Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionAnnouncer
      • Sylius\Bundle\CoreBundle\MessageHandler\Admin\Account\RequestResetPasswordEmailHandler
      • Sylius\Bundle\CoreBundle\PriceHistory\Logger\PriceChangeLogger
      • Sylius\Bundle\CoreBundle\PriceHistory\Remover\ChannelPricingLogEntriesRemover
      • Sylius\Bundle\ShippingBundle\Assigner\ShippingDateAssigner
      • Sylius\Bundle\PromotionBundle\Criteria\DateRange
      • Sylius\Bundle\ApiBundle\Applicator\ArchivingShippingMethodApplicator
      • Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestResetPasswordTokenHandler
      • Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyCustomerAccountHandler
      • Sylius\Component\Taxation\Checker\TaxRateDateEligibilityChecker
  • The parameter order of Sylius\Bundle\CoreBundle\Form\Type\Checkout\AddressType::__construct has been changed:

        public function __construct(
        +   private readonly AddressComparatorInterface $addressComparator,
            string $dataClass,
            array $validationGroups = []
        -   private readonly AddressComparatorInterface $addressComparator = null,
        )
    
  • The \Serializable interface has been removed from the Sylius\Component\User\Model\UserInterface.

  • The parameter order of the Sylius\Component\Core\OrderProcessing\OrderPaymentProcessor::__construct has been changed:

        public function __construct(
            private OrderPaymentProviderInterface $orderPaymentProvider,
        -   private string $targetState = PaymentInterface::STATE_CART,
            private OrderPaymentsRemoverInterface $orderPaymentsRemover,
            private array $unprocessableOrderStates,
        +   private string $targetState = PaymentInterface::STATE_CART,
        )
    
  • The following repository classes and interfaces were added, if you have custom repositories, you need to update them to extend the new ones:

    Addressing:

    • Sylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Addressing\Repository\AddressRepositoryInterface
    • Sylius\Bundle\AddressingBundle\Doctrine\ORM\CountryRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Addressing\Repository\CountryRepositoryInterface
    • Sylius\Bundle\AddressingBundle\Doctrine\ORM\ProvinceRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Addressing\Repository\ProvinceRepositoryInterface
    • Sylius\Bundle\AddressingBundle\Doctrine\ORM\ZoneMemberRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Addressing\Repository\ZoneMemberRepositoryInterface

    Attribute:

    • Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Attribute\Repository\AttributeRepositoryInterface
    • Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeTranslationRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Attribute\Repository\AttributeTranslationRepositoryInterface
    • Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeValueRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Attribute\Repository\AttributeValueRepositoryInterface

    Product:

    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationTypeTranslationRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAttributeRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAttributeTranslationRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionTranslationRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionValueRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionValueTranslationRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductTranslationRepository
    • Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductVariantTranslationRepository

    Currency:

    • Sylius\Bundle\CurrencyBundle\Doctrine\ORM\CurrencyRepository extends Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository implements Sylius\Component\Currency\Repository\CurrencyRepositoryInterface
  • The following repository classes and interfaces namespaces were changed, if you have custom repositories, you need to update them to extend the new ones:

    Addressing:

    • Sylius\Bundle\CoreBundle\Doctrine\ORM\AddressRepository extended class changed from Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository to Sylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepository
    • Sylius\Component\Core\Repository\AddressRepositoryInterface implemented interface changed from Sylius\Component\Resource\Repository\RepositoryInterface to Sylius\Component\Addressing\Repository\AddressRepositoryInterface

    Attribute:

    • Sylius\Bundle\CoreBundle\Doctrine\ORM\AttributeRepository extended class changed from Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository to Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepository
    • Sylius\Component\Product\Repository\ProductAttributeValueRepositoryInterface extended interface changed from Sylius\Component\Resource\Repository\RepositoryInterface to Sylius\Component\Attribute\Repository\AttributeValueRepositoryInterface

    Product:

    • Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductAssociationRepository extended class changed from Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository to Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationRepository
  • A new parameter has been added to specify the validation groups for a given zone. If you have any custom validation groups for zone member, you need to add them to your config/packages/_sylius.yaml file. This is handled by Sylius\Bundle\AddressingBundle\Validator\Constraints\ZoneMemberGroup and it resolves the groups based on the type of the passed zone.

  • The following constructor parameter has been changed across the codebase:

    -   private StateMachineInterface $stateMachineFactory,
    +   private StateMachineInterface $stateMachine,
    
    sylius_addressing:
      zone_member:
        validation_groups:
          country:
            - 'sylius'
            - 'sylius_zone_member_country'
          zone:
            - 'sylius'
            - 'sylius_zone_member_zone'
    
  • The locked, expiresAt and credentialsExpireAt fields have been removed from the User model, both ShopUser and AdminUser, as well as the corresponding methods in the User model and columns in the database tables.

  • The following classes and interfaces have been removed:

    • Sylius\Bundle\CoreBundle\Templating\Helper\CheckoutStepsHelper
    • Sylius\Bundle\CoreBundle\Templating\Helper\PriceHelper
    • Sylius\Bundle\CoreBundle\Templating\Helper\VariantResolverHelper
    • Sylius\Bundle\CurrencyBundle\Templating\Helper\CurrencyHelper
    • Sylius\Bundle\CurrencyBundle\Templating\Helper\CurrencyHelperInterface
    • Sylius\Bundle\InventoryBundle\Templating\Helper\InventoryHelper
    • Sylius\Bundle\LocaleBundle\Templating\Helper\LocaleHelper
    • Sylius\Bundle\LocaleBundle\Templating\Helper\LocaleHelperInterface
    • Sylius\Bundle\MoneyBundle\Templating\Helper\ConvertMoneyHelper
    • Sylius\Bundle\MoneyBundle\Templating\Helper\ConvertMoneyHelperInterface
    • Sylius\Bundle\MoneyBundle\Templating\Helper\FormatMoneyHelper
    • Sylius\Bundle\MoneyBundle\Templating\Helper\FormatMoneyHelperInterface
    • Sylius\Bundle\OrderBundle\Templating\Helper\AdjustmentsHelper
    • Sylius\Bundle\UserBundle\Security\UserLogin
    • Sylius\Bundle\UserBundle\Security\UserLoginInterface
    • Sylius\Bundle\UserBundle\Security\UserPasswordHasher
    • Sylius\Bundle\UserBundle\Security\UserPasswordHasherInterface
    • Sylius\Component\User\Security\Generator\UniquePinGenerator
  • The following services and aliases have been removed:

    • sylius.security.password_hasher
    • sylius.security.user_login
    • Sylius\Bundle\UserBundle\Security\UserLoginInterface
    • Sylius\Component\User\Security\UserPasswordHasherInterface
  • The service sylius.form_registry.payum_gateway_config has been moved to the PaymentBundle, and its ID changed to sylius.form_registry.payment_gateway_config.

  • The class Sylius\Bundle\PayumBundle\Validator\GatewayFactoryExistsValidator has been moved to the PaymentBundle, and its service ID changed tosylius.validator.gateway_factory_exists.

  • The class Sylius\Bundle\PayumBundle\Validator\GroupsGenerator\GatewayConfigGroupsGenerator has been moved to the PaymentBundle, and its service ID changed tosylius.validator.groups_generator.gateway_config.

Constructors signature changes

  1. The following constructor signatures have been changed:

    Sylius\Bundle\CoreBundle\Twig\CheckoutStepsExtension

    
    use Sylius\Component\Core\Checker\OrderPaymentMethodSelectionRequirementCheckerInterface;
    use Sylius\Component\Core\Checker\OrderShippingMethodSelectionRequirementCheckerInterface;
    
        public function __construct(
    -       private readonly CheckoutStepsHelper|OrderPaymentMethodSelectionRequirementCheckerInterface $checkoutStepsHelper,
    -       private readonly ?OrderShippingMethodSelectionRequirementCheckerInterface $orderShippingMethodSelectionRequirementChecker = null,
    +       private readonly OrderPaymentMethodSelectionRequirementCheckerInterface $orderPaymentMethodSelectionRequirementChecker,
    +       private readonly OrderShippingMethodSelectionRequirementCheckerInterface $orderShippingMethodSelectionRequirementChecker,
        )
    

    Sylius\Bundle\CoreBundle\Twig\PriceExtension

    
    use Sylius\Component\Core\Calculator\ProductVariantPricesCalculatorInterface;
    
        public function __construct(
    -       private readonly PriceHelper|ProductVariantPricesCalculatorInterface $helper,
    +       private readonly ProductVariantPricesCalculatorInterface $productVariantPricesCalculator,
        )
    

    Sylius\Bundle\CoreBundle\Twig\VariantResolverExtension

    
    use Sylius\Component\Product\Resolver\ProductVariantResolverInterface;
    
        public function __construct(
    -       private readonly ProductVariantResolverInterface|VariantResolverHelper $helper,
    +       private readonly ProductVariantResolverInterface $productVariantResolver,
        )
    

    Sylius\Bundle\CurrencyBundle\Twig\CurrencyExtension

    
        public function __construct(
    -       private ?CurrencyHelperInterface $helper = null,
        )
    

    Sylius\Bundle\InventoryBundle\Twig\InventoryExtension

    use Sylius\Component\Inventory\Checker\AvailabilityCheckerInterface;
    
        public function __construct(
    -       private AvailabilityCheckerInterface|InventoryHelper $helper,
    +       private AvailabilityCheckerInterface $availabilityChecker,
        )
    

    Sylius\Bundle\LocaleBundle\Twig\LocaleExtension

    use Sylius\Component\Locale\Context\LocaleContextInterface;
    use Sylius\Component\Locale\Converter\LocaleConverterInterface;
    
        public function __construct(
    -       private LocaleConverterInterface|LocaleHelperInterface $localeHelper,
    -       private ?LocaleContextInterface $localeContext = null,
    +       private LocaleConverterInterface $localeConverter,
    +       private LocaleContextInterface $localeContext,
        )
    

    Sylius\Bundle\MoneyBundle\Twig\ConvertMoneyExtension

    use Sylius\Component\Currency\Converter\CurrencyConverterInterface;
    
        public function __construct(
    -       private ConvertMoneyHelperInterface|CurrencyConverterInterface $helper,
    +       private CurrencyConverterInterface $currencyConverter,
        )
    

    Sylius\Bundle\MoneyBundle\Twig\FormatMoneyExtension

    use Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface;
    
        public function __construct(
    -       private private FormatMoneyHelperInterface|MoneyFormatterInterface $helper,
    +       private MoneyFormatterInterface $moneyFormatter,
        )
    

    Sylius\Bundle\OrderBundle\Twig\AggregateAdjustmentsExtension

    use Sylius\Component\Order\Aggregator\AdjustmentsAggregatorInterface;
    
        public function __construct(
    -       private AdjustmentsAggregatorInterface|AdjustmentsHelper $adjustmentsHelper,
    +       private AdjustmentsAggregatorInterface $adjustmentsAggregator,
        )
    

    Sylius\Bundle\AdminBundle\Controller\DashboardController

        public function __construct(
            private ChannelRepositoryInterface $channelRepository,
            private Environment $templatingEngine,
            private RouterInterface $router,
    -       private ?StatisticsDataProviderInterface $statisticsDataProvider = null,
        )
    

    Sylius\Bundle\AdminBundle\EventListener\AdminFilterSubscriber

    - use Sylius\Bundle\UiBundle\Storage\FilterStorageInterface;
    + use Sylius\Bundle\GridBundle\Storage\FilterStorageInterface;
    
        public function __construct(private FilterStorageInterface $filterStorage)
    

    Sylius\Bundle\AdminBundle\Controller\RedirectHandler

    - use Sylius\Bundle\UiBundle\Storage\FilterStorageInterface;
    + use Sylius\Bundle\GridBundle\Storage\FilterStorageInterface;
    
        public function __construct(
            private RedirectHandlerInterface $decoratedRedirectHandler,
            private FilterStorageInterface $filterStorage,
        )
    

    Sylius\Bundle\UiBundle\Twig\RedirectPathExtension

    - use Sylius\Bundle\UiBundle\Storage\FilterStorageInterface;
    + use Sylius\Bundle\GridBundle\Storage\FilterStorageInterface;
    
        public function __construct(
            private FilterStorageInterface $filterStorage,
            private RouterInterface $router,
        )
    

Grids

The experimental entities filter has been removed. It has been replaced by the generic entity one.

sylius_grid:
    grids:
        # ...
        sylius_admin_catalog_promotion:
            # ...
            filters:
                channel:
-                   type: entities
+                   type: entity
                    label: sylius.ui.channel
                    form_options:
                        class: "%sylius.model.channel.class%"
                    options:
-                       field: product.channels.id
+                       fields: [product.channels.id]

The following service has been removed:

- sylius.grid_filter.entities

Security

  • API firewalls have been renamed and user checkers have been configured on firewalls with security.user_checker.chain.<firewall> service:

    security:
        firewalls:
            admin:
                ...
    +           user_checker: security.user_checker.chain.admin
    -       new_api_admin_user:
    +       api_admin:
                ...
    +           user_checker: security.user_checker.chain.api_admin
    -       new_api_shop_user:
    +       api_shop:
                ...
    +           user_checker: security.user_checker.chain.api_shop
            shop:
                ...
    +           user_checker: security.user_checker.chain.shop
    

Password Encoder & Salt

The encoder and salt has been removed from the User entities. It will use the password hasher configured on Symfony security configuration.

This "encoder" is configured via the Symfony security password hasher.

You may have already something like that configuration bellow.

# config/packages/security.yaml
security:
    # ...

    password_hashers:
        Sylius\Component\User\Model\UserInterface: argon2i

Check if you have an encoder configured in the sylius_user package configuration.

sylius_user:
    # ...
    
    encoder: plaintext # Remove this line

    # ...
    resources:
        oauth:
            user:
                encoder: false # Remove this line
                classes: Sylius\Component\User\Model\UserOAuth

Check your user hashed passwords in your production database. In modern Symfony projects, the hasher name is stored on the password.

Example: $argon2i$v=19$m=65536,t=4,p=1$VVJuMnpUUWhRY1daN1ppMA$2Tx6l3I+OUx+PUPn+vZz1jI3Z6l6IHh2kpG0NdpmYWE

If some of your users do not have the hasher name stored in the password field you may need to configure the "migrate_from" option into Symfony, following that documentation: https://symfony.com/doc/current/security/passwords.html#configure-a-new-hasher-using-migrate-from

Note: If your app never changed the hasher name configuration, you don't need to configure this "migrate_from" configuration.

Directory structure

  • The Winzou state machine configuration file state_machine.yml has been moved from @SyliusPaymentBundle/Resources/config/app to @SyliusPaymentBundle/Resources/config/app/state_machine and renamed to sylius_payment.yaml.
  • The Symfony workflow configuration file state_machine.yaml has been moved from @SyliusPaymentBundle/Resources/config/workflow to @SyliusPaymentBundle/Resources/config/app/workflow and renamed to sylius_payment.yaml.

Frontend

  • Unused, legacy node packages have been removed, while the required ones have been updated to newer versions. To ensure a smooth transition, it is recommended to delete the node_modules directory and reinstall the packages.

  • The recommended Node.js versions are 20 or 22, as support for version 18 has been dropped.

  • use_webpack option was removed from the sylius_ui configuration, and the Webpack has become the only module bundler provided by Sylius.

  • use_webpack twig global variable was removed. Webpack is always used now, and there is no need to check for it.

  • Some Twig extension services have been moved from the UiBundle to the new Twig Extra package

  • The following classes have been removed:

    • AdminBundle
    • Sylius\Bundle\AdminBundle\Controller\Dashboard\StatisticsController
    • Sylius\Bundle\AdminBundle\Form\Extension\CatalogPromotionActionTypeExtension
    • Sylius\Bundle\AdminBundle\Form\Extension\CatalogPromotionSvopeTypeExtension
    • Sylius\Bundle\AdminBundle\Menu\CustomerShowMenuBuilder
    • Sylius\Bundle\AdminBundle\Menu\PromotionUpdateMenuBuilder
    • Sylius\Bundle\AdminBundle\Menu\OrderShowMenuBuilder
    • Sylius\Bundle\AdminBundle\Menu\ProductFormMenuBuilder
    • Sylius\Bundle\AdminBundle\Menu\ProductUpdateMenuBuilder
    • Sylius\Bundle\AdminBundle\Menu\ProductVariantFormMenuBuilder
    • ApiBundle
    • Sylius\Bundle\ApiBundle\SerializerContextBuilder\ReadOperationContextBuilder
    • Sylius\Bundle\ApiBundle\Controller\UploadAvatarImageAction
    • Sylius\Bundle\ApiBundle\Controller\UploadProductImageAction
    • Sylius\Bundle\ApiBundle\Controller\UploadTaxonImageAction
    • Sylius\Bundle\ApiBundle\Controller\GetOrderAdjustmentsAction
    • Sylius\Bundle\ApiBundle\Controller\GetAddressLogEntryCollectionAction
    • Sylius\Bundle\ApiBundle\DataPersister\AddressDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\AdminUserDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ChannelDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\MessengerDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\CountryDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\LocaleDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ShippingMethodDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\PaymentMethodDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ProductDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ProductAttributeDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ProductTaxonDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ProductVariantDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\PromotionCouponDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\TranslatableDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\ZoneDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\PromotionDataPersister
    • Sylius\Bundle\ApiBundle\DataPersister\CustomerDataPersister
    • Sylius\Bundle\ApiBundle\DataProvider\AccountResetPasswordItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\AdminResetPasswordItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\OrderItemItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\OrderItemUnitItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\PaymentItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\ShipmentItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\ProductItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\ProductAttributesSubresourceDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\CustomerItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\ShippingMethodsCollectionDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\PaymentMethodsCollectionDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\ChannelsCollectionDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\OrderAdjustmentsSubresourceDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\OrderItemAdjustmentsSubresourceDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\VerifyCustomerAccountItemDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\AdminOrderItemAdjustmentsSubresourceDataProvider
    • Sylius\Bundle\ApiBundle\DataProvider\ChannelAwareItemDataProvider
    • Sylius\Bundle\ApiBundle\DataTransformer\ChannelCodeAwareInputCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\CommandAwareInputDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\CommandDataTransformerInterface
    • Sylius\Bundle\ApiBundle\DataTransformer\LocaleCodeAwareInputCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\LoggedInCustomerEmailAwareCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\LoggedInCustomerEmailIfNotSetAwareCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\LoggedInShopUserIdAwareCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\OrderTokenValueAwareInputCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\ShipmentIdAwareInputCommandDataTransformer
    • Sylius\Bundle\ApiBundle\DataTransformer\SubresourceIdAwareCommandDataTransformer
    • Sylius\Bundle\ApiBundle\QueryHandler\GetAddressLogEntryCollectionHandler
    • Sylius\Bundle\ApiBundle\ApiPlatform\Bridge\Symfony\Routing\RouteNameResolver
    • Sylius\Bundle\ApiBundle\ApiPlatform\Bridge\Symfony\Routing\CachedRouteNameResolver
    • Sylius\Bundle\ApiBundle\Serializer\FlattenExceptionNormalizer
    • Sylius\Bundle\ApiBundle\Validator\Constraints\AccountVerificationTokenEligibilityValidator
    • Sylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListener
    • Sylius\Bundle\ApiBundle\ApiPlatform\ApiResourceConfigurationMerger
    • Sylius\Bundle\ApiBundle\ApiPlatform\ResourceMetadataPropertyValueResolver
    • Sylius\Bundle\ApiBundle\ApiPlatform\Metadata\Merger\LegacyResourceMetadataMerger
    • Sylius\Bundle\ApiBundle\ApiPlatform\Factory\MergingExtractorResourceMetadataFactory
    • Sylius\Bundle\ApiBundle\Validator\ResourceApiInputDataPropertiesValidator
    • Sylius\Bundle\ApiBundle\Validator\ResourceInputDataPropertiesValidatorInterface
    • api_platform.action.post_item
    • CoreBundle
    • Sylius\Bundle\CoreBundle\Form\Extension\CountryTypeExtension
    • Sylius\Bundle\CoreBundle\Form\Extension\CustomerTypeExtension
    • Sylius\Bundle\CoreBundle\Form\Extension\LocaleTypeExtension
    • Sylius\Bundle\CoreBundle\Form\Type\Grid\Filter\EntitiesFilterType
    • Sylius\Component\Core\Grid\Filter\EntitiesFilter
    • PayumBundle
    • Sylius\Bundle\PayumBundle\Action\Paypal\ExpressCheckout\ConvertPaymentAction
    • Sylius\Bundle\PayumBundle\Controller\PayumController
    • Sylius\Bundle\PayumBundle\Form\Type\PaypalGatewayConfigurationType
    • Sylius\Bundle\PayumBundle\Form\Type\StripeGatewayConfigurationType
    • UiBundle
    • Sylius\Bundle\UiBundle\Console\Command\DebugTemplateEventCommand
    • Sylius\Bundle\UiBundle\ContextProvider\DefaultContextProvider
    • Sylius\Bundle\UiBundle\ContextProvider\ContextProviderInterface
    • Sylius\Bundle\UiBundle\DataCollector\TemplateBlockRenderingHistory
    • Sylius\Bundle\UiBundle\DataCollector\TemplateBlockDataCollector
    • Sylius\Bundle\UiBundle\DataCollector\TraceableTemplateBlockRenderer
    • Sylius\Bundle\UiBundle\DataCollector\TraceableTemplateEventRenderer
    • Sylius\Bundle\UiBundle\Registry\TemplateBlock
    • Sylius\Bundle\UiBundle\Registry\TemplateBlockRegistry
    • Sylius\Bundle\UiBundle\Registry\TemplateBlockRegistryInterface
    • Sylius\Bundle\UiBundle\Renderer\DelegatingTemplateEventRenderer
    • Sylius\Bundle\UiBundle\Renderer\HtmlDebugTemplateBlockRenderer
    • Sylius\Bundle\UiBundle\Renderer\HtmlDebugTemplateEventRenderer
    • Sylius\Bundle\UiBundle\Renderer\TemplateBlockRendererInterface
    • Sylius\Bundle\UiBundle\Renderer\TemplateEventRendererInterface
    • Sylius\Bundle\UiBundle\Renderer\TwigTemplateBlockRenderer
    • Sylius\Bundle\UiBundle\Storage\FilterStorage
    • Sylius\Bundle\UiBundle\Storage\FilterStorageInterface
    • Sylius\Bundle\UiBundle\Twig\LegacySonataBlockExtension
    • Sylius\Bundle\UiBundle\Twig\TemplateEventExtension
    • Sylius\Bundle\UiBundle\Twig\TestHtmlAttributeExtension
    • Sylius\Bundle\UiBundle\Twig\TestFormAttributeExtension
    • Sylius\Bundle\UiBundle\Twig\SortByExtension
  • The following services have been renamed:

    • sylius.twig.extension.form_test_attribute_array => sylius_twig_extra.twig.extension.test_form_attribute
    • sylius.twig.extension.form_test_attribute_name => sylius_twig_extra.twig.extension.test_html_attribute
    • sylius.twig.extension.sort_by => sylius_twig_extra.twig.extension.sort_by
    • Sylius\Bundle\UiBundle\Twig\RouteExistsExtension => sylius_twig_extra.twig.extension.route_exists

Payment method gateways

  • Stripe gateway has been removed. This implementation has been deprecated and not SCA Ready.
  • PayPal Express Checkout gateway has been removed. Use now PayPal Commerce Platform integration.

Theming

  • Dependency on sylius/theme-bundle is moved from CoreBundle to ShopBundle and it will no longer be installed if you're running your shop in headless mode.
  • Channel's themeName form field existence is made optional and depends on ShopBundle presence.
  • The Sylius\Bundle\CoreBundle\Theme\ChannelBasedThemeContext has been moved to the Sylius\Bundle\ShopBundle\Theme\ChannelBasedThemeContext.

Routing

  • Routing for the sylius_shop_payum has been moved from the SyliusShopBundle to the SyliusPayumBundle:
sylius_shop_payum:
-   resource: "@SyliusShopBundle/Resources/config/routing/payum.yml"
+   resource: "@SyliusPayumBundle/Resources/config/routing/integrations/sylius_shop.yaml"

Testing Suite

  • The sylius.behat.api_security has been replaced by sylius.behat.api_admin_security and sylius.behat.api_shop_security services.