{"entries":[{"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":8,"page":1,"perPage":25,"platform":null}