TryonX Release History
Track the evolution of TryonX with detailed release notes, new features, improvements, and bug fixes.
Version 1.3.0
Uploaded photos are now identified by their contents and re-encoded on…
Uploaded photos are now identified by their contents and re-encoded on the server; the file name and type sent by the browser are no longer trusted. Previously a crafted upload could be stored with an executable extension in a public folder. Please update.
The garment image is read on the server from the product's own images…
The garment image is read on the server from the product's own images instead of being uploaded by the browser, so the endpoint can no longer be used to run arbitrary images through your Gemini key
Removed the unused tryonx_store_photo endpoint; upload folders block…
Removed the unused tryonx_store_photo endpoint; upload folders block script execution; API key is sent as a header instead of in the URL; technical API errors are no longer shown to shoppers
AI model setting and tryonx_gemini_model filter
AI model setting and tryonx_gemini_model filter — Google retires image models over time, and the model was previously hard-coded
Test connection button, setup checklist, and a notice showing why the…
Test connection button, setup checklist, and a notice showing why the latest try-on failed
"All products" switch, hierarchical category list, and bulk…
"All products" switch, hierarchical category list, and bulk enable/disable actions on the Products list
Button position presets, accent colour, and optional Try On button on…
Button position presets, accent colour, and optional Try On button on shop and category pages
Conversion analytics
Conversion analytics — add-to-carts, orders and revenue from tried-on products (works with HPOS and block checkout), failure reasons, and 7/30/90-day periods
Store-wide daily cap on try-ons, automatic deletion of generated images…
Store-wide daily cap on try-ons, automatic deletion of generated images (30 days by default) and old analytics, "Remove my photo" for shoppers, privacy-policy text and personal data eraser
Photos are resized in the browser before upload, so large phone photos…
Photos are resized in the browser before upload, so large phone photos work and uploads are faster; cancel button and progress messages while generating
TRYONX_GEMINI_API_KEY constant, tryonx_prompt, tryonx_login_url,…
TRYONX_GEMINI_API_KEY constant, tryonx_prompt, tryonx_login_url, tryonx_max_upload_bytes and tryonx_max_image_dimension filters
Try-on failed when product images were served from a CDN or another…
Try-on failed when product images were served from a CDN or another domain
Product pages served from a full-page cache showed expired security…
Product pages served from a full-page cache showed expired security tokens and could expose one visitor's saved-photo link to others; a cookie was set for every visitor on every page
Rate limit could be bypassed by clearing cookies; it is now per account…
Rate limit could be bypassed by clearing cookies; it is now per account or IP and only counts requests that reach the AI
Analytics conversion query was incorrect and very slow on stores with…
Analytics conversion query was incorrect and very slow on stores with many orders; date ranges ignored the site timezone; analytics queries failed on WordPress older than 6.2
.htaccess rules that caused 500 errors for result images on some Apache…
.htaccess rules that caused 500 errors for result images on some Apache 2.4 servers; upload folders were rewritten on every page load
Uploaded photo preview never appeared; wrong price shown for shortcode…
Uploaded photo preview never appeared; wrong price shown for shortcode buttons and "Try More Products"; add-to-cart for variations with "Any" attributes; "Try More Products" error for a deleted category; page could stay unscrollable after quickly reopening the window
Try On buttons added to the page after load (infinite scroll, quick…
Try On buttons added to the page after load (infinite scroll, quick view) did not open the window
The "Powered by TryonX" line in the try-on window is now off by default…
The "Powered by TryonX" line in the try-on window is now off by default and can be enabled under Display
Uninstall now also removes stored photos, generated images, product…
Uninstall now also removes stored photos, generated images, product settings and the scheduled cleanup
Version 1.2.4
Declared WooCommerce High Performance Order Storage (HPOS)…
Declared WooCommerce High Performance Order Storage (HPOS) compatibility, so TryonX no longer appears as "incompatible" on WooCommerce → Settings → Advanced → Features
Declared Cart & Checkout blocks compatibility
Declared Cart & Checkout blocks compatibility
WC requires at least and WC tested up to plugin headers so WooCommerce…
WC requires at least and WC tested up to plugin headers so WooCommerce can report support accurately
Tested against WordPress 7.1 and WooCommerce 10.8
Tested against WordPress 7.1 and WooCommerce 10.8
WooCommerce detection falls back to the WooCommerce class /…
WooCommerce detection falls back to the WooCommerce class / WC_PLUGIN_FILE constant, so installs with WooCommerce in a non-standard plugin directory are recognized
Requires Plugins header casing corrected so WordPress enforces the…
Requires Plugins header casing corrected so WordPress enforces the WooCommerce dependency
Version 1.2.3
Gallery thumbnail picker inside the modal
Gallery thumbnail picker inside the modal — the shopper chooses which product image (featured + WooCommerce gallery, with per-product custom garment image first) is sent to the AI. This decouples the garment image from variation selection, which often only changes size/color
Variable product variation selector inside the modal
Variable product variation selector inside the modal — the single flat dropdown only ever displayed the first option and could conflict with themes/swatch plugins that replace native <select> styling. The modal now renders one selector per product attribute (Size, Color, …), matching WooCommerce's native picker, and drives the add-to-cart URL for the result screen
Single-option attributes are auto-selected to mirror WooCommerce's…
Single-option attributes are auto-selected to mirror WooCommerce's product-page behavior
Version 1.2.2
Variable product variation selector
Variable product variation selector — each try-on button now carries its own variation data (single product, shortcode, and archive layouts)
Add-to-cart link uses the selected variation's URL instead of the…
Add-to-cart link uses the selected variation's URL instead of the parent product's generic URL
Variation labels now include attribute names (e.g. Size, Color) so…
Variation labels now include attribute names (e.g. Size, Color) so options are distinguishable
Fallback variation loading when get_available_variations() defers to…
Fallback variation loading when get_available_variations() defers to AJAX on large variable products
Variation dropdown syncs garment image and cart URL to the first…
Variation dropdown syncs garment image and cart URL to the first variation on open
"Try more products" grid clears leftover variation dropdown when…
"Try more products" grid clears leftover variation dropdown when switching products
Version 1.2.1
Bug fixes and stability improvements.
Bug fixes and stability improvements.
Version 1.2.0
Per-product try-on settings and custom garment image (WooCommerce…
Per-product try-on settings and custom garment image (WooCommerce product tab)
[tryonx] shortcode for landing pages and custom layouts
[tryonx] shortcode for landing pages and custom layouts
Privacy controls
Privacy controls — consent checkbox, rate limiting, login-only mode, IP anonymization
Add to cart button on try-on results
Add to cart button on try-on results
Variable product variation selector in the modal
Variable product variation selector in the modal
TRYONX_Helpers::resolve_product() and get_single_product() for reliable…
TRYONX_Helpers::resolve_product() and get_single_product() for reliable product detection across themes
TRYONX_Helpers::upload_file_url() for correct public file URLs
TRYONX_Helpers::upload_file_url() for correct public file URLs
Fatal error on product pages when themes set global $product to a slug…
Fatal error on product pages when themes set global $product to a slug string (Elementor, Hello Elementor, Divi, and similar)
Generated try-on result images showing as broken
Generated try-on result images showing as broken — upload URLs were missing a slash between folder and filename
Session photo thumbnails not loading in the try-on modal
Session photo thumbnails not loading in the try-on modal
Session-only try-on no longer requires re-uploading user image
Session-only try-on no longer requires re-uploading user image
Upload directory paths unified (tryonx-results, tryonx-temp,…
Upload directory paths unified (tryonx-results, tryonx-temp, tryonx-sessions)
$_FILES sanitization bug that broke image uploads
$_FILES sanitization bug that broke image uploads
Assets load only on eligible product pages (better performance)
Assets load only on eligible product pages (better performance)
Compare view uses customer photo instead of product image
Compare view uses customer photo instead of product image
Upload path helpers always use trailing slashes; .htaccess rules…
Upload path helpers always use trailing slashes; .htaccess rules refresh on existing installs
WooCommerce missing admin notice
WooCommerce missing admin notice
Version 1.1.1
Compatibility with latest WordPress and WooCommerce versions
Compatibility with latest WordPress and WooCommerce versions
Version 1.1.0
Session management
Session management — upload once, try multiple products
Before/after comparison (slider and side-by-side)
Before/after comparison (slider and side-by-side)
Analytics dashboard and WooCommerce widget
Analytics dashboard and WooCommerce widget
Bulk try-on for same-category products
Bulk try-on for same-category products
Social sharing and image download
Social sharing and image download
Gemini 2.5 Flash Image model
Gemini 2.5 Flash Image model
Security, validation, and error handling
Security, validation, and error handling
Mobile-first responsive design
Mobile-first responsive design
gemini-2.5-flash-image now requires a paid Google API plan
gemini-2.5-flash-image now requires a paid Google API plan
Version 1.0.1
Bug fixes and stability improvements
Bug fixes and stability improvements
Version 1.0.0
Initial release
Initial release