Undated · 15 versions
2.10.0
Latest4 improvements7 fixes
Improved- Raised minimum PHP requirement to 8.2.
- PayPal button now has better default margin-bottom.
- Fresh demo import now automatically sets the Elementor container width to 1190px.
- Added a ticket icon for the FooEvents Tickets link in My Account navigation.
Fixed- Mobile product image carousel now displays and scrolls correctly when YITH WooCommerce Badge Management is active.
- Improved restoration of loaded products and scroll position when using browser Back/Forward navigation with Load More, including Safari.
- Product page AJAX add-to-cart now uses WooCommerce’s cart hash consistently, preventing cart hash mismatches.
- Responsive video containers now apply only to video embeds, preventing excess spacing and clipped content in non-video embeds.
- Prevented the "View cart" link from overflowing WooCommerce success notices when product titles wrap.
- Corrected auto-sizing for lazy-loaded WooCommerce images.
- Demo media content import no longer fails on import.
Improved- Quantity input in mini cart and cart now renders at 16px on mobile Safari, preventing zooming.
New- Added support for custom header cart icons using your own SVG, with filled, stroke, or preserved multicolor styles.
Improved- Added immediate, dependency-free critical-interactions.js for mobile menu, search toggle, and cart drawer, with native defer.
Fixed- Prevented fatal errors after theme updates when a persistent object cache retained a removed WooCommerce template path.
- Prevented the final product from expanding full-width on mobile archives when Grid Features are enabled.
- Sale badge percentage text is now translatable without changing the default frontend display.
New- Customizer option to allow direct quantity input in mini-cart
Improved- Category and brand archive images now use responsive srcset/sizes with eager loading and high fetch priority.
- Category archive below header banners now render as responsive images instead of CSS backgrounds.
Fixed- Resolved Mini-cart quantity AJAX failures caused by stale cached nonces.
- Resolved PDP AJAX add-to-cart 403 errors caused by expired cached nonces.
- Load More now works on Perfect Brands archives.
- Prevented product category widget JavaScript errors when the widget is not present.
- Load More history restoration now preserves pagination and accumulated products across Back/Forward navigation.
- Below Category Content now preserves Elementor shortcode styling and FAQ JSON-LD markup.
New- Added Customizer option to display sale badges as a saved amount value, with an optional prefix.
- Added a dedicated "Sidebar Search Results" widget region for search results pages.
- Search results now display the featured image for posts and pages, not just products.
- Added Customizer controls to override the cart/checkout progress bar labels.
- Load More now supports brand archive pages.
Improved- Refined grid feature architecture and resolved issue where default pattern was being blocked.
- Load More feature is now compatible with the default WooCommerce filters.
- Removed the custom WooCommerce product template override and aligned Grid Features and Load More.
- CheckoutWC cart quantity controls now remain visible when Shoptimizer's checkout quantity markup is active.
Fixed- Fixed issue with Gravity Forms price updates on single product variation form.
- Improved search modal accessibility - button and heading are correctly named in the accessibility tree.
- Full width header search modal no longer outputs the form twice when Regular Search is shown.
- Improved accessibility of header icon buttons - show accessible names and hide their decorative icons.
- Removed the empty Kirki translation file that caused an invalid MO file warning in Loco Translate.
- WooCommerce Subscriptions switch, upgrade, and downgrade forms now submit natively when AJAX add to cart is enabled.
- Font Cache now clears related Typography 2.0 and Kirki cache data, preventing stale 404 font requests after cache resets.
- Load More no longer duplicates products or remains visible after all products have been loaded.
- Load More now respects result counts and page sizes from third-party filters.
- Improved Regular Search form styling so the search field fills its container.
Security- Restored nonce verification for AJAX cart quantity and product updates.
- Hardened WooCommerce template data handling and output escaping.
Changes- Developer: Added PHPCS/WPCS configuration, Composer tooling, CI linting, and mini-cart lint cleanup.
Fixed- Resolved error when grid features option is disabled and third-party plugins enumerate block patterns early.
2.9.4
1 improvement1 fix
Improved- Mini-cart quantity controls when the ATUM Stock Manager plugin is active.
Fixed- Resolved "Class Shoptimizer_Grid_Feature not found" error that could occur in block pattern files.
New- Additional header and footer hooks allow child themes to implement full-width layouts.
- 'Load more products' label can now be changed in the customizer and translated in WPML.
Fixed- Resolved an issue where the Sticky Add to Cart bar did not display correctly when the theme's sticky header was enabled.
- PHP warning "argument must be of type array" in nav menu walker when item classes are empty.
- Grid features with span 1 no longer full width on mobile, and share a row in the 2-col layout.
- Improved grid features display when one-column mobile grid is set.
- Grid features class now loaded directly in functions.php.
- Load more progress bar now includes an aria-label for screen reader accessibility.
- PDP quantity arrows display correctly when only one item is in stock.
- Resolved an issue where single product AJAX add-to-cart broke the Google Analytics added_to_cart event.
New- Added a WP-CLI endpoint to clear the Kirki font cache.
- Introduced a PSR-4 autoloader to accelerate new development work.
- Kirki plugin no longer required.
- One Click Demo plugin no longer required.
- 'Load more' button option for the Shop and Product categories, replacing standard pagination.
- 'Grid features' - Insert promotions, testimonials, and custom content into product listings.
Improved- Improved mobile image swipe UX for PLP cards.
- Updated the Typography 2.0 fonts list.
- Added commercekit-container to the Customizer.
- Improved cart and checkout block styling.
- Added letter spacing to the Navigation Dropdown font control.
- Search results sidebar now positioned to the right for RTL languages.
- General RTL improvements.
- Cached regenerated dynamic CSS in a transient and invalidated it on Customizer save.
- Reduced shoptimizer_get_option function calls from 180 to 5.
Fixed- Resolved an issue where the search input did not auto-focus in the search dialog when using the header-4 layout.
- Resolved PHP 8.2 deprecation warnings.
- Resolved an issue where AJAX add-to-cart failed when "Enable AJAX add to cart buttons on archives" was disabled.
- Resolved a JavaScript console error in the cart drawer's quantity selector.
- Quantity selector markup now appears within HTML rather than JS.
- Improved quantity.min.js to better work with decimals.
- Browser scroll position restoration for PLPs on iOS when tapping the back button.
- Removed lazy loading from product category images.
- When PDP Ajax is active and the cart drawer disabled, overlay no longer appears.
- Blog grid layout fix on mobile.
- Resolved an issue where Typography 2.0 failed to load Google Fonts JSON files in certain environments.
- Resolved an issue where the flip image feature was incompatible with image optimization plugins.
- Resolved an issue where product gallery lightbox buttons were hidden with Logo / Navigation / Cart header layout.
2.9.1
1 improvement6 fixes
Improved- Improved CusRev plugin styling.
Fixed- Ensures that the upsells, cross-sells, and related products amounts are integers.
- Conditionally loads WooCommerce icon fonts only when a WooCommerce block exists on the page.
- "Pairs well with" specific variation now triggers AJAX sidebar cart rather than redirecting to PDP.
- When coupons are disabled, wrapping markup on checkout is no longer outputted.
- When using the "All reviews" block, the star icons displayed as "SSSSS" as opposed to stars.
- Sanitizes the URLs used in product links.
New- Pages sidebar 'None' option added to the customizer.
Fixed- Kirki _load_textdomain_just_in_time warnings.
- When Header 4 is active, the bottom border color is now correctly applied.
- Customizer text field values were not translatable with Polylang/WPML.
Fixed- Improves Elementor Pro compatibility by fixing styling issues with the cart and checkout widgets.
Changes- Accessibility: Adds a reduced motion theme option for users who prefer less animation.
2.8.12
2 fixes1 change
Fixed- Incorrect percentage calculation caused -0% discount.
- Main navigation bar should not be sticky on product pages.
Changes- Compatability: Resolve display issues when YITH Ajax Product Filters plugin injects HTML into product titles.
Fixed- Full width header mega dropdown layout issue when sticky navigation is disabled.
- Navigation hover overlay issue on product pages.
- Added defensive checks to prevent PHP errors when displaying product review counts.
Fixed- Dark opacity overlay issue when navigation bar is hovered.
Changelog published by the developer, in their original language.