Pulled live from the source repository · CF Image on codebit.nl
Metadata normalization — no functional change.
author is now Codebit (was "Nivoli"), and author_url moved to https://codebit.nl/cf-image to match the other first-party add-ons.ext.cf_image.php $version was left at 1.10.2 when 1.10.3 shipped; it now tracks the add-on version (1.10.4).Install: extract cf_image/ into system/user/addons/, then Developer → Add-Ons → CF Image → Update.
Distribution release: CF Image can now self-update through Addon Expert's license-gated registry. No behavior change to the addon itself.
addon.setup.php declares a registry source (updates.nivoli.com, product cf_image). With a CF Image license key entered under Addon Expert → Settings → Registry license keys, the Releases screen tracks CF Image and installs updates in one click — the download is signed and its sha256 verified before the atomic swap. No public GitHub repo required.Install: extract cf_image/ into system/user/addons/, then Developer → Add-Ons → CF Image → Update.
Documentation refresh ahead of the marketplace listing — no behavior changes.
eecli, with the cron example), and the setup checklist / live probe. The Audit section is rewritten around the coverage % model (history sparkline + regression), Suggestions reflects the rules/recipes flow and the broad-pattern → Catch-all behavior, and the Misses-log section points at its own page (capture toggle, viewer, 2 MB cap). Removed a host-specific reference.Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
*.jpg, *.png, …) as rules.** Turning one into a rule applies a single recipe to *every* file of that type and — because rule matching is first-match-by-priority — can shadow your more specific rules. These now appear in a separate, read-only "Broad patterns — use Catch-all" section instead of the create table: when catch-all is on it notes they're already covered; when off it points to the Settings catch-all toggle. Only patterns with real structure (a __variant or stem) remain create-able as rules.On a ChannelImages site — where most uncovered files collapse to bare extensions — this makes the page recommend the right tool (catch-all) instead of a footgun.
Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
Multi-Site Manager correctness — the cross-site features assumed a two-site (#1/#2) install and misbehaved on installs with three or more sites.
Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
Dashboard now leads with coverage, and does less work to render.
Note: the intermittent "doesn't load, works on the 3rd try" you saw is consistent with shared-server (PHP-FPM / edge) contention on that host rather than something heavy in this page — but the dashboard now does strictly less and surfaces the genuinely useful number.
Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
Actually fixes "Shrink all" (v1.9.4 didn't finish the job).
EE.CSRF_TOKEN but still bailed to the synchronous path when that global is empty — which it is when CSRF protection is off (as on some installs), where the POST needs no token at all. The AJAX loop now runs regardless of token presence, so it engages everywhere with the intended live per-file progress.Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
Usability pass — fixes a dead "Shrink all" button and clarifies the Suggestions and Misses-log flows.
EE.CSRF_TOKEN global and runs the batch over AJAX with live per-file progress. (Same fix applied to the deep-scan loop.)Yes, EE has the catch-all (Settings → "Catch-all"), same as the WordPress plugin — on-prefix images that match no rule get format=auto, fit=scale-down, width≤1920 automatically. It's now cross-linked from Suggestions and the Misses log.
Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.
Install: extract cf_image/ into system/user/addons/, then Add-ons → CF Image → Update.