- PIM-5699: Fix 'is equal to' operator in export / import history grid filter
- PIM-5638: Server error when saving association on products
- PIM-5610: Fix boolean filter on product grid
- PIM-5532: Fix localized media thumbnail not displayable in grid
- PIM-5161: Fix the is_associated sort on MongoDB association grid
- PIM-5150: Improve the product grid loading performance when a lot of attribute filters are available
- PIM-5422: Fix memory leak on import product
- PIM-5335: Fix media save on variant group
- PIM-5224: Fix first matching option on selects during filtering via the pqb
- Introduction of a command to purge completenesses:
pim:completeness:purge
- PIM-5190: Fix calculation error for MongoDB completeness with empty media attributes
- PIM-5197: Improve products export memory usage (backport PIM-5127 into 1.3)
- Bump BatchBundle to not hydrate all JobExecution of a JobInstance during a the creation of a JobExecution
- PIM-5054: Merge variant group imported template values
- PIM-5062: Do not convert NULL metric value
- PIM-5028: Fix log levels configuration for prod and dev environments
- PIM-5037: Do not cascade detach product associated entities
PIM-4920: add translation keys
- PIM-4866: Added I should see the tab assertion method in behat
- PIM-4845: Family menu access denied from the shortcut dashboard entry
- PIM-4810: Correctly detach association reference when transformation fails
- PIM-4612: Error on Quick Export (MongoDB)
- PIM-4803: Drag & Drop is too long when I filter on attribute group
- PIM-4753: Fix updated date issues for Versionable objects
- PIM-4737: Fix a bug with the select2 cache.
- PIM-4706: Product association import error with identifier containing comma or semicolon
- PIM-4748: performances issues with product display with 8 locales (attribute and attribute group translations)
- PIM-4444: performances issues with product display with 10 locales (attribute and attribute group translations)
- PIM-4756: Filter issue with the option "start with" "0" on the product grid
- PIM-4758: Fixed attribute filtering on method getFullProducts (Github issue #3028)
- PIM-4528: Fix attribute field display on error during mass edit
- PIM-4535: Fix font problems on pdf generation: you can now set a custom font by setting the %pim_pdf_generator_font% parameter.
- PIM-4494: Fix loading page when family has been sorted
- PIM-4312: Fix price indexes on MongoDB
- PIM-4112: Not translated Error message when wrong format import
- PIM-4308: MongoDB indexes are removed on schema update
- PIM-4314: Added missing translation keys
- PIM-4227: fix BC break introduced in 1.3.13
- PIM-4309: Fix bug processing media with a non existing media
- PIM-4223: Fix grid sorting order initialization (changed to be consistent with Platform behavior)
- PIM-4227: Disable product versionning on category update (never used and very slow)
- PIM-4182: Fix product values normalization when decimals are not allowed
- PIM-4203: fix mass edit of families after sorting by label
- PIM-4208: Fix js memory leak on a product edit form with scopable attributes
- PIM-4044: Fix pressing Enter on a Product grid filter makes the page "unclickable"
- PIM-4146: Fix the delete confirmation message that was not translated
- PIM-4176: Fix context not keeped after product saving
- PIM-4113: Initialize cursors on first item during creation
- PIM-4122: Preserve variant structure during an import containing empty values from a template
- PIM-4082: Fix error translation keys when creating a job
- PIM-4045: Fix completeness computation with behat
- PIM-4047: Missing translation key for a number value which should not be decimal in edit form
- PIM-3848: fix completeness not well calculated after attribute requirements deletion
- PIM-4050: Fix float val in range number error message
- rollback the visibility of the ProductRepository::buildByScope from protected to public (as in 1.2) to ensure connectors compatibility
- PIM-3961: Fix inconsistencies in unique value constraint validator
- PIM-3416: Fix less / more than date filter
- PIM-4019: option code is properly displayed during option deletion in attribute edit form
- PIM-2401: Association grid, add the Is associated sorter (MongoDB impl)
- PIM-3926: Set explicit message for 403 error
- PIM-3938: Querying products with PQB and using Sorters will not return an ordered Cursor
- PIM-3956: Fix user can add an attribute in a group even if he does not have the permission
- PIM-3965: Fix groups without labels are not displayed in the product grid cell
- PIM-3971: Cache results for Select2 on product edit form
- PIM-4017: Fix save an empty media attribute with variant group
- PIM-3931: Remove db query from CsvReader constructor
## BC breaks
- Change the constructor of
Pim\Bundle\EnrichBundle\Form\Subscriber\AddAttributeTypeRelatedFieldsSubscriber
to includeOro\Bundle\SecurityBundle\SecurityFacade
andPim\Bundle\CatalogBundle\Repository\AttributeGroupRepositoryInterface
- PIM-2874: Fix bad title on failed submit
- PIM-3836: Fix translations of a custom job label instance
- PIM-3909: Keep channel filter between product datagrid and edit form
- PIM-3925: Do not show system menu if no item allowed
- PIM-3806: Delete an attribute from a product template
- PIM-3843: Product deletion raise an exception
- PIM-3786: Attribute type should not be blank for import
- PIM-3437: Fix applying datagrid views and columns when not using hash navigation
- PIM-3817: Fix error when mass editing after refreshing the grid
- PIM-3849, PIM-3880: Fix bad completeness scope on mass edit actions
- PIM-3837: Fix XSS vulnerability on user form
- PIM-3665: Remove media even if file not on filesystem
- PIM-3834: add missing cascade detach product -> associations, product -> completenesses
- PIM-3820: Attribute option translation not well handled on import
- PIM-3762: Fix the bug on image not well displayed on pdf export
- PIM-3775: Fix variant group import from an archive
- PIM-3783: Fix issue with Rest API and MediaNormalizer
- PIM-3791: Fix fatal error on MongoDB mass pending persister
- PIM-3757: Fix bugs on product query filter on multiple filter applied at once
- PIM-3482: clean composer.json
- PIM-1235: Fix information message when trying to delete a category tree used by a channel
- PIM-3068: Darken navigation arrows in product grid
- PIM-2094: Regroup attributes validation properties in a subpanel
- PIM-3700: Fix comment display on long words
- PIM-2103: Display a loading when deleting a category tree
- PIM-3394: Improve forgotten password screen
- PIM-3398: Translate units on metric fields on product edit form
- PIM-3575: Sort csv column in a determinist way (alphabetically) on export
- PIM-3752: Fixed the hard coded entry
Select Job
on import/export creation - PIM-3736: Fix wrong count of products in Variant group view
- PIM-3628: Fixed products not being versioned when modifing a metric, price or media value
- PIM-3753: Fix completeness filter
## BC breaks
- Change the constructor of
Pim/Bundle/CatalogBundle/Doctrine/Common/Remover/AttributeRemover
to acceptPim/Bundle/CatalogBundle/Builder/ProductTemplateBuilder
as the fourth argument and acceptPim/Bundle/CatalogBundle/Entity/Repository/ProductTemplateRepository
as the fifth argument - Add a TranslatorInterface argument in MetricType::__construct
- Change of constructor of
Pim/Bundle/CommentBundle/Form/Type/CommentType
to acceptPim\Bundle\CommentBundle\Entity
as a string for the third argument - Added new constructor to
Pim/Bundle/DataGridBundle/Form/Type/DatagridViewType
to acceptPim\Bundle\DataGridBundle\Entity\DataGridView
as a string for the first argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AssociationType
to acceptPim\Bundle\CatalogBundle\Model\Product
as a string for the third argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AssociationType
to acceptPim\Bundle\CatalogBundle\Entity\AssociationType
as a string for the fourth - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AssociationType
to acceptPim\Bundle\CatalogBundle\Entity\Group
as a string for the fifth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AssociationType
to acceptPim\Bundle\CatalogBundle\Model\Association
as a string for the sixth argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/AssociationTypeType
to acceptPim\Bundle\CatalogBundle\Model\AssociationType
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/AttributeGroupType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeGroup
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/AttributeOptionCreateType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeOption
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/AttributeOptionType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeOption
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/AttributeOptionValueType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeOptionValue
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/AttributeRequirementType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeRequirement
as a string for the first argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AttributeType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeTranslation
as a string for the third argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AttributeType
to acceptPim\Bundle\CatalogBundle\Entity\Attribute
as a string for the fourth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AttributeType
to acceptPim\Bundle\CatalogBundle\Entity\AttributeGroup
as a string for the fifth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AvailableAttributesType
to acceptPim\Bundle\CatalogBundle\Entity\Attribute
as a string for the third argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/AvailableAttributesType
to acceptPim\Bundle\CatalogBundle\Model\AvailableAttribute
as a string for the fourth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/CategoryType
to acceptPim\Bundle\CatalogBundle\Entity\Category
as a string for the first argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/CategoryType
to acceptPim\Bundle\CatalogBundle\Entity\CategoryTranslation
as a string for the second argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/ChannelType
to acceptPim\Bundle\CatalogBundle\Entity\Category
as a string for the fourth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/ChannelType
to acceptPim\Bundle\CatalogBundle\Entity\Channel
as a string for the fifth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/FamilyType
to acceptPim\Bundle\CatalogBundle\Entity\Attribute
as a string for the fourth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/FamilyType
to acceptPim\Bundle\CatalogBundle\Entity\Family
as a string for the fifth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/GroupType
to acceptPim\Bundle\CatalogBundle\Entity\Attribute
as a string for the second argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/GroupType
to acceptPim\Bundle\CatalogBundle\Entity\Group
as a string for the third argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/GroupTypeType
to acceptPim\Bundle\CatalogBundle\Entity\GroupType
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/ImageType
to acceptPim\Bundle\CatalogBundle\Entity\ProductMedia
as a string for the fist argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToGroupsType
to acceptPim\Bundle\CatalogBundle\Entity\Group
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToGroupsType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\AddToGroups
as a string for the second argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToVariantGroupType
to acceptPim\Bundle\CatalogBundle\Entity\Group
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToVariantGroupType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\AddToVariantGroup
as a second for the third argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/ChangeFamilyType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\ChangeFamily
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/ChangeStatusType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\ChangeStatus
as a string for the first argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/ClassifyType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\Classify
as a string for the second argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/EditCommonAttributesType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\EditCommonAttributes
as a string for the fifth argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/SetAttributeRequirementsType
to acceptPim\Bundle\EnrichBundle\MassEditAction\Operation\SetAttributeRequirements
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MediaType
to acceptPim\Bundle\CatalogBundle\Model\ProductMedia
as a string for the first argument - Added new constructor to
Pim/Bundle/EnrichBundle/Form/Type/MetricType
to acceptPim\Bundle\CatalogBundle\Model\Metric
as a string for the first argument - Change the constructor of
Pim/Bundle/EnrichBundle/Form/Type/PriceType
to acceptPim\Bundle\CatalogBundle\Model\Price
as a string for the first argument - Change the constructor of
Pim/Bundle/ImportExportBundle/Form/Type/JobInstanceType
to acceptSymfony\Component\Translation\TranslatorInterface
as for the second argument - Change the constructor of
Pim/Bundle/BaseConnectorBundle/Writer/Doctrine/ProductWriter
to acceptPim\Bundle\CatalogBundle\Manager\MediaManager
as for the first argument instead ofPim\Bundle\CatalogBundle\Manager\ProductManager
- Change the constructor of
Pim/Bundle/CatalogBundle/Manager/AssociationTypeManager
to remove the $eventDispatcher argument from the constructor - Change the constructor of
Pim/Bundle/CatalogBundle/Manager/AttributeManager
to remove the $eventDispatcher argument from the constructor - Change the constructor of
Pim/Bundle/CatalogBundle/Manager/CategoryManager
to remove the $eventDispatcher argument from the constructor - Change the constructor of
Pim/Bundle/CatalogBundle/Manager/GroupManager
to remove the $eventDispatcher argument from the constructor - Change the constructor of
Pim/Bundle/CatalogBundle/Manager/FamilyManager
to remove the $eventDispatcher argument from the constructor - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/AttributeGroupController
to acceptAkeneo\Component\StorageUtils\Remover\RemoverInterface
andAkeneo\Component\StorageUtils\Saver\BulkSaverInterface
as for the fourteenth and fifteenth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/CategoryTreeController
to acceptAkeneo\Component\StorageUtils\Remover\RemoverInterface
andAkeneo\Component\StorageUtils\Saver\SaverInterface
as for the fourteenth and fifteenth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/FamilyController
to acceptAkeneo\Component\StorageUtils\Remover\RemoverInterface
andAkeneo\Component\StorageUtils\Saver\SaverInterface
as for the fourteenth and fifteenth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/GroupController
to acceptAkeneo\Component\StorageUtils\Remover\RemoverInterface
as for the fourteenth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/ProductController
to acceptAkeneo\Component\StorageUtils\Remover\RemoverInterface
as for the fourteenth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/VariantGroupController
to acceptAkeneo\Component\StorageUtils\Remover\RemoverInterface
as for the fourteenth argument - Change the constructor of
Pim/Bundle/EnrichBundle/Controller/VariantGroupController
and removePim\Bundle\CatalogBundle\Builder\ProductTemplateBuilderInterface
- Export a product as PDF
- Add a widget in the navigation bar to display notifications when import/export jobs finish
- Add the sequential edit for a selected list of products
- Add comments on a product
- Load dashboard widgets asynchronously and allow to refresh the data
- Add filters for image and file attributes
- Add values to variant group and be able to apply them on products belonging to the variant group
- Remove deprecated attribute property Usable as a grid column because all attributes are now useable as columns
- Refactor of the attribute options screen to handle more than 100 options (AJAX)
- Load all product grid filters asynchronously
- Improve the UI of the datagrid column configuration popin
- Enhance the display of permissions in the role permissions edit form
- Better display on batch warnings
- Redesign of the loading box
- Add an information message when there is no common attribute in the mass-edit
- Add ACL on entity history
- Add a notice in manage attribute groups and manage categories
- Re-design select all options in grid filters
- Display symbol and not code for currencies in the grid
- Enhance the product edit form header on small resolutions (1024)
- Provide a cleaner ProductQueryBuilder API to ease the selection of products
- Provide a ProductUpdater API to mass update products
- Introduce the 'pim_validator' service to be able to validate products and cascade on values with dynamic constraints
- Introduce commands to ease developer's life (
pim:product:query
,pim:product:query-help
,pim:product:update
,pim:product:validate
) - Add flat / csv denormalizers for product data
- Remove the fixed mysql socket location
- Switch to stability stable
- Base template has been moved from
app/Resources/views
toPimEnrichBundle/Resources/views
- Make classes of
Pim\Bundle\CatalogBundle\Model
consistent with the interfaces - Move filter transformation to CatalogBundle
- Re-work
Pim\Bundle\ImportExportBundle\Controller\JobProfileController
to make it more readable - Re-work the
Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilder
to provide a clear and extensible API to query products - Normalize the managers by introducing 4 interfaces,
Akeneo\Component\Persistence\SaverInterface
,Akeneo\Component\Persistence\BulkSaverInterface
,Akeneo\Component\Persistence\RemoverInterface
andPim\Component\Persistence\BulkRemoverInterface
- Add a view manager to help integrators to override and add elements to the UI (tabs, buttons, etc)
- Add a check on passed values in ORM filters
- Add a requirement regarding the need of the
exec()
function (for job executions) - Use
Pim\Bundle\CatalogBundle\Model\ProductInterface
instead ofPim\Bundle\CatalogBundle\Model\AbstractProduct
- Use
Pim\Bundle\CatalogBundle\Model\ProductValueInterface
instead ofPim\Bundle\CatalogBundle\Model\AbstractProductValue
- Use
Pim\Bundle\CatalogBundle\Model\ProductPriceInterface
instead ofPim\Bundle\CatalogBundle\Model\AbstractProductPrice
- Use
Pim\Bundle\CatalogBundle\Model\ProductMediaInterface
instead ofPim\Bundle\CatalogBundle\Model\AbstractMetric
- Use
Pim\Bundle\CatalogBundle\Model\AttributeInterface
instead ofPim\Bundle\CatalogBundle\Model\AbstractAttribute
- Use
Pim\Bundle\CatalogBundle\Model\CompletenessInterface
instead ofPim\Bundle\CatalogBundle\Model\AbstractCompleteness
- Allow to generate many versions in a single request
- Introduce
Pim\Bundle\CatalogBundle\Model\GroupInterface
instead ofPim\Bundle\CatalogBundle\Entity\Group
- Use
Pim\Bundle\CatalogBundle\Model\AttributeOptionInterface
instead ofPim\Bundle\CatalogBundle\Entity\AttributeOption
- Use
Pim\Bundle\CatalogBundle\Model\AttributeOptionValueInterface
instead ofPim\Bundle\CatalogBundle\Entity\AttributeOptionValue
- Use
Pim\Bundle\CatalogBundle\Model\AttributeRequirementInterface
instead ofPim\Bundle\CatalogBundle\Entity\AttributeRequirement
- Use
Pim\Bundle\CatalogBundle\Model\AssociationTypeInterface
instead ofPim\Bundle\CatalogBundle\Entity\AssociationType
- Use
Pim\Bundle\CatalogBundle\Model\GroupTypeInterface
instead ofPim\Bundle\CatalogBundle\Entity\GroupType
- Use
Pim\Bundle\CatalogBundle\Model\AttributeGroupInterface
instead ofPim\Bundle\CatalogBundle\Entity\AttributeGroup
- Use
Pim\Bundle\CatalogBundle\Model\ChannelInterface
instead ofPim\Bundle\CatalogBundle\Entity\Channel
- Use
Pim\Bundle\CatalogBundle\Model\CurrencyInterface
instead ofPim\Bundle\CatalogBundle\Entity\Currency
- Removed
icecat_demo
from fixtures
## BC breaks
- Rename
Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\ResolveDoctrineOrmTargetEntitiesPass
toPim\Bundle\CatalogBundle\DependencyInjection\Compiler\ResolveDoctrineTargetModelsPass
- Rename
Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\AbstractResolveDoctrineOrmTargetEntitiesPass
toPim\Bundle\CatalogBundle\DependencyInjection\Compiler\AbstractResolveDoctrineTargetModelsPass
- Rename
Pim\Bundle\UIBundle\Form\Transformer\IntegerTransformer
toPim\Bundle\UIBundle\Form\Transformer\NumberTransformer
- Remove useless applySorterByAttribute, applySorterByField from Pim\Bundle\CatalogBundle\Doctrine\ORM\ProductRepository
- Introduce ``Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilderInterface`
- Change visibility of
Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilder::addAttributeFilter
,Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilder::addFieldFilter
from public to protected - Change visibility of
Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilder::addAttributeSorter
,Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilder::addFieldSorter
from public to protected - Remove
ProductManager
fromProductFilterUtility::__construct
argument - Remove
ProductFilterUtility::getAttribute()
- Two new methods have been added to
Pim\Bundle\DashboardBundle\Widget\WidgetInterface
:getAlias
andgetData
- Constructor of
Pim\Bundle\DashboardBundle\Controller\WidgetController
has been changed (most dependencies have been removed) - Method
Pim\Bundle\DashboardBundle\Controller\WidgetController::showAction()
has been removed in favor oflistAction
to render all widgets anddataAction
to provide widget data - Constructors of
Pim\Bundle\DashboardBundle\Widget\CompletenessWidget
andPim\Bundle\DashboardBundle\Widget\LastOperationsWidget
have been changed Pim\Bundle\DashboardBundle\Widget\Registry:add()
now accepts the widget (WidgetInterface
) as the first argument and position as the second- Remove CatalogContext argument from ProductQueryBuilder::__construct
- Remove ProductRepository from Datagrid Sorters __construct
- Remove deprecated ProductRepositoryInterface::getProductQueryBuilder
- Replace setProductQueryBuilder by setProductQueryFactory and add a getObjectManager in ProductRepositoryInterface
- Add a ProductQueryFactoryInterface argument in ProductDatasource::__construct
- Add a $productOrmAdapterClass argument in DatasourceAdapterResolver::__construct
- Remove is_default, translatable from attributeOption mapping
- Remove AttributeOption::setDefault, AttributeOption::isDefault
- Remove AttributeInterface::getDefaultOptions
- Remove $optionClass and $optionValueClass arguments from the AttributeManager::__construct
- Remove createAttributeOption, createAttributeOptionValue, getAttributeOptionClass from the attributeManager (now in the attributeOptionManager)
- Add a $attributeOptionManager argument in AttributeController::__construct
- Remove MediaManager argument from CsvProductWriter::__construct
- Update CsvProductWriter::copyMedia argument to replace AbstractProductMedia by an array
- Change constructor of
Pim\Bundle\BaseConnectorBundle\Processor\TransformerProcessor
.Doctrine\Common\Persistence\ManagerRegistry
is used as fourth argument and is mandatory now. The data class is the fifth argument. - Change constructor of
Pim\Bundle\CatalogBundle\Doctrine\ORM\Filter\*
andPim\Bundle\CatalogBundle\Doctrine\ORM\Sorter\*
to remove the CatalogContext - Remove ProductRepositoryInterface::findOneBy (still a native support for ORM)
- Add ProductRepositoryInterface::findOneByIdentifier and findOneById
- Remove ProductRepositoryInterface::buildByScope
- Remove ProductRepositoryInterface::findByExistingFamily
- Remove ProductRepositoryInterface::findAllByAttributes
- Move CatalogBundle/Doctrine/ORM/CompletenessJoin and CatalogBundle/Doctrine/ORM/ValueJoin to CatalogBundle/Doctrine/ORM/Join
- Move CatalogBundle/Doctrine/ORM/CriteriaCondition to CatalogBundle/Doctrine/ORM/Condition
- Remove the 'defaultValue' property of attributes and
Pim/Bundle/CatalogBundle/Model/AttributeInterface::setDefaultValue()
andgetDefaultValue()
- Refactor
Pim\Bundle\EnrichBundle\Controller\SequentialEditController
- Remove the
Pim\Bundle\CatalogBundle\Doctrine\(ORM|MongoDBODM)\Filter\BaseFilter
to use proper dedicated filters - The parameter
category_id
for the routepim_enrich_product_listcategories
has been renamed tocategoryId
- Change constructor of
Pim\Bundle\BaseConnectorBundle\Reader\File\CsvProductReader
. NowFieldNameBuilder
, channel, locale and currency entity classes are mandatory. - AttributeTypeRegistry replaces AttributeTypeFactory, changed constructors for AttributeManager, ProductValueFormFactory, AddAttributeTypeRelatedFieldsSubscriber
- Drop Pim\Bundle\CatalogBundle\Doctrine\EntityRepository, ORM repositories now extends Doctrine\ORM\EntityRepository, no more access to buildAll(), build() and buildOne()
- Replace AssociationTypeRepository::buildMissingAssociationTypes by AssociationTypeRepository::findMissingAssociationTypes
- Replace AttributeGroupRepository::buildAllWithTranslations by AttributeGroupRepository::findAllWithTranslations
- Replace GroupTypeRepository::buildAll by GroupTypeRepository::getAllGroupsExceptVariantQB
- In AttributeGroupHandler::_construct, replace ObjectManager argument by AttributeGroupManager
- Remove unused ProductManager::removeAll() method
- Add an ObjectManager argument in DatagridViewManager::__construct
- Change of constructor of
Pim\Bundle\EnrichBundle\Form\Handler\ChannelHandler
to acceptPim\Bundle\CatalogBundle\Manager\ChannelManager
as third argument - Change of constructor of
Pim\Bundle\EnrichBundle\Form\Handler\FamilyHandler
to acceptPim\Bundle\CatalogBundle\Manager\FamilyManager
as third argument - Change of constructor of
Pim\Bundle\EnrichBundle\Form\Handler\GroupHandler
to acceptPim\Bundle\CatalogBundle\Manager\GroupManager
as third argument andPim\Bundle\CatalogBundle\Manager\ProductManager
as fourth argument - Change of constructor of
Pim\Bundle\CatalogBundle\Manager\FamilyManager
to acceptPim\Bundle\CatalogBundle\Manager\CompletenessManager
as sixth argument - Change of constructor of
Pim\Bundle\CatalogBundle\Manager\ChannelManager
to acceptPim\Bundle\CatalogBundle\Entity\Repository\ChannelRepository
as second argument andPim\Bundle\CatalogBundle\Manager\CompletenessManager
as third argument - Use
Pim\Bundle\EnrichBundle\Form\Handler\HandlerInterface
in constructors of AssociationTypeController, AttributeController, AttributeGroupController, ChannelController, FamilyController, GroupController, GroupTypeController - Change of constructor of
Pim\Bundle\EnrichBundle\Controller\FamilyController
to removePim\Bundle\CatalogBundle\Manager\CompletenessManager
argument - Remove ObjectManager first argument of
Pim\Bundle\EnrichBundle\Builder\ProductBuilder
constructor and delete method removeAttributeFromProduct - Change of constructor of
Pim\Bundle\CatalogBundle\Doctrine\MongoDBODM\CompletenessGenerator
to acceptPim\Bundle\CatalogBundle\Entity\Repository\ChannelRepository
as third argument to replacePim\Bundle\CatalogBundle\Manager\ChannelManager
argument - Method
Pim\Bundle\CatalogBundle\Entity\Category::addProduct()
,Pim\Bundle\CatalogBundle\Entity\Category::removeProduct()
,Pim\Bundle\CatalogBundle\Entity\Category::setProducts()
have been removed. - We now use uniqid() to generate filename prefix (on media attributes)
- Change of constructor of
Pim\Bundle\EnrichBundle\Controller\ChannelController
to add aRemoverInterface
as last argument - Change of constructor of
Pim\Bundle\EnrichBundle\Controller\GroupTypeController.php
to add aRemoverInterface
as last argument ProductPersister
andBasePersister
has been replaced byProductSaver
in CatalogBundle- Add methods
execute()
,getQueryBuilder()
,setQueryBuilder()
inProductQueryBuilderInterface
- Add
MediaFactory
andObjectManager
arguments in MediaManager contructor - Change of constructor
Pim\Bundle\EnrichBundle\MassEditAction\Operation\EditCommonAttributes
to remove argumentsPim\Bundle\CatalogBundle\Builder\ProductBuilder
andPim\Bundle\CatalogBundle\Factory\MetricFactory
.Pim\Bundle\CatalogBundle\Updater\ProductUpdaterInterface
is expected as second argument andSymfony\Component\Serializer\Normalizer\NormalizerInterface
is expected as last but one. - Enabled field in normalized data is now a boolean in mongodb. You can migrate your database with the script located at
./upgrades/1.2-1.3/mongodb/migrate_statuses.php
- Change constructor of
Pim\Bundle\CatalogBundle\Manager\ProductManager
to accept aPim\Component\Resource\Model\SaverInterface
as second argument. Add aPim\Component\Resource\Model\BulkSaverInterface
as third argument - FieldNameBuilder constructor now expects $channelClass and $localeClass FQCN
- The Pim\Bundle\VersioningBundle\UpdateGuesser\AttributeUpdateGuesser has been removed
- IndexCreator constructor now expects a LoggerInterface as last argument
- Add methods isLocaleSpecific and getLocaleSpecificCodes in AttributeInterface
- AssociationTransformer constructor now expects a $associationTypeClass as last argument
- Inject the GroupFactory as las constructor argument in GroupController and VariantGroupController
- (Akeneo storage) The following constants have been moved:
DOCTRINE_ORM
andDOCTRINE_MONGODB_ODM
fromPim\Bundle\CatalogBundle\DependencyInjection\PimCatalogExtension
are now located inAkeneo\Bundle\StorageUtilsBundle\DependencyInjection\AkeneoStorageUtilsExtension
DOCTRINE_MONGODB
,ODM_ENTITIES_TYPE
andODM_ENTITY_TYPE
fromPim\Bundle\CatalogBundle\PimCatalogBundle
are now located inAkeneo\Bundle\StorageUtilsBundle\AkeneoStorageUtilsBundle
- (Akeneo storage) The container parameter
pim_catalog.storage_driver
has been deleted - (Akeneo storage) The following services have been renamed:
pim_catalog.event_subscriber.resolve_target_repository
has been renamed toakeneo_storage_utils.event_subscriber.resolve_target_repository
pim_catalog.doctrine.smart_manager_registry
has been renamed toakeneo_storage_utils.doctrine.smart_manager_registry
pim_catalog.doctrine.table_name_builder
has been renamed toakeneo_storage_utils.doctrine.table_name_builder
pim_catalog.factory.referenced_collection
has been renamed toakeneo_storage_utils.factory.referenced_collection
pim_catalog.event_subscriber.mongodb.resolve_target_repositories
has been renamed toakeneo_storage_utils.event_subscriber.mongodb.resolve_target_repository
pim_catalog.event_subscriber.mongodb.entities_type
has been renamed toakeneo_storage_utils.event_subscriber.mongodb.entities_type
pim_catalog.event_subscriber.mongodb.entity_type
has been renamed toakeneo_storage_utils.event_subscriber.mongodb.entity_type
pim_catalog.mongodb.mongo_objects_factory
has been renamed toakeneo_storage_utils.mongodb.mongo_objects_factory
- (Akeneo storage) The following classes have been renamed or moved:
Pim\Bundle\CatalogBundle\MongoDB\MongoObjectsFactory
becomesAkeneo\Bundle\StorageUtilsBundle\MongoDB\MongoObjectsFactory
Pim\Bundle\CatalogBundle\MongoDB\Type\Entities
becomesAkeneo\Bundle\StorageUtilsBundle\MongoDB\Type\Entities
Pim\Bundle\CatalogBundle\MongoDB\Type\Entity
becomesAkeneo\Bundle\StorageUtilsBundle\MongoDB\Type\Entity
Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\AbstractResolveDoctrineTargetModelsPass
becomesAkeneo\Bundle\StorageUtilsBundle\DependencyInjection\Compiler\AbstractResolveDoctrineTargetModelPass
Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\ResolveDoctrineTargetRepositoriesPass
becomesAkeneo\Bundle\StorageUtilsBundle\DependencyInjection\Compiler\ResolveDoctrineTargetRepositoryPass
Pim\Bundle\CatalogBundle\Doctrine\ReferencedCollection
becomesAkeneo\Bundle\StorageUtilsBundle\Doctrine\ReferencedCollection
Pim\Bundle\CatalogBundle\Doctrine\ReferencedCollectionFactory
becomesAkeneo\Bundle\StorageUtilsBundle\Doctrine\ReferencedCollectionFactory
Pim\Bundle\CatalogBundle\Doctrine\SmartManagerRegistry
becomesAkeneo\Bundle\StorageUtilsBundle\Doctrine\SmartManagerRegistry
Pim\Bundle\CatalogBundle\Doctrine\TableNameBuilder
becomesAkeneo\Bundle\StorageUtilsBundle\Doctrine\TableNameBuilder
Pim\Bundle\CatalogBundle\EventSubscriber\MongoDBODM\EntitiesTypeSubscriber
becomesAkeneo\Bundle\StorageUtilsBundle\EventSubscriber\MongoDBODM\EntitiesTypeSubscriber
Pim\Bundle\CatalogBundle\EventSubscriber\MongoDBODM\EntityTypeSubscriber
becomesAkeneo\Bundle\StorageUtilsBundle\EventSubscriber\MongoDBODM\EntityTypeSubscriber
Pim\Bundle\CatalogBundle\EventSubscriber\ResolveTargetRepositorySubscriber
becomesAkeneo\Bundle\StorageUtilsBundle\EventSubscriber\ResolveTargetRepositorySubscriber
- ProductBuilder now takes
Pim\Bundle\CatalogBundle\Entity\Repository\ChannelRepository
,Pim\Bundle\CatalogBundle\Entity\Repository\CurrencyRepository
,Pim\Bundle\CatalogBundle\Entity\Repository\LocaleRepository
and not anymore Managers - constructor of
Pim\Bundle\EnrichBundle\MassEditAction\Operator\ProductMassEditOperator
to remove ProductManager - following constructors have been changed to add
Akeneo\Component\Persistence\BulkSaverInterface
as argument:Pim\Bundle\EnrichBundle\MassEditAction\Operation\ChangeStatus
Pim\Bundle\EnrichBundle\MassEditAction\Operation\EditCommonAttributes
Pim\Bundle\EnrichBundle\MassEditAction\Operation\Classify
Pim\Bundle\EnrichBundle\MassEditAction\Operation\ChangeFamily
Pim\Bundle\EnrichBundle\MassEditAction\Operation\AddToGroups
- removeAttributesAction and addAttributesAction have been move from
Pim\Bundle\EnrichBundle\Controller\ProductController
to a dedicatedPim\Bundle\EnrichBundle\Controller\ProductAttributeController
- constructor of
Pim\Bundle\EnrichBundle\Controller\ProductController
has been updated and now receivesAkeneo\Component\Persistence\SaverInterface
,Pim\Bundle\CatalogBundle\Manager\MediaManager
andPim\Bundle\EnrichBundle\Manager\SequentialEditManager
as extra arguments - the method execute() of
Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilderInterface
now return aAkeneo\Bundle\StorageUtilsBundle\Cursor\CursorInterface
- Added a new parameter in
src/Pim/Bundle/CatalogBundle/Manager/MediaManager
that gives the uploaded directory - constructor of
Pim\Bundle\EnrichBundle\Form\View\ProductFormView
has been updated and now receivesPim\Bundle\EnrichBundle\Form\View\ViewUpdater\ViewUpdaterRegistry
- constructor of
Pim\Bundle\TransformBundle\Transformer\ProductTransformer
has been updated and now receivesPim\Bundle\CatalogBundle\Updater\ProductTemplateUpdaterInterface
- You cannot add product to multiple variant group anymore
- constructor of
Pim\Bundle\CatalogBundle\Entity\Repository\GroupRepository
to add ProductTemplateUpdaterInterface and Validator interface - rename buildProductValueForm to createProductValueForm in
Pim\Bundle\EnrichBundle\Form\Factory\ProductValueFormFactory
- The method
setContext
for the classsrc/Pim/Bundle/VersioningBundle/Manager/VersionManager
has been moved tosrc/Pim/Bundle/VersioningBundle/Manager/VersionContext
and renamed setContextInfo - The method
getContext
for the classsrc/Pim/Bundle/VersioningBundle/Manager/VersionManager
has been moved tosrc/Pim/Bundle/VersioningBundle/Manager/VersionContext
and renamed getContextInfo - constructor of
Pim/Bundle/CatalogBundle/Doctrine/Common/Saver/GroupSaver
has been updated and now receivesPim\Bundle\VersioningBundle\Manager\VersionContext
instead ofPim\Bundle\VersioningBundle\Manager\VersionManager
- constructor of
Pim/Bundle/VersioningBundle/Doctrine/AbstractPendingMassPersister
has been updated and now receivesPim\Bundle\VersioningBundle\Manager\VersionContext
- constructor of
Pim/Bundle/VersioningBundle/Doctrine/ORM/PendingMassPersister
has been updated and now receivesPim\Bundle\VersioningBundle\Manager\VersionContext
- constructor of
Pim/Bundle/VersioningBundle/EventSubscriber/AddVersionSubscriber
has been updated and now receivesPim\Bundle\VersioningBundle\Manager\VersionContext
- constructor of
src/Pim/Bundle/VersioningBundle/EventSubscriber/MongoDBODM/AddProductVersionSubscriber.php
has been updated and now receivesPim\Bundle\VersioningBundle\Manager\VersionContext
- constructor of
src/Pim/Bundle/CatalogBundle/Manager/GroupManager
has been updated and now receivesPim\Bundle\CatalogBundle\Repository\ProductRepositoryInterface
- Added
getProductsByGroup
method inPim/Bundle/CatalogBundle/Repository/ProductRepositoryInterface
- PIM-3332: Fix incompatibility with overriden category due to usage of ParamConverter in ProductController
- PIM-3069: Fix image file prefixes not well generated on product creation (import and fixtures)
- PIM-3548: Do not use the absolute file path of a media
- PIM-3730: Fix variant group link on product edit page
- PIM-3632: Correctly show scopable attribute icons on scope change
- PIM-3583: Fix the bad parsed filter value with spaces