Product Feed changelog
- Bundle products, optional (Bundle Products, off by default): one item per visible bundle.
- Priced by Magento’s price model through
Slova\ProductFeed\Api\BundlePriceInterface(the price index keeps 0 for bundles): the lowest configuration, taxed as on the product page (item by item for dynamic bundles), converted to the display currency once; a struck-through price only when the bundle itself is discounted. - Feed prices checked against the product page with prices entered with and without tax, shown with and without tax, and shown in another currency.
- Out of stock as soon as a required item is (Magento Inventory).
- Described by its items’ categories when it has none below the category root.
g:is_bundle=yeswhen Send Bundles as g:is_bundle is on (a main product with add-ons).
- Priced by Magento’s price model through
First release as a standalone module, rebuilt from the feed running on caruselbooks.ro since July 2026.
- Batch processing: products are read 500 at a time (keyset on entity id, variants included) and streamed to the file, so memory stays flat on any catalogue size.
- Own cron group run in a separate process, a lock per store view, and Generate Now in the admin, which queues the run for cron.
- Feeds table in the configuration: URL, last run, items, products left out, errors and file size per store view.
- One feed per store view: store currency, store timezone, file name with
{store}. - Configurable products as variants:
item_group_id,item_group_title,variant_option,color,size, variant titles, and links that preselect the variant’s options (Hyvä and Luma). - Product types to export chosen in the admin (simple, configurable).
- Tax in feed prices: as displayed on the storefront, or forced including / excluding tax, computed with Magento’s tax calculation.
- Square images within a time budget per run, a background cron job and
bin/magento slova:feed:images. - Feed Category product attribute choosing the main category branch; branches left out of the taxonomy (Sale, New In, Brands).
- Custom labels 0–4 each filled from a source chosen in the admin: category level 1–3, all categories, an attribute, on sale, discount band.
- GTIN check digit validation, MPN, default brand;
identifier_exists=noonly without GTIN or brand + MPN. - Optional gzip output.
- Item modifier pool (
Slova\ProductFeed\Api\ItemModifierInterface) for adding or overriding feed elements. noneas an explicit “nothing” for attribute and label settings in another module’sconfig.xml.- Clean uninstall with
module:uninstall --remove-data.
Changed
Section titled “Changed”- Category level labels come from one branch, never mixed level by level; the main branch is also the first
product_type. - The feed is written one element per line (Meta rejects XML lines over 5,242,880 characters).
- Page Builder styles and scripts are removed from descriptions with their content, and paragraphs no longer run together.
- Memory grew with the catalogue: the whole collection was loaded at once, and Magento Inventory kept a cache entry per SKU for the whole run.
- One product with an unreadable date stopped the whole feed.
- Overlapping runs could write the same file.