37 KiB
UPGRADE FROM 1.14 TO 2.0
Configuration
-
Messenger:
- The
sylius_default.busandsylius_event.busconfiguration options were removed. Usesylius.command_busandsylius.event_busfor commands and events respectively.
- The
-
SyliusStateMachineAbstraction:
- The
sylius_state_machine_abstraction.default_adapteroption has been changed fromwinzou_state_machinetosymfony_workflow.
- The
Codebase
-
Doctrine MongoDB and PHPCR is no longer supported in ResourceBundle and GridBundle:
-
The following classes were removed:
Sylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListenerSylius\Bundle\GridBundle\Doctrine\PHPCRODM\DataSourceSylius\Bundle\GridBundle\Doctrine\PHPCRODM\DriverSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionBuilderSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionBuilderInterfaceSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionVisitorSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExtraComparisonSylius\Bundle\ResourceBundle\DependencyInjection\Driver\Doctrine\DoctrineODMDriverSylius\Bundle\ResourceBundle\DependencyInjection\Driver\Doctrine\DoctrinePHPCRDriverSylius\Bundle\ResourceBundle\Doctrine\ODM\MongoDB\DocumentRepositorySylius\Bundle\ResourceBundle\Doctrine\ODM\MongoDB\TranslatableRepositorySylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\DocumentRepositorySylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\DefaultParentListenerSylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\NameFilterListenerSylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\NameResolverListenerSylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\Form\Builder\DefaultFormBuilderSylius\Bundle\ResourceBundle\EventListener\ODMMappedSuperClassSubscriberSylius\Bundle\ResourceBundle\EventListener\ODMRepositoryClassSubscriberSylius\Bundle\ResourceBundle\EventListener\ODMTranslatableListener
-
The following services were removed:
sylius.event_subscriber.odm_mapped_super_classsylius.event_subscriber.odm_repository_classsylius.grid_driver.doctrine.phpcrodmsylius.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 |
| 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 |
| 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 |
| 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 |
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 |
| 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 |
-
The following class definitions were moved to a
CoreBundle:Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationTypeSylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionActionType
-
The following parameters were removed:
sylius.mongodb_odm.repository.classsylius.phpcr_odm.repository.class
-
The following parameters were renamed:
sylius.message.admin_user_create.validation_groupstosylius_admin.command_handler.create_admin_user.validation_groups
-
The following configuration options were removed:
sylius.mailer.templates
-
Added the
Sylius\Component\Order\Context\ResettableCartContextInterfacethat extendsSylius\Component\Order\Context\CartContextInterfaceandSymfony\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 forLiipImagineBundle, configurecacheand/ordata_loaderparameters under theliip_imaginekey. -
The class
Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteSubscriberhas been removed and replaced withSylius\Bundle\AdminBundle\EventListener\ResourceDeleteListener. -
The
sylius/calendarpackage has been replaced withsymfony/clockpackage. All usages of theSylius\Calendar\Provider\DateTimeProviderInterfaceclass have been replaced withSymfony\Component\Clock\ClockInterfaceclass.-
The following classes were changed:
Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionAnnouncerSylius\Bundle\CoreBundle\MessageHandler\Admin\Account\RequestResetPasswordEmailHandlerSylius\Bundle\CoreBundle\PriceHistory\Logger\PriceChangeLoggerSylius\Bundle\CoreBundle\PriceHistory\Remover\ChannelPricingLogEntriesRemoverSylius\Bundle\ShippingBundle\Assigner\ShippingDateAssignerSylius\Bundle\PromotionBundle\Criteria\DateRangeSylius\Bundle\ApiBundle\Applicator\ArchivingShippingMethodApplicatorSylius\Bundle\ApiBundle\CommandHandler\Account\RequestResetPasswordTokenHandlerSylius\Bundle\ApiBundle\CommandHandler\Account\VerifyCustomerAccountHandlerSylius\Component\Taxation\Checker\TaxRateDateEligibilityChecker
-
-
The parameter order of
Sylius\Bundle\CoreBundle\Form\Type\Checkout\AddressType::__constructhas been changed:public function __construct( + private readonly AddressComparatorInterface $addressComparator, string $dataClass, array $validationGroups = [] - private readonly AddressComparatorInterface $addressComparator = null, ) -
The
\Serializableinterface has been removed from theSylius\Component\User\Model\UserInterface. -
The parameter order of the
Sylius\Component\Core\OrderProcessing\OrderPaymentProcessor::__constructhas 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
swiftmailer/swiftmailerdependency has been removed. Usesymfony/mailerinstead. -
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\AddressRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Addressing\Repository\AddressRepositoryInterfaceSylius\Bundle\AddressingBundle\Doctrine\ORM\CountryRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Addressing\Repository\CountryRepositoryInterfaceSylius\Bundle\AddressingBundle\Doctrine\ORM\ProvinceRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Addressing\Repository\ProvinceRepositoryInterfaceSylius\Bundle\AddressingBundle\Doctrine\ORM\ZoneMemberRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Addressing\Repository\ZoneMemberRepositoryInterface
Attribute:
Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Attribute\Repository\AttributeRepositoryInterfaceSylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeTranslationRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Attribute\Repository\AttributeTranslationRepositoryInterfaceSylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeValueRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\Component\Attribute\Repository\AttributeValueRepositoryInterface
Product:
Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationTypeTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductAttributeRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductAttributeTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionValueRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionValueTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductVariantTranslationRepository
Currency:
Sylius\Bundle\CurrencyBundle\Doctrine\ORM\CurrencyRepositoryextendsSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositoryimplementsSylius\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\AddressRepositoryextended class changed fromSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositorytoSylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepositorySylius\Component\Core\Repository\AddressRepositoryInterfaceimplemented interface changed fromSylius\Component\Resource\Repository\RepositoryInterfacetoSylius\Component\Addressing\Repository\AddressRepositoryInterface
Attribute:
Sylius\Bundle\CoreBundle\Doctrine\ORM\AttributeRepositoryextended class changed fromSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositorytoSylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepositorySylius\Component\Product\Repository\ProductAttributeValueRepositoryInterfaceextended interface changed fromSylius\Component\Resource\Repository\RepositoryInterfacetoSylius\Component\Attribute\Repository\AttributeValueRepositoryInterface
Product:
Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductAssociationRepositoryextended class changed fromSylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepositorytoSylius\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.yamlfile. This is handled bySylius\Bundle\AddressingBundle\Validator\Constraints\ZoneMemberGroupand 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 following classes and interfaces have been removed:
Sylius\Bundle\CoreBundle\Templating\Helper\CheckoutStepsHelperSylius\Bundle\CoreBundle\Templating\Helper\PriceHelperSylius\Bundle\CoreBundle\Templating\Helper\VariantResolverHelperSylius\Bundle\CurrencyBundle/Templating/Helper/CurrencyHelperSylius\Bundle\CurrencyBundle/Templating/Helper/CurrencyHelperInterfaceSylius\Bundle\InventoryBundle/Templating/Helper/InventoryHelperSylius\Bundle\LocaleBundle/Templating/Helper/LocaleHelperSylius\Bundle\LocaleBundle/Templating/Helper/LocaleHelperInterfaceSylius\Bundle\MoneyBundle\Templating\Helper\ConvertMoneyHelperSylius\Bundle\MoneyBundle\Templating\Helper\ConvertMoneyHelperInterfaceSylius\Bundle\MoneyBundle\Templating\Helper\FormatMoneyHelperSylius\Bundle\MoneyBundle\Templating\Helper\FormatMoneyHelperInterfaceSylius\Bundle\OrderBundle/Templating/Helper/AdjustmentsHelper
Constructors signature changes
-
The following constructor signatures have been changed:
Sylius\Bundle\CoreBundle\Twig\CheckoutStepsExtensionuse 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\PriceExtensionuse Sylius\Component\Core\Calculator\ProductVariantPricesCalculatorInterface; public function __construct( - private readonly PriceHelper|ProductVariantPricesCalculatorInterface $helper, + private readonly ProductVariantPricesCalculatorInterface $productVariantPricesCalculator, )Sylius\Bundle\CoreBundle\Twig\VariantResolverExtensionuse Sylius\Component\Product\Resolver\ProductVariantResolverInterface; public function __construct( - private readonly ProductVariantResolverInterface|VariantResolverHelper $helper, + private readonly ProductVariantResolverInterface $productVariantResolver, )Sylius\Bundle\CurrencyBundle\Twig\CurrencyExtensionpublic function __construct( - private ?CurrencyHelperInterface $helper = null, )Sylius\Bundle\InventoryBundle\Twig\InventoryExtensionuse Sylius\Component\Inventory\Checker\AvailabilityCheckerInterface; public function __construct( - private AvailabilityCheckerInterface|InventoryHelper $helper, + private AvailabilityCheckerInterface $availabilityChecker, )Sylius\Bundle\LocaleBundle\Twig\LocaleExtensionuse 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\ConvertMoneyExtensionuse Sylius\Component\Currency\Converter\CurrencyConverterInterface; public function __construct( - private ConvertMoneyHelperInterface|CurrencyConverterInterface $helper, + private CurrencyConverterInterface $currencyConverter, )Sylius\Bundle\MoneyBundle\Twig\FormatMoneyExtensionuse Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface; public function __construct( - private private FormatMoneyHelperInterface|MoneyFormatterInterface $helper, + private MoneyFormatterInterface $moneyFormatter, )Sylius\Bundle\OrderBundle\Twig\AggregateAdjustmentsExtensionuse Sylius\Component\Order\Aggregator\AdjustmentsAggregatorInterface; public function __construct( - private AdjustmentsAggregatorInterface|AdjustmentsHelper $adjustmentsHelper, + private AdjustmentsAggregatorInterface $adjustmentsAggregator, )
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
The following classes have been removed:
- Sylius\Component\Core\Grid\Filter\EntitiesFilter
- Sylius\Bundle\CoreBundle\Form\Type\Grid\Filter\EntitiesFilterType
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.ymlhas been moved from@SyliusPaymentBundle/Resources/config/appto@SyliusPaymentBundle/Resources/config/app/state_machineand renamed tosylius_payment.yaml. - The Symfony workflow configuration file
state_machine.yamlhas been moved from@SyliusPaymentBundle/Resources/config/workflowto@SyliusPaymentBundle/Resources/config/app/workflowand renamed tosylius_payment.yaml.
Frontend
use_webpackoption was removed from thesylius_uiconfiguration, and the Webpack has become the only module bundler provided by Sylius.use_webpacktwig global variable was removed. Webpack is always used now, and there is no need to check for it.
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-bundleis moved from CoreBundle to ShopBundle and it will no longer be installed if you're running your shop in headless mode. - Channel's
themeNameform field existence is made optional and depends onShopBundlepresence. - The
Sylius\Bundle\CoreBundle\Theme\ChannelBasedThemeContexthas been moved to theSylius\Bundle\ShopBundle\Theme\ChannelBasedThemeContext.
Routing
- Routing for the
sylius_shop_payumhas been moved from theSyliusShopBundleto theSyliusPayumBundle:
sylius_shop_payum:
- resource: "@SyliusShopBundle/Resources/config/routing/payum.yml"
+ resource: "@SyliusPayumBundle/Resources/config/routing/integrations/sylius_shop.yaml"