Skip to content

Latest commit

 

History

History
536 lines (434 loc) · 39.6 KB

CHANGELOG-1.3.md

File metadata and controls

536 lines (434 loc) · 39.6 KB

1.3.41 (2016-04-01)

Bug fixes

  • PIM-5699: Fix 'is equal to' operator in export / import history grid filter

1.3.40 (2016-03-16)

Bug fixes

  • PIM-5638: Server error when saving association on products

1.3.39 (2016-03-03)

Bug fixes

  • PIM-5610: Fix boolean filter on product grid

1.3.38 (2016-02-10)

Bug fixes

  • PIM-5532: Fix localized media thumbnail not displayable in grid

1.3.37 (2016-01-29)

Bug fixes

  • 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

1.3.36 (2016-01-15)

Bug fixes

  • PIM-5422: Fix memory leak on import product

1.3.35 (2015-12-29)

1.3.34 (2015-12-17)

Bug fixes

  • PIM-5335: Fix media save on variant group

1.3.33 (2015-11-25)

Bug fixes

  • PIM-5224: Fix first matching option on selects during filtering via the pqb

1.3.32 (2015-11-19)

Technical improvements

  • Introduction of a command to purge completenesses: pim:completeness:purge

Bug fixes

  • 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)

1.3.31 (2015-11-12)

Technical improvements

  • Bump BatchBundle to not hydrate all JobExecution of a JobInstance during a the creation of a JobExecution

1.3.30 (2015-11-03)

Bug fixes

  • PIM-5054: Merge variant group imported template values

1.3.29 (2015-10-27)

Bug fixes

  • PIM-5062: Do not convert NULL metric value

1.3.28 (2015-10-22)

Technical improvements

  • PIM-5028: Fix log levels configuration for prod and dev environments
  • PIM-5037: Do not cascade detach product associated entities

1.3.27 (2015-10-02)

Bug fixes

PIM-4920: add translation keys

1.3.26 (2015-09-16)

1.3.25 (2015-09-14)

Technical improvements

  • PIM-4866: Added I should see the tab assertion method in behat

1.3.24 (2015-09-03)

Bug fixes

  • PIM-4845: Family menu access denied from the shortcut dashboard entry

1.3.23 (2015-08-31)

Bug fixes

  • PIM-4810: Correctly detach association reference when transformation fails

1.3.22 (2015-08-25)

Bug fixes

  • PIM-4612: Error on Quick Export (MongoDB)
  • PIM-4803: Drag & Drop is too long when I filter on attribute group

1.3.21 (2015-08-17)

Bug fixes

  • PIM-4753: Fix updated date issues for Versionable objects

1.3.20 (2015-08-14)

Bug fixes

  • PIM-4737: Fix a bug with the select2 cache.

1.3.19 (2015-08-13)

Bug fixes

  • 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)

1.3.18 (2015-07-09)

Bug fixes

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

1.3.17 (2015-07-07)

Bug fixes

  • PIM-4494: Fix loading page when family has been sorted

1.3.16 (2015-06-08)

Bug fixes

  • PIM-4312: Fix price indexes on MongoDB
  • PIM-4112: Not translated Error message when wrong format import

1.3.15 (2015-06-05)

Bug fixes

  • PIM-4308: MongoDB indexes are removed on schema update
  • PIM-4314: Added missing translation keys

1.3.14 (2015-06-03)

Bug fixes

  • PIM-4227: fix BC break introduced in 1.3.13
  • PIM-4309: Fix bug processing media with a non existing media

1.3.13 (2015-05-29)

Bug fixes

  • 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)

1.3.12 (2015-05-22)

Bug fixes

  • 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

1.3.11 (2015-05-13)

Bug fixes

  • 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

1.3.10 (2015-05-05)

Bug fixes

  • PIM-4113: Initialize cursors on first item during creation
  • PIM-4122: Preserve variant structure during an import containing empty values from a template

1.3.9 (2015-04-21)

Bug fixes

  • PIM-4082: Fix error translation keys when creating a job

1.3.8 (2015-04-14)

Bug fixes

  • 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

Technical improvements

  • rollback the visibility of the ProductRepository::buildByScope from protected to public (as in 1.2) to ensure connectors compatibility

1.3.7 (2015-04-03)

Bug fixes

  • 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

1.3.6 (2015-04-01)

Bug fixes

  • 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 include Oro\Bundle\SecurityBundle\SecurityFacadeand Pim\Bundle\CatalogBundle\Repository\AttributeGroupRepositoryInterface

1.3.5 (2015-03-19)

Bug fixes

  • 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

1.3.4 (2015-03-11)

Bug fixes

  • 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

1.3.3 (2015-03-02)

Bug fixes

  • PIM-3837: Fix XSS vulnerability on user form

1.3.2 (2015-02-27)

Bug fixes

  • 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

1.3.1 (2015-02-24)

Bug fixes

  • 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

1.3.0 - "Hare Force" (2015-02-12)

1.3.0-RC3 (2015-02-12)

Technical improvements

  • PIM-3482: clean composer.json

1.3.0-RC2 (2015-02-12)

Bug fixes

  • 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 accept Pim/Bundle/CatalogBundle/Builder/ProductTemplateBuilder as the fourth argument and accept Pim/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 accept Pim\Bundle\CommentBundle\Entity as a string for the third argument
  • Added new constructor to Pim/Bundle/DataGridBundle/Form/Type/DatagridViewType to accept Pim\Bundle\DataGridBundle\Entity\DataGridView as a string for the first argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AssociationType to accept Pim\Bundle\CatalogBundle\Model\Product as a string for the third argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AssociationType to accept Pim\Bundle\CatalogBundle\Entity\AssociationType as a string for the fourth
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AssociationType to accept Pim\Bundle\CatalogBundle\Entity\Group as a string for the fifth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AssociationType to accept Pim\Bundle\CatalogBundle\Model\Association as a string for the sixth argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/AssociationTypeType to accept Pim\Bundle\CatalogBundle\Model\AssociationType as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/AttributeGroupType to accept Pim\Bundle\CatalogBundle\Entity\AttributeGroup as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/AttributeOptionCreateType to accept Pim\Bundle\CatalogBundle\Entity\AttributeOption as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/AttributeOptionType to accept Pim\Bundle\CatalogBundle\Entity\AttributeOption as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/AttributeOptionValueType to accept Pim\Bundle\CatalogBundle\Entity\AttributeOptionValue as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/AttributeRequirementType to accept Pim\Bundle\CatalogBundle\Entity\AttributeRequirement as a string for the first argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AttributeType to accept Pim\Bundle\CatalogBundle\Entity\AttributeTranslation as a string for the third argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AttributeType to accept Pim\Bundle\CatalogBundle\Entity\Attribute as a string for the fourth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AttributeType to accept Pim\Bundle\CatalogBundle\Entity\AttributeGroup as a string for the fifth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AvailableAttributesType to accept Pim\Bundle\CatalogBundle\Entity\Attribute as a string for the third argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/AvailableAttributesType to accept Pim\Bundle\CatalogBundle\Model\AvailableAttribute as a string for the fourth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/CategoryType to accept Pim\Bundle\CatalogBundle\Entity\Category as a string for the first argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/CategoryType to accept Pim\Bundle\CatalogBundle\Entity\CategoryTranslation as a string for the second argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/ChannelType to accept Pim\Bundle\CatalogBundle\Entity\Category as a string for the fourth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/ChannelType to accept Pim\Bundle\CatalogBundle\Entity\Channel as a string for the fifth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/FamilyType to accept Pim\Bundle\CatalogBundle\Entity\Attribute as a string for the fourth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/FamilyType to accept Pim\Bundle\CatalogBundle\Entity\Family as a string for the fifth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/GroupType to accept Pim\Bundle\CatalogBundle\Entity\Attribute as a string for the second argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/GroupType to accept Pim\Bundle\CatalogBundle\Entity\Group as a string for the third argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/GroupTypeType to accept Pim\Bundle\CatalogBundle\Entity\GroupType as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/ImageType to accept Pim\Bundle\CatalogBundle\Entity\ProductMedia as a string for the fist argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToGroupsType to accept Pim\Bundle\CatalogBundle\Entity\Group as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToGroupsType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\AddToGroups as a string for the second argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToVariantGroupType to accept Pim\Bundle\CatalogBundle\Entity\Group as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/AddToVariantGroupType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\AddToVariantGroup as a second for the third argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/ChangeFamilyType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\ChangeFamily as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/ChangeStatusType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\ChangeStatus as a string for the first argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/ClassifyType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\Classify as a string for the second argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/EditCommonAttributesType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\EditCommonAttributes as a string for the fifth argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MassEditAction/SetAttributeRequirementsType to accept Pim\Bundle\EnrichBundle\MassEditAction\Operation\SetAttributeRequirements as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MediaType to accept Pim\Bundle\CatalogBundle\Model\ProductMedia as a string for the first argument
  • Added new constructor to Pim/Bundle/EnrichBundle/Form/Type/MetricType to accept Pim\Bundle\CatalogBundle\Model\Metric as a string for the first argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Form/Type/PriceType to accept Pim\Bundle\CatalogBundle\Model\Price as a string for the first argument
  • Change the constructor of Pim/Bundle/ImportExportBundle/Form/Type/JobInstanceType to accept Symfony\Component\Translation\TranslatorInterface as for the second argument
  • Change the constructor of Pim/Bundle/BaseConnectorBundle/Writer/Doctrine/ProductWriter to accept Pim\Bundle\CatalogBundle\Manager\MediaManager as for the first argument instead of Pim\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 accept Akeneo\Component\StorageUtils\Remover\RemoverInterface and Akeneo\Component\StorageUtils\Saver\BulkSaverInterface as for the fourteenth and fifteenth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Controller/CategoryTreeController to accept Akeneo\Component\StorageUtils\Remover\RemoverInterface and Akeneo\Component\StorageUtils\Saver\SaverInterface as for the fourteenth and fifteenth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Controller/FamilyController to accept Akeneo\Component\StorageUtils\Remover\RemoverInterface and Akeneo\Component\StorageUtils\Saver\SaverInterface as for the fourteenth and fifteenth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Controller/GroupController to accept Akeneo\Component\StorageUtils\Remover\RemoverInterface as for the fourteenth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Controller/ProductController to accept Akeneo\Component\StorageUtils\Remover\RemoverInterface as for the fourteenth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Controller/VariantGroupController to accept Akeneo\Component\StorageUtils\Remover\RemoverInterface as for the fourteenth argument
  • Change the constructor of Pim/Bundle/EnrichBundle/Controller/VariantGroupController and remove Pim\Bundle\CatalogBundle\Builder\ProductTemplateBuilderInterface

1.3.0-RC1 (2015-02-03)

Features

  • 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)

Technical improvements

  • 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 to PimEnrichBundle/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 and Pim\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 of Pim\Bundle\CatalogBundle\Model\AbstractProduct
  • Use Pim\Bundle\CatalogBundle\Model\ProductValueInterface instead of Pim\Bundle\CatalogBundle\Model\AbstractProductValue
  • Use Pim\Bundle\CatalogBundle\Model\ProductPriceInterface instead of Pim\Bundle\CatalogBundle\Model\AbstractProductPrice
  • Use Pim\Bundle\CatalogBundle\Model\ProductMediaInterface instead of Pim\Bundle\CatalogBundle\Model\AbstractMetric
  • Use Pim\Bundle\CatalogBundle\Model\AttributeInterface instead of Pim\Bundle\CatalogBundle\Model\AbstractAttribute
  • Use Pim\Bundle\CatalogBundle\Model\CompletenessInterface instead of Pim\Bundle\CatalogBundle\Model\AbstractCompleteness
  • Allow to generate many versions in a single request
  • Introduce Pim\Bundle\CatalogBundle\Model\GroupInterface instead of Pim\Bundle\CatalogBundle\Entity\Group
  • Use Pim\Bundle\CatalogBundle\Model\AttributeOptionInterface instead of Pim\Bundle\CatalogBundle\Entity\AttributeOption
  • Use Pim\Bundle\CatalogBundle\Model\AttributeOptionValueInterface instead of Pim\Bundle\CatalogBundle\Entity\AttributeOptionValue
  • Use Pim\Bundle\CatalogBundle\Model\AttributeRequirementInterface instead of Pim\Bundle\CatalogBundle\Entity\AttributeRequirement
  • Use Pim\Bundle\CatalogBundle\Model\AssociationTypeInterface instead of Pim\Bundle\CatalogBundle\Entity\AssociationType
  • Use Pim\Bundle\CatalogBundle\Model\GroupTypeInterface instead of Pim\Bundle\CatalogBundle\Entity\GroupType
  • Use Pim\Bundle\CatalogBundle\Model\AttributeGroupInterface instead of Pim\Bundle\CatalogBundle\Entity\AttributeGroup
  • Use Pim\Bundle\CatalogBundle\Model\ChannelInterface instead of Pim\Bundle\CatalogBundle\Entity\Channel
  • Use Pim\Bundle\CatalogBundle\Model\CurrencyInterface instead of Pim\Bundle\CatalogBundle\Entity\Currency
  • Removed icecat_demo from fixtures

## BC breaks

  • Rename Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\ResolveDoctrineOrmTargetEntitiesPass to Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\ResolveDoctrineTargetModelsPass
  • Rename Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\AbstractResolveDoctrineOrmTargetEntitiesPass to Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\AbstractResolveDoctrineTargetModelsPass
  • Rename Pim\Bundle\UIBundle\Form\Transformer\IntegerTransformer to Pim\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 from ProductFilterUtility::__construct argument
  • Remove ProductFilterUtility::getAttribute()
  • Two new methods have been added to Pim\Bundle\DashboardBundle\Widget\WidgetInterface: getAlias and getData
  • 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 of listAction to render all widgets and dataAction to provide widget data
  • Constructors of Pim\Bundle\DashboardBundle\Widget\CompletenessWidget and Pim\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\* and Pim\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() and getDefaultValue()
  • 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 route pim_enrich_product_listcategories has been renamed to categoryId
  • Change constructor of Pim\Bundle\BaseConnectorBundle\Reader\File\CsvProductReader. Now FieldNameBuilder, 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 accept Pim\Bundle\CatalogBundle\Manager\ChannelManager as third argument
  • Change of constructor of Pim\Bundle\EnrichBundle\Form\Handler\FamilyHandler to accept Pim\Bundle\CatalogBundle\Manager\FamilyManager as third argument
  • Change of constructor of Pim\Bundle\EnrichBundle\Form\Handler\GroupHandler to accept Pim\Bundle\CatalogBundle\Manager\GroupManager as third argument and Pim\Bundle\CatalogBundle\Manager\ProductManager as fourth argument
  • Change of constructor of Pim\Bundle\CatalogBundle\Manager\FamilyManager to accept Pim\Bundle\CatalogBundle\Manager\CompletenessManager as sixth argument
  • Change of constructor of Pim\Bundle\CatalogBundle\Manager\ChannelManager to accept Pim\Bundle\CatalogBundle\Entity\Repository\ChannelRepository as second argument and Pim\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 remove Pim\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 accept Pim\Bundle\CatalogBundle\Entity\Repository\ChannelRepository as third argument to replace Pim\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 a RemoverInterface as last argument
  • Change of constructor of Pim\Bundle\EnrichBundle\Controller\GroupTypeController.php to add a RemoverInterface as last argument
  • ProductPersister and BasePersister has been replaced by ProductSaver in CatalogBundle
  • Add methods execute(), getQueryBuilder(), setQueryBuilder() in ProductQueryBuilderInterface
  • Add MediaFactory and ObjectManager arguments in MediaManager contructor
  • Change of constructor Pim\Bundle\EnrichBundle\MassEditAction\Operation\EditCommonAttributes to remove arguments Pim\Bundle\CatalogBundle\Builder\ProductBuilder and Pim\Bundle\CatalogBundle\Factory\MetricFactory. Pim\Bundle\CatalogBundle\Updater\ProductUpdaterInterface is expected as second argument and Symfony\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 a Pim\Component\Resource\Model\SaverInterface as second argument. Add a Pim\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 and DOCTRINE_MONGODB_ODM from Pim\Bundle\CatalogBundle\DependencyInjection\PimCatalogExtension are now located in Akeneo\Bundle\StorageUtilsBundle\DependencyInjection\AkeneoStorageUtilsExtension
    • DOCTRINE_MONGODB, ODM_ENTITIES_TYPE and ODM_ENTITY_TYPE from Pim\Bundle\CatalogBundle\PimCatalogBundle are now located in Akeneo\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 to akeneo_storage_utils.event_subscriber.resolve_target_repository
    • pim_catalog.doctrine.smart_manager_registry has been renamed to akeneo_storage_utils.doctrine.smart_manager_registry
    • pim_catalog.doctrine.table_name_builder has been renamed to akeneo_storage_utils.doctrine.table_name_builder
    • pim_catalog.factory.referenced_collection has been renamed to akeneo_storage_utils.factory.referenced_collection
    • pim_catalog.event_subscriber.mongodb.resolve_target_repositories has been renamed to akeneo_storage_utils.event_subscriber.mongodb.resolve_target_repository
    • pim_catalog.event_subscriber.mongodb.entities_type has been renamed to akeneo_storage_utils.event_subscriber.mongodb.entities_type
    • pim_catalog.event_subscriber.mongodb.entity_type has been renamed to akeneo_storage_utils.event_subscriber.mongodb.entity_type
    • pim_catalog.mongodb.mongo_objects_factory has been renamed to akeneo_storage_utils.mongodb.mongo_objects_factory
  • (Akeneo storage) The following classes have been renamed or moved:
    • Pim\Bundle\CatalogBundle\MongoDB\MongoObjectsFactory becomes Akeneo\Bundle\StorageUtilsBundle\MongoDB\MongoObjectsFactory
    • Pim\Bundle\CatalogBundle\MongoDB\Type\Entities becomes Akeneo\Bundle\StorageUtilsBundle\MongoDB\Type\Entities
    • Pim\Bundle\CatalogBundle\MongoDB\Type\Entity becomes Akeneo\Bundle\StorageUtilsBundle\MongoDB\Type\Entity
    • Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\AbstractResolveDoctrineTargetModelsPass becomes Akeneo\Bundle\StorageUtilsBundle\DependencyInjection\Compiler\AbstractResolveDoctrineTargetModelPass
    • Pim\Bundle\CatalogBundle\DependencyInjection\Compiler\ResolveDoctrineTargetRepositoriesPass becomes Akeneo\Bundle\StorageUtilsBundle\DependencyInjection\Compiler\ResolveDoctrineTargetRepositoryPass
    • Pim\Bundle\CatalogBundle\Doctrine\ReferencedCollection becomes Akeneo\Bundle\StorageUtilsBundle\Doctrine\ReferencedCollection
    • Pim\Bundle\CatalogBundle\Doctrine\ReferencedCollectionFactory becomes Akeneo\Bundle\StorageUtilsBundle\Doctrine\ReferencedCollectionFactory
    • Pim\Bundle\CatalogBundle\Doctrine\SmartManagerRegistry becomes Akeneo\Bundle\StorageUtilsBundle\Doctrine\SmartManagerRegistry
    • Pim\Bundle\CatalogBundle\Doctrine\TableNameBuilder becomes Akeneo\Bundle\StorageUtilsBundle\Doctrine\TableNameBuilder
    • Pim\Bundle\CatalogBundle\EventSubscriber\MongoDBODM\EntitiesTypeSubscriber becomes Akeneo\Bundle\StorageUtilsBundle\EventSubscriber\MongoDBODM\EntitiesTypeSubscriber
    • Pim\Bundle\CatalogBundle\EventSubscriber\MongoDBODM\EntityTypeSubscriber becomes Akeneo\Bundle\StorageUtilsBundle\EventSubscriber\MongoDBODM\EntityTypeSubscriber
    • Pim\Bundle\CatalogBundle\EventSubscriber\ResolveTargetRepositorySubscriber becomes Akeneo\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 dedicated Pim\Bundle\EnrichBundle\Controller\ProductAttributeController
  • constructor of Pim\Bundle\EnrichBundle\Controller\ProductController has been updated and now receives Akeneo\Component\Persistence\SaverInterface, Pim\Bundle\CatalogBundle\Manager\MediaManager and Pim\Bundle\EnrichBundle\Manager\SequentialEditManager as extra arguments
  • the method execute() of Pim\Bundle\CatalogBundle\Doctrine\Query\ProductQueryBuilderInterface now return a Akeneo\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 receives Pim\Bundle\EnrichBundle\Form\View\ViewUpdater\ViewUpdaterRegistry
  • constructor of Pim\Bundle\TransformBundle\Transformer\ProductTransformer has been updated and now receives Pim\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 class src/Pim/Bundle/VersioningBundle/Manager/VersionManager has been moved to src/Pim/Bundle/VersioningBundle/Manager/VersionContext and renamed setContextInfo
  • The method getContext for the class src/Pim/Bundle/VersioningBundle/Manager/VersionManager has been moved to src/Pim/Bundle/VersioningBundle/Manager/VersionContext and renamed getContextInfo
  • constructor of Pim/Bundle/CatalogBundle/Doctrine/Common/Saver/GroupSaver has been updated and now receives Pim\Bundle\VersioningBundle\Manager\VersionContext instead of Pim\Bundle\VersioningBundle\Manager\VersionManager
  • constructor of Pim/Bundle/VersioningBundle/Doctrine/AbstractPendingMassPersister has been updated and now receives Pim\Bundle\VersioningBundle\Manager\VersionContext
  • constructor of Pim/Bundle/VersioningBundle/Doctrine/ORM/PendingMassPersister has been updated and now receives Pim\Bundle\VersioningBundle\Manager\VersionContext
  • constructor of Pim/Bundle/VersioningBundle/EventSubscriber/AddVersionSubscriber has been updated and now receives Pim\Bundle\VersioningBundle\Manager\VersionContext
  • constructor of src/Pim/Bundle/VersioningBundle/EventSubscriber/MongoDBODM/AddProductVersionSubscriber.php has been updated and now receives Pim\Bundle\VersioningBundle\Manager\VersionContext
  • constructor of src/Pim/Bundle/CatalogBundle/Manager/GroupManager has been updated and now receives Pim\Bundle\CatalogBundle\Repository\ProductRepositoryInterface
  • Added getProductsByGroup method in Pim/Bundle/CatalogBundle/Repository/ProductRepositoryInterface

Bug fixes

  • 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