Black Friday: 30% OFF em todos os planos, já aplicado no carrinho Ver planos
Entrar Carrinho

OMGF PRO Changelog

Todas as versões registradas, da mais nova para a mais antiga, com o que mudou em cada uma.

Última 5.3.314 versões

Sem data · 14 versões

  1. 5.3.3

    Última
    2 melhorias6 correções
    Melhoria
    • 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.
    Corrigido
    • 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.
  2. 5.3.2

    2 novos2 melhorias8 correções
    Novo
    • the omgf_pro_smart_optimize_excluded filter, to exclude pages from Smart Optimize.
    • Dutch (nl_NL) translation, and OMGF Pro now loads its bundled translations.
    Melhoria
    • Smart Optimize purges a page from LiteSpeed Cache silently, instead of adding a LiteSpeed Cache "Purge url" admin notice for every page it analyzed.
    • the Dashboard notice no longer suggests Magic Fallbacks are generated per page; they're added for the fonts OMGF hosts locally.
    Corrigido
    • Smart Optimize decided whether a visitor was on mobile by the window's width when storing results, but by user agent when applying them. So tablets wider than 768px and narrow desktop windows analyzed pages on every visit, tablets could get the results meant for phones, and a narrow desktop window could store a page's desktop results as mobile. Results are now stored by user agent too, like most page caches separate mobile and desktop.
    • Smart Optimize no longer analyzes WooCommerce's endpoints, e.g. order received pages (/checkout/order-received/ /) or My Account's orders, and doesn't apply the results of the page they belong to (e.g. the checkout form) to them, because their contents are different.
    • Smart Optimize no longer analyzes pages which shouldn't be page cached, i.e. pages defining the DONOTCACHEPAGE constant (e.g. WooCommerce's cart, checkout and account pages), and doesn't apply results to them.
    • local stylesheets loaded through a URL containing ../ (e.g. Super Speedy Search's stylesheet) couldn't be cached, because their cache path contained ../ as well.
    • Magic Fallbacks had no effect unless Smart Optimize, a Detection Setting or a manual Fallback Font Stack was enabled too, and inline styles didn't get its fallbacks unless a manual Fallback Font Stack was configured. Stylesheets processed before Magic Fallbacks was enabled (or disabled) are now processed again.
    • pages served from a page cache for longer than 12 to 24 hours couldn't be analyzed by Smart Optimize, because their (expired) nonce made WordPress reject the request. Logged-out visitors no longer get a nonce, because it's the same for everyone and doesn't protect anything. Requires OMGF v6.3.13 for the Google Fonts Checker's request.
    • unused fonts were still removed after disabling Smart Optimize (only its preloads stopped). Its results are now only applied while it's enabled, and kept for when it's enabled again.
    • with plain permalinks, all pages shared the same Smart Optimize results, so fonts used on one page could be removed from another. Pages are now identified by their query vars, e.g. /?p=123 (search terms aren't stored).
  3. 5.3.1

    1 novo3 correções1 de segurança
    Novo
    • the omgf_pro_smart_optimize_path filter, to normalize the path Smart Optimize stores its results for.
    Corrigido
    • 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.
    Segurança
    • 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.
  4. 5.3.0

    2 novos2 melhorias3 de segurança1 alteração
    Novo
    • 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.
    Melhoria
    • 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.
    Segurança
    • external stylesheets are fetched over a safe request that rejects internal/private hosts.
    • asynchronously loaded Google Fonts stylesheets are only processed during an authorized Auto-Config run.
    • only the query string of a Google Fonts stylesheet URL is decoded before it's requested.
    Alterações
    • Tested with WP 7.1.
  5. 5.2.11

    1 correção1 de segurança1 alteração
    Corrigido
    • 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.
    Segurança
    • hardened the detection of Material Icons stylesheets, in line with OMGF v6.3.11.
    Alterações
    • 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.
  6. 5.2.10

    1 melhoria6 correções3 alterações
    Melhoria
    • 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.
    Corrigido
    • 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.
    Alterações
    • 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.
  7. 5.2.9

    6 correções
    Corrigido
    • 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.
  8. 5.2.8

    1 correção1 de segurança
    Corrigido
    • Muli was renamed to Mooli. This fix provides an alias for it.
    Segurança
    • Hardened Smart Optimize and local stylesheet processing to prevent a path traversal vulnerability. Props Patchstack.
  9. 5.2.7

    1 correção1 alteração
    Corrigido
    • Neuton and Oxygen didn't receive proper Magic Fallbacks due to missing values in the dataset. This fix provides fallbacks for these cases.
    Alterações
    • URGENT!: This release patches an exploit currently being actively exploited in the wild.
  10. 5.2.6

    1 novo3 melhorias2 correções
    Novo
    • Courier New as a Magic Fallback for monospace Google Fonts.
    Melhoria
    • 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.
    Corrigido
    • Magic Fallbacks now works with inline font-face statements.
    • font-family declarations inside inline font-face statements should not receive fallbacks.
  11. 5.2.5

    1 correção1 alteração
    Corrigido
    • Smart Optimize would append a (or replace an existing) ver parameter to URLs not cached by OMGF Pro.
    Alterações
    • Tested with WP 7.0.
  12. 5.2.4

    1 correção
    Corrigido
    • Local Stylesheets would attempt to optimize core's load-styles.php script.
  13. 5.2.2

    1 novo1 melhoria1 correção
    Novo
    • Mobile Support for Smart Optimize
    Melhoria
    • decoupled Magic Fallback from Smart Optimize
    Corrigido
    • use omgf_do_not_load_frontend_js filter to make sure Smart Optimize runs in OMGF v6.3.5
  14. 5.2.1

    1 novo2 correções
    Novo
    • provisioning for TranslatePress compatibility.
    Corrigido
    • undefined array key warning when theme uses WordPress Local Fonts.
    • replaced base64 encoding with hex escapes in the block async script, to improve WP 7.0 compatibility.

Changelog publicado pelo desenvolvedor, no idioma original.