Changelog
1.4.39 (2026-04-23)
Improvements
- Added a new setting "Allow manual product assignment" for disabling manual product assignment to the dynamic category
1.4.38 (2026-04-17)
Fixed
- Added the ability to use sorting criteria from the Mirasvit Sorting module in the merchandiser module
1.4.37 (2026-04-14)
Fixed
- Magento Visual Merchandiser overwriting Dynamic Category product assignments during reindex
1.4.36 (2026-01-16)
Fixed
- Fixed mview_state table version_id resetting to 0 after full reindex, causing unnecessary reindex triggers
- Fixed infinite loader displayed during the preview when switching views
- Fixed performance issue when opening Products section for unsaved categories (no longer loads the entire product catalog)
1.4.35 (2025-12-18)
Fixed
- Fixed SQL error "You cannot define a correlation name special_price more than once" when using both "Is Discounted" and "Has Active Special Price" conditions together
- Fixed product grid missing on the category page when category data is not yet loaded
1.4.34 (2025-12-16)
Fixed
- Fixed reindexing results differing from the preview due to inconsistent store ID resolution (both now include the default store ID as fallback)
1.4.33 (2025-12-10)
Improvements
- Added Multi-Source Inventory (MSI) support for the "Is Salable" condition — now resolves the correct stock table based on the category's store and website
1.4.32 (2025-12-03)
Fixed
- Fixed incorrect handling of store-specific attributes when only a single store view is available (store_id 0 was being mixed with store-specific IDs)
1.4.31 (2025-10-24)
Improvements
- The "Add parent automatically" setting can now be configured at the store view level
1.4.30 (2025-10-09)
Improvements
- Split "Has Active Special Price" and "Is Discounted" into fully independent conditions — "Is Discounted" now uses only values from the catalog price index table, while "Has Active Special Price" checks actual special price attributes
Fixed
- Fixed "Undefined array key" error during reindex when product data is incomplete
1.4.29 (2025-09-22)
Fixed
- Fixed "Is Discounted" and "Has Active Special Price" conditions to consider store-specific special price values instead of only using default scope
1.4.28 (2025-09-09)
Fixed
- Fixed "Has Active Special Price" condition not working correctly on Magento Commerce (Enterprise Edition)
1.4.27 (2025-08-05)
Features
- Added new smart condition "Product Type" to filter products by their type (simple, configurable, bundle, etc.)
1.4.26 (2025-07-25)
Features
- Added new smart condition "Percent Discount" to filter products by their discount percentage
1.4.25 (2025-06-27)
Improvements
- Product positions are now displayed accurately in the product grid when a filter is applied
1.4.24 (2025-06-16)
Improvements
- Improved WCAG 2.2 AA accessibility compliance for admin templates (ARIA labels, semantic HTML)
Fixed
- Fixed slow loading of the root category edit page
1.4.23 (2025-05-26)
Fixed
- Fixed all products being incorrectly assigned to a newly created category before conditions are evaluated
1.4.22 (2025-05-19)
Fixed
- Fixed "Has Active Special Price" condition not working for bundle products
1.4.21 (2025-05-07)
Improvements
- Added the ability to change product positions in dynamic categories directly from the product grid
Fixed
- Fixed wrong product position when a product was unchecked in the products grid
- Fixed product position handling in the Merchandiser module when applying filters
1.4.20 (2025-04-29)
Fixed
- Fixed dynamic category icon not visible in the category tree on Magento 2.4.7+
1.4.19 (2025-04-28)
Improvements
- Improved performance when saving products via API by moving dynamic category plugins from global to adminhtml scope
1.4.18 (2025-04-14)
Improvements
- Improved admin configuration labels and descriptions for better clarity (e.g., "Run with Reindex Process" renamed to "Update dynamic category on full reindex", "Exclude Products" renamed to "Choose products to validate")
1.4.17 (2025-03-14)
Fixed
- Fixed "Is Discounted" and "Has Active Special Price" conditions on Magento Commerce (Enterprise Edition)
1.4.16 (2025-03-06)
Fixed
- Fixed parent product attributes having wrong store_id when Product Save Action is set to "By Message Queue"
1.4.15 (2025-02-20)
Fixed
- Fixed manual dynamic category assignment being carried over when a product is duplicated
- Fixed category assignment not being preserved when saving a product via API
1.4.14 (2025-02-19)
Improvements
- "Has Special Price" condition now checks if the special price is actually less than the regular price (not just set)
- Smart attributes are now displayed at the top of the conditions dropdown for easier access
Fixed
- Fixed attribute default value not being used correctly on multistore configurations
1.4.13 (2024-12-30)
Features
- Added new smart condition "Stock Quantity" to filter products by their inventory quantity
Fixed
- Fixed navigation issue in the preview product grid with selected products when the category is not yet saved as dynamic
1.4.12 (2024-11-20)
Fixed
- Fixed catalog_category_product index not being invalidated after catalog price rules are applied when the "Is Discounted" condition is used
- Fixed incorrect store ID when saving a product via API with dynamic category assignment
1.4.11 (2024-11-08)
Improvements
- Improved store-view attribute value handling when each store has its own root category (proper IFNULL fallback to default values)
Fixed
- Fixed stock status condition not working correctly in certain multi-store configurations
1.4.10 (2024-09-16)
Fixed
- Fixed product validation failing for store-level attribute values when no store-specific value exists (now falls back to default)
1.4.9 (2024-09-13)
Fixed
- Fixed global attributes not being resolved correctly when stores use different root categories
1.4.8 (2024-09-04)
Fixed
- Fixed stock status condition producing incorrect results in the query builder
1.4.7 (2024-08-30)
Fixed
- Fixed products from other root categories appearing in the product grid and reindex results
1.4.6 (2024-08-21)
Fixed
- Fixed compatibility with Magento Commerce Visual Merchandiser
1.4.5 (2024-08-20)
Improvements
- Improved reindexing time through query optimization
1.4.4 (2024-08-12)
Fixed
- Fixed compatibility with BSS Admin Product Grid with Category extension
- Fixed error on category edit page caused by conflict with Magento_PricePermissions
- Fixed "Is New" condition not evaluating correctly
1.4.3 (2024-07-15)
Fixed
- Fixed "Category is one of" condition not matching products correctly
1.4.2 (2024-06-25)
Fixed
- Fixed category store-view level data not being applied correctly during reindex
1.4.1 (2024-05-27)
Fixed
- Fixed product position changes not being saved correctly in the Visual Merchandiser
- Fixed unescaped output in admin templates
1.4.0 (2024-05-17)
Features
- Added new smart condition "Is Discounted" to filter products that have any active discount (special price or catalog price rule)
Fixed
- Fixed product position changes not persisting in the products grid
- Fixed products not being assigned to dynamic categories during attribute update mass action
- Fixed preview not reflecting current condition changes
1.3.28 (2024-05-14)
Fixed
- Fixed preview not displaying products correctly
1.3.27 (2024-05-09)
Fixed
- Fixed issue with Visual Merchandiser product display
1.3.26 (2024-05-07)
Features
- Added the ability to validate products via message queue on product save, reducing save time for stores with many dynamic categories
1.3.25 (2024-05-01)
Fixed
- Fixed "Has Active Special Price" condition not evaluating correctly
1.3.24 (2024-04-29)
Fixed
- Fixed category data not being saved correctly at the store view level
1.3.23 (2024-04-24)
Fixed
- Fixed "Has Active Special Price" condition producing incorrect results
- Fixed preview not working correctly at the store view level
1.3.22 (2024-04-15)
Fixed
- Fixed "Use Default" checkbox not working on store view level
- Fixed product position changes not saving when products span multiple grid pages
1.3.21 (2024-03-11)
Fixed
- Fixed all products being assigned to a category immediately when it is created (before conditions are set)
1.3.20 (2024-02-12)
Fixed
- Fixed category data not being updated correctly after save
1.3.19 (2024-02-07)
Fixed
- Fixed category description not being saved for dynamic categories
1.3.18 (2024-01-17)
Fixed
- Fixed error "The category does not contain the specified product" when saving a product
1.3.17 (2024-01-03)
Fixed
- Fixed compatibility with Magento Commerce (Enterprise Edition)
1.3.16 (2023-12-18)
Features
- Added console command to check if a specific product satisfies a category's conditions (
mirasvit:dynamic-category:check)
Fixed
- Fixed category changes not being saved under certain conditions
1.3.15 (2023-11-29)
Fixed
- Fixed URL key conflict handling — duplicate URL keys are now detected and handled gracefully instead of causing errors
- Fixed cache not being invalidated during category assignment changes
- Fixed parent product not being re-evaluated when a child product is saved
1.3.14 (2023-11-08)
Fixed
- Fixed compatibility with Magento Commerce (Enterprise Edition)
- Fixed error when clicking the Preview button
1.3.13 (2023-11-01)
Fixed
- Fixed product sorting issue with Visual Merchandiser on Magento 2.4.6
- Fixed manual product assignment from the category edit page
1.3.12 (2023-10-10)
Fixed
- Fixed product sorting issue with Visual Merchandiser
1.3.11 (2023-10-02)
Fixed
- Fixed reindex crash when a product or category referenced in the index no longer exists
1.3.10 (2023-09-25)
Fixed
- Fixed PHP 8.2 compatibility issues
1.3.9 (2023-09-25)
Fixed
- Fixed product not being assigned to dynamic categories when updated via API
1.3.8 (2023-09-13)
Fixed
- Fixed "Trying to access array offset on value of type bool" warning in AttributeService
1.3.7 (2023-09-08)
Fixed
- Fixed "Is Salable" smart condition not evaluating correctly
1.3.6 (2023-09-06)
Fixed
- Fixed parent product being incorrectly assigned to a dynamic category when only a child product matches the conditions
1.3.5 (2023-08-29)
Fixed
- Fixed dynamic category assignment from the product edit page
1.3.4 (2023-08-25)
Fixed
- Fixed missing entries in db_schema_whitelist.json for new columns and tables
1.3.3 (2023-08-23)
Improvements
- Added debug mode for rule validation troubleshooting (SQL queries, product data, and validation results)
1.3.2 (2023-08-18)
Fixed
- Fixed "quantity_and_stock_status" condition not working by treating it as a built-in attribute
- Fixed stock status lookup to support multiple store IDs in multi-store configurations
1.3.1 (2023-08-10)
Fixed
- Fixed display issues in Visual Merchandiser templates
1.3.0 (2023-08-10)
Features
- Added new sub-module "Visual Merchandiser" with tile and grid views for visually ordering products within categories via drag and drop
- Added the ability to manually assign products to dynamic categories — categories can now contain both manually added products and products filtered by rules
- Added queue status visualization in the category edit page showing current reindex progress
1.2.28 (2023-07-28)
Features
- Added option to control whether parent products are automatically included when a child product matches the dynamic category conditions
1.2.27 (2023-07-24)
Fixed
- Fixed category data not being saved under certain conditions
1.2.26 (2023-07-13)
Fixed
- Fixed products not showing in the preview
1.2.25 (2023-07-06)
Fixed
- Fixed race condition where the queue consumer processed reindex before the category save transaction was committed
1.2.24 (2023-06-13)
Fixed
- Fixed error "array_diff(): Argument 2 must be of type array, null given" when saving a product with dynamic category assignment
1.2.23 (2023-06-07)
Improvements
- Added a warning when manually assigning products to dynamic categories (manual assignments may be overwritten by rules)
Fixed
- Fixed compatibility with Magento Commerce (Enterprise Edition)
1.2.22 (2023-05-16)
Fixed
- Fixed data reverting during reindexing
1.2.21 (2023-05-16)
Improvements
- Significantly improved rule validation speed by batch-loading product attributes instead of individual queries
- Added store-scoped attribute value resolution during rule evaluation
Fixed
- Hidden preview button for categories that have not been saved yet
1.2.20 (2023-04-27)
Fixed
- Fixed error "Area code is not set" during reindex from CLI
1.2.19 (2023-04-27)
Fixed
- Fixed multiselect attribute validation — conditions now correctly match individual values within comma-separated multiselect fields
1.2.18 (2023-04-18)
Fixed
- Fixed incorrect store ID being used during reindex in multi-store configurations
1.2.17 (2023-04-04)
Fixed
- Fixed error "Table mage_catalog_product_category_cl does not exist" when MVIEW changelog table is missing
1.2.16 (2023-04-04)
Fixed
- Added table existence check before clearing MVIEW changelog during reindex
1.2.15 (2023-04-03)
Improvements
- Improved rule validation speed
Fixed
- Fixed compatibility with PHP 8.2
- Fixed compatibility with Magento 2.3.2
- Fixed products from the backlog not being processed correctly
1.2.14 (2023-03-07)
Fixed
- Fixed error "Unique constraint violation found" when assigning products to categories
- Fixed error "You cannot define a correlation name 'tbl_category_ids_'" when using category-based conditions
1.2.13 (2023-03-02)
Fixed
- Fixed child product validation not considering parent product attributes
1.2.12 (2023-02-22)
Fixed
- Fixed reindex incorrectly removing all products from a category
1.2.11 (2023-02-17)
Fixed
- Fixed reindex removing products from categories in multi-website configurations
1.2.10 (2023-02-16)
Fixed
- Fixed website ID resolution during reindex to use the store manager instead of the category's store directly
1.2.9 (2023-02-09)
Fixed
- Fixed reindex incorrectly removing all products from a category due to flawed product removal logic
1.2.8 (2023-01-25)
Fixed
- Fixed URL rewrites being incorrectly regenerated during dynamic category save
- Fixed console reindex command stopping on the first error instead of continuing with remaining categories
1.2.7 (2023-01-20)
Fixed
- Fixed unintended deletion of product URL rewrites during dynamic category reindex
1.2.6 (2023-01-06)
Improvements
- Significantly reduced memory usage during reindex by creating fresh product collections per page and replacing cached repository calls with direct queries
1.2.5 (2022-12-15)
Fixed
- Fixed error "Area code is not set" when running reindex from CLI
- Fixed URL rewrites being incorrectly removed during reindex
1.2.4 (2022-12-05)
Fixed
- Fixed error "Integrity constraint violation: 1062 Duplicate entry" when assigning a product to multiple dynamic categories
1.2.3 (2022-12-04)
Fixed
- Fixed website filter not excluding products that are not assigned to the category's website
1.2.2 (2022-11-27)
Fixed
- Fixed "Any" aggregator (OR logic) not returning correct results
- Fixed preview not considering the "Exclude Products" setting
1.2.1 (2022-11-08)
Improvements
- Removed redundant product save plugins for cleaner dynamic category processing
1.2.0 (2022-11-08)
Features
- Moved category reindex to Message Queues for asynchronous processing
- Added queue status visualization in the category edit page
- Added "Force Reindex" button to trigger immediate category reindex from admin
1.1.13 (2022-11-03)
Fixed
- Fixed SQL errors caused by duplicate table joins when using multiple smart conditions in the same rule
1.1.12 (2022-10-25)
Fixed
- Fixed rule validation on reindex removing conditions prematurely after first evaluation pass
1.1.11 (2022-10-10)
Fixed
- Fixed error "str_replace(): Argument 3 ($subject) must be of type array|string" in query builder
1.1.10 (2022-10-07)
Fixed
- Fixed reindex not being disabled on category save when configured to run manually
1.1.9 (2022-10-05)
Fixed
- Fixed category not being reindexed on save when automatic reindex is enabled
1.1.8 (2022-09-23)
Improvements
- Improved rule validation speed
1.1.7 (2022-09-05)
Features
- Added option "Run with Reindex Process" to include dynamic category updates during Magento's standard reindex
1.1.6 (2022-08-04)
Fixed
- Fixed "Has Active Special Price" condition not including catalog price rule discounts
1.1.5 (2022-07-28)
Features
- Added option "Reindex after save" to automatically reindex the category when it is saved
1.1.4 (2022-07-11)
Features
- Added the ability to select products by SKU pattern (regex matching)
Fixed
- Fixed dynamic category icon not showing for categories with children in the category tree
- Fixed timeout when saving dynamic categories with a large number of products
1.1.3 (2022-06-20)
Improvements
- Removed deprecated db_schema_whitelist.json in favor of declarative schema
1.1.2 (2022-06-14)
Fixed
- Fixed compatibility with PHP 7.1
1.1.1 (2022-05-25)
Fixed
- Fixed products not being assigned to dynamic categories when saved through REST API
1.1.0 (2022-05-23)
Improvements
- ⚠️ Migrated to Magento declarative database schema (InstallSchema/UpgradeSchema replaced with db_schema.xml)
1.0.29 (2022-03-21)
Fixed
- Fixed inability to disable a dynamic category once it has been enabled
1.0.28 (2022-02-10)
Fixed
- Fixed minor issue with parent/child condition evaluation
1.0.27 (2022-02-10)
Features
- Added parent/child conditions — filter products based on attributes of their parent or child products
1.0.26 (2022-01-19)
Features
- Added "Exclude Products" option to manually exclude specific products from dynamic categories regardless of rules
1.0.25 (2021-12-24)
Fixed
- Fixed category not being reindexed on save
1.0.24 (2021-11-23)
Improvements
- Improved indexation workflow for more reliable category-product assignment
1.0.23 (2021-11-19)
Fixed
- Fixed compatibility with Magento 2.4.2
1.0.22 (2021-11-09)
Improvements
- Reduced reindex time through optimized product collection queries
1.0.21 (2021-11-03)
Features
- Added new smart condition "Created" to filter products by creation date
Fixed
- Fixed "Has Active Special Price" condition returning incorrect results when set to "No"
1.0.20 (2021-10-12)
Features
- Added "Reindex Mode" option to control when dynamic categories are reindexed
1.0.19 (2021-08-05)
Fixed
- Fixed products not being assigned to dynamic categories when saved via REST API
1.0.18 (2021-06-29)
Improvements
- Improved validation of configurable products — child product attributes are now considered during rule evaluation
1.0.17 (2021-05-28)
Features
- Added new smart condition "Is Salable" to filter products by their salability status
- Added the ability to copy rules from other dynamic categories
1.0.16 (2021-04-13)
Fixed
- Fixed error "Call to a member function isStatic() on bool" when a product attribute used in conditions has been deleted
1.0.15 (2021-04-12)
Fixed
- Fixed JavaScript error in the category tree when configuring rules
1.0.14 (2021-01-11)
Fixed
- Fixed "Has Active Special Price" condition not applying to configurable products
1.0.13 (2021-01-07)
Fixed
- Fixed compatibility with PHP 7.1
1.0.12 (2020-12-22)
Improvements
- Improved category reindex speed
Fixed
- Fixed display of "textarea" type attributes in condition values
1.0.11 (2020-12-11)
Improvements
- Added CLI command
mirasvit:dynamic-category:reindexfor manual reindexing
Fixed
- Renamed condition "On Sale" to "Has Active Special Price" for clarity
1.0.10 (2020-12-01)
Features
- Added new smart condition "Product Rating" to filter products by their average rating
- Added new smart condition "Number of Reviews" to filter products by their review count
1.0.9 (2020-11-26)
Fixed
- Fixed "Quantity" rule condition not matching products correctly
1.0.8 (2020-11-10)
Fixed
- Fixed compatibility with Magento 2.3.2
1.0.7 (2020-10-16)
Fixed
- Fixed fatal error on installations without Multi-Source Inventory (MSI) modules when using the "Source" condition
1.0.6 (2020-10-12)
Fixed
- Removed an incorrectly bundled file from another module
1.0.5 (2020-10-12)
Fixed
- Fixed reindex crash when a dynamic category references a deleted category
1.0.4 (2020-10-09)
Features
- Added "Product Type" filter to the product conditions
1.0.3 (2020-10-08)
Fixed
- Fixed "On Sale" (Has Active Special Price) condition not evaluating correctly
1.0.2 (2020-10-06)
Features
- Added new smart condition "On Sale" (Has Active Special Price) to filter products with active special prices
- Added new MSI condition "Source" to filter products by inventory source
1.0.1 (2020-09-23)
Fixed
- Fixed dynamic category icon not loading in admin category tree due to incorrect image path
1.0.0 (2020-09-21)
Features
- Initial release