* New: Shoptimizer cart total shortcode and Elementor widget. Can now include cart total with the slideout sidebar within a custom-built header.
* Fix: Constant FILTER_SANITIZE_STRING is deprecated.
* Accessibility: Out of stock red color made slightly darker for color contrast.
* Accessibility: Improved keyboard focus states on PDPs.
* Accessibility: Theme modals (call back and search) now use native HTML <dialog> element.
* Accessibility: Cart in navigation bar now uses a <nav> element with an aria-label rather than a <ul>.
* Accessibility: Mobile filters close icon now uses a <button> element rather than a div.
* Performance: Elementor Pro, Germanized, WP Forms and YITH Filter specific CSS will now only load if plugin is active.
* Performance: Any CSS related to CommerceKit moved to the appropriate module within the plugin itself.
* Tweak: CommerceKit is now a recommended plugin rather than required.
* Tweak: General RTL improvements.
CommerceKit 2.3.1:
* New: More polished admin interface.
* New: Admin area is now responsive on smaller viewports.
* New: Admin area RTL implementation work completed.
* New: Admin area displays current version number in header.
* New: Shortcodes and Elementor Pro widgets now available for: Countdowns, Inventory Bar, Wishlist and Size Guide modules.
* Tweak: Security enhancements to nonces.
* Tweak: Select2 JS library now checks if the Woo version is already enqueued and if so, uses that instead.
* Tweak: Improvements to ajax wishlist database queries.
* Fix: Product attribute gallery stopped working if you switched swatches within related products area.
* Sticky add to cart: Scroll event listener swapped with a more performant IntersectionObserver.
* Sticky add to cart: a11y controls added.
* Size Guides: Converted to a semantically correct <dialog> HTML element which is faster and has native a11y.
* Size Guides: Trigger is now a <button> element rather than a link.
* Order Bump: Arrows now work when accessed via the keyboard.
* Performance: Improved CSS structure for each module, with any Shoptimizer specific container markup removed.
* Performance: Separate countdown.css and stockmeter.css stylesheets rather than loading styles within the module.
* Compatibility: WPML improvements for Product Badges, Countdowns, Stock Meter, and Order Bumps.