{"entries":[{"id":"1c9c2459-43e4-4929-8f76-83d8014b757e","version":"v2.6.1","title":"v2.6.1","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-6-1","summary":"Fixes the design-categories API endpoint failing on PHP 8, and corrects the placement of catalog graphics that replace another element.","body":"### Bug Fixes\n- **Design categories in the API** — Listing design categories no longer returns a server error on PHP 8.\n\n### Core Engine\n- **Replacement graphics** — A catalog graphic that replaces another element now takes over that element's exact slot: it is fitted to the replaced element's displayed bounds instead of the full printing box, and its position no longer shifts on center-origin slots. Graphics authored on a different product no longer land tiny in a corner.","related_feature_requests":[],"published_at":"2026-07-22T14:46:36.133+00:00","updated_at":"2026-07-22T14:46:36.387413+00:00"},{"id":"1c01811e-9c51-4d29-a2b8-105c1e313fc3","version":"v2.6.0","title":"v2.6.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-6-0","summary":"Opens orders, print-ready exports, text templates, and the color library to the REST API, and fixes customizer translations not reaching the storefront.","body":"### New Features\n- **Orders in the API** — Orders carrying a design (WooCommerce, shortcode, or Gravity Forms) can now be listed, searched, and paged through the API, each with a link to the print file already generated for it. Shortcode orders can also be deleted.\n- **Print-ready exports from the API** — A print-ready file can now be generated for any order directly through the API and downloaded from the returned link — the same output the admin's Export panel produces, with the format and resolution overridable per request.\n- **Text Templates in the API** — The ready-made text presets can now be listed, added, edited, reordered, and removed through the API.\n- **Color Library in the API** — Colors and palettes can now be read and saved through the API, including a report of where a color or palette is still used so nothing is deleted out from under a product or print profile.\n\n### Improvements\n- **Print jobs link straight to their file** — Every print job now carries a ready-to-use download link instead of an internal path, so an exported file can be fetched without reconstructing its location.\n- **Settings API guards structured data** — The settings API now refuses to overwrite the color library and text templates directly and points to their own endpoints. Writing them raw previously discarded the change without an error, or broke the storefront designer's text module.\n\n### Bug Fixes\n- **Customizer translations** — Customizer labels are now served by the language the merchant actually edits rather than the raw site locale, so translations reach the storefront. Languages such as Greek showed as translated in the editor while the storefront stayed English.","related_feature_requests":[],"published_at":"2026-07-17T08:59:15.955+00:00","updated_at":"2026-07-17T08:59:16.013585+00:00"},{"id":"7809b426-8705-45a4-a62c-a17043ad35d1","version":"v2.5.5","title":"v2.5.5","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-5-5","summary":"Security-hardening release: locks down order-design display and saving, admin list endpoints, and Printful actions, plus corrected German, Spanish, and French translations.","body":"### Security\n- **Order customization display** — Customer-entered design text (element text, font, SKU) shown on order pages, in order emails, and in the WooCommerce order screen is now fully escaped, so it can no longer inject scripts into the store admin's browser.\n- **Saving a customized order** — Editing a customized order from the account area now requires the customer to be signed in and to own that order; it can no longer be triggered anonymously or against someone else's order.\n- **Admin product/pricing/interface/print-profile lists** — Added strict server-side validation of sort, column, and filter parameters on these admin list endpoints to close a data-exposure vector.\n- **Printful admin actions** — Fetching the Printful catalog and importing products now require the proper Chamevo permission and a valid security token.\n- **Remote image fetching** — Strengthened trusted-host validation to prevent lookalike-domain bypasses.\n\n### Bug Fixes\n- **Translations** — Corrected the German, Spanish, and French catalogs and repaired the admin-label pipeline so admin interface strings translate reliably.\n- **Gravity Forms order emails** — Order emails no longer show legacy internal field names.","related_feature_requests":[],"published_at":"2026-07-16T08:51:33.051+00:00","updated_at":"2026-07-16T08:51:33.150514+00:00"},{"id":"8544336a-ccf1-4f4e-bee0-44ead9bb7de4","version":"v2.5.4","title":"v2.5.4","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-5-4","summary":"Adds height-based text auto-fit and per-print-location pricing rules, plus Product Builder fixes for legacy print areas — engine 1.12.0.","body":"### New Features\n- **Auto-fit text height** — Text elements can now automatically adjust their font size to fit a fixed height (the counterpart to the existing width auto-fit), applied while typing, on load, and on text changes.\n- **Print Locations pricing** — Pricing rules can now target how many print locations a customer actually used across all views (e.g. front + back + sleeve = 3), enabling per-location surcharges.\n\n### Bug Fixes\n- **Legacy print areas in the Product Builder** — Products configured with the classic printing-box setup now show their print area when opened in the Product Builder; previously the area was invisible there even though the storefront displayed it correctly.\n- **Admin menu on the Product Builder screen** — The WordPress admin menu is now scrollable on the full-screen Product Builder, so lower menu items stay reachable.\n\n### Core Engine\n- **Width auto-fit reliability** — Width-based font auto-fit is now saved with the design (surviving duplication, undo/redo, and copies to other views), applies as soon as the text is added instead of after the first keystroke, and always respects the configured minimum/maximum font size.","related_feature_requests":[],"published_at":"2026-07-15T11:18:08.369+00:00","updated_at":"2026-07-15T11:18:08.625812+00:00"},{"id":"3e5a31cf-db22-40ae-9877-4af3770f780d","version":"v2.5.3","title":"v2.5.3","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-5-3","summary":"Fixes a Printful crash on order updates, block-checkout designs landing on the wrong order item, and admin access for shop-manager roles — engine 1.11.1.","body":"### Bug Fixes\n- **Printful order updates** — Fixed a fatal error when an order containing Printful products was updated, and the print-job webhook no longer creates duplicate Printful orders when it fires more than once.\n- **Block checkout design attribution** — Customized designs are now reliably attached to the correct order item when checking out via the WooCommerce block checkout, even when the cart contains multiple customized products.\n- **Admin access for shop managers** — Chamevo admin pages and actions now work for every user with the Chamevo capability (e.g. shop managers), not only full administrators.\n\n### Core Engine\n- **Duplicate customizer instances** — The customizer no longer breaks when a theme or page builder clones its DOM element (e.g. sliders or quick-view popups); cloned instances are now safely ignored.\n- **Element toolbar during 3D preview** — The element toolbar no longer jumps around while the 3D preview texture is refreshing.\n- **3D preview selection** — Element selection and open sub-panels no longer get closed while the 3D preview texture is being updated.","related_feature_requests":[],"published_at":"2026-07-13T07:55:57.952+00:00","updated_at":"2026-07-13T07:55:58.011237+00:00"},{"id":"74060a04-ae6b-40b9-a394-fea51fc502c3","version":"v2.5.2","title":"v2.5.2","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-5-2","summary":"Large uploaded images now render as a lightweight preview in the customizer for faster loading, with a new setting to control the behavior — engine 1.11.0.","body":"### New Features\n- **Faster loading for large images** — Uploaded photos above the configured size limit now render from a lightweight preview in the customizer, keeping things fast on mobile devices. Print files and downloads always use the full-resolution original, so output quality is unaffected. Disabled by default (Features > Uploads > Image Processing > Canvas Image Size Limit), so no behavior changes unless you opt in.\n\n### Bug Fixes\n- Fixed a pricing calculation issue where product views that customers never opened were being left out of the total price.\n- Fixed gradient-filled elements failing to load correctly in certain cases.\n\n### Core Engine\n- **Server-side proxy loading** — When paired with the new upload processing, only the smaller preview image is downloaded to the browser; the full-resolution original is never transferred until export or download.\n- **Per-image quality control** — Product configurations can force full-resolution rendering for specific images when needed, overriding the automatic size limit.","related_feature_requests":[],"published_at":"2026-07-07T07:20:45.286+00:00","updated_at":"2026-07-07T07:20:45.376077+00:00"},{"id":"a13ae28a-3521-4518-a426-c8904ad6e859","version":"v2.5.1","title":"v2.5.1","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-5-1","summary":"Fixes the Bulk Order panel showing up empty despite configured variations, and marks print-profile addon options with a new product-level scope badge — engine 1.10.1.","body":"### Improvements\n- **Product-level scope badge** — Print-profile addon options (Dynamic Views, Names & Numbers, Bulk Variations) now carry a \"P\" badge showing they apply once per product, not per view or print area.\n\n### Core Engine\n- **Bulk Order panel** — The Bulk Order panel no longer shows up empty (\"Please set all variations…\") on products whose variations are stored in the product/view options; the configured attributes (e.g. Size, Colors) now load reliably.\n- **Names & Numbers options** — Dropdown values and per-entry price configured at product/view level are now picked up by the Names & Numbers module.","related_feature_requests":[],"published_at":"2026-07-03T15:36:46.947+00:00","updated_at":"2026-07-03T15:36:47.230103+00:00"},{"id":"5bbd3799-55ed-45f2-835d-e597174a3856","version":"v2.5.0","title":"v2.5.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-5-0","summary":"Cart/order re-edits keep the customized design on variable products, mask editing returns with rotation, views open in new tabs — engine 1.10.0.","body":"### New Features\r\n\r\n- **Open views in a new tab** — \"Edit in Product Builder\" on the Products page is a real link again: right-click → open in new tab, Cmd/Ctrl-click, and middle-click all work.\r\n\r\n### Improvements\r\n\r\n- **Mask &amp; placeholder tooltips** — Every mask shape, placeholder preset, and the \"Edit mask on canvas\" button in the Product Builder now explains itself with a tooltip.\r\n- **Cart thumbnail debug logging** — With debug mode on, the storefront logs when (and why) a design thumbnail is generated for the cart, making thumbnail issues traceable.\r\n\r\n### Bug Fixes\r\n\r\n- **Re-editing keeps the design** — Editing a customized product from the cart or order confirmation no longer loads the design briefly and then replaces it with the blank default product when WooCommerce restores the selected variation.\r\n- **Accurate order counting** — Products with no Chamevo design — items customized via another upload plugin, or designer-enabled products left un-customized — are no longer registered against your plan's monthly order limit. Only real Chamevo designs consume an order.\r\n- **Cart thumbnail respects settings** — The design thumbnail is no longer generated and submitted when the Customized Product Thumbnail options for cart and order are both disabled.\r\n- **Custom mask &amp; placeholder upload** — The custom mask and placeholder image pickers in the Product Builder now open the WordPress media library correctly.\r\n- **Storefront action order** — The bottom action bar on the storefront now keeps the exact order configured in the UI Composer.\r\n\r\n### Core Engine\r\n\r\n- **Mask editing on canvas** — Clicking a print-area mask in edit mode no longer deselects it; masks can be moved, scaled, and — newly — rotated directly on the canvas.\r\n- **Oversized images auto-fit** — Custom images larger than the canvas are now always scaled down to fit automatically; the separate \"Scale Images to Fit Canvas\" setting is gone (explicit resize values and print-area bounds still take precedence).","related_feature_requests":[],"published_at":"2026-07-03T08:46:31.369+00:00","updated_at":"2026-07-13T08:30:12.453365+00:00"},{"id":"86db0bdb-66a8-4afa-89f2-3eab5ea512e5","version":"v2.4.1","title":"v2.4.1","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-4-1","summary":"Fixes an element toolbar that could vanish when tools were excluded, auto-centers newly added graphics, and lets UI Composer save an empty module set — engine updated to 1.9.1.","body":"### Improvements\n- **Auto-center graphics by default** — New graphics and graphic categories now have \"Auto-center on place\" enabled by default, so dropped graphics land centered in the print area.\n\n### Bug Fixes\n- **UI Composer empty modules** — You can now save an interface with no main-bar modules; removing all modules no longer snaps back to the defaults.\n- **WooCommerce thumbnails** — Empty product thumbnails are no longer written to the cart or order, preventing blank image references downstream.\n\n### Core Engine\n- **Element toolbar visibility** — The element toolbar no longer disappears when both the Position/Layer Order and Transform tools are excluded together; Duplicate, Remove Background, and Remove stay available.\n- **Graphic auto-centering** — Catalog graphics added without a saved position now drop into the centre of the print area instead of a corner.","related_feature_requests":[],"published_at":"2026-07-01T09:32:18.303+00:00","updated_at":"2026-07-01T09:32:18.36475+00:00"},{"id":"9779179d-db7e-4973-a280-f18d2a19aff8","version":"v2.4.0","title":"v2.4.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-4-0","summary":"V2 Admin is now the default dashboard, print profiles gain per-view fonts and a searchable font picker, plus a duplicate-interface fix and engine 1.9.0.","body":"### New Features\r\n\r\n- **Per-view fonts in print profiles** — Assign specific fonts to each view, so every print area offers only the fonts you've approved for it.\r\n- **Searchable font picker** — The Font Family selector in print profiles is now searchable, making large font lists fast to navigate.\r\n\r\n### Improvements\r\n\r\n- **V2 Admin is now the default** — The redesigned admin dashboard is no longer an opt-in beta; it's the standard interface across all admin pages.\r\n- **Cleaner admin screens** — Third-party plugin admin notices are now hidden on Chamevo screens, reducing clutter.\r\n- **Streamlined order actions** — Removed the redundant \"Mark delivered\" bulk action from the Orders list.\r\n\r\n### Bug Fixes\r\n\r\n- **Duplicate interface** — Fixed the \"Duplicate interface\" action in UI Composer having no effect; it now creates a working copy of the interface.\r\n- **Storefront text styling** — Textbox font, size, and style now carry through to the storefront customizer correctly.\r\n\r\n### Core Engine\r\n\r\n- **Per-view &amp; per-print-area fonts** — Font pickers can be scoped to each view and print area, so customers only see the fonts assigned to the area they're editing.\r\n- **Touch scrolling over the canvas** — On touch devices, swiping over the canvas now scrolls the page naturally instead of getting trapped on the customizer.\r\n- **Font inheritance** — Fixed assigned fonts not resolving correctly per scope, so views inherit the master view's fonts as expected.\r\n- **Image &amp; SVG colour mode** — Images and SVGs now default to \"tint\" colour mode instead of \"multiply\", producing the expected result when recolouring.","related_feature_requests":[],"published_at":"2026-06-28T13:48:30.64+00:00","updated_at":"2026-06-28T13:49:28.831078+00:00"},{"id":"ef6cde29-00f3-4c77-bfd3-6377929ea88b","version":"v2.3.0","title":"v2.3.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-3-0","summary":"Launches the new V2 Admin — an opt-in redesigned dashboard covering all 18 admin pages — ships a fully rebuilt Colours management system, and fixes storefront rendering of colour mode and text underline.","body":"> **📢 Try the new V2 Admin — and tell us what you think**\r\n>\r\n> 1. **Enable it** — go to **Settings → Advanced → Troubleshooting → Dashboard Interface Version** and switch to the new **beta** interface.\r\n> 2. **Share your feedback** — click the **\"V2 Admin Feedback\"** button at the top of the dashboard to let us know what's working and what could be better.\r\n>\r\n> It's fully opt-in, and you can switch back to the previous interface at any time.\r\n\r\n### V2 Admin\r\n\r\nA fully redesigned admin UI is now available as an opt-in beta. Enable it under **Settings → Advanced → Troubleshooting → Dashboard Interface Version**. Every page carries the same data and settings as the current interface — no configuration is lost when switching, and you can switch back at any time.\r\n\r\n- **Dashboard** — Redesigned start page with a live platform status indicator, a contextual help panel, and get-started steps that surface real product images from your store\r\n- **Colours management** — Fully rebuilt colour library with palette-based colour selection, a colour picker overlay, and a Browse Colours panel. Labels updated to \"Colours\" throughout the admin. Colour names are now preserved in the frontend export map so cart and order swatches show named colours instead of raw hex values. Palette metadata is wired directly into the Product Builder so colours added to a palette are immediately available when editing a product\r\n- **Products** — Full product list with server-side search, sort, category filter, and pagination; category assignments editable inline; drag-to-reorder views directly in the list; all query parameters mirrored to the URL so page, filters, and per-page setting survive a reload\r\n- **Print Profiles** — Redesigned editor with inheritance from a master profile, CM² unit label correction, and full-page layout with a fixed Save Bar\r\n- **Pricing Rules** — Full rule editor with named groups, conditions, and actions; list view with client-side pagination and URL-mirrored query state\r\n- **Graphics (Designs)** — Nested category tree, leaf-design browser with related-view image (RVI) support, media pickers for category images and banner overlays, colour palette localisation, and a Library browser panel (\"Bundles\" tab)\r\n- **Orders + Order Viewer** — Orders list with live canvas Order Viewer; view the full customized product directly in the admin on a transparent canvas with zoom/fit and undo/redo controls; deep-link from order list to viewer; WooCommerce delete action wired\r\n- **Pricing Rules** — Full rule editor with named groups, conditions, and actions\r\n- **Fonts** — Custom font upload (regular, bold, italic, bold-italic) and delete; Google Fonts catalog browser with search, category filter, and live previews\r\n- **3D Models** — Design Assets page (replaces the legacy Utilities modal) with CDN catalog and plan-gated install\r\n- **User Interfaces** — Full interface editor with a live customizer preview, tab management, and deep-link navigation\r\n- **Text Templates** — Preset text template manager with font preview; templates persist across sessions\r\n- **Maintenance** — Unified Maintenance / Exports tool (replaces the legacy Utilities/Tools route) with environment checks and a Danger Zone\r\n- **Post Meta Box + Printful** — Redesigned product meta box with Printful catalog browser; import Printful products with colour and size selection\r\n- **Product Builder** — Full-canvas product view editor with real @chamevo/core integration\r\n- **Translations** — Redesigned translations page with per-section tabs; language configuration relocated here from Settings\r\n- **Settings** — Redesigned settings with cloud storage moved to its own Export sub-tab; SaveBar fixed at the top across all V2 Admin pages\r\n- **Guide &amp; Onboarding** — New contextual guide checklist visible on each V2 Admin page, tracking setup progress and surfacing help links\r\n\r\n### Bug Fixes\r\n\r\n- **Colour mode and underline on storefront** — Fixed element colour mode (Tint/Multiply blend) and text underline not rendering correctly on the storefront. Both properties were saved to the database but missing from the frontend property allow-list, so they were silently dropped when the product loaded in the customizer or print-ready exports\r\n- **Media picker for builder images** — Fixed the media picker not opening when adding images in the Product Builder\r\n- **Pricing rules create modal** — Fixed the create-rule modal not targeting the correct insertion point, preventing new rules from being added\r\n- **Graphics category delete (orphans)** — Fixed deleting a parent category leaving child designs as orphans; child designs and sub-categories are now cleaned up correctly\r\n- **Order swatch names** — Fixed colour swatch names not resolving in the order viewer because hex-map keys were missing the `#` prefix\r\n- **Fonts: download instead of inline open** — Fixed custom font file opening in a new tab instead of triggering a download when clicking the font file link\r\n- **Cloud storage settings sub-tab** — Moved cloud storage configuration into its own Export sub-tab so it no longer overflows the main Settings layout\r\n- **Print profile master inheritance** — Fixed inherited print profile fields not correctly falling back to the master baseline value\r\n- **Admin menu pinning** — Fixed the WP admin sidebar scrolling away on V2 Admin pages; the menu is now pinned using WP core's native `sticky-menu` mechanism\r\n- **WooCommerce cart quantity lock** — Fixed the cart quantity being locked for all WooCommerce items; quantity is now only locked for bulk-variation products\r\n- **Product Builder element selection** — Fixed element selection becoming unresponsive when the product was locked for editing\r\n\r\n### Core Engine\r\n\r\n- **Colour pricing on multi-path SVG elements** — Dynamic pricing rules now correctly sum individual path prices when an SVG contains multiple distinct paths\r\n- **Colour pricing on text** — Fixed colour pricing silently falling back to zero when the global `textParameters` object was empty\r\n- **Catalog design placement** — Designs added from the graphics catalog that were saved at the 0/0 origin are now centred on the canvas\r\n- **Curved text pricing** — Switching a text element to curved mode no longer resets its individual element price\r\n- **Background elements in exports** — Background elements that extend outside the canvas bounds are no longer clipped during offscreen rendering, ensuring full-bleed backgrounds appear correctly in print-ready files","related_feature_requests":[],"published_at":"2026-06-25T08:33:03.626+00:00","updated_at":"2026-06-25T08:33:03.689036+00:00"},{"id":"3aea2a9b-8886-460f-9e7e-df2bce2b5e5d","version":"v2.2.0","title":"v2.2.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-2-0","summary":"Fixes bulk variation quantity resetting on a WooCommerce variation switch, retires the legacy V1 UI, and adds export-only print areas and per-tool AI providers (chamevo-js 1.7.0).","body":"### New Features\n- **Export-only print areas** — Mark a print area as export-only so it appears in the final print-ready file but stays hidden in the live customizer — ideal for production marks or print-only content\n- **Per-tool custom AI providers** — Point each AI tool (background removal, upscaling, generation) at your own AI provider endpoint and API key\n- **Expanded REST API** — New resource controllers broaden what you can read and manage programmatically through the Chamevo REST API\n\n### Improvements\n- **Legacy V1 interface retired** — The plugin now ships only the V2 admin and customizer; the old V1 UI and its assets have been removed, making the plugin lighter and simpler to maintain\n- **v3 export engine is now standard** — The v3 export engine, previously an opt-in troubleshooting toggle, is now the default for every export\n\n### Bug Fixes\n- **Multiline text line breaks preserved** — Fixed line breaks being lost in multiline text when re-editing a previously ordered design and in order details\n- **Replace default elements on variation switch** — Fixed the \"Replace Default Elements on Product Switch\" option not being applied when switching WooCommerce variations\n\n### Core Engine\n- **Bulk variation quantity preserved on variation switch** — Fixed the bulk order quantity, cart quantity, and saved variation details collapsing to a single unit after a WooCommerce variation reload, even though the on-screen rows still showed the full total\n- **Resize controls for free-scaling text** — Text elements set to free scaling now show width and height dimension controls for precise sizing\n- **Engraving opacity on catalog graphics** — Fixed engraving opacity not being applied to graphics added from the catalog","related_feature_requests":[],"published_at":"2026-06-03T14:22:55.551+00:00","updated_at":"2026-06-03T14:22:55.613582+00:00"},{"id":"33b96d7b-79db-4655-952e-359af060f6ba","version":"v2.1.1","title":"v2.1.1","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-1-1","summary":"Re-edit previously ordered products, clearer structured export errors, and Order Viewer fixes (modal alignment, print-areas panel), plus several WooCommerce cart/order display fixes and chamevo-js 1.6.0.","body":"### New Features\n- **Re-edit previously ordered products** — Reopen a previously ordered product in the V2 customizer to adjust its customization instead of starting over\n- **Structured export error reporting** — The Order Viewer's export panel now shows clear, structured error messages with field-level details when an export fails, instead of a generic failure\n- **New (v3) export engine toggle** — A troubleshooting option lets you switch to the new v3 export engine\n- **Color names in the Used Colors panel** — The Order Viewer's Used Colors panel now displays your configured color names alongside their hex values\n\n### Improvements\n- **Plugin version logged on customizer init** — The frontend customizer logs the plugin version on initialization, making support diagnostics easier\n\n### Bug Fixes\n- **Order Viewer modal alignment** — Fixed the Order Viewer modal rendering behind the WordPress admin sidebar, which clipped its title and content\n- **Print-areas panel** — Fixed the Order Viewer's print-areas panel showing \"No print areas found\" when the design actually had print areas\n- **Quantity no longer changes price** — Fixed the quantity input on WooCommerce product pages changing the displayed product price\n- **Bulk variations base price** — Fixed bulk-variation totals ignoring the WooCommerce base price\n- **Custom thumbnail in order details & emails** — Fixed the customized product thumbnail not appearing in order details (admin and customer emails) and in the block checkout order summary\n- **Used-colors badges in block cart & emails** — Fixed used-color badges not showing in the WooCommerce block cart, and styled them correctly in emails\n- **Colorizable SVG elements in cart/order** — Fixed colorizable SVG elements not appearing in cart and order item properties\n- **Product Builder stale view data** — Fixed stale view data being re-saved when switching views in the Product Builder\n\n### Core Engine\n- **Themable module and toolbar internals** — Module dialogs and the element toolbar's opacity slider now expose shadow-DOM CSS parts for full external theming\n- **Module dialogs stay anchored while scrolling** — Fixed customizer module dialogs drifting or detaching on host-page scroll; they now follow the customizer, stay within the viewport, and fade out cleanly\n- **Element toolbar tracks its element on scroll** — Fixed the element toolbar losing alignment during host-page scroll\n- **Used-colors list includes SVG fill colors** — Fixed `getUsedColors()` omitting colors applied to SVG fills\n- **Curved text restored correctly** — Fixed curved text not being promoted to proper curved-text objects when a design is loaded\n- **Accurate stage dimensions in saved views** — Fixed resolved stage width/height not being serialized into view options","related_feature_requests":[],"published_at":"2026-05-27T08:00:07.609+00:00","updated_at":"2026-05-27T08:00:07.685509+00:00"},{"id":"46fc0772-8447-4021-a1b8-22b82df13e3d","version":"v2.1.0","title":"v2.1.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-1-0","summary":"Fixes WooCommerce cart quantity being silently capped at 1, image layers leaking across Product Builder views, and variation-needed flags broken in next-page mode; carries forward all 2.0.41 work (block themes, AJAX nonce, labels, server-side image filters, chamevo-js 1.5.0).","body":"### New Features\n- **Disable add-to-cart toast** — A new option lets you turn off the toast notification that appears after a product is added to the cart, for stores that prefer to handle the post-add UX themselves\n- **Product-variation-needed customisation** — The \"please select a variation\" button now appears on any variation product, and a new option controls when it surfaces\n\n### Improvements\n- **AdvancedSelect search focus** — The search input inside the AdvancedSelect dropdown now auto-focuses when the dropdown opens, so you can start typing immediately\n- **Lightbox unsaved-changes alert** — The unsaved-changes warning no longer fires when the lightbox auto-submits an add-to-cart, so customers don't see a spurious \"are you sure\" prompt mid-flow\n- **Lightbox Done button translation** — The lightbox Done button now respects the `actions.modal_done` translation key\n- **Settings tabs loading state** — A loading overlay now appears when switching between settings tabs in the admin\n\n### Bug Fixes\n- **WooCommerce cart quantity** — Fixed Chamevo products always landing in the cart with quantity 1 regardless of the quantity selected on the product page; bulk-variations totals are preserved\n- **Product Builder view isolation** — Fixed image layers added in one view leaking into other views (and being persisted to those views' saved data) after a Save + switch + return sequence\n- **Variation-needed flag in next-page mode** — Fixed the \"Variation Needed\" / \"Product-Variation Needed\" customize-button options being ignored when the product designer ran in next-page (`page-customize`) visibility mode\n- **WooCommerce mini-cart thumbnail** — Fixed the customized product thumbnail not appearing in the mini-cart after adding to cart\n- **V2 customizer on block themes** — Fixed the V2 customizer failing to render on block-based themes; also stopped Tailwind preflight styles leaking into the WP admin and breaking native admin chrome\n- **WP admin menu icon reset** — Restored Tailwind preflight (used by the V2 customizer) while scoping the WP admin menu icon reset so the two no longer collide\n- **Price element selector on V2** — Fixed the V2 price selector picking the wrong element on pages with multiple `.price` blocks (e.g. cross-sell or related-product sections)\n- **Upload max file size** — Fixed upload handlers ignoring the configured max-file-size setting; oversized uploads now correctly reject at the limit\n- **Frontend AJAX nonce** — Fixed several frontend AJAX calls failing nonce checks after the nonce requirement was added; `_ajax_nonce` is now sent on all paths that need it\n- **Label customisation persistence** — Fixed admin label customisations not persisting after renaming option keys; they now save to the `chamevo_lang_` option key correctly\n- **Bulk variations from print profiles** — Fixed bulk variations defined at the product- or view-level print profile not propagating to the frontend customizer\n- **Block cart compatibility** — Continued WooCommerce block cart compatibility fixes carried from 2.0.4\n\n### Core Engine\n- **Server-side image filters for Pixabay and AI images** — Images sourced from Pixabay search and AI generation now have the configured Imagick filter applied on the server, matching the look of uploaded images\n- **`markSaved()` public customizer API** — Integrations can now mark the current customization as saved without going through `getOrder()`; the unsaved-changes flag is also cleared automatically on `getOrder()` so external save buttons stay in sync\n- **`hideCropMarks` option for SVG/print export** — Crop-mark overlays can be suppressed during export via the `hideCropMarks` option through `printAreasToSVG` / `toObjectForPrint`\n- **Themable element and image toolbar parts** — The color sub-tab in the element toolbar and the tab strip in the image module now expose CSS parts for full external theming\n- **HTML support in images-agreement modal** — `modules.images_agreement` now accepts HTML so you can include links and emphasis in the consent copy\n- **Print-area display settings preserved across view switches** — Fixed per-print-area visibility being reset when switching views\n- **Legacy view output dimensions carried into converted print areas** — Fixed output width/height being lost when an older view was converted to a print area\n- **SVG export no longer leaks other print areas' UI chrome** — Fixed exported SVGs containing UI overlays and elements from print areas that weren't being exported\n- **Graphics search thumbnails match results** — Fixed stale thumbnails in graphics-module search; items are now keyed by stable identity","related_feature_requests":[],"published_at":"2026-05-20T10:19:33.968+00:00","updated_at":"2026-05-20T10:19:34.028947+00:00"},{"id":"87ff505b-dbfd-49b2-80a4-8bda3e16e4a4","version":"v2.0.4","title":"v2.0.4","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-0-4","summary":"Fixes WooCommerce cart showing raw image data as text, restores layers panel icons, and ships multi-image upload via chamevo-js v1.4.0.","body":"### New Features\n- **Layers panel type icons** — Text, shape, and other non-image elements now show their element-type icon in the layers panel row\n\n### Bug Fixes\n- **WooCommerce cart thumbnail** — Fixed raw base64 image data appearing as visible text in the WooCommerce cart and mini cart; the product thumbnail now correctly replaces the cart item image in both classic and block cart\n- **Layers panel icons** — Fixed missing and incorrect type icons for textbox and engraved-text elements in the layers panel\n- **Product view loading** — Fixed a stuck loading spinner when switching product views fails to load\n- **Layers panel thumbnails** — Fixed image thumbnails not showing in layers rows; also guarded against a PHP warning when product meta values contained unexpected data\n- **WooCommerce variation prompt** — Fixed the \"please select a variation\" notice not appearing after CSS class prefix was renamed from `fpd-` to `cha-`\n\n### Core Engine\n- **Multi-image upload** — Upload multiple images at once; they are automatically distributed across print areas in order, saving time on bulk product setups\n- **Drag-to-scroll toolbar** — The horizontal module toolbar now has a smooth draggable scrollbar thumb; filter grids and Virtual Try-On history strips get the same treatment\n- **Loading spinner on element add** — Fixed the loading indicator not dismissing after an element is added or fails to load\n- **Bulk variation rows preserved** — Fixed variation rows being cleared when re-creating a product whose variant structure hasn't changed\n- **Toolbar clicks with drag-scroll active** — Fixed toolbar button clicks not registering while drag-scroll was in use","related_feature_requests":[],"published_at":"2026-05-05T13:35:08.721+00:00","updated_at":"2026-05-05T13:35:08.794822+00:00"},{"id":"821f4205-24f0-4ef7-84cd-d499f87ab6f0","version":"v2.0.3","title":"v2.0.3","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-0-3","summary":"Fixes a fatal error during print-ready export when the cloud webhook option is unset, plus a new global bleed box toggle via chamevo-js v1.3.0.","body":"### Bug Fixes\n- **Print-ready export** — Fixed a fatal error that occurred when generating export files on stores where the cloud webhook URL option had never been configured\n\n### Core Engine\n- **Global bleed box toggle** — Show or hide the bleed/crop-mark overlay across all products from a single setting, without editing each product individually\n- **Placeholder visibility on view switch** — Fixed image placeholders disappearing and not reappearing after switching between customizer views\n- **Text templates with unexpected data** — Fixed a crash in the text module when a template list contained a non-array value","related_feature_requests":[],"published_at":"2026-05-04T15:33:17.59+00:00","updated_at":"2026-05-04T15:33:17.66279+00:00"},{"id":"6dededdc-1687-4848-9e55-31994e3cba41","version":"v2.0.2","title":"v2.0.2","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-0-2","summary":"Patch fixes for element drag stability and palette scroll thumb spacing via chamevo-js v1.2.1.","body":"### Core Engine\n- **Element drag stability** — Fixed a crash when dragging or moving elements caused by an unguarded property check on the drag payload\n- **Palette scroll thumb gap** — Restored the 4 px gap between color swatches and the scroll thumb in the element toolbar","related_feature_requests":[],"published_at":"2026-04-30T18:48:02.507+00:00","updated_at":"2026-04-30T18:48:02.573323+00:00"},{"id":"55e1a6eb-d873-434b-8d1d-b97c055d7e4b","version":"v2.0.1","title":"v2.0.1","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-0-1","summary":"Bug fixes for saved designs AJAX auth, WooCommerce variation loading, print area drag, PHP 8.2 compatibility, and drag-scroll thumbs on module toolbars via chamevo-js v1.2.0.","body":"### Improvements\n- **Template navigation** — Template nav items now show a pointer cursor for clearer clickability\n- **UI Composer actions** — zoom-slider, zoom-label, and view-label are now available as configurable actions in UI Composer\n\n### Bug Fixes\n- **Saved designs** — Fixed \"My Designs\" save/load not working due to a missing authentication token in AJAX requests\n- **WooCommerce variations** — Fixed products not loading when a WooCommerce variation product ID is configured\n- **Print area drag** — Print areas can again be dragged in Scale & Move mode\n- **Product builder stability** — Fixed a crash when selecting print areas during product builder setup\n- **Print file badge** — The ready-to-print badge on orders now correctly persists after a page refresh\n- **Mask panel** — The \"None\" mask option now shows the correct icon and tracks selected state properly\n- **Colors panel scrolling** — Fixed scrolling in the Colors module panel\n- **PHP 8.2 compatibility** — Fixed deprecated dynamic property warning on PHP 8.2+ for WooCommerce orders\n\n### Core Engine\n- **Drag scrollbar on horizontal toolbars** — Module navigation rows now show a visible drag-thumb scrollbar so customers can quickly scrub through long tool lists without a touchpad\n- **Scroll thumb on filter grids and Try-On history** — Color swatch rows, filter grids, and the Virtual Try-On history strip all display the same drag-to-scroll thumb for a consistent experience\n- **Toolbar click handling restored** — Clicking toolbar buttons no longer requires a deliberate pause; pointer capture is deferred until an actual drag threshold is crossed\n- **Scroll thumb appears immediately** — The drag thumb is visible as soon as content overflows, not only after the user has scrolled\n- **Styled scrollbar track on color rows** — Color swatch rows show a slim styled scrollbar track for better discoverability","related_feature_requests":[],"published_at":"2026-04-30T18:22:39.592+00:00","updated_at":"2026-04-30T18:26:39.470432+00:00"},{"id":"a7987ffe-5224-4bb9-8a5d-b5e0cd4840ef","version":"v2.0.0","title":"v2.0.0","platform":"WordPress","platform_slug":"wordpress","url":"https://support.chamevo.com/en/changelog/wordpress/v2-0-0","summary":"Completely rebuilt customizer for WooCommerce, shortcodes, and Gravity Forms. Faster builds and improved frontend performance. Redesigned UI Composer with more layout and styling options. AI-powered Virtual Try-On for apparel products.","body":"### New Features\r\n\r\n- **Default V2 Admin UI** — new installations now start with the V2 admin interface enabled by default\r\n- **Enable V2 Modal** — legacy admin dashboard prompts existing users to switch to the V2 admin UI with a one-click upgrade modal\r\n- **WooCommerce Frontend V2** — full V2 customizer integration on WooCommerce product pages, including AJAX add-to-cart, modal behavior, product image updates, and cart re-edit\r\n- **Frontend V2 Bundles** — customer-facing Vite IIFE bundles for shortcode, WooCommerce, Gravity Forms, bulk variations, shared links, and pricing breakdown\r\n- **Virtual Try-On** — customers can preview customized apparel on model images and videos using AI-powered virtual try-on\r\n- **Try-On Usage Limits** — restrict virtual try-on usage per user with configurable image/video limits and a rolling time period\r\n- **Try-On Usage Indicator** — live usage bar in the try-on panel showing images and videos generated vs. quota, updating dynamically after each generation\r\n- **3D Preview on Frontend** — V2 3D visualization now renders on the customer-facing product page\r\n- **Settings Search** — search across all settings with instant tab navigation to matching options\r\n- **Cloud Storage Abstraction** — unified storage interface supporting local, Dropbox, AWS S3, and Google Drive backends\r\n- **Getting Started Guide** — interactive tour and checklist on the dashboard to help new users set up their first product\r\n- **Guided Tour Auto-Start** — setting to automatically start the guided tour on first page load, with localStorage dismissal tracking\r\n- **Post Meta Box V2** — redesigned product meta box with Printful support and improved save flow\r\n- **Pricing Breakdown Shortcode** — `[chamevo_pricing_breakdown]` shortcode to display dynamic pricing details\r\n- **Bulk Variations Form** — `[chamevo_bulk_add_form]` shortcode for bulk order submission\r\n- **Property Control Shortcode** — embed property-control modules via shortcode\r\n- **Graphic Options V2** — admin entry for managing graphic option sets\r\n- **Gravity Forms V2** — frontend customizer bundle wired for Gravity Forms in V2 mode\r\n- **Print Area Controls** — bounding box and bleed box toggles added to Product Builder print areas\r\n- **Export Smoke Test CLI** — `wp chamevo smoke-test-export` command with multiple test fixtures and format sweep support\r\n- **Toolbar Placement Setting** — toolbar placement (Smart/Sidebar/Hidden) now applies correctly on the frontend\r\n\r\n### Improvements\r\n\r\n- **Pricing Breakdown** — WooCommerce product/variation base price now appears in the breakdown and is included in the total calculation\r\n- **Module Shortcode Aliases** — `[chamevo_module type=\"graphics\"]` and `[chamevo_module type=\"my-designs\"]` now accepted alongside legacy types\r\n- **UI Composer Redesign** — replaced tab strip with Edit UI button, collapsible sidebar drawer, bottom bar builder, guided tour step editor, and streamlined layout/color settings\r\n- **UI Composer Frontend** — color scheme, UI style, module display, shadow, CSS variables, custom CSS, and excluded toolbar tools configured in the UI Composer now render on the product page\r\n- **Settings Simplification** — replaced the Limit Time Period dropdown with a single \"Limit Period (Days)\" number input\r\n- **Settings URL Sync** — active settings section is now reflected in the URL hash for shareable deep links\r\n- **V2 Settings Filtering** — unsupported V1 settings automatically hidden when running V2\r\n- **Improved Settings Labels** — clearer option titles throughout admin settings\r\n- **Option Key Migration** — all 115 `fpd_*` option keys renamed to `chamevo_*` prefix with transparent DB fallback for existing installs\r\n- **V1/V2 Order Compatibility** — unified product data normalization across the entire export pipeline, order display, and cart for both legacy and V2 order formats\r\n- **Print Data Simplified** — removed redundant `_fpd_print_order` storage; `usedFonts` now derived directly from order data\r\n- **Module ID Migration** — legacy module IDs (uploads/texts/designs) mapped to current IDs (images/text/graphics) with backwards compatibility\r\n- **Tool ID Alignment** — admin Exclude Tools options now match actual V2 toolbar `data-tool` values\r\n- **PSR-4 Autoloading** — migrated all PHP classes from `inc/` to `src/` under proper PSR-4 namespacing\r\n- **Architecture Restructuring** — decomposed ExportProvider into focused Export classes, split PrintProfileService into CRUD + ConfigBuilder, standardized AJAX controller patterns\r\n- **Security Hardening** — added CSRF nonce verification to all frontend AJAX handlers, capability checks to all admin AJAX handlers, replaced wildcard CORS with scoped headers\r\n- **SQL Safety** — all database queries now use `$wpdb->prepare()` including Gravity Forms lookups and option cleanup\r\n- **Input/Output Safety** — proper escaping and sanitization across frontend handlers\r\n- **Instagram OAuth** — replaced raw cURL with `wp_remote_post()` for proper SSL verification\r\n- **Printful Guard** — Printful integration now checks for WooCommerce before loading\r\n- **Guided Tours** — detailed step descriptions, auto-complete on interaction, and compass icon for better discoverability\r\n- **Dashboard Tour Integration** — Start Tour buttons on the dashboard now trigger the relevant guided tours\r\n- **Elementor V2** — PropertyControl widget simplified, options and columns removed\r\n- **Frontend CSS Modernization** — renamed `fpd-` CSS classes to `cha-` prefix across all frontend files\r\n- **FPD Naming Cleanup** — method names, interfaces, and service references renamed from FPD to Chamevo naming convention\r\n- **Biome Linter** — added Biome for consistent formatting across admin-fw, react-app-v2, test-env, and frontend-v2\r\n- **Frontend Label Generator** — automated script to extract and sync V1/V2 frontend translation strings\r\n- **Try-On Labels** — usage labels are now translatable via Settings &gt; Labels &gt; tryon tab\r\n- **Build Performance** — faster react-app-v2 builds with scoped watch rebuilds per entry\r\n- `**[chamevo_main_bar]` shortcode removed** — toolbar placement is managed internally in V2; the shortcode had no effect\r\n- **Removed unused V2 settings** — Main Bar Position, Max Canvas Height, Canvas Wrapper Height, Canvas Touch Scrolling, Mobile Gestures Behaviour, Responsive toggle, Auto-Fill Upload Zones, Drag &amp; Drop to Upload Zones, Upload Zones Always On Top, Responsive Breakpoints, Facebook Photos, and Instagram Photos options removed from V2\r\n\r\n### Bug Fixes\r\n\r\n- Fixed pricing breakdown not updating when WooCommerce variation changes\r\n- Fixed pricing breakdown reading price format from wrong config path in WooCommerce context\r\n- Fixed languages multiselect showing \"No options available\" due to stale `fpd_languages` key check\r\n- Fixed language switcher not appearing on the Labels page when Multi-Language Labels is enabled\r\n- Fixed label interpolation in try-on usage component using wrong placeholder syntax\r\n- Fixed checklist minimized state not persisting across page loads\r\n- Fixed group-hover styles not applying correctly in Tailwind v4\r\n- Fixed names &amp; numbers dropdown causing errors when value is non-string\r\n- Fixed cast type mismatch in `namesNumbersDropdown` preg_replace call\r\n- Fixed toolbar placement setting not applying on frontend (shadow DOM + missing option forwarding)\r\n- Fixed toolbar exclude tools not hiding tools (CSS can't pierce shadow DOM)\r\n- Fixed `chamevo_get_option()` always returning null due to renamed `$radykal_settings` property\r\n- Fixed WC order admin crash for V2 order data\r\n- Fixed export pipeline silently producing empty files for V2 orders (product data format mismatch)\r\n- Fixed post ID type mismatch in download filename generation\r\n- Fixed namespace placement before ABSPATH guard in V2 config builder\r\n- Fixed 3D model installer payload parsing, null root directory handling, and macOS metadata cleanup\r\n- Fixed client-side print profiles limit check incorrectly blocking valid configurations\r\n- Fixed Printful test suite failing due to mock function loading order\r\n- Fixed sidebar controls becoming unresponsive after dragging elements\r\n- Fixed text formatting buttons not working in the customizer\r\n- Fixed WooCommerce Hook Checker modal appearing on non-WooCommerce pages\r\n- Fixed category assignment not saving correctly and filtered product count being wrong\r\n- Fixed custom thumbnail not showing in WooCommerce mini cart\r\n- Fixed cart re-edit not loading the initial product in V2\r\n- Fixed order viewer canvas being cut off when scrolling\r\n- Fixed saved modules not loading in UI Composer\r\n- Fixed share feature not working with V2 customizer\r\n- Fixed color selection placement not applying for non-standard placements\r\n- Fixed i18n label merging — user overrides now always take priority over defaults\r\n- Fixed legacy design ID normalization for V2 compatibility\r\n- Fixed JSON sanitization in AJAX handlers for improved security","related_feature_requests":[],"published_at":"2026-04-30T09:53:31.267+00:00","updated_at":"2026-05-27T08:02:31.844957+00:00"}],"total":19,"page":1,"perPage":25,"platform":null}