29 KiB
UPGRADE
From 0.19 to 1.0.0-alpha
Association and AssociationBundle
- Merged Association component with Product component
- Merged AssociationBundle into ProductBundle
Customer
- Renamed
GrouptoCustomerGroup - Changed relation between
CustomerGroupandCustomerto one-to-many
Product and ProductBundle
- Renamed
optionsproperty tooptionValuesinProductVariant
Currency and CurrencyBundle
- Removed
EuropeanCentralBankImporterandOpenExchangeRatesImporter
Variation and VariationBundle
- Merge
Variationcomponent andVariationBundleintoProductcomponent andProductBundle.
CartBundle
- Merge
Cartcomponent andCartBundleintoOrder\Corecomponent andOrder\CoreBundle.
WebBundle
- Removed
WebBundle. SeeShopBundlefor the website andAdminBundlefor administration-related.
See https://github.com/Sylius/Sylius/pull/5535 and https://github.com/Sylius/Sylius/pull/5655
Removed Assetic
- Sylius is no longer using Assetic for assets management - see https://github.com/Sylius/Sylius/pull/5593
- Gulp and NPM are now responsible to compile the new UI
Archetype and ArchetypeBundle
- Removed
Archetypecomponent andArchetypeBundle
ChannelBundle
- Renamed configuration option
sylius_channel.fake_channel_supporttosylius_channel.debug
Contact and ContactBundle
- Removed
Contactcomponent andContactBundle
Order and OrderBundle
- Added
OrderSequencemodel to keep current order index - Added
OrderNumberGeneratorto generate number for new orders
Report and ReportBundle
- Removed
Reportcomponent andReportBundle
Sequence and SequenceBundle
- Removed
Sequencecomponent andSequenceBundle
SearchBundle
- Removed
SearchBundle
From 0.18 to 0.19.x
Core and CoreBundle
- Introduced new adjustments type
ORDER_UNIT_PROMOTION - Changed current item promotion actions to unit promotion actions (as they're applied on
OrderItemUnitlevel) - Introduced
getDiscountedUnitPricemethod onOrderItem, which returns single unit price lowered byORDER_UNIT_PROMOTIONadjustments - Removed the concept of restricted zone per product
- Renamed
currencytocurrencyCodein variables and methods where the code string is being used (especially inOrder,CustomerandCurrencyContext) - Use
Promotioncodes instead ofOriginatorin actions
PayumBundle
- Upgraded to PayumBundle v2.1, configuration has changed, please take a look at Payum/PayumBundle/Upgrade.md
Variation and VariationBundle
- Removed concept of master variant (removed
$masterflag fromSylius\Component\Variation\Model\Variant), all usages of master variant has been, for now, replaced with first variant; - Renamed
presentationtoname(VariantInterface,OptionValueInterface)
Payment
- Renamed
currencytocurrencyCodein variables and methods where the code string is being used (especially inPaymentandPaymentFactory)
Originator
- Removed
Originatorcomponent
From 0.17 to 0.18.x
Application
- Moved some of the parameters out of parameters.yml.dist file, please check your configurations;
- Moved parameters are now in
CoreBundle/Resource/config/app.parameters.yml, you should import them before your own parameters.yml file; - Renamed basic parameters to match Symfony Standard's conventions:
Before:
%sylius.database.host%
%sylius.locale%
# etc.
After:
%database_host%
%locale%
HWIOAuthBundle is now optional
HWIOAuthBundle for social logins is no longer a required dependency. If you would like to use it in your project, you should add it to composer.json's require section, install it and add proper configuration for routing:
# routing.yml
hwi_oauth_security:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
prefix: /connect-login
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /connect
amazon_login:
path: /connect-login/check-amazon
facebook_login:
path: /connect-login/check-facebook
google_login:
path: /connect-login/check-google
And for security:
# security.yml
# For your shop firewall, configure "oauth" section:
oauth:
resource_owners:
amazon: "/connect-login/check-amazon"
facebook: "/connect-login/check-facebook"
google: "/connect-login/check-google"
login_path: /login
failure_path: /login
oauth_user_provider:
service: sylius.oauth.user_provider
Translation and TranslationBundle
- Merged
Translationcomponent withResourcecomponent - Merged
TranslationBundlewithResourceBundle - Renamed
TranslatableResourceRepositorytoTranslatableRepository
Core and CoreBundle
- Removed "exclude" option from
taxonrule - Changed
ORDER_PROMOTION_ADJUSTMENTs to be added onOrderItemUnitlevel instead ofOrderlevel, based on distributed promotion amount
SettingsBundle
- Renamed
sylius_settings_all()Twig function tosylius_settings() - Removed
sylius_settings_get('foo.property')andsylius_settings_has('foo.property')Twig functions, usesylius_settings('foo').propertyandsylius_settings('foo').property is definedinstead
From 0.16 to 0.17.x
Promotion and PromotionBundle
- Changed "item_count" promotion type into "cart_quantity". It now checks cart quantity instead different items number.
Resource and SyliusResourceBundle
- All resources must implement
Sylius\Component\Resource\Model\ResourceInterface; - ResourceController has been rewritten from scratch but should maintain 100% of previous functionality;
$this->configis no longer available and you should create it manually in every action;
Before:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
return $this->render($this->config->getTemplate('custom.html'));
}
}
After:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
$configuration = $this->requestConfigurationFactory->create($this->metadata, $request);
return $this->render($configuration->getTemplate('custom.html'));
}
}
- Custom view handler has been introduced and ResourceController no longer extends FOSRestController:
Before:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
return $this->handleView($this->view(null, 204));
}
}
After:
<?php
namespace AppBundle\Controller;
use FOS\RestBundle\View\View;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
$configuration = $this->requestConfigurationFactory->create($this->metadata, $request);
return $this->viewHandler->handle($configuration, View::create(null, 204));
}
}
- DomainManager has been replaced with standard manager and also repository is injected into the controller;
Before:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
// ...
$this->domainManager->create($book);
$this->domainManager->update($book);
$this->domainManager->delete($book);
}
}
After:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
// ...
$this->repository->add($book);
$this->manager->flush();
$this->repository->remove($book);
}
}
getForm()has been removed in favor of properly injected service;
Before:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
// ...
$form = $this->getForm($book);
}
}
After:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
$configuration = $this->requestConfigurationFactory->create($this->metadata, $request);
// ...
$form = $this->resourceFormFactory->create($configuration, $book);
}
}
- Events are no longer dispatched by the removed "DomainManager".
Before:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
$this->domainManager->create($book);
}
}
After:
<?php
namespace AppBundle\Controller;
use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
class BookController extends ResourceController
{
public function customAction(Request $request)
{
$configuration = $this->requestConfigurationFactory->create($this->metadata, $request);
$event = $this->eventDispatcher->dispatchPreEvent(ResourceActions::CREATE, $configuration, $book);
$this->repository->add($book);
$event = $this->eventDispatcher->dispatchPostEvent(ResourceActions::CREATE, $configuration, $book);
}
}
Core and CoreBundle
- Moved
taxCategoryfromProducttoProductVariant; OrderItemmodel from Core component no longer implementsPromotionSubjectInterface. Remove all usages ofaddPromotion, etc. from your custom code. Custom actions targeting items need to be adjusted - seeContainsProductRuleCheckerfor reference.
Addressing and SyliusAddressingBundle
- Extracted
CountryISO code to name translation, from model to a twig extension:CountryNameExtension; - Removed
Addressrelations toCountryandProvinceobjects, their uniquecodeis used instead; - Removed specific
ZoneMembersi.e.ProvinceZoneMemberin favor of a dynamicZoneMember; - https://github.com/Sylius/Sylius/pull/3696
exchangeRateis now recorded forOrderat time of purchase for accurate cross-currency reporting.
Order and SyliusOrderBundle
- Introduced
OrderItemUnit, which represents every single unit inOrder; - Replaced
InventoryUnitwithOrderItemUnitin the core. This entity will be used asInventoryUnitandShipmentItem; - Removed
setQuantity()method fromOrderItem; - Introduced
OrderItemUnitFactorycreating unit for specificOrderItembycreateForItem()method; - Introduced
OrderItemQuantityModifierthat is used to controlOrderItemquantity and units; - Introduced
OrderItemQuantityDataMapper, which attached toOrderItemTypeuses proper service to modifyOrderItemquantity; - Changed
Adjustmentdescriptionfield tolabel;
Shipping and ShippingBundle
- Renamed
ShipmentItemtoShipmentUnitto align with full-stackOrderItemUnitthat it represents and avoid confusion against the similarly namedOrderItem. - Also renamed all associated 'item' wording to 'unit' in forms and form configuration (e.g.
DefaultCalculators::PER_UNIT_RATEandRuleInterface::TYPE_UNIT_TOTAL). - Shipping resources config must be updated:
Before:
sylius_shipping:
resources:
shipment_item:
classes:
model: %sylius.model.order_item_unit.class%
After:
sylius_shipping:
resources:
shipment_unit:
classes:
model: %sylius.model.order_item_unit.class%
Currency
CurrencyConverterInterface convert() method renamed to convertFromBase().
Content
#!/bin/sh
set -ex
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\ContentBundle\Doctrine\Phpcr\StaticContent" "Sylius\Bundle\ContentBundle\Document\StaticContent"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\Route" "Sylius\Bundle\ContentBundle\Document\Route"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\RoutingBundle\Doctrine\Phpcr\RedirectRoute" "Sylius\Bundle\ContentBundle\Document\RedirectRoute"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\MenuBundle\Doctrine\Phpcr\Menu" "Sylius\Bundle\ContentBundle\Document\Menu"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\MenuBundle\Doctrine\Phpcr\MenuNode" "Sylius\Bundle\ContentBundle\Document\MenuNode"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SlideshowBlock" "Sylius\Bundle\ContentBundle\Document\SlideshowBlock"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ImagineBlock" "Sylius\Bundle\ContentBundle\Document\ImagineBlock"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ActionBlock" "Sylius\Bundle\ContentBundle\Document\ActionBlock"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\MenuBlock" "Sylius\Bundle\ContentBundle\Document\MenuBlock"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\ReferenceBlock" "Sylius\Bundle\ContentBundle\Document\ReferenceBlock"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\SimpleBlock" "Sylius\Bundle\ContentBundle\Document\SimpleBlock"
app/console doctrine:phpcr:document:migrate-class "Symfony\Cmf\Bundle\BlockBundle\Doctrine\Phpcr\StringBlock" "Sylius\Bundle\ContentBundle\Document\StringBlock"
From 0.15.0 to 0.16.x
General
- Configuration structure for all bundles has changed:
Before:
sylius_taxation:
validation_groups:
tax_category: [sylius, custom]
classes:
tax_category:
model: AppBundle\Entity\TaxCategory
form: AppBundle\Form\Type\TaxCategoryType
After:
sylius_taxation:
resources:
tax_category:
classes:
model: AppBundle\Entity\TaxCategory
form:
default: AppBundle\Form\Type\TaxCategoryType
validation_groups:
default: [sylius, custom]
- Validation groups parameters have been renamed:
Before:
%sylius.validation_group.product%
After:
%sylius.validation_group**s**.product%
Attribute and SyliusAttributeBundle
- Attribute system has been reworked and now every
typeis represented byAttributeTypeInterfaceinstance; - https://github.com/Sylius/Sylius/pull/3608.
SyliusPayumBundle
- Changed configuration key
sylius_payum.classes.payment_configtosylius_payum.classes.gateway_config; PaymentConfigrenamed toGatewayConfig;
Resource & SyliusResourceBundle
RepositoryInterfacenow has two additional methodsaddandremove;- Added
InMemoryRepositorywhich stores resources in memory; - Added
DriverInterfacewhich replaced previously used abstractions; - Reworked
AbstractResourceExtensionto be much simpler.
From 0.14.0 to 0.15.x
General
- We no longer use FOSUserBundle;
- User provider has been changed https://github.com/Sylius/Sylius/pull/2717/files#diff-da1af97fca8a5fcb6fb7053584105ba7R6;
- Everything related to e-commerce (orders, addresses, groups and coupons) are now associated with Customer;
- Everything related to system account remains on User entity;
- Email no longer exist on Order;
- All order are associated with Customer (even guest orders - during guest checkout Customer is created based on email);
- User must have associated Customer;
- Email no longer exist on User. It is on Customer now;
- In the checkout we depend on Customer not User;
- In templates in many places we use Customer instead of User entity now.
Channel & SyliusChannelBundle
https://github.com/Sylius/Sylius/pull/2752
User & SyliusUserBundle
https://github.com/Sylius/Sylius/pull/2717
Database
- Call
sylius:rbac:initializeto create new roles in your system; - Execute migration script to migrate your data into the new model schema.
The migration script migrates only default data, if you have some customizations on any of affected entities you should take care of them yourself!
API Client
https://github.com/Sylius/Sylius/pull/2887
SyliusApiBundle
When you create server client in Sylius, it's public id was a combination of Client internal id and it's random id. For example:
client_id: 1_mpO5ZJ35hx
now it is simply random id, so it will be changed to:
client_id: mpO5ZJ35hx
Remember to update your API clients using Sylius!
Related discussion https://github.com/FriendsOfSymfony/FOSOAuthServerBundle/issues/328.
Addressing
- Removed
CountryTranslation, usingIntlSymfony component instead to provide translated country names based on ISO country code. https://github.com/Sylius/Sylius/pull/3035
From 0.9.0 to 0.10.x
Version 0.10.x includes the new Sylius e-commerce components.
All classes without Symfony dependency have been moved to separate Sylius\Component namespace.
VariableProductBundle has been merged into ProductBundle. Its functionality extracted into two separate bundles - SyliusAttributeBundle & SyliusVariationBundle.
Property model has been renamed to Attribute.
Before performing this procedure, please create a safe backup of your database. This upgrade changes significantly the way product attributes and options are stored in the database. We do provide a way to migrate your data, but no rollback will be possible in case of a problem.
In addition to the components split, we have switched to state-machine in order to deal with states, instead of
hard-coded states. You can now configure all the states you want and the transitions between them. Please refer to
state-machine.yml that you can find in the bundles using it. Most events have been replaced by state-machine events,
much more powerful. Please update your listeners to make them callbacks of state-machine transitions. Again, please
refer to the state-machine configuration files to do so.
The signature of PaymentInterface::setDetails method was changed. Now it allows either array or instance of \Traversable.
Addressing
Model classes and ZoneMatcher services have been moved to Sylius\Component\Addressing namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\AddressingBundle\\Model/Sylius\\Component\\Addressing\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\AddressingBundle\\ZoneMatcher/Sylius\\Component\\Addressing\\ZoneMatcher/g' {} \;
Cart
Model classes and several services have been moved to Sylius\Component\Cart namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CartBundle\\Model/Sylius\\Component\\Cart\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CartBundle\\Provider\\CartProviderInterface/Sylius\\Component\\Cart\\Provider\\CartProviderInterface/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CartBundle\\Storage\\CartStorageInterface/Sylius\\Component\\Cart\\Storage\\CartStorageInterface/g' {} \;
Twig extension class name & service were changed:
SyliusCartExtensionintoCartExtension,sylius.cart_twigintosylius.twig.extension.cart
Core
All Symfony independent code has been moved to Sylius\Component\Core namespace.
Variant model has been renamed to ProductVariant and VariantImage to ProductVariantImage.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CoreBundle\\Model\\Variant/Sylius\\Component\\Core\\Model\\ProductVariant/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CoreBundle\\Model/Sylius\\Component\\Core\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CoreBundle\\Calculator/Sylius\\Component\\Core\\Calculator/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CoreBundle\\OrderProcessing/Sylius\\Component\\Core\\OrderProcessing/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CoreBundle\\Promotion/Sylius\\Component\\Core\\Promotion/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\CoreBundle\\Uploader/Sylius\\Component\\Core\\Uploader/g' {} \;
Twig extension class name & service were changed:
SyliusMoneyExtensionintoSyliusMoneyExtension,SyliusRestrictedZoneExtensionintoRestrictedZoneExtension,sylius.twig.restricted_zone_extensionintosylius.twig.extension.restricted_zone
Inventory
Model classes and all Symfony-agnostic services have been moved to Sylius\Component\Inventory namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\InventoryBundle\\Model/Sylius\\Component\\Inventory\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\InventoryBundle\\Checker/Sylius\\Component\\Inventory\\Checker/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\InventoryBundle\\Factory/Sylius\\Component\\Inventory\\Factory/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\InventoryBundle\\Operator/Sylius\\Component\\Inventory\\Operator/g' {} \;
Twig extension class name & service were changed:
SyliusInventoryExtensionintoInventoryExtension,sylius.inventory_twigintosylius.twig.extension.inventory
Money
Model classes and interfaces have been moved to Sylius\Component\Money namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\MoneyBundle\\Model/Sylius\\Component\\Money\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\MoneyBundle\\Converter/Sylius\\Component\\Money\\Converter/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\MoneyBundle\\Context\\CurrencyContextInterface/Sylius\\Component\\Money\\Context\\CurrencyContextInterface/g' {} \;
Twig extension class name & service were changed:
SyliusMoneyExtensionintoMoneyExtension,sylius.twig.moneyintosylius.twig.extension.money
Order
Model classes and repository interfaces have been moved to Sylius\Component\Order namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\OrderBundle\\Model/Sylius\\Component\\Order\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\OrderBundle\\Generator/Sylius\\Component\\Order\\Generator/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\OrderBundle\\Repository/Sylius\\Component\\Order\\Repository/g' {} \;
Payment
PaymentsBundle has been renamed to PaymentBundle.
Model classes interfaces have been moved to Sylius\Component\Order namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\PaymentsBundle\\Model/Sylius\\Component\\Payment\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/PaymentsBundle/PaymentBundle/g' {} \;
Configuration root node has been adjusted as well.
Before:
sylius_payments:
driver: doctrine/orm
After:
sylius_payment:
driver: doctrine/orm
Product
Previously, ProductBundle provided basic product model with properties support. VariableProductBundle, with its options and variants support, has been merged into the basic bundle. From now on, Sylius product catalog ships with variations support by default.
The concept of properties has been renamed to attributes.
- Property model becomes Attribute.
- ProductProperty becomes AttributeValue.
Attributes can be attached to any object and can be configured under sylius_attribute node.
The product bundle configures its attributes automatically.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\VariableProductBundle\\Model/Sylius\\Component\\Product\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/sylius.repository.option/sylius.repository.product_option/g' {} \;
$ find ./src -type f -exec sed -i 's/sylius.repository.option_value/sylius.repository.product_option_value/g' {} \;
$ find ./src -type f -exec sed -i 's/sylius.repository.product_property/sylius.repository.product_attribute_value/g' {} \;
$ find ./src -type f -exec sed -i 's/sylius.repository.property/sylius.repository.product_attribute/g' {} \;
$ find ./src -type f -exec sed -i 's/sylius.repository.prototype/sylius.repository.product_prototype/g' {} \;
$ find ./src -type f -exec sed -i 's/sylius.repository.variant/sylius.repository.product_variant/g' {} \;
Beware, the Doctrine relationship name has changed as well between Variant (now, ProductVariant) and Product. If you use it in custom repository methods, you need to adapt accordingly:
Before:
variant.product
After:
product_variant.object
Promotion
PromotionsBundle has been renamed to PromotionBundle.
Model classes interfaces have been moved to Sylius\Component\Promotion namespace.
$ find ./src -type f -exec sed -i 's/PromotionsBundle/PromotionBundle/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\PromotionBundle\\Model/Sylius\\Component\\Promotion\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\PromotionBundle\\Action/Sylius\\Component\\Promotion\\Action/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\PromotionBundle\\Checker/Sylius\\Component\\Promotion\\Checker/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\PromotionBundle\\Generator/Sylius\\Component\\Promotion\\Generator/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\PromotionBundle\\Processor/Sylius\\Component\\Promotion\\Processor/g' {} \;
Configuration root node has been adjusted as well.
Before:
sylius_promotions:
driver: doctrine/orm
After:
sylius_promotion:
driver: doctrine/orm
Resource
ResourceBundle model interfaces have been moved to Sylius\Component\Resource namespace.
RepositoryInterface has been moved to Repository namespace under the component.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\ResourceBundle\\Model/Sylius\\Component\\Resource\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Component\\Resource\\Model\\RepositoryInterface/Sylius\\Component\\Resource\\Repository\\RepositoryInterface/g' {} \;
Twig extension class name & service were changed:
SyliusResourceExtensionintoSyliusResourceExtension,sylius.twig.resourceintosylius.twig.extension.resource
Settings
Twig extension class name & service were changed:
SyliusSettingsExtensionintoSettingsExtension,sylius.settings.twigintosylius.twig.extension.settings
Shipping
Model classes and Symfony agnostic services & interfaces have been moved to Sylius\Component\Shipping namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\ShippingBundle\\Model/Sylius\\Component\\Shipping\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\ShippingBundle\\Calculator/Sylius\\Component\\Shipping\\Calculator/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\ShippingBundle\\Checker/Sylius\\Component\\Shipping\\Checker/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\ShippingBundle\\Resolver/Sylius\\Component\\Shipping\\Resolver/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\ShippingBundle\\Processor/Sylius\\Component\\Shipping\\Processor/g' {} \;
Taxation
Model classes and Symfony agnostic services have been moved to Sylius\Component\Taxation namespace.
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\TaxationBundle\\Model/Sylius\\Component\\Taxation\\Model/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\TaxationBundle\\Calculator/Sylius\\Component\\Taxation\\Calculator/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\TaxationBundle\\Resolver/Sylius\\Component\\Taxation\\Resolver/g' {} \;
Taxonomy
TaxonomiesBundle has been renamed to TaxonomyBundle.
Model classes interfaces have been moved to Sylius\Component\Taxonomy namespace.
$ find ./src -type f -exec sed -i 's/TaxonomiesBundle/TaxonomyBundle/g' {} \;
$ find ./src -type f -exec sed -i 's/Sylius\\Bundle\\TaxonomyBundle\\Model/Sylius\\Component\\Taxonomy\\Model/g' {} \;
Configuration root node has been adjusted as well.
Before:
sylius_taxonomies:
driver: doctrine/orm
After:
sylius_taxonomy:
driver: doctrine/orm
Web
Twig extension service name was changed:
sylius.twig.text_extensionintosylius.twig.extension.text