Version History
Stay up to date with the latest features, improvements, and fixes in Open Icons.
Version 2.1.0
Lifetime licence support plus picker mount reliability. Adds clean handling for lifetime licences in the licence panel and ensures the picker attaches reliably inside ACF Blocks v3 inspectors.
- Lifetime Licence Support: The licence panel now recognises lifetime licences — showing "Lifetime" billing with no renewal row and "Never" for expiry, while keeping the status active.
- Picker Mount Reliability (ACF Blocks v3): Added a MutationObserver fallback that mounts picker hosts as soon as
.openicon-fieldelements appear in the DOM, independent of ACF'sready/ready_field/append_fieldactions. Resolves a case where the picker failed to attach inside Gutenberg block inspectors on certain theme / companion-plugin stacks.
Version 2.0.0
Final step of the plugin rename migration plus icon picker UX and icon delivery performance improvements. Main plugin file now uses the canonical filename, with activation self-healing for legacy installs.
- Plugin File Rename: Main plugin file renamed from
acf-open-icons.phptoopen-icons-acf.phpto complete naming alignment. - Build Packaging: Distribution scripts now package and version-sync against
open-icons-acf.php. - Legacy Bootstrap Shim:
acf-open-icons.phpis retained as a compatibility shim forwarding toopen-icons-acf.phpduring the migration window. - Picker UX Flow: Added a search-first browse flow with a dedicated "Browse all icons" action, plus a new "Common Icons" section ranked by usage and recency.
- Grid Performance: Reworked picker rendering to use row-based virtualisation and dynamic column calculation for smoother scrolling on large icon sets.
- Selection Memory: Icon selections now update both "Recent" and "Common" usage tracking for faster repeat picking.
- Duplicate Key Requests: REST key payloads now de-duplicate icon keys before fetch, preventing redundant requests and cache churn.
- Batch Fetch Reliability: Cache warm-up now batches primary and fallback CDN requests via multi-request handling, improving resilience and reducing request overhead.
- Activation Self-Healing: Added
active_pluginscorrection logic in admin to recover from legacy basename references after update. - Dual Bootstrap Packaging: Production ZIP now includes both bootstrap files to avoid activation drop-offs on legacy basename tracking.
- Response Normalisation: Added response extraction helpers to safely handle both WordPress HTTP API responses and Requests multi-request objects.
- Fallback Path Handling: Alternative icon URL fetching now runs in batched passes for missing primary responses.
Version 1.2.0
Plugin Rename - Internal alignment with the free version naming conventions. All existing settings, license data, and custom icons are automatically migrated.
- Plugin Renamed: Plugin is now "Open Icons for ACF" (was "Advanced Custom Fields: Open Icons") to align with the free version on WordPress.org.
- Helper Function: Primary helper function is now
get_openicon(). The previousacf_open_icon()function continues to work as a deprecated alias. - REST API Namespace: REST endpoints moved from
acf-open-icons/v1toopenicon/v1. - Settings Menu: Settings page is now under "Open Icons" in the ACF menu (URL slug changed from
acf-open-iconstoopen-icons-acf). - Upload Directory: Cache and custom icon directories moved from
uploads/acf-open-icons/touploads/open-icons-acf/.
- Automatic Migration: All option keys, upload directories, and cron jobs are automatically migrated from the old naming on first load after update.
- Namespace Alignment: PHP namespace changed from
ACFOItoOPENICONto match the free version. - Backward Compatibility: Old Lite plugin versions (acf-open-icons-lite) are still detected and deactivated correctly. The
acf_open_icon()helper function remains available as an alias.
Version 1.1.0
- Custom Icons Library: Upload and manage your own SVG icons directly in the plugin settings. Custom icons are sanitized for security and stored in your uploads directory.
- Telemetry: Anonymous usage statistics to help improve the plugin (sends site URL hash, WP/PHP versions, plugin version, and active icon libraries).
- Fuzzy Search: Improved icon search using uFuzzy library for better matching and typo tolerance.
- Settings UI: Redesigned settings page with tabs for Providers, Custom Icons, Migration, and License management.
- Badge Component: Updated badge variants with improved color schemes for better visual hierarchy.
- Toast Notifications: Refined toast styling for consistency with the design system.
- REST API: Extended endpoints for custom icon CRUD operations (upload, list, delete).
- Provider System: Custom icons now integrate seamlessly as a provider option alongside Lucide, Tabler, and Heroicons.
Version 1.0.3
- Tabler Icons Path Structure: Fixed issue where some Tabler Icons (including rosette-discount variants) were not loading. Tabler Icons now organizes icons in
outline/andfilled/subdirectories instead of directly in theicons/directory. The plugin now correctly fetches icons fromicons/outline/{key}.svg(default) and falls back toicons/filled/{key}.svgif needed. This ensures all Tabler Icons variants load correctly.
Version 1.0.2
- "Use Last Color" Context Isolation: Fixed "Use Last Color" feature to properly isolate color storage per instance of flexible layouts and repeaters. Previously, all instances of the same layout type shared the same last color, causing new instances to incorrectly inherit colors from previous instances. Now each layout instance and repeater row has its own isolated storage.
- Admin Preview Color Updates: Fixed issue where admin post edit screen showed old colors after palette token values were updated in settings. The preview now regenerates SVG from the current
colorTokenand palette settings, ensuring it always displays the current color values. The stored SVG in the database is also updated when saving the post.
- Instance Index Extraction: Improved context detection to extract flexible layout instance IDs and repeater row IDs from ACF input name paths, supporting both numeric and alphanumeric identifier formats.
Version 1.0.1
- Dev Mode Detection: Prevent the admin from entering dev mode just because another Vite server is running locally. The plugin now verifies its own dev entry before loading dev assets and exposes filters/constants for overriding host/port if needed.
Version 1.0.0
Major Release - Production Ready. This is the first stable production release of ACF Open Icons. The plugin has been thoroughly cleaned, documented, and optimized for production use.
- Usage Examples: USAGE_EXAMPLE.md included in production builds for developer reference.
- Build Process: Fixed build configuration to use esbuild instead of terser (no external dependency required).
- Version Synchronization: Ensured consistent versioning across package.json, plugin header, and CHANGELOG.
- Security Review: Verified all security best practices (sanitization, escaping, prepared statements, nonces).
- Performance: Reviewed and optimized asset loading, database queries, and caching.
- File Structure: Verified production ZIP contains only necessary files.
- Version Management: Automated version synchronization in build process.
Have a feature request?
We'd love to hear your ideas! Your feedback helps us prioritise what to build next and make Open Icons even better for your workflow.
Get in Touch