Skip to content
MAJOR UPDATE 2.0 -> CHECK OUT HERE
  • Documentation
  • Changelog
  • Support
  • Agency
  • Documentation
  • Changelog
  • Support
  • Agency
Purchase
Login
Purchase
Login

Changelog

Table of Contents

Version 2.0.2

Release Date: May 3, 2026
  • Fixed:
    • Icon picker not opening on newly added repeater rows. Clicking “Select Icon” on a freshly added ACF repeater row had no effect until the page was saved and reloaded. The root cause was an ACF internals detail: ACF keeps a hidden clone template <tr> in the DOM as the copy source for new rows. When the page loaded, our JavaScript ran initField() on that template and set data-aeci-init="1" on its wrapper element. Since ACF clones the template byte-for-byte — including data-* attributes — every new row inherited that flag from the moment it was created. The lazy-init guard then fired immediately on click (aeciInit === '1' → skip), the row was never registered in the fields map, and the modal never opened. Fixed with two complementary changes: (1) initField() now skips any wrapper whose hidden input carries the disabled attribute — the reliable signal that an element is an ACF clone template rather than a real row; (2) getOrInitState() detects the “marked as initialised but not in map” inconsistency, resets the stale flag, and re-initialises the wrapper correctly. A delegated document-level click handler (also introduced in this release) then opens the modal on the very first click, with no page-save required.
  • Upgrade notes:
    • No action required. Update the plugin and the icon picker will open immediately on any newly added repeater or Flexible Content row without needing to save the page first.

Version 2.0.1

Release Date: April 29, 2026 Hotfix release. Restores correct front-end loading of custom IcoMoon / Fontello icon-font stylesheets. If you upgraded to 2.0.0 oand any widget configured with a non-Font-Awesome icon stopped showing visually, update to 2.0.1 \u2014 the icons will reappear automatically without re-editing any page.
  • Fixed:
    • Custom icon-font sets not rendering on the front-end. Widgets configured with an icon from a custom IcoMoon / Fontello set (anything other than Font Awesome) emitted the correct <i class="\u2026"> markup but the matching font stylesheet was never enqueued, so the icon appeared invisible. This affected every site upgrading to 2.0.0 / 2.0.1 that relied on custom icon sets.
    • Root cause: in 2.0 the icon-font CSS was made conditional through Elementor’s get_style_depends() mechanism, but only Font Awesome was declared as a dependency. Custom set stylesheets were registered under separate handles (aeci-icon-font-<slug>) and never pulled into the page.
    • Fix: every registered custom icon set is now included in the widget’s dependency list, so the matching CSS automatically ships on any page that renders an AECI widget. SVG icons (rendered inline, no CSS dependency) are correctly excluded from the dependency list.
  • Upgrade notes:
    • If you have already updated to 2.0.0and your custom-set icons stopped showing on the front-end, simply update to 2.0.1 \u2014 they will reappear with no editor action required.
    • The HTML markup of widgets has not changed in this release. Existing CSS overrides in your theme keep applying as before.
    • If your editor shows “No icon found in field \u2026” inside a repeater / loop layout, this is expected behaviour (the editor cannot resolve dynamic content outside its loop context). To display a placeholder icon in the editor without affecting the front-end, enable Editor Preview in the widget’s Content tab.

Version 2.0.0

Release Date: April 29, 2026 Major release with two new product features (custom SVG library and hover swap icon), a fully rewritten icon picker, a security and performance audit pass, and translation support. Fully backwards-compatible — existing widgets and ACF fields keep working without any manual migration.
  • Added:
    • Custom SVG Library: upload your own SVG icons through a new admin tab at Settings → AECI Custom Icons → SVG Library. SVGs are sanitized at upload time (scripts, event handlers and external references stripped) and rendered inline so they inherit Color, Size, Hover Color and Rotate from the widget controls automatically. Use it to bring icons from Heroicons, Phosphor, Lucide, Tabler or your own designs into the picker.
    • Hover swap icon: new Hover Icon section in the Content tab. Toggle on, choose a static icon from any installed set, or — for the AECI Dynamic Icon widget — read the hover icon dynamically from another ACF field on the same record.
    • Editor preview: opt-in toggle to show a placeholder icon in the Elementor editor when the ACF value isn’t available (e.g. inside Loop Grid templates or unsaved posts). The placeholder never appears on the front-end.
    • 9 built-in CSS animations (spin, pulse, beat, fade, bounce, shake, swing, tada, jello) selectable per widget.
    • Dynamic Tags integration: AECI custom_icon fields are now usable as Elementor dynamic ICONS tags in any compatible control.
    • Recent icons strip in the picker, persisted per user.
    • Custom widget icon in the Elementor panel — replaces the generic star with a branded glyph.
    • Spanish (es_ES) translation included; full .pot file available for any other language.
  • Changed:
    • Settings reorganized: single entry under Settings → AECI Custom Icons with two tabs (License, SVG Library) instead of separate menu items.
    • License key field is now masked on screen (••••••••XXXX) with Show key / Replace key buttons to prevent leaks via screenshots and screen-shares. The full key is auto-hidden again 10 seconds after revealing it.
    • Icon picker rewritten as a vanilla-JS, virtualized grid that handles thousands of icons smoothly. Includes keyboard navigation: / focuses search, arrow keys navigate, Enter selects, Esc closes.
    • AECI Dynamic Icon is now the recommended widget for new projects. The three previous widgets (ACF Custom Icon, ACF Flexible/Repeater Custom Icon, ACF Taxonomy Term Custom Icon) are kept for backwards compatibility and clearly marked as Legacy in the widget panel.
    • Custom icon-font sets now register their folder slug case-sensitively, matching Elementor Pro’s own behaviour for IcoMoon and Fontello uploads.
    • License activation upgraded to HMAC v2; the licensing server still accepts v1 during the rollout window for backwards compatibility.
  • Fixed:
    • Front-end performance: icon-font CSS, the picker JSON catalog and the EDD updater hooks are now loaded only on screens and pages that actually need them. Front-end pages without AECI widgets no longer pay the cost of these assets and hooks.
    • Internal license options (aeci_license_*) no longer use autoload, reducing the size of the WordPress autoloaded-options query on every request. A one-shot migration converts existing options on first 2.0 page-load.
    • Icon catalog cache now invalidates only when an attachment inside wp-content/uploads/elementor/custom-icons/ is added or removed, instead of on every attachment change.
    • EDD plugin updater no longer registers admin-only hooks during public front-end requests, saving memory and bootstrap time on every visitor page-load.
    • License action handlers now verify the manage_options capability after the nonce check (defense in depth).
    • REST /recent-icons endpoint validates both value and library parameters with a strict regex and returns proper WP_REST_Response objects.
    • SQL queries in the icon repository now use $wpdb->esc_like() and $wpdb->prepare() consistently.
    • Class autoloader rewritten as a clean PSR-4 implementation.
    • Term resolution logic in three widgets de-duplicated into a single shared trait.
    • Plugin singleton is now strictly enforced (private constructor).
    • Plugin header now declares Update URI: false to prevent accidental name collisions with WordPress.org plugins during automatic updates.
  • Removed:
    • Legacy error_log() calls that were left in production from development.
    • Verbose proxy-v2.php debug code path; the production proxy lives server-side and HMAC v2 is the default transport.
  • Security:
    • Strict whitelist-based SVG sanitizer (DOMDocument-based, with LIBXML_NONET and entity loader disabled — XXE-safe). Removes <script>, <foreignObject>, on* event handlers, javascript: / data: / vbscript: URLs, external <use href> references, DOCTYPE declarations and processing instructions. Sanitization runs at both upload and read time as a defense-in-depth measure.
    • SVG uploads validated via is_uploaded_file(), sanitize_file_name(), .svg extension check and a 250 KB hard size limit.
    • New uninstall.php cleans up options, transients and user_meta when the plugin is deleted. Set the AECI_KEEP_DATA_ON_UNINSTALL constant to true in wp-config.php to opt out.
  • Upgrade notes:
    • Fully backwards-compatible. Existing widgets keep rendering identically (HTML output is unchanged byte-for-byte). Existing ACF field values keep working — no data migration needed.
    • If you had bookmarks pointing to Settings → ACF Custom Icons License, update them to Settings → AECI Custom Icons → License. Old URLs redirect automatically.

Version 1.5.2

Release Date: May 29, 2025
  • Changed:
    • Font Awesome dependency upgraded from 6.6.0 to 6.7.2 throughout enqueue calls.
  • Fixed:
    • Repeater/Flexible rows now maintain independent icon pickers—selecting an icon in one row no longer overwrote others, thanks to per-wrapper context storage in the Thickbox handler.

Version 1.5.1

Release Date: May 06, 2025
  • Fix:
    • Thickbox (modal) size fixed to auto in order to fix the available space.

Version 1.5.0

Release Date: May 01, 2025
  • Added:
    • Introduced AECI Dynamic Icon unified widget, consolidating Simple, Group, Repeater/Flexible and Taxonomy-Term icon widgets into one.
    • New modal-based icon picker in ACF field: “Select Icon” and “Clear” buttons, live search, preview, debounced filtering.
    • Unique modal IDs per repeater/flexible row to allow independent icon selection.
  • Changed:
    • Legacy widgets (ACF Custom Icon, ACF Flexible/Repeater Custom Icon, ACF Taxonomy Term Custom Icon) renamed in panel to include “(Legacy)” in their titles (no change to slugs or internal logic).

Version 1.4.1

Release Date: April 20, 2025
  • Added Field Type selector in the widget’s Content tab so you can choose between a standalone ACF field or a Group → Sub‑field setup.
    • Support for rendering icons stored inside ACF Group fields.

Version 1.4.0

Release Date: February 25, 2025
  • Added ACF Option Page Support for Flexible/Repeater Widget
    • Introduced a new “Field Source” control in the ACF Flexible/Repeater Custom Icon widget. Users can now choose between retrieving fields from the current Post/Page or an ACF Option Page.
  • Improved Field Retrieval Logic
    • The Flexible/Repeater widget now intelligently checks get_sub_field() first (for loop contexts), then falls back to get_field() if no sub-field exists, ensuring broader compatibility with flexible/repeater setups.
  • Consistent No-Message Frontend
    • If the license is invalid, icons simply won’t render instead of showing front-end warnings, preserving a clean user experience.

Version 1.3.9

Release Date: February 17, 2025
  • Improved Domain Mismatch Handling
    • Now normalizes the domain by removing protocol (http://, https://) and www., preventing accidental deactivations on minor SSL or subdomain changes.

Version 1.3.8

Release Date: February 16, 2025
  • Updated License Checking
    • Removed the automatic license check on every admin page load, causing issue with some firewall.
  • Fixed “Undefined array key ‘view’” Warning
    • Provided a fallback for the view setting in the Custom Icon widget to avoid PHP notices when the setting is undefined.
  • Minor Code Cleanups
    • Removed redundant hooks, improved domain-change handling, and clarified code comments for better maintainability.

Version 1.3.7

Release Date: December 22, 2024
  • Seamless Re-Activation: Once the plugin detects a domain change, users will see an admin notice prompting them to re-activate the license on the new domain.
  • Improved Reliability & Security: These changes ensure licenses remain accurate to the current domain, preventing conflicts or unintentional domain usage of a single license.

Version 1.3.6

Release Date: December 20, 2024
  • Improved Compatibility with ACF and Terms: Fixed an issue where passing a WP_Term object directly to get_field() caused a critical error. The plugin now properly retrieves ACF field values for terms by using 'term_{term_id}' as the reference, ensuring stable integration with Elementor, JetEngine, and Elementor Pro Loop Grid.
  • Namespace Adjustments: Updated references to ACF functions (get_field(), get_sub_field()) to ensure they are correctly called from the global namespace, preventing fatal errors if ACF is active.
  • Stability and Compatibility: Additional checks and safe-guards implemented to maintain compatibility with JetEngine when editing templates in Elementor.

Version 1.3.5

Release Date: November 24, 2024
  • Compatibility Issue:
    • Resolved an issue where the `TermCustomIcon` widget did not display icons correctly when using Elementor Pro’s Loop Grid querying terms. The widget now correctly retrieves the current term in all contexts, ensuring compatibility with both Elementor Pro and JetEngine’s Listing Grid.
  • CSS File Reference:
    • Fixed an incorrect CSS file reference in the plugin code.

Version 1.3.4

Release Date: November 07, 2024
  • Improved Compatibility:
    • Adding support with Fontello icons set.

Version 1.3.3

Release Date: November 05, 2024
  • Improved Compatibility:
    • New widget added “ACF Taxonomy Term Custom Icon”.

Version 1.3.2

Release Date: November 02, 2024
  • Bug Fixes:
    • Resolved minor issues related to license activation.

Version 1.3.1

Release Date: October 30, 2024
  • Added License Activation System:
    • Implemented license key activation and validation to secure plugin updates and support.
    • Users can activate their license via the new settings page under Settings > ACF Custom Icons License.
  • Improved Compatibility:
    • Ensured compatibility with the latest versions of WordPress, ACF, and Elementor.
  • Bug Fixes:
    • Resolved minor issues related to icon loading in certain themes.
    • Fixed a conflict with other plugins using similar function names.

Version 1.3

Release Date: October 15, 2024
  • Added Font Awesome Support:
    • Integrated Font Awesome icon library into the plugin.
    • Users can now select from Font Awesome icons within ACF fields and Elementor widgets.
  • New Flexible Custom Icon Widget:
    • Introduced a new Elementor widget compatible with ACF’s Flexible Content fields.
    • Allows dynamic insertion of custom icons in flexible layouts.
  • Performance Enhancements:
    • Optimized code for faster loading times.
    • Reduced the plugin’s memory footprint.

Version 1.2

Release Date: October 3, 2024
  • Enhanced Custom Icon Management:
    • Added an interface under Elementor > Custom Icons for managing icon sets.
    • Users can now upload, delete, and organize custom icon fonts directly from the dashboard.
  • Improved User Interface:
    • Updated the icon selection modal for a more intuitive experience.
    • Added search functionality to quickly find icons by name.

Version 1.1

Release Date: September 16, 2024
  • Elementor Widget Integration:
    • Introduced the Custom Icon widget for Elementor.
    • Users can now drag and drop the widget into their layouts and select custom icons.
  • ACF Field Enhancements:
    • Improved compatibility with various ACF field configurations.
    • Added support for conditional logic in custom icon fields.

Version 1.0

Release Date: September 9, 2024
  • Initial Release:
    • Launched the ACF Custom Icon field type.
    • Enabled selection and display of custom icons within ACF fields.
  • Core Features:
    • Support for uploading custom icon fonts.
    • Basic integration with ACF field groups.
  • Documentation Provided:
    • Included initial documentation for installation and usage.

ACF Elementor Custom Icons

by Pixelwise Studio

Help

  • Documentation
  • Changelog
  • Support
  • Agency
  • Documentation
  • Changelog
  • Support
  • Agency

LEGAL

  • Privacy Policy
  • Cookies Policy
  • Terms and Conditions
  • Privacy Policy
  • Cookies Policy
  • Terms and Conditions
© 2023 - . Pixelwise Studio Ltd. All Rights Reserved.
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}
Login
Log into Your Account

Lost Password?

Are you an affiliate? Login here.

  • Documentation
  • Changelog
  • Support
  • Agency
  • Documentation
  • Changelog
  • Support
  • Agency
Purchase
  • Privacy Policy
  • Cookies Policy
  • Terms and Conditions
  • Privacy Policy
  • Cookies Policy
  • Terms and Conditions