- PIM-10711: Fix AbstractInvalidItemWriter does not pad empty values for trailing empty column
- PIM-10671: Fix slowness on product association page with a lot of categories
- PIM-10651: replace a technical exception by a new business exception
- PIM-10591: Fix download log should not be possible when job is running
- PIM-10610 [Backport PIM-10504]: Fix Job execution stuck in status in progress or stopping
- PIM-10608 [Backport PIM-10584]: Fix measurement values for volume flow conversion
- PIM-10601 [Backport PIM-9718]: Fix format of integer values for number attributes with decimals allowed
- PIM-10577: Fix copy/paste on wysiwyg textarea links
- PIM-10580 [Backport PIM-10499]: Fix MySQL's out of sort memory errors on variant product and product model edit form
- PIM-10587: Fix warnings count in process tracker
- PIM-10512: Fix empty group labels format for attribute endpoints
- PIM-10555 [Backport PIM-10462]: Fix ComputeFamilyVariantStructureChanges job not launched after import
- PIM-10559 [Backport PIM-10478]: Disable compute_family_variant_structure_changes on familySave
- PIM-10553: Fix initialization of the associations grid in product edit form
- PIM-10556: [Backport PIM-10214] Fix can't create a measurement attribute if measurement family or unit code is too long
- PIM-10551: Add filtering on locale specific attributes when fetching values
- PIM-10523: fix CSV import profiles have the
download read file
option in Process Tracker but not XLSX import profiles - PIM-10506: Fix performance issues on process tracker
- PIM-10502: Fix API error when trying to post/patch a product with non-existing attribute code that is also a number
- PIM-10477: [Backport PIM-10220] Fixed issues where association has NaN error
- PIM-10472: Fix attributes list limit in the family mass edit
- PIM-10428: [Backport PIM-10049] Add custom strip filter to avoid segmentation fault
- PIM-10439: Add CLI command in order to fix broken order on categories
- PIM-10419: [Backport] PIM-10350: Fix simple and multi select filtering and comparison
- PIM-10424: [Backport] Increase product grid filters limit display in user settings
- PIM-10374: Revert PIM-10333 + Fix category translations are not displayed in the category tree when locale is not xx_XX
- CPM-562 Fix product grid loading when attribute as image has a numeric code
- PIM-10364: Fix broken permissions on Associations with Quantity
- PIM-10335: Fix locale not saved for localizable attribute in product exports
- PIM-10430: add missing translation in attribute group import job page
- PIM-10333: Import category without correct locale should be impossible
- PIM-10296: Fix measurement attributes with value zero not displayed correctly in product grid
- PIM-10294: Display blocked message when user is actually blocked at 5th attempt and not at 6th
- PIM-10275: Missing translation key when error occured during association deletion
- PIM-10288: Fix product associations came duplicated in API
- PIM-10270: Fix insufficient limit when fetching a lot of attribute groups in families settings
- PIM-10258: Increase buffer size to avoid memory size issue for product associations query
- PIM-10257: Fix content Security Policy error log
- PIM-10250: [Backport] PIM-9806: Enable authentication temporary lock to protect against brute force attack
- PIM-10248: Fix NOT BETWEEN filter does not work on products and product models (created and updated property)
- PIM-10223: Add missing "s" on "remove-orphans" option in Makefile
- PIM-10233: [Backport] Refresh ES index after creating a product from the UI in order to well send product created event to event subscriptions
- PIM-10222: Fixed selected category glitch on product grid category filter
- PIM-10204: Use catalog locale for option labels in simple/multi select attributes
- PIM-10147: Make timezones offset dynamic with summer/winter time change in user interface settings
- PIM-10179: Fix migrations on tables job_execution_queue and pim_datagrid_view
- PIM-10162: Not all locales are displayed when using compare/translate feature on product
- PIM-10075: Impossible to classify products in a new tab/window from a right click on the product grid
- PIM-10141: [Backport] PIM-9711: Check that a category root isn't linked to a user or a channel before moving it to a sub-category
- PIM-10128: Fixed disabled user activation after password reset
- PIM-10136: [Backport] PIM-9763: Make sure that 2 users can each create a private view with the same name
- PIM-10131: [Backport] PIM-9740: Prevent to delete a channel used in a product export job
- PIM-10133: [Backport EXB-1046]: Prevent to delete a channel used in shared catalog export job
- PIM-10134: Prevent to delete a channel used in a published product export job
- PIM-10132: Update shared catalog export profile when the channel's category is changed
- PIM-10040: Fix longtext types instead of json type in old catalogs
- PIM-10053: Changed category tree to open node on label click on Product Export
- PIM-10121: Fix metric to string converter to remove trailing 0
- PIM-10118: Fix attribute option with numeric code not being translated when exported
- PIM-10105: Fix PurgeableVersionList no longer keeps every version if it is asked to keep none
- PIM-10060: Impossible to edit products in a new tab/window from a right click on the product grid
- PIM-10073: [Backport PIM-9671] DQI de-activation on attribute group is not fully taken into account
- PIM-10011: Fix the categoryId update when changin view
- PIM-10025: [Backport] PIM-9987: Fix product grid count not accurate after specific SKU selection
- PIM-9956: [Backport] PIM-9852: Fix exception during PRE_REMOVE on removeAll cause ES desynchronisation
- PIM-9943: Fix product-grid quality score filter all
- PIM-9951: Fix wrong locale used by spellcheck when comparing product attributes
- PIM-9944: Fix attribute group grid search
- PIM-9945: Fix displayed number of elements in attribute group, locale and measurement family grids
- PIM-9931: [Backport] PIM-9678: The time counter is still running despite the job failed
- PIM-9935: [Backport] PIM-9890: Creating Channels with numeric code breaks the PIM
- PIM-9921: Add a translation for the title of category creation form
- PIM-9916: Fix value updating for text, simple select and date attribute used as product export filter not saved
- PIM-9876: Fix purge of products old scores in Data Quality Insights
- PIM-9896: Patched symfony/security-core vulnerability
- PIM-9895: [Backport] PIM-9707: ES Max query size and add test for the ElasticSearch client chunked bulk index
- PIM-9894: [Backport] PIM-9700: Add batch-size option in index products command and index product-models command
- PIM-9882: Fix the display of the grid selector secondary action dropdown
- PIM-9878: Fix breadcrumb link in Settings > Attribute Groups
- PIM-9839: Fix indexation issue on the 2-way associations
- OB-806: Add missing migration on
pim_catalog_completeness
table - PIM-9865: [Backport] PIM-9771: Export to PDF doesn't export Image
- API-1557:
Akeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchProductCreatedAndUpdatedEventSubscriber
implementsAkeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchBufferedPimEventSubscriberInterface
.Akeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchProductModelCreatedAndUpdatedEventSubscriber
implementsAkeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchBufferedPimEventSubscriberInterface
.Akeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchProductModelRemovedEventSubscriber
implementsAkeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchBufferedPimEventSubscriberInterface
.Akeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchProductRemovedEventSubscriber
implementsAkeneo\Pim\Enrichment\Bundle\EventSubscriber\BusinessEvent\DispatchBufferedPimEventSubscriberInterface
.- Public methods have been changed according to the new interface.
- OB-752: Fix 5.0 memcached package issue
- PIM-9799: Improve PEF performance by avoid a useless render
- PLG-137 - Fix filter "Image quality" label to avoid confusion
- PLG-138 - Fix bad "activated" english naming in locales screen
- PLG-139 - Fix bad "activated" english naming in attribute group screen
- AOB-1317: Fix deprecated nested ternary expression
- DAPI-1490: Fix redirect to product grid from DQI dashboard when a default view is activated on the user profile
- PIM-9686: Fix memory leak during "set_attribute_requirements" job
- PIM-9673: Make sure that the job that converts product models into simple products does not fail
- PIM-9727: Add missing query params to hatoas links
- DAPI-1477: Fix unstable DQI integration tests
- DAPI-1470: Fix DateTime bad usage
- DAPI-1469: Fix the size issue with the logo on login page
- PIM-9622: Fix query that can generate a MySQL memory allocation error
- PIM-9620: Fix performance issue on API attributes partial update list
- PIM-9554: Discrepancy on the user dashboard due to difference between UI locale and catalog locale
- PIM-9486: System Information sections Registered bundles and PHP extensions repeat a high number of times
- PIM-9514: Fix check on API completness for product model
- PIM-9408: Fix attribute group's updated_at field udpate
- TIP-1513: Environment variables declared in the env were not loaded when using a compiled .env file
- PIM-9274: Fix Yaml reader to display the number of lines read for incorrectly formatted files
- TIP-1406: Add a tag to configure a DIC service based on a feature flag
- PIM-9133: Fix product save when the user has no permission on some attribute groups
- Fixes memory leak when indexing product models with a lot of product models in the same family
- PIM-9119: Fix missing warning when using mass edit with parent filter set to empty
- PIM-9114: fix errors on mass action when the parent filter is set to empty
- PIM-9110: avoid deadlock error when loading product and product models in parallel with the API
- PIM-9113: Locale Specific attribute breaks product grid
- PIM-9157: Fix performance issue when loading the data of a product group
- PIM-9163: total_fields limit of elasticsearch should be configurable
- PIM-9197: Make queries in InMemoryGetAttributes case insensitive
- PIM-9213: Fix tooltip hover on Ellipsis for Family Name on creating product
- PIM-9184: API - Fix dbal query group by part for saas instance
- PIM-9289: Display a correct error message when deleting a group or an association
- PIM-9327: PDF generation header miss the product name when the attribute used as label is localizable
- PIM-9324: Fix product grid not loading when asset used as main picture is deleted
- PIM-9356: Fix external api endpoint for products with invalid quantified associations
- PIM-9357: Make rules case-insensitive so it complies with family and attribute codes
- PIM-9362: Adapt System Information twig file for a clear and a correct display of the number of API connections
- PIM-9360: Fix PHP Warning raised in PriceComparator
- PIM-9370: Fixes page freezing with a big number of attribute options
- PIM-9391: Filter empty prices and measurement values
- PIM-9407: Fix glitch in family variant selector if the family variant has no label
- PIM-9425: Fix inaccurate attribute max characters
- PIM-9443: Do not cache extensions.json
- PIM-9454: Fix scalar value type check in PQB filters
- PIM-9460: Fix performance issue on export
- PIM-9461: Fix display of multiselect fields with a lot of selected options
- PIM-9466: Fix selection counter in datagrid
- GITHUB-12578: Fix trailing zeros when formatting numbers
- PIM-9440: Fix locked MySQL tables during removing DQI evaluations without product
- PIM-9476: Fix locale selector behavior on the product edit form when the user doesn't have permissions to edit attributes
- PIM-9478: Allow the modification of the identifier on a variant product
- PIM-9481: Fix the list of product models when trying to get them by family variant
- GITHUB-12899: Fix error shown when importing product models with the same code
- PIM-9491: Translate product grid filters in user additional settings
- PIM-9494: Fix the performances of attribute-select-filter on long lists of AttributeOptions
- PIM-9496: Change date format in the locale it_IT from dd/MM/yy to dd/MM/yyyy
- PIM-9519: Fix translation key for datagrid search field
- PIM-9517: Fix locale selector default value on localizable attributes in product exports
- PIM-9516: Recalculate completeness after a bulk set attribute requirements on families
- PIM-9532: Fix the family selection in mass action when a filter on label is set
- PIM-9535: Fix export with condition on localisable attribute does not work if selected locale is not changed
- PIM-9542: Fix product creation if the family has a numeric code
- PIM-9498: Add translation for 'Mass delete products' job
- PIM-9538: Fix sorting on rule engine list page
- PIM-9499: Fix warning display when a job is running with warnings
- PIM-9545: Fix possible memory leak in large import jobs
- PIM-9533: Update wysiwyg editor's style in order to differentiate new paragraphs from mere line breaks
- PIM-9548: Mitigate deadlock issues on category API
- PIM-9540: Do not strip HTML tags on textarea content before indexing them in ES and fix newline_pattern char filter
- PIM-9539: Fix the display of long attribute labels or codes on variant attributes page
- PIM-9580: Fix conversion operation for ATM, PSI, TORR & MMHG
- PIM-9569: Fix memory usage issue when adding a group to a product
- PIM-9571: Fix missing items on the invalid data file when importing product models
- PIM-9543: Print PDF content with Asian characters
- PIM-9577: Remove empty 'Global settings' tab on following XLSX import: attribute, family, family variant, association type, attribute option, attribute group, group type
- PIM-9590: Fix "Default product grid view" multiple times on user settings page
- CPM-86: Fix undefined tab on job profile edit
- PIM-9596: Fix attribute options manual sorting
- PIM-9598: Fix quick export when the bs_Cyrl_BA locale is used.
- PIM-9612: Fix no image preview for Association with quantities when the image is an asset collection
- RAC-435: Fix fatal error for user that migrate from 4.0 with product values format that doesn't correspond to expected format
- RAC-449: Fix invalid processed item when remove attribute
- PIM-9610: Force displaying years with 4 digits in dates for every locale
- MET-197: Add possibility to define that an association type is two way & automatically create inversed association when association type is two way
- MET-14: Measurements (or metrics) are now stored in database
- AOB-277: Add an acl to allow a role member to view all job executions in last job execution grids, job tracker and last operations widget.
- RAC-54: Add a new type of associations: Association with quantity
- RAC-123: Add possibility to export product/product model with labels instead of code
- RAC-271: Add possibility to declare jobs as stoppable and stop them from the UI
- RAC-277: Add job progress and remaining time in the UI
- CPM-93: Add a default value for Yes/No attributes; this default value is applied when creating a new product or product model
- PM2020-9: Convert a variant to a simple product
- CLOUD-1959: Use cloud-deployer 2.2 and terraform 0.12.25
- PIM-9306: Enhance catalog volume monitoring count queries for large datasets
- API-1140: Be able to get attributes searching by a list of attribute codes
- API-1225: Be able to get attributes searching by updated date
- API-1226: Be able to get attributes searching by a list of attribute types
- PIM-9368: Allow minimum translation progress of 70% instead of 80%
- PIM-9398: Add a primary key on connection table
- PIM-9371: Disable save button when user creation form is not ready to submit
- RAC-178: When launching a job, the notification contains a link to the job status
- PIM-9485: Change ACL name “Remove a product model” to “Remove a product model (including children)”
- BH-138: clear Locale cache on save
- RAC-393: Improve attribute removal management
- CXP-493: Do not save products when they were not actually updated. In order to do so, the product now returns copies of
its collections (values, categories, groups, associations and quantified associations). Practically, this means that such a collection cannot be directly
updated "from outside" anymore (e.g:
$product->getCategories()->add($category)
won't update the product anymore, you should now use$product->addCategory($category)
to achieve it) - CXP-544: Do not save product models when they were not actually updated. As for products, the product model will now return copies of its collections (values, categories, associations and quantified associations)
- TIP-1233: Upgrade to php7.4
- CPM-38: Upgrade Symfony to 4.4.15
- TIP-152: Upgrade Mysql to 8.0.22
- BH-286: Up ElasticSearch to 7.10.1
- CPM-33: Upgrade node to 12.19
- CPM-33: Upgrade npm to 6.14
- PIM-9452: Add a command to update the ElasticSearch indexes max fields limit
- RAC-444: Improve jobs logs
- API-1140: Change $criteria format from
Akeneo\Pim\Structure\Bundle\Doctrine\ORM\Repository\ExternalApi\AttributeRepository
the new format is[property: [['operator' => (string), 'value' => (mixed)]]]
.
-
Change constructor of
Akeneo\Tool\Bundle\ElasticsearchBundle\IndexConfiguration\Loader
to- add
Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag
- add
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Controller\InternalApi\ProductModelController
to- add
Akeneo\Pim\Enrichment\Bundle\Filter\CollectionFilterInterface $productEditDataFilter
- add
-
Change constructor of
\Akeneo\Pim\Enrichment\Bundle\Controller\ExternalApi\ProductController
to- add
Akeneo\Pim\Enrichment\Component\Product\Query\GetConnectorProducts $getConnectorProductsWithOptions
- add
Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher
- add
GetProductsWithQualityScoresInterface $getProductsWithQualityScores
- add
Akeneo\Pim\Enrichment\Component\Product\EntityWithFamilyVariant\RemoveParentInterface $removeParent
- add
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Controller\InternalApi\ProductController
to- add
Akeneo\Pim\Enrichment\Bundle\Filter\CollectionFilterInterface $productEditDataFilter
- add
Akeneo\Pim\Enrichment\Component\Product\EntityWithFamilyVariant\RemoveParentInterface $removeParent
- add
-
Change constructor of
Akeneo\Pim\Structure\Component\Validator\Constraints\ValidMetricValidator
to- remove
array $measures
- add
Akeneo\Tool\Bundle\MeasureBundle\Provider\LegacyMeasurementProvider $provider
- remove
-
Change constructor of
Akeneo\Tool\Bundle\MeasureBundle\Controller\ExternalApi\MeasureFamilyController
to- remove
array $measures
- add
Akeneo\Tool\Bundle\MeasureBundle\Provider\LegacyMeasurementProvider $legacyMeasurementProvider
- remove
-
Change constructor of
Akeneo\Tool\Bundle\MeasureBundle\Controller\MeasuresController
to- remove
array $measures
- add
Akeneo\Tool\Bundle\MeasureBundle\Provider\LegacyMeasurementProvider $provider
- remove
-
Change constructor of
Akeneo\Tool\Bundle\MeasureBundle\Convert\MeasureConverter
to- remove
array $config
- add
Akeneo\Tool\Bundle\MeasureBundle\Provider\LegacyMeasurementProvider $provider
- remove
-
Change constructor of
Akeneo\Tool\Bundle\MeasureBundle\Manager\MeasureManager
to- remove
array $config
- add
Akeneo\Tool\Bundle\MeasureBundle\Provider\LegacyMeasurementProvider $legacyMeasurementProvider
- remove
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Localization\Presenter
to- remove
Akeneo\Tool\Component\Localization\TranslatorProxy $translatorProxy
- add
Akeneo\Tool\Bundle\MeasureBundle\Persistence\MeasurementFamilyRepositoryInterface $measurementFamilyRepository
- add
Akeneo\Tool\Component\StorageUtils\Repository\BaseCachedObjectRepository $baseCachedObjectRepository
- add
Psr\Log\LoggerInterface $logger
- remove
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Normalizer\InternalApi\GroupNormalizer
to- add
Akeneo\Pim\Enrichment\Component\Product\Query\GetGroupProductIdentifiers
- add
-
Change constructor of
Akeneo\Pim\Structure\Component\Query\PublicApi\AttributeType\Attribute
to- add
(string) $defaultMetricUnit
- add
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Elasticsearch\IdentifierResultCursor
to addAkeneo\Pim\Enrichment\Bundle\Elasticsearch\ElasticsearchResult $result
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Storage\ElasticsearchAndSql\ProductGrid\FetchProductAndProductModelRows
to addAkeneo\Pim\Enrichment\Bundle\Elasticsearch\Facet\ProductAndProductsModelDocumentTypeFacetFactory $productAndProductsModelDocumentTypeFacetFactory
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Grid\ReadModel\Rows
to- add
?int $totalProductCount
- add
?int $totalProductModelCount
- add
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductAndProductModelQueryBuilderWithSearchAggregatorFactory
to make not nullable the third parameterAkeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductAndProductModelSearchAggregator $searchAggregator
-
Change
Akeneo\Tool\Bundle\MeasureBundle\Manager\MeasureManager
to remove methodsetMeasureConfig(array $config)
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\DependencyInjection\Configuration
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\AreaFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\BinaryFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\CaseBoxFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\DecibelFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\DurationFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\ElectricChargeFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\EnergyFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\FrequencyFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\IntensityFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\LengthFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\PowerFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\PressureFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\ResistanceFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\SpeedFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\TemperatureFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\VoltageFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\VolumeFamilyInterface
-
Remove
Akeneo\Tool\Bundle\MeasureBundle\Family\WeightFamilyInterface
-
Rename
Akeneo\Tool\Bundle\MeasureBundle\Exception\UnknownFamilyMeasureException
asAkeneo\Tool\Bundle\MeasureBundle\Exception\MeasurementFamilyNotFoundException
-
Rename
Akeneo\Tool\Bundle\MeasureBundle\Exception\UnknownMeasureException
asAkeneo\Tool\Bundle\MeasureBundle\Exception\UnitNotFoundException
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Command\RefreshProductCommand
to- replace
Akeneo\Tool\Component\StorageUtils\Saver\SaverInterface $productSaver
byAkeneo\Tool\Component\StorageUtils\Saver\BulkSaverInterface $productSaver
- replace
Akeneo\Tool\Component\StorageUtils\Saver\SaverInterface $productModelSaver
byAkeneo\Tool\Component\StorageUtils\Saver\BulkSaverInterface $productModelSaver
- replace
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Command\RemoveCompletenessForChannelAndLocaleCommand
to- replace
Akeneo\Tool\Component\StorageUtils\Saver\SaverInterface $channelSaver
byAkeneo\Tool\Component\StorageUtils\Saver\BulkSaverInterface $channelSaver
- replace
-
Add
getChannels()
andgetLabel()
methods inAkeneo\Pim\Enrichment\Component\Category\Model\CategoryInterface
interface -
Change
addFieldSorter()
method ofAkeneo\Pim\Enrichment\Component\Product\Query\Sorter\FieldSorterInterface
to returnAkeneo\Pim\Enrichment\Component\Product\Query\Sorter\FieldSorterInterface
-
The
Akeneo\Tool\Component\Api\Repository\ApiResourceRepositoryInterface
interface now also extendsDoctrine\Common\Persistence\ObjectRepository
interface -
Rename the
$objectFilter
property inAkeneo\Pim\Enrichment\Bundle\Controller\InternalApi\CategoryController
to$collectionFilter
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Connector\SqlGetConnectorProducts
to replaceAkeneo\Tool\Component\StorageUtils\Repository\IdentifiableObjectRepositoryInterface $attributeRepository
byAkeneo\Pim\Structure\Component\Repository\AttributeRepositoryInterface $attributeRepository
-
Change
Akeneo\Pim\Enrichment\Component\Comment\Model\CommentInterface
to useAkeneo\UserManagement\Component\Model\UserInterface
instead ofSymfony\Component\Security\Core\User\UserInterface
-
Change
Akeneo\Pim\Enrichment\Component\Product\Connector\Step\MassEditStep::setCleaner()
to takeAkeneo\Pim\Enrichment\Component\Product\Connector\Item\MassEdit\TemporaryFileCleaner $cleaner
as first argument instead ofAkeneo\Tool\Component\Batch\Step\StepExecutionAwareInterface $cleaner
-
Change
Akeneo\Pim\Enrichment\Component\Product\Normalizer\Versioning\ProductNormalizer::normalizeAssociations()
to make the first argument not optional -
Change
Akeneo\Pim\Enrichment\Component\Product\Model\Group::getTranslation()
to return null or an instance ofAkeneo\Pim\Enrichment\Component\Product\Model\GroupTranslationInterface
-
Change
Akeneo\Pim\Enrichment\Component\Category\Model\Category::getTranslation()
to return null or an instance ofAkeneo\Pim\Enrichment\Component\Category\Model\CategoryTranslationInterface
-
Change
Akeneo\Pim\Enrichment\Component\Comment\Normalizer\Standard\CommentNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Change
Akeneo\Pim\Enrichment\Component\Product\Normalizer\Versioning\Product\CollectionNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Change
Akeneo\Pim\Enrichment\Component\Product\Normalizer\Versioning\Product\ValueNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Change
Akeneo\Pim\Enrichment\Component\Product\Normalizer\Versioning\ProductModelNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Change
Akeneo\Pim\Enrichment\Component\Product\Normalizer\Versioning\ProductNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Change
Akeneo\Pim\Structure\Component\Normalizer\InternalApi\AttributeOptionNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Change
Akeneo\Pim\Structure\Component\Normalizer\InternalApi\AttributeOptionValueCollectionNormalizer
to implementSymfony\Component\Serializer\Normalizer\NormalizerAwareInterface
instead ofSymfony\Component\Serializer\SerializerAwareInterface
. That means:- the
setSerializer()
method and the$serializer
property are removed - the
setNormalizer()
method and the$normalizer
property are added
- the
-
Remove
Akeneo\Pim\Enrichment\Component\Product\Normalizer\InternalApi\ViolationNormalizer
class, it is replaced byAkeneo\Pim\Enrichment\Component\Product\Normalizer\InternalApi\ConstraintViolationNormalizer
-
Change
Akeneo\Pim\Enrichment\Component\Product\Model\EntityWithValuesInterface
to addgetId()
andgetIdentifier()
methods -
Change constructor of
Akeneo\Pim\Structure\Bundle\Controller\InternalApi\AttributeGroupController
to replaceDoctrine\ORM\EntityRepository $attributeGroupRepo
byAkeneo\Pim\Structure\Component\Repository\AttributeGroupRepositoryInterface $attributeGroupRepo
-
Change
Akeneo\Pim\Structure\Component\Repository\FamilyRepositoryInterface
interface to addgetWithVariants()
-
Change constructor of
Akeneo\Pim\Structure\Bundle\Query\InternalApi\AttributeGroup\Sql\FindAttributeCodesForAttributeGroup
to replaceDoctrine\DBAL\Driver\Connection $connection
byDoctrine\DBAL\Connection $connection
-
Update
Akeneo\Pim\Enrichment\Component\Product\Model\ProductInterface
to- remove the
setFamilyId()
method - extend the new
Akeneo\Tool\Component\StorageUtils\Model\StateUpdatedAware
interface (withisDirty()
andcleanup()
methods)
- remove the
-
Update
Akeneo\Pim\Enrichment\Component\Product\Model\ProductModelInterface
to extend the newAkeneo\Tool\Component\StorageUtils\Model\StateUpdatedAware
interface (withisDirty()
andcleanup()
methods) -
Update
Akeneo\Pim\Enrichment\Component\Product\Model\AbstractProduct
to- remove the
setFamilyId()
method - remove the
$categoryIds
public property and the$familyId
and$groupIds
protected properties - add
isDirty()
andcleanup()
methods
- remove the
-
Change the
Oro\Bundle\PimDataGridBundle\Repository\DatagridViewRepositoryInterface
to:- remove the
findDatagridViewByAlias()
method - rename the
getDatagridViewTypeByUser()
method togetDatagridViewAliasesByUser()
and add type hint on the return (array) - add type hint on the return of the
findDatagridViewBySearch()
method (Doctrine\Common\Collections\Collection
)
- remove the
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Job\DeleteProductsAndProductModelsTasklet
to- add
Akeneo\Tool\Component\Batch\Job\JobRepositoryInterface $jobRepository
- add
-
Update
Akeneo\Pim\Enrichment\Component\Product\Model\ProductModel
to addisDirty()
andcleanup()
methods -
Move
Akeneo\Pim\Enrichment\Component\Product\Validator\Constraints\WritableDirectory
toAkeneo\Tool\Component\StorageUtils\Validator\Constraints\WritableDirectory
-
Move
Akeneo\Pim\Enrichment\Component\Product\Validator\Constraints\WritableDirectoryValidator
toAkeneo\Tool\Component\StorageUtils\Validator\Constraints\WritableDirectoryValidator
-
Change constructor of
Akeneo\Pim\Enrichment\Bundle\Command\CleanRemovedAttributesFromProductAndProductModelCommand
to- add
\Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher
- remove
\Akeneo\Pim\Enrichment\Component\Product\ValuesRemover\CleanValuesOfRemovedAttributesInterface $cleanValuesOfRemovedAttributes
- add
\Akeneo\Tool\Bundle\BatchBundle\Launcher\JobLauncherInterface $jobLauncher
- add
\Akeneo\Tool\Component\StorageUtils\Repository\IdentifiableObjectRepositoryInterface $jobInstanceRepository
- add
\Akeneo\Pim\Enrichment\Component\Product\Query\CountProductsWithRemovedAttributeInterface $countProductsWithRemovedAttribute
- add
\Akeneo\Pim\Enrichment\Component\Product\Query\CountProductModelsWithRemovedAttributeInterface $countProductModelsWithRemovedAttribute
- add
\Akeneo\Pim\Enrichment\Component\Product\Query\CountProductsAndProductModelsWithInheritedRemovedAttributeInterface $countProductsAndProductModelsWithInheritedRemovedAttribute
- add
\Symfony\Component\Routing\RouterInterface $router
- add
string $pimUrl
- add
-
Change the
Oro\Bundle\PimDataGridBundle\Controller\ProductExportController
class to remove thegetRequest()
method -
Change signature of
createInversedAssociation()
fromAkeneo\Pim\Enrichment\Component\Product\Updater\TwoWayAssociationUpdaterInterface
- remove
AssociationInterface $association
- add
string $associationTypeCode
andAkeneo\Pim\Enrichment\Component\Product\Model\EntityWithAssociationsInterface $associatedEntity
- remove
-
Change signature of
removeInversedAssociation()
fromAkeneo\Pim\Enrichment\Component\Product\Updater\TwoWayAssociationUpdaterInterface
- remove
AssociationInterface $association
- add
string $associationTypeCode
andAkeneo\Pim\Enrichment\Component\Product\Model\EntityWithAssociationsInterface $associatedEntity
- remove
-
Update
Akeneo\Pim\Enrichment\Component\Product\Model\EntityWithAssociationsInterface
interface:- Remove method
setAssociations()
- Remove method
getAssociationForType()
- Remove method
getAssociationForTypeCode()
- Add method
hasAssociationForTypeCode()
- Add method
addAssociatedProduct()
- Add method
removeAssociatedProduct()
- Add method
getAssociatedProducts()
- Add method
addAssociatedProductModel()
- Add method
removeAssociatedProductModel()
- Add method
getAssociatedProductModels()
- Add method
addAssociatedGroup()
- Add method
removeAssociatedGroup()
- Add method
getAssociatedGroups()
- Remove method
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Updater\Adder\AssociationFieldAdder
:- add argument
Akeneo\Pim\Structure\Component\Repository\AssociationTypeRepositoryInterface $associationTypeRepository
- add argument
Akeneo\Pim\Enrichment\Component\Product\Updater\TwoWayAssociationUpdaterInterface $twoWayAssociationUpdater
- add argument
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Updater\Clearer\Field\AssociationFieldClearer
: add argumentAkeneo\Pim\Enrichment\Component\Product\Updater\TwoWayAssociationUpdaterInterface $twoWayAssociationUpdater
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Updater\Setter\AssociationFieldSetter
: add argumentAkeneo\Pim\Structure\Component\Repository\AssociationTypeRepositoryInterface $associationTypeRepository
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Factory\ReadValueCollectionFactory
to- add
Psr\Log\LoggerInterface $logger
- add
-
Move
Akeneo\Channel\Component\Query\GetChannelCodeWithLocaleCodesInterface
toAkeneo\Channel\Component\Query\PublicApi\GetChannelCodeWithLocaleCodesInterface
-
Remove
Akeneo\Pim\Enrichment\Component\Product\Validator\Constraints\ImmutableVariantAxesValues
-
Remove
Akeneo\Pim\Enrichment\Component\Product\Validator\Constraints\ImmutableVariantAxesValuesValidator
-
Change constructor of
Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\Denormalizer\ProductProcessor
to addAkeneo\Pim\Enrichment\Component\Product\EntityWithFamilyVariant\RemoveParentInterface $removeParent
-
Change constructor of
Akeneo\Platform\Bundle\ImportExportBundle\Controller\Ui\JobTrackerController
to- add
Psr\Log\LoggerInterface $logger
- add
The following CLI commands have been deleted:
- Update
pim_catalog.validator.constraint.valid_metric
to useakeneo_measure.provider.measurement_provider
- Update
akeneo_measure.measure_converter
to useakeneo_measure.provider.measurement_provider
- Update
akeneo_measure.manager
to useakeneo_measure.provider.measurement_provider
- Update
akeneo_measure.controller.rest.measures
to useakeneo_measure.provider.measurement_provider
- Update
legacy_pim_api.controller.measure_family
to useakeneo_measure.provider.measurement_provider
- Rename
pim_api.controller.measure_family
tolegacy_pim_api.controller.measure_family
- Remove parameter
akeneo_measure.measures_config