Get Started
OMGF Pro icon

15 versions

OMGF Pro history.

Every release of OMGF Pro is archived here with its changelog, file size, and security scan result. Use the archive to roll back to a stable release or audit what changed between updates.

15 of 15 releases scanned clean
v5.3.3Latest
October 19, 2026476.2 KBScanned
Fixed
  • after a theme (or plugin) stylesheet changed without WordPress' updater, e.g. when deploying with Git, SFTP or from a staging site, OMGF Pro kept serving its outdated cached copy. Cached copies are now refreshed when their source file is newer.
  • after updating a theme or plugin, local and external stylesheets OMGF Pro had cached (e.g. because they import Google Fonts) were served unprocessed until OMGF's cache was emptied, because OMGF removes their cached copies on update. They're processed again now.
  • Magic Fallbacks didn't add its fallbacks to fonts declared as CSS custom properties, e.g. block themes' font presets (Site Editor › Styles › Typography or theme.json).
  • Magic Fallbacks (or a Fallback Font Stack) could add its fallbacks to the font-family of an @font-face statement in the same stylesheet, instead of to the declaration using it (e.g. font-family: Manrope), which broke that @font-face statement.
  • refreshing a page's Smart Optimize results (Admin Bar) also removed the Smart Optimize stylesheets it shared with other pages with the same unused fonts, so those pages loaded without their fonts while served from a page cache.
  • Apply Font-Display Option Globally (and Magic Fallbacks) also rewrote text on the page mentioning font-display (or font-family), e.g. "font-display: swap" in a post, removing everything after it up to the next ; or }. Inline styles are now processed inside style elements and style attributes only.
Improved
  • while Smart Optimize is paused because OMGF reports issues on the Dashboard (or found unprocessed Google Fonts), the Dashboard says so, instead of saying it's enabled.
  • when OMGF Pro removes cached stylesheets (an outdated cached copy of a theme or plugin stylesheet, or Smart Optimize's stylesheets after changing Magic Fallbacks), it flushes the page caches OMGF supports, because cached pages still refer to them. Requires OMGF v6.3.14 or higher.
October 12, 2026472.2 KBScanned

No changelog available for this version.

October 6, 2026434.3 KBScanned
Fixed
  • Smart Optimize stored its results for every URL visitors browsed to, so variations of the same page were analyzed and stored separately, e.g. AffiliateWP's referral URLs (/ref/ /), which may contain an affiliate's email address. Results are now stored for the canonical path of the page. Existing results are removed once, so pages are analyzed again.
  • Smart Optimize results weren't found on sites installed in a subdirectory, or for paths containing percent-encoded characters.
  • Smart Optimize no longer analyzes 404 pages for administrators either.
Added
  • the omgf_pro_smart_optimize_path filter, to normalize the path Smart Optimize stores its results for.
Other
  • Security: Smart Optimize only stores results for paths signed by your site, i.e. pages it actually rendered, so its table can't be filled with made-up paths.
v5.3.0Unavailable
September 30, 2026430.8 KBScanned
Added
  • compatibility with Thrive Leads (and other Thrive products loading forms through Thrive Dashboard): Google Fonts @imported by forms which are loaded asynchronously are now replaced with locally hosted copies.
  • Smart Optimize results reported by visitors can only preload font files hosted on this site, OMGF's upload URL, a host the site already loads stylesheets, scripts or fonts from, or a whitelisted host: hosts of preloads reported during an administrator's visit are whitelisted automatically, other hosts are listed on the Dashboard for approval (the stoplight in the admin bar turns blue), and the whitelisted and ignored hosts can be managed below the Smart Optimize option.
Improved
  • preloads' and unloads' paths are validated and the number of stored preloads and unused fonts is now limited.
  • font files OMGF couldn't download correctly are reported as an alert (red) in the admin bar, instead of a warning, because OMGF Pro can't fix those. Requires OMGF v6.3.12.
Other
  • Security: external stylesheets are fetched over a safe request that rejects internal/private hosts.
  • Security: asynchronously loaded Google Fonts stylesheets are only processed during an authorized Auto-Config run.
  • Security: only the query string of a Google Fonts stylesheet URL is decoded before it's requested.
  • Tested with WP 7.1.
September 22, 2026417.6 KBScanned
Other
  • Note: this release requires OMGF v6.3.11 or higher. On older versions the clean up below is postponed until OMGF is updated, and Material Icons stylesheets aren't processed until then.
  • Security: hardened the detection of Material Icons stylesheets, in line with OMGF v6.3.11.
Fixed
  • Magic Fallbacks kept asking to contact support about fonts which never existed, e.g. 'Arial,Helvetica,sans-serif !important', 'var(--tve-font-family,Mulish)' and 'inherit'. Whenever the Google Fonts API returned no fonts for a font family found in a local or inline stylesheet — which is always the case for a font installed with WordPress' Font Library — OMGF Pro < v5.2.9 ran the optimization again with the entire document, instead of that font's @font-face statements. Every font-family declaration in that document was then stored as a font family. This release removes those entries from the Optimized Fonts table, and Magic Fallbacks now ignores any value which can't be the name of a font, instead of reporting it.
v5.2.10Unavailable
August 11, 2026414.3 KBScanned
Other
  • Note: this release detects stylesheets which were skipped before, so optionally run Save & Optimize once after updating to add them to your cache. Nothing breaks if you don't.
  • couldn't match the hyphen separating the subset from the font-weight (e.g., source-sans-pro-normal-latin-400.woff2), so no rule ever matched. The subset is now matched against the @font-face rule's
  • unicode-range, and only falls back to the filename for rules which don't define one.
Fixed
  • Optimize Local/External Stylesheets skipped any link element written over multiple lines (or with a line break inside its href attribute), while browsers load those just fine. The pattern used to find them couldn't match line breaks, but could run past the > which ends an element. Both are fixed, and line breaks are now stripped from the URL before it's requested, just like browsers do.
  • @import statements spread over multiple lines weren't detected. CSS allows whitespace (incl. line breaks) after @import and inside url(), and a backslash followed by a line break is a line continuation inside a string, but none of those were matched. A raw line break inside the URL is still ignored, because that's an unterminated string, which browsers don't load either.
  • Smart Optimize (Unused Fonts) could return a blank page when an inline @import statement was fully unloaded. The pattern used to remove that statement removed everything between the first @import and the last occurrence of the stylesheet's URL, and exceeded PCRE's runtime limits on documents larger than ~100KB, in which case the entire document was replaced with nothing (accompanied by a 'preg_replace_callback(): Passing null to parameter #3 ($subject)' deprecation notice). Matching is now confined to a single @import statement, and a failed search/replace leaves the document untouched.
  • Smart Optimize (Unused Fonts) didn't remove any @font-face rules from stylesheets whose fonts are split into subsets. The subset was matched against the font file's URL using a pattern which
  • Smart Optimize (Unused Fonts) now removes a stylesheet's link element from the HTML entirely when all of its @font-face rules are unloaded, instead of leaving behind a request for an empty stylesheet. Generated stylesheets always start with a header comment, which meant they were never detected as empty. This also fixes the deregistration of fully unloaded Async Stylesheets.
  • an unused Material Icons stylesheet wasn't removed from the HTML. Its cached URL was looked up in the wrong list, so it was never recognized, and clearing the link element's href attribute left behind a request for the page itself. Its link element is now removed entirely.
Improved
  • the classes which collect @import statements (and the one which adds the Material Icons subset) registered their filters once per instance, while they're constructed on every processing run. Because nothing ever removed those filters, they stacked up within a single request, which meant the same @import could be optimized several times over, and the Material Icons subset could be added to the subset list more than once.
v5.2.9Unavailable
August 4, 2026408.0 KBScanned
Fixed
  • with Magic Fallbacks enabled, the first click on a Replace checkbox checked all corresponding "Don't Load" checkboxes, but left the Replace checkbox itself unchecked.
  • with Magic Fallbacks enabled, a Replace checkbox stayed disabled after unchecking the Preload checkbox(es) of the corresponding font family.
  • A corrupted (non-array) Fallback Font Stack option no longer causes a fatal error ('Cannot access offset of type string on string') when opening the Optimize Fonts settings screen.
  • Magic Fallback aliases were incorrectly stored as font families during Save & Optimize, causing a 'could not find a matching fallback font' notice.
  • Magic Fallbacks no longer tries to find a fallback for icon fonts (e.g., Material Icons/Symbols) and no longer shows a 'could not find a matching fallback font' notice for them.
  • Smart Optimize now purges the page cache on taxonomy archives, the homepage and WooCommerce product pages by switching supported caching plugins (LiteSpeed, W3 Total Cache, WP-Optimize, WP Rocket, WP Super Cache) to URL-based purging, so the detection script no longer re-runs on every page load for URLs without a single post-ID.
v5.2.8Unavailable
July 6, 2026404.6 KBScanned
Other
  • Security: Hardened Smart Optimize and local stylesheet processing to prevent a path traversal vulnerability. Props Patchstack.
Fixed
  • Muli was renamed to Mooli. This fix provides an alias for it.
v5.2.7Unavailable
June 25, 2026392.0 KBScanned
Other
  • URGENT!: This release patches an exploit currently being actively exploited in the wild.
Fixed
  • Neuton and Oxygen didn't receive proper Magic Fallbacks due to missing values in the dataset. This fix provides fallbacks for these cases.
v5.2.6Unavailable
June 17, 2026407.4 KBScanned
Added
  • Courier New as a Magic Fallback for monospace Google Fonts.
Fixed
  • Magic Fallbacks now works with inline font-face statements.
  • font-family declarations inside inline font-face statements should not receive fallbacks.
Improved
  • always inline Magic Fallbacks to make sure they're used before anything else.
  • BunnyCDN compatibility.
  • Smart Optimize now removes import statements if all font-face statements in the corresponding stylesheet are marked for unloading.

Why archive

Sometimes the latest release isn't the one you need. The archive lets you pin OMGF Pro to a known-good version, or roll back while a bug is investigated. Every release stays scanned and reachable.