GeneratePerf

Docs / Help

Changelog

Every GeneratePerf release and what changed.

Every GeneratePerf release and what changed. Installed sites receive new versions from their Updates screen.

3.1.2 – 2026-09-23

  • Security: declare the Update URI header so wordpress.org can never serve a same-slug plugin as a GeneratePerf update
  • Enhancement: add a « Pause off-screen animations » visual feature: any element with the pause-offscreen class only animates while it is visible in the viewport (IntersectionObserver), with prefers-reduced-motion honoured
  • Enhancement: add 20 variable fonts with calibrated fallbacks: Nunito, Nunito Sans, Roboto Condensed, IBM Plex Sans, Inter Tight, Sora, Public Sans, Google Sans, Atkinson Hyperlegible Next, Mozilla Text, Source Serif 4, Newsreader, Fraunces, Roboto Slab, Crimson Pro, Faustina, EB Garamond, Alegreya, Petrona and Stack Sans Notch
  • Enhancement: add a « Clean uninstall » advanced option that deletes every GeneratePerf setting, cache and data when the plugin is deleted; never included in settings exports
  • Enhancement: move the updater to the update_plugins hostname hook, so update checks run at WordPress’ own cadence instead of on every read of the update transient
  • Enhancement: auto-updates can now be enabled for GeneratePerf, and the native « View details » link appears on the Plugins screen even when no update is pending
  • Enhancement: remember a failed update-server call for 10 minutes instead of retrying on every admin page, and re-check immediately when a license key is saved
  • Enhancement: show incompatible updates with their WordPress or PHP requirement instead of hiding them
  • Enhancement: preload the featured image through wp_preload_resources, earlier in <head>, with fetchpriority high and the displayed size
  • Enhancement: prioritize the first content image with WP_HTML_Tag_Processor, without re-encoding the content or injecting a DOCTYPE
  • Enhancement: prime post, term and thumbnail caches for related posts and related pages, removing dozens of queries per page
  • Enhancement: check every never-saved GeneratePerf setting in a single query instead of one query each on every page
  • Enhancement: remove two option lookups made on every request and the Smart Delay JS transient
  • Enhancement: with a persistent object cache, the view counter no longer writes transients nor flushes the post query cache on every view
  • Enhancement: load GeneratePerf front-end scripts with the defer strategy
  • 3rd-party compatibility: serve cached pages to visitors arriving with OpenAI’s oppref ad parameter, and align the ignored parameters of WP Rocket, FlyingPress and Cache Enabler on a single list (FlyingPress was missing ttclid)
  • Bugfix: on archives, the first thumbnail now gets fetchpriority high and the second one is no longer lazy-loaded
  • Bugfix: a skip-lazy image wrapped in a link no longer loses its figure and caption
  • Bugfix: show the GeneratePerf icon on the WordPress Updates screen instead of the generic plugin dashicon

3.1.1 – 2026-09-12

  • Bugfix: Lexend was rendering as Arial on the front end, because its fallback face was declared under the real font family name instead of Lexend-fallback
  • Bugfix: Vend Sans never loaded, as its CSS and its preload both expected a file name the shipped font did not use
  • Bugfix: stop emitting a preload link to a missing file for Old Standard TT, PT Serif, Questrial and Righteous, which are static fonts wrongly flagged as variable
  • Bugfix: correct the declared font-weight range of 20 variable fonts, which announced weights their files do not contain (Lora, Noto Sans, Oswald, Open Sans, Manrope, Geist and others); Geist is capped at the CSS maximum of 1000
  • Enhancement: recalibrate the fallback metrics of all 76 local fonts against a balanced French, English, Italian, Spanish and German prose sample, and add the missing descent-override to 55 of them; worst-case text reflow drops from 14% to 1.3% and layout shifts of up to 54 pixels per paragraph disappear
  • Enhancement: add a second fallback face to every local font, matched to Roboto on Android for sans-serif and to Noto Serif for serif, so devices without Arial or Times New Roman keep a metric-adjusted fallback instead of losing it entirely; both faces share a single family name, so font settings already saved in the Customizer are left untouched
  • Enhancement: simplify every variable font declaration to a single @font-face with a universal fallback source, dropping the duplicated @supports block and an invalid format() value, for 35% lighter font stylesheets before the new fallback faces
  • Enhancement: align fallback family names with the font stacks declared in PHP
  • Enhancement: remove the unused Poppins italic font file
  • Bugfix: safelist the local font stylesheets with WP Rocket’s Remove Unused CSS, which was stripping the fallback font declarations as unused and cancelling the fallback metrics, letting layout shifts come back
  • Enhancement: respect the speculative loading defaults a host sets through WP_SPECULATIVE_LOADING_DEFAULT_MODE and WP_SPECULATIVE_LOADING_DEFAULT_EAGERNESS in WordPress 7.1, instead of overriding them; behaviour is unchanged when they are not set
  • Enhancement: send a Retry-After header with the 503 response of the maintenance mode, so search engines know when to come back
  • Bugfix: only remove the REST discovery and shortlink Link headers, instead of every Link header, which was also stripping the preload and preconnect hints Cloudflare turns into 103 Early Hints

3.1.0 – 2026-08-26

  • Enhancement: add Polish (pl_PL) and Swedish (sv_SE) to fully supported languages, with all 673 strings translated
  • Enhancement: no longer block CCBot and Bytespider in robots.txt; both can still be blocked from a child theme via the generateperf_list_block_agents filter
  • Security: escape 31 previously unescaped outputs across the admin dashboard, related posts, date archives and author meta
  • Security: add the missing wp_unslash on menu icon and user profile fields, which were storing escaped slashes in the database
  • Security: sanitize REMOTE_ADDR and HTTP_USER_AGENT reads, and switch the 4 internal wp_redirect calls to wp_safe_redirect
  • Security: prefix the generic Custom_Walker_Nav_Menu class to avoid collisions with other plugins
  • Enhancement: add 116 translators comments and number the placeholders of 4 strings, with existing translations migrated across all 9 locales
  • Enhancement: move the block editor SVG sprite script out of a PHP heredoc into a dedicated file loaded with wp_add_inline_script
  • Enhancement: document every remaining coding-standards exception with a justified phpcs:ignore, and add a readme.txt
  • Bugfix: fix the star rating tooltip showing a truncated score (Rated 4/5 instead of Rated 4.5/5)
  • Bugfix: restore the contact form validation message translation, missing in 6 languages since 3.0.5, and rebuild every .l10n.php from its .po so all 9 locales match
  • Bugfix: fix duplicate entries in several Polish dropdown lists (view counters, author bylines, publication dates, summary labels and show/hide wordings), where two options rendered identically
  • Bugfix: the Google News sitemap now works as soon as the option is saved, without visiting Settings > Permalinks; rewrite rules are flushed on the next request once the rule is declared, and sites where the rule was already missing repair themselves on the next admin page load

3.0.9 – 2026-07-20

  • Enhancement: refactor the admin settings registration with declarative helpers (generateperf_add_field, generateperf_render_select, generateperf_render_location_checkboxes, generateperf_render_input), removing ~1000 lines of duplicated register_setting / add_settings_field boilerplate with no change to the rendered options
  • Enhancement: add a « Hidden (custom behaviors) » social share location that loads the share JS and data but no CSS or markup, so you can build your own buttons with data-share-url attributes
  • Enhancement: only load the social share assets when a display location is selected, and load JS without CSS in hidden mode
  • Enhancement: enabling the hidden social share location now clears the other locations, active services and native share (on save and live in the admin), keeping only the wording
  • Enhancement: add a « Purge caches » button in the Tools tab that clears all GeneratePerf presentation transients (icons, SVG sprites, ratings, sitemaps, related tags, updater) and flushes the page cache, while preserving anti-abuse throttles
  • 3rd-party compatibility: allow lazy-loading on GenerateBlocks Pro mega-menu overlay panels so GB Pro no longer forces eager/high-priority loading on them

3.0.8 – 2026-07-06

  • Enhancement: cache the child theme icons directory scan in a transient (bypassed under WP_DEVELOPMENT_MODE theme), removing a filesystem glob on every front request
  • Enhancement: build the Stripe renewal URL at render time so the license option is only read when needed and always current
  • Security: escape author name, avatar and author URLs in the author box, the comment form title, the excerpt subtitle, and use the explicit user_description kses context for the bio
  • Bugfix: declare the media: XML namespace on the canonical /feed/ URL, not only /feed/rss2/, fixing an unbound prefix validation error on the media:content image tag
  • Bugfix: various robustness fixes (wp_reset_postdata on related posts, subtitle hook priority resolved on wp, front-end-only scope for the option_generate_blog_settings filter fixing a Customizer notice on WP 6.9.1+)

3.0.7 – 2026-06-30

  • Enhancement: enlarge Inter variable axis from 400-700 to 300-900 (+ 4kB)
  • Enhancement: introduce a new « generateperf_related_articles_before_footer_limit » hook to customize the number of related posts
  • Enhancement: move the taxonomies cloud setting from the SEO tab to a new « Taxonomy Cloud » tab under Features
  • Enhancement: add a display location selector for the taxonomies cloud (above title, under title, after content, right sidebar top)
  • Enhancement: add a position class on the taxonomies cloud container for per-location spacing styles
  • Enhancement: switch the default above-title rendering hook priority from 0 to 20 so badges sit right next to the title
  • Enhancement: disable GeneratePress native single-tag and single-category displays when the matching taxonomy is enabled in the Taxonomy Cloud
  • Enhancement: rewrite the taxonomies cloud CSS as a self-contained flex component immune to the parent context (entry-header, content or sidebar)
  • Enhancement: support an optional taxonomy= »… » attribute on the tags_list and popular_tags shortcodes to list terms of any taxonomy, falling back to post_tag for full backward compatibility
  • Bugfix: scope the option_generate_blog_settings filter to the public front-end only, fixing a WP_Scripts notice in the Customizer preview on WP 6.9.1+

3.0.6 – 2026-05-27

  • Security: explicitly set sslverify=true on the GeneratePerf updater wp_remote_get to harden against hosts that opt SSL verification out via filters
  • Enhancement: raise the Google News sitemap transient TTL from 60 seconds to 1 hour; freshness still guaranteed by invalidation on every publish transition
  • Enhancement: raise the Site Health diagnostics transient TTL from 30 seconds to 5 minutes, sparing 6 DB queries on every admin page load
  • Enhancement: migrate 5 inline echo ‘<style>’ admin/front blocks to proper wp_add_inline_style calls (admin notices hide, posts list thumbnail column, progress bar color, Google CSE results page, taxonomy image column)
  • Enhancement: factorize the taxonomy image column CSS into a single admin_enqueue_scripts hook instead of one per registered taxonomy
  • Enhancement: add an early bail in the post-update routine for AJAX, REST and cron contexts, avoiding unnecessary DB and filesystem writes outside of regular admin loads
  • Enhancement: drop the useless init wrapper around the settings export admin_post handler registration
  • Enhancement: replace the « IN (SELECT … ) » subquery with an INNER JOIN in the « sitemap » shortcode SQL for better performance on large sites
  • Bugfix: restore inline <sup> rendering in the « Be the first to rate » fallback (the 3.0.5 esc_html switch broke the French ordinal « 1ᵉʳ » markup); now allowed through wp_kses with a strict sup/sub allowlist

3.0.5 – 2026-05-25

  • Security: stricten contact_form email validation by adding is_email check on top of sanitize_email, to refuse syntactically invalid addresses that survived sanitization
  • Security: wrap the variable font preload href with esc_url for defense-in-depth
  • Security: pass the rating prompt translation through esc_html and the « leave a detailed review » HTML translation through wp_kses with an explicit anchor allowlist
  • Security: rebuild cmp.js entirely with createElement and textContent instead of innerHTML string concatenation, eliminating any DOM-XSS risk on the consent modal
  • Bugfix: stricten loose == comparisons in 8 conditionals across sitemaps, admin dashboard, ratings admin, medias, SEO archives and other handlers (string and int normalization where the operands could differ)
  • Enhancement: introduce a GENERATEPERF_OPTION_PREFIX constant and remove the 5 duplicate « static $prefix » initializers in the options-management class
  • Enhancement: make all native CMP labels translatable (« Cookies management », « Refuse », « Accept and continue », « Privacy policy », « Cookies » toggler) via a single « generateperf_cmp » localized object instead of hardcoded French strings
  • Enhancement: introduce a generateperf_write_file helper using WP_Filesystem with a graceful fallback to file_put_contents, and migrate the 3 plugin-managed file writes (child theme style.css × 2, customizer CSS cache) to use it
  • Enhancement: standardize home_url usage by replacing the 3 remaining get_home_url calls, with esc_url and esc_html added on the surrounding markup
  • Enhancement: replace wp_die HTML responses on disabled RSS comment and search feeds with a clean status_header 404, so feed aggregators get an empty body instead of an HTML error page
  • Enhancement: clean up 3 redundant phpcs:ignore EscapeOutput markers in the font enqueue / preload functions and the 2 markers around translated ratings strings, after fixing the underlying calls
  • Enhancement: drop dead-code « $postType » and « $label » variables in the « Be the first to rate » fallback
  • Enhancement: clean up a misleading « memory leak » comment in the post-update routine to clarify that the flag is consumed, not a leak prevention

3.0.4 – 2026-05-18

  • Security: escape tag names and tag links in « popular_tags » and « tags_list » shortcodes via esc_html / esc_url / esc_attr
  • Security: sanitize the license-expiration HTTP header value through sanitize_text_field before storing it in the database
  • Security: wrap DateTime instantiation on the stored license expiration in try/catch to handle malformed values gracefully instead of throwing
  • Security: neutralize square brackets in the changelog parser to prevent any shortcode mention from being executed when the « What’s new » dashboard widget is rendered
  • Bugfix: fix PHP 8.1+ deprecation when HTTP_USER_AGENT is missing on incoming requests, by coalescing the value to an empty string in generateperf_is_robot
  • Bugfix: rebuild the AggregateRating JSON-LD schema via wp_json_encode, with ratingValue rounded to 2 decimals (float) and ratingCount as an integer, fixing potential invalid schema warnings in Google Search Console
  • Bugfix: harden ID anchors in « tags_list » table of contents through sanitize_html_class to avoid invalid markup on non-ASCII tag names
  • Enhancement: add an optional limit= »X » attribute to the « popular_tags » shortcode to control the number of tags displayed (defaults to 25, clamped between 1 and 200)
  • Enhancement: switch the JSON-LD @context to https://schema.org instead of the deprecated http variant

3.0.3 – 2026-05-13

  • Security: add capability check on GeneratePerf settings export and import handlers, previously protected by nonce only
  • Security: whitelist imported options against registered settings and run each option’s sanitize_callback during JSON import, preventing arbitrary option overwrite
  • Security: cap settings import file size at 1 MB and reject non-string keys to harden the import handler
  • Security: add CSRF nonce and explicit submit field to the contact_form shortcode to prevent form takeover from other POST handlers on the page
  • Security: refuse contact form submission when a captcha provider is selected but its public or private key is empty, instead of silently succeeding
  • Security: add a 1 minute per-IP throttle on the contact_form shortcode to mitigate mail relay abuse
  • Security: replace raw cURL call with wp_remote_post for captcha verification, respecting WordPress HTTP settings and filters
  • Security: sanitize uploaded SVG files via DOMDocument whitelist, removing <script>, <foreignObject>, on* attributes and unsafe href / xlink:href values
  • Security: transparently decompress .svgz uploads and re-write them as sanitized .svg files
  • Security: bound /vote REST endpoint score to [1, 5], require the target post to be published with ratings enabled for its post type, and add 24 hours server-side double-vote protection per IP+UA+post
  • Security: validate /update_views REST endpoint against published posts with views tracking enabled, and add a 30 minutes increment throttle per IP+UA+post
  • Security: escape stored option values in admin dashboard inputs, textareas and option lists via esc_attr / esc_textarea / esc_url
  • Security: escape author biography output in the team_list shortcode through wp_kses_post
  • Security: add CSRF nonce to the « Copy CSS to child theme » AJAX endpoint
  • Bugfix: sanitize the user_avatar profile field URL through esc_url_raw before saving to user meta
  • Bugfix: remove duplicate, unsanitized save handler for the telephone user meta field
  • Bugfix: fix broken integer cast on the views counter that left the value as a string
  • Bugfix: guard isset($_GET[‘page’]) on the GeneratePerf options page check to avoid PHP notices in WP_DEBUG mode
  • Enhancement: add UPPER_CASE plugin constants (GENERATEPERF_VERSION, GENERATEPERF_ROOT_DIR, etc.) as canonical names while keeping the legacy lowercase aliases for backward compatibility
  • Enhancement: rebind the « AJAX request failed » localized string to the actual copy-css script handle (was previously orphaned and unreachable from JS)

3.0.2 – 2026-04-28

  • Enhancement: add a new top left sidebar location for social share buttons location
  • Enhancement: add Jetbrains Mono variable font (first monospace type font)
  • Bugfix: remove useless attributes from SVG sprites regardless of their position
  • Bugfix: fix social share buttons not working when native sharing disabled
  • 3rd-party compatibility: reduce FlyingPress preload delay from 500 to 200 ms

3.0.1 – 2026-03-04

  • Enhancement: add a template system to in-text related posts to allow child-theme or Gutenberg overrides
  • Enhancement: add a Site Health checkpoint regarding mandatory colors in Customizer
  • Enhancement: improve Smart Delay JavaScript for additional gains on TBT and INP metrics
  • Enhancement: improve some admin translations for better understanding
  • Bugfix: remove lazy-rendering on « .main-navigation ul ul », led to visibility issues on submenus
  • Bugfix: exclude « aside » and « nav » html tags from in-text related articles candidates to avoid bad behaviors
  • Extra: ckeck compatibility with WordPress 7.0

3.0.0 – 2026-01-21

  • Enhancement: fully redesigned admin interface for v3 GeneratePerf experience
  • Enhancement: add General Sans variable font
  • Enhancement: add Bespoke Sans variable font
  • Enhancement: replace « nowprocket » script attributes with data-nowprocket to respect html standards
  • Enhancement: add a new « Smart Delay » function that optimizes low-priority scripts automatically
  • Enhancement: remove WordPress default content formatting : capital_P_dangit and convert_smilies
  • Enhancement: improve tags_list shortcode to group numbers in a unique « # » group
  • Enhancement: full regeneration (651 strings) of DK, ES, IT, NL and PT translations with Gemini 3 Pro
  • Bugfix: move SVG sprites above footer custom code, should always have been this way
  • 3rd-party compatibility: improve media namespace support in GN Publisher Google News feeds

2.9.4 – 2025-12-08

  • Enhancement: add a new « generateperf_trim_author_description » filter to trim author descriptions in author boxes when needed
  • Enhancement: add category and tag classes to related posts displayed outside content
  • Enhancement: add Zalando Sans variable font
  • Enhancement: add a new « Occupation » user field that is displayed in author box and author profile page
  • Enhancement: small author box CSS enhancements to avoid unnecessary overrides
  • Enhancement: add an aria-hidden=true attribute to SVG sprites for better accessibility
  • Enhancement: manage dashboard widgets removal with a more specific hook
  • 3rd-party compatibility: add compatibility with WP Armour, remove advertising widget on dashboard

2.9.3 – 2025-12-01

  • Enhancement: add Be Vietnam Pro variable font
  • Enhancement: disable « woocommerce_recently_viewed » cookie on WooCommerce product pages to allow Nginx caching
  • Enhancement: improve the performance of several functions hooked to « template_redirect » and « init » hooks
  • Enhancement: disable « load custom CSS from the customizer in a dedicated stylesheet », costly and no longer needed in WP 6.9
  • Enhancement: cache SVG sprites icons in transients to avoid multiple file_get_contents() that impact performance
  • Enhancement: (admin) introduce new switches to improve binary options activation UX
  • Enhancement: (admin) introduce optimized checkboxes for options with multiple choices
  • Bugfix: set a new constant alias for get_stylesheet_directory() to simplify its usage
  • 3rd-party compatibility: fully disable WP Rocket Insights, not useful inside WordPress admin
  • 3rd-party compatibility: force ShortPixel Image Optimizer to use double extension path instead of simple replacement (to align with Imagify behavior)
  • 3rd-party compatibility: prevent ShortPixel Image Optimizer from purging cache on image optimization

2.9.2 – 2025-11-17

  • Enhancement: fully rewrite in-text related posts styles, from Flex to Grid with better responsiveness
  • Enhancement: improve default author avatar display in « byline » meta
  • Enhancement: finalize the implementation of new get, set and update functional classes to manage GeneratePerf options
  • Enhancement: improve options activation performance on post types and archive pages
  • Enhancement: refactor checkboxes logic for boolean options (on/off)
  • Enhancement: remove default and empty options from database to improve performance
  • Enhancement: change array options behavior from json_encode to native serialization
  • Enhancement: improve and provide new related posts labels
  • Enhancement: introduce new Speculation Rules exclusions to avoid cache issues
  • Enhancement: provide a temporary right of use for preprod and local websites in licence management
  • Enhancement: several improvements to align with WordPress Plugin Check (PCP) expected checkpoints
  • 3rd-party compatibility: add support for SpinupWP cache purge in utilitary functions

2.9.1 – 2025-10-23

  • Enhancement: apply text-wrap: balance style to « figcaption » and « blockquote cite » tags in addition to titles
  • Enhancement: disable 4 native blocks in Gutenberg editor if GenerateBlocks or Spectra are used to limit redundancy risks
  • Enhancement: code reorganization regarding Gutenberg overrides
  • Enhancement: add Pilcrow Rounded variable font
  • Enhancement: add Gemunu Libre variable font
  • Enhancement: create a new utilitary function to save non critical options in autoload=false mode
  • Enhancement: improve the performance to display custom GeneratePerf links in admin plugins list
  • Enhancement: introduce new get, set and update functional classes to manage GeneratePerf options
  • Enhancement: improve performance of dynamic labels display for in-text related content
  • Enhancement: provide a new simpler « by » post author meta prefix
  • Bugfix: fix broken post preview when « optimal post slug » option is activated
  • Bugfix: replace relative path for user ratings endpoint with fully built static url
  • Bugfix: do not modify excerpt behavior for post types other than posts when native subtitles are enabled
  • Bugfix: fix sidebar gap to 40px on desktop, CSS reset was no longer working
  • Bugfix: improve after_update hook to prevent potential memory leaks on busy servers
  • 3rd-party compatibility: improve Cache Enabler « one-click configurator » update behavior
  • 3rd-party compatibility: add support for Shortpixel Image Optimizer via « one-click configurator » : optimal options in 1 click

2.9.0 – 2025-10-06

  • Enhancement: add support for Github social profiles for authors
  • Enhancement: allow to change subtitles position from « under post meta » to « under title »
  • Enhancement: use native get_post_meta instead of get_field for ACF subtitles to improve performance
  • Enhancement: display simple checkboxes as switches in GeneratePerf dashboard on Safari
  • Enhancement: allow to exclude users by ids in authors « team_list » shortcode
  • Enhancement: display author social links in « team_list » shortcode
  • Enhancement: add a new « public email » user field to display a mailto link in author boxes
  • Bugfix: support <use> tag in SVGs added through menu icons
  • 3rd-party compatibility: improve Rank Math social medias handling in author profile and author box component
  • 3rd-party compatibility: improve automatic font preloading for WP Rocket >= 3.19
  • 3rd-party compatibility: support new « generateblocks/media » Gutenberg block for skip-lazy class prioritization
  • 3rd-party compatibility: fix images flickering with Perfmatters lazy-loading JS library on scroll

2.8.9 – 2025-10-01

  • Enhancement: new « one-click configurator » to instantly apply WP Rocket, Perfmatters, Cache Enabler and Imagify optimal configuration (more coming…)
  • Enhancement: allow post metas separator to be changed in Layout tab : middot, pipe, dash, bullet, slash…
  • Enhancement: add Clash Display variable font
  • Enhancement: add Satoshi variable font
  • Enhancement: add Mozilla Headline variable font
  • Enhancement: add Epunda Slab variable font
  • Enhancement: add Vend Sans variable font
  • Enhancement: improve the performance of the function in charge of identifying shared tags and categories for related posts
  • Enhancement: support new third party script exclusions for better INP
  • Enhancement: make GeneratePerf settings descriptions 100% translatable from English
  • Bugfix: fix incorrect content-type header in contact_form shortcode to improve mail servers compatibility
  • 3rd-party compatibility: update Imagify options to generic « nextgen » instead of old specific « webp »

2.8.8 – 2025-09-18

  • Enhancement: add a new AI toolbar feature that allows summarize, expand, fact-check and translate with ChatGPT, Grok, Perplexity, Claude.ai and Google AI
  • Enhancement: load custom CSS from the customizer in a dedicated stylesheet instead of inline page head
  • Enhancement: prevent default behavior in JavaScript on dark/ligh theme swtich
  • Enhancement: add Vimeo support in integrated overlay player
  • Enhancement: add a generateperf_related_articles_sidebar_limit hook to modify the number of related posts in sidebar
  • Enhancement: change licence renewal warning delay fron 30 to 2 days
  • Bugfix: support SVG sprites display in admin when « editor-canvas » iframe is used
  • Bugfix: modify social share php logic to identify display areas
  • Bugfix: prevent image media upload opening on taxonomies saving by pressing « Enter » on the keyboard
  • 3rd-party compatibility: improve compatibility with Safe SVG and SVG support plugins for SVG upload handling
  • 3rd-party compatibility: support additional query parameters to be cached in FlyingPress

2.8.7 – 2025-08-04

  • Enhancement: allow easy svg override and custom use by dropping icons in child theme /images/icons/
  • Enhancement: use an inline SVG icon for Gutenberg blockquotes, allowing easy override in child theme
  • Enhancement: prevent TOC generation on the_content filters, needed only for main display
  • Enhancement: deploy view transitions for taxonomies featured images also
  • Enhancement: improve social share native button style
  • Enhancement: add a « CC BY-SA 4.0 » license relation to force llms to quote source when content is used
  • Enhancement: remove Imagify link from admin bar, no reason for it to be there
  • Enhancement: add a generateperf_add_user_social_link hook to allow adding custom social profile links
  • Enhancement: optimize SVG icons paths to its best to reduce page weight
  • Enhancement: split overlay management into dedicated script to allow global usage
  • Enhancement: support youtu.be videos for overlay player
  • Enhancement: native social share button now displayed into an overlay
  • 3rd-party compatibility: fix an issue in RSS feed where xmlns:media declaration is added twice when Rank Math SEO is installed

2.8.6 – 2025-07-06

  • Enhancement: improve accessibility by using aria-hidden=’true’ on purely decorative elements
  • Enhancement: improve performance of stylesheets conditional loading
  • Enhancement: refactor some core features for better performance, relying on constants and avoiding redundant operations
  • Enhancement: fully rewrite the generateperf_get_svg_icon() function to use SVG sprites instead of direct echo, improves performance a lot
  • Enhancement: add support for featured images in all taxonomies
  • Enhancement: display taxonomy image before h1 title in archive pages
  • Enhancement: add 3 new global labels for comments
  • Enhancement: add a new « Highligh comments » tool to enhance user engagement
  • Enhancement: improve sitcky sidebar behavior by allowing early manual scroll
  • Enhancement: full refactoring of in-text related articles, faster and a lot more robust
  • Bugfix: fix an untranslated french string in comment area title
  • Bugfix: fix a color issue on tags_list_summary shortcode buttons
  • Bugfix: modify the behavior of generateperf_custom_archive_descriptions() that did not work as expected
  • 3rd-party compatibility: improve Twitter/X js exclusions in WP Rocket
  • 3rd-party compatibility: support additional query parameters to be cached in Cache Enabler
  • 3rd-party compatibility: improve Cache Enabler options page

2.8.5 – 2025-06-26

  • Enhancement: immediately refresh license status on update
  • Enhancement: add enlarged click area to the new « gb-loop-item » in the same way as « gb-query-loop-item »
  • Enhancement: implement @view-transitions on content post images with a simple toggle activation
  • Enhancement: upgrade « external window » and blockquote svg icons to clip-paths in child theme
  • Enhancement: provide a simple « click to copy » for child theme CSS override in Design tab
  • Bugfix: prevent DevTools error when an image with a transition is called more than once
  • Bugfix: prevent GeneratePerf from displaying TOC in the_content when called in get_the_excerpt()
  • Bugfix: improve the logic for « today » and « yesterday » calculation in relative dates display
  • 3rd-party compatibility: add support for Perfmatters with some specific automatic optimizations
  • 3rd-party compatibility: add support for several caching plugins (Cache Enabler, W3 Total Cache, WP Super Cache, LiteSpeed Cache and SiteGround Optimizer)

2.8.4 – 2025-06-15

  • Enhancement: add a « Settings » link to GeneratePerf dashboard in plugins listing page
  • Enhancement: disable Tumblr, Myspace and SoundCloud user profile fields, unused
  • Enhancement: add TikTok, Bluesky and Mastodon user profile fields that can be displayed in author box and profile page
  • Enhancement: add TikTok, Bluesky and Mastodon SVG lightweight icons to be displayed as link anchor
  • Enhancement: add featured image to posts RSS feeds in a dedicated media:content tag
  • Enhancement: globally replace array-based and switch/case logics by faster php8 match() syntax
  • Enhancement: silently ignore non existing files instead of check if they exist in php to reduce i/o operations
  • Enhancement: allow debugging missing custom shortcodes for administrators
  • Enhancement: add Danish to fully supported languages
  • Enhancement: use native nocache_headers() function instead of custom headers for SEO redirects
  • Enhancement: add easy preconnect and dns-prefetch management in custom code section, since dropped in WP Rocket
  • Enhancement: refactor and simplify label management for in-text related posts
  • Bugfix: prevent php warning on social share module if no content thumbnail is defined
  • Bugfix: correctly handle relative time in all languages (last week / month / year labels)
  • Bugfix: prevent CSS space reservation on anchored Google Ads
  • 3rd-party compatibility: disable the new auto_preload_fonts option in WP Rocket 3.19
  • 3rd-party compatibility: disable the new auto preconnect domains option in WP Rocket 3.19

2.8.3 – 2025-05-29

  • Enhancement: prevent double display of © in post featured images caption when set manually in admin
  • Enhancement: disable Gutenberg fullscreen mode by default, not ideal for non-FSE themes
  • Enhancement: improve and rewrite Table of Content module, providing more labels choices
  • Enhancement: translate all 442 text chains to the 6 natively supported languages
  • 3rd-party compatibility: replace deprecated rocket_remove_rucss_failed_jobs_cron_interval hook with rocket_remove_saas_failed_jobs_cron_interval

2.8.2 – 2025-04-29

  • Enhancement: add Literata variable font
  • Enhancement: add Tektur variable font
  • Enhancement: add Noto Serif variable font
  • Enhancement: add Exo Two variable font
  • Enhancement: update Barlow Regular to variable font (eclusivity, generated from GX file)
  • Enhancement: add a generateperf_related_articles_after_content_limit hook to modify the number of related articles after posts
  • Bugfix: fix wrong column width in archives when cover cards style and featured first post are activated
  • 3rd-party compatibility: no longer block ChatGPT user-agents from crawling. Can be modified by a hook in child-theme

2.8.1 – 2025-03-27

  • Enhancement: drop support for integrated Speculation Rules mechanism for WordPress >= 6.8
  • Enhancement: delete old « generateperf_prerender_with_speculation_rules » option in wp_options, not needed anymore for WordPress >= 6.8
  • Enhancement: increase WordPress 6.8 integrated Speculative Loading eagerness to moderate
  • Enhancement: upgrade WordPress 6.8 integrated Speculative Loading mode to prerender
  • Enhancement: use native lazy-loading for images instead of WP Rocket’s JS library
  • Bugfix: avoid breaking translations on WP 6.8 update by updating main load_plugin_textdomain()
  • Bugfix: modify GeneratePerf Child theme « Text Domain » to avoid translations conflict

2.8.0 – 2025-02-06

  • Enhancement: improve security on non-secured hostings by adding an empty index.html on plugin root file
  • Enhancement: add a default alt attribute with post title on posts thumbnails if no alt is specified
  • Enhancement: modify the selection behavior for taxonomies displayed above post titles, allowing custom taxonomies to be displayed
  • Enhancement: update CSS for above titles taxonomies to make it faster to render and lighter
  • Enhancement: improve the behavior of options update on plugin update to make transition smoother
  • Enhancement: use ACF subtitles as RSS feed posts description if activated
  • Bugfix: updated hooks to prevent WordPress from sending emails when Core, Plugins and Themes are auto-updated with success
  • 3rd-party compatibility: simplify activation hook for WP Rocket and Imagify options update
  • 3rd-party compatibility: prevent Imagify and WP Rocket configuration overriding on GeneratePerf activation/deactivation

2.7.9.1 – 2024-12-03

  • Bugfix: 500 error in Appearence > Menus

2.7.9 – 2024-12-02

  • Enhancement: add DM Sans variable font
  • Enhancement: add Arimo variable font
  • Enhancement: Remove WordPress default http header links (typically REST API)
  • Enhancement: Remove all WooCommerce assets from non-WooCommerce pages
  • Enhancement: additional improvements to align with WordPress Plugin Check (PCP) expected checkpoints :
    • parse_url to wp_parse_url
    • escape html through esc_html, esc_attr, wp_kses and variations
    • json_encode to wp_json_encode
    • strip_tags to wp_strip_all_tags
  • Enhancement: activate infinite scroll on Medias
  • Enhancement: provide a post, pages and Elements cloning native function
  • Enhancement: add a new basic Maintenance Mode accessible in Settings > Reading panel
  • Enhancement: stop WordPress from checking email on a regular basis
  • Enhancement: remove « WordPress » from the admin pages title
  • Enhancement: fully translate admin panel. 431 chains available in 7 languages and translatable in any one.
  • Bugfix: fix incorrect translations in Spanish
  • Bugfix: remove old Twitter social share service checkbox in admin

2.7.8 – 2024-11-18

  • Enhancement: use <p> instead of <h2> for post titles in archives (SEO)
  • Enhancement: introduce a new dynamic label for summaries
  • Enhancement: update generateperf_ucfirst to php 8.4 mb_ucfirst with polyfill for old versions
  • Enhancement: several improvements to align with WordPress Plugin Check (PCP) expected checkpoints
  • Enhancement: translate all 339 text strings to the supported languages
  • Enhancement: prevent WordPress from sending emails when a plugin is auto-updated with success
  • Enhancement: unlock GPTBot and ChatGPT-User bots from crawling website in robots.txt to improve AI SEO
  • Enhancement: add support for ElementTiming API on featured image (« hero-image »)
  • Enhancement: introduce an « inherit » mode for global border-radius CSS variable

2.7.7 – 2024-10-22

  • Enhancement: create a new functions-utils.php file in /inc/
  • Enhancement: move some global utilitary functions in functions-utils.php
  • Enhancement: add a CSS @scope on custom shortcodes to avoid unwanted CSS overridings
  • Enhancement: disable generate_do_comments_template hook when comments are fully disabled
  • Enhancement: ensure generateperf options are set to autoload=true (work in progress)
  • Enhancement: include the « cto_pld » URL parameter seen on e-commerce for WP Rocket caching
  • Enhancement: improve overall security
  • Enhancement: improve license management and renewal
  • Enhancement: auto-update Twitter share button to X share button
  • Enhancement: make more admin texts translatable (English by default instead of French)
  • Bugfix: refactor 3rd party plugins management, which was not working as expected
  • 3rd-party compatibility: disable WP Rocket lazy-rendering to prevent SaaS crawlers work

2.7.6 – 2024-10-09

  • Enhancement: use more specific WP Query arguments for XML news sitemap
  • Enhancement: do not display custom user avatar column if show_avatars is set to true in WordPress
  • Enhancement: improve the way sources are displayed via ACF and ACF Pro
  • Enhancement: preload fonts for logged-in users (labelled with a custom « data-generateperf-preload » attribute)
  • Bugfix: ignore sticky posts in WP Query arguments for XML news sitemap
  • 3rd-party compatibility: improve fonts preloading when handled by WP Rocket

2.7.5 – 2024-09-30

  • Enhancement: allow noscript tags in the custom code fields, relevant for many third party scripts
  • Enhancement: add a « generateperf_related_posts_taxonomies » hook to allow adding and removing taxonomies used to display related posts
  • Enhancement: add a « custom_shortcode » template that allows easy integration of html/CSS/JS shortcodes inside content from GeneratePerf child theme
  • Enhancement: provide a .l10n.php version of .po and .mo translation files to ensure faster translation
  • Enhancement: add Rethink Sans variable font
  • Bugfix: fix a wrong filename for Red Hat Display that caused a wrong preload to be triggered
  • 3rd-party compatibility: prevent WP Rocket (3.17 >=) from lazy-rendering .site-footer, already lazy-rendered

2.7.4 – 2024-08-05

  • Enhancement: replace Lato font with variable font (300-800) for improved font size
  • Enhancement: remove Google AI and Anthropic bots from blocklist, add Amazon AI bot to blocklist (robots.txt)
  • Enhancement: update authors social medias from Twitter to X retroactively (name, link and icon)
  • Enhancement: improve font management by handling more parameters : « slug » (string) and « variable » (boolean) for now
  • Enhancement: display a « non-variable » warning for non variable fonts in Customizer list
  • Enhancement: add an automatic preload mechanism for used variable fonts
  • Enhancement: add Aleo variable font
  • Enhancement: include the new Google Merchant Center parameter « srsltid » for WP Rocket caching
  • 3rd-party compatibility: Automatically use WP Rocket preload mechanism if the plugin is used
  • 3rd-party compatibility: Use language-based link to home page on logo for websites with Polylang
  • 3rd-party compatibility: Update to the new « rocket_remove_saas_failed_jobs_cron_interval » filter

2.7.3 – 2024-06-26

  • Enhancement: improve security and performance of contact form shortcode
  • Enhancement: add a custom hook generateperf_layout_custom_border_radius for advanced styling
  • Enhancement: add a custom hook generateperf_max_image_size to override the 1200px image limit
  • Enhancement: add new feature « Enable videos overlays » in Design tab to open links to videos in overlays
  • Enhancement: add 2 new filters to modify blocked and limited user agents in robots.txt
  • Enhancement: improve shortcodes display in GeneratePerf dashboard
  • Fix: prevent Polylang from activating translations on wp_block post type (WP >=6.6)
  • Translations:
    • Enhancement: add missing translations for contact form fields and validation messages
    • Enhancement: translate 100% of texts in the 6 supported languages (304 strings so far)
  • Licence management:
    • Enhancement: improve licence management and updates
    • Bugfix: prevent a php Warning when there is no GeneratePerf valid license in functions-updater.php

2.7.2 – 2024-06-04

  • Enhancement: improve overall stylesheets and scripts naming using « generateperf » prefix everywhere
  • Enhancement: add a custom hook generateperf_toc_max_title_level for TOC component
  • Bugfix: fix missing glyphs in Work Sans variable webfont and reduce variable weight axis to 300-800
  • Bugfix: fix missing glyphs in Montserrat variable webfont and expand variable weight axis to 300-800
  • Bugfix: fix syntax error for speculation rules related to php echo escaping
  • 3rd-party compatibility: Revert WP Rocket « rocket_enable_rucss_fonts_preload » hook to avoid removing relevant preloads

2.7.1 – 2024-05-28

  • Enhancement: 3x smaller light and dark SVG icon files
  • Enhancement: manage SVGs currentColor in image files instead of php str_replace to expand use cases
  • Enhancement: hide Patterns link in Appearance admin menu in WP > 6.5, since now managed natively
  • Enhancement: update Speculation rules to last pattern and WP standards
  • Bugfix: fix a typo in generateperf_update_captcha_options() function
  • 3rd-party compatibility: disable WP Rocket LCP optimization with « rocket_above_the_fold_optimization » filter, not necessary here
  • 3rd-party compatibility: update cache_ignored_parameters exclusions to avoid redundancy with existing exclusions
  • 3rd-party compatibility: update twitter.com links to x.com for social sharing buttons to avoid 301 redirects

2.7.0 – 2024-05-02

  • Enhancement: allow to change or remove social sharing section title
  • Enhancement: add a blank <span> separator to be styled with CSS instead of inline SVG

2.6.9 – 2024-04-30

  • Enhancement: Introduce « third parties » management through specific functions and files
  • Enhancement: Imagify, WP Rocket, Polylang, Contact Form 7, Yoast SEO and AAWP specific behaviors managed with the new system
  • Enhancement: better management of label word break for dynamic in-text related articles
  • Enhancement: improve readibility for in-text related articles on mobile
  • Enhancement: update old wp_options prefixes to generateperf_ on activation hook
  • Enhancement: remove and update deprecated options to new system
  • Enhancement: add an export and import mechanism for options (beta, use with caution)
  • Enhancement: improve settings form management
  • Bugfix: do not hide excerpts in embeds
  • 3rd-party compatibility: exclude Complianz CPTs from post types listings in admin

2.6.8 – 2024-04-11

  • Enhancement: add a new location top sidebar for social share buttons
  • Enhancement: add a custom hook generateperf_social_share_details for social share component
  • Enhancement: add native lazy-loading and decoding async on authors avatar images
  • Enhancement: use str_ends_with() and str_starts_with() php 8.0 functions instead of strpos()
  • Enhancement: change default native lazy-loading threshold for singular content
  • Enhancement: add Anybody variable font
  • Bugfix: fix bad behavior for skip-lazy Gutenberg blocks optimizations : remove unwanted doctype and html tags

2.6.7 – 2024-03-27

  • Enhancement: manage better icon colors for social sharing and dark theme
  • Enhancement: change theme switch icons from CSS to inline SVG
  • Enhancement: improve generateperf_get_svg_icon() performance by removing a redundant disk access
  • Bugfix: prevent theme switch JS data from being reported by WP Rocket and Cloudflare
  • Bugfix: fix a wrong strpos() test to add aria-label on inline logo by using the more modern str_contains() function

2.6.6 – 2024-03-26

  • Enhancement: improve in-text related articles balance with paragraphs
  • Enhancement: add a generateperf_related_articles_inside_content_limit hook to modify the number of in-text related articles
  • Enhancement: exclude icon-fonts from automatic preloading in WP Rocket RUCSS through new rocket_exclude_rucss_fonts_preload filter
  • Enhancement: add a simple but efficient dark mode, with new toggle in the « Design » tab
  • Enhancement: add Space Grotesk variable font
  • Enhancement: add Bricolage Grotesk variable font
  • Enhancement: add Figtree variable font
  • Enhancement: add Onest variable font
  • Enhancement : remove Crimson Text not variable webfont
  • Enhancement: simplify updateVoteInfo() class in /js/user-ratings.js
  • Bugfix: fix bad characters encoding in social share component

2.6.5 – 2024-03-13

  • Enhancement: add a fixed thumbnail size in posts list admin page to improve readibility
  • Enhancement: allow summary component to be opened by default
  • Bugfix: allow multiple native share buttons in a page without conflict in DOM manipulations

2.6.4 – 2024-03-07

  • Enhancement: improve update handling and reduce database stored data
  • Enhancement: reorganize custom webfonts stylesheets organization
  • Enhancement: use the last variable fonts CSS implementation through @supports font-tech(variations)
  • Enhancement: allow granular override of plugin CSS files in child theme with new generateperf_get_stylesheet() function
  • Bugfix: now loading all webfonts used in Gutenberg editor, not only the last one

2.6.3 – 2024-03-07

  • Enhancement: add Georama variable font
  • Enhancement: update AI-bots blocklist with Anthropic, Bytespider, CCBot, Cohere, Facebook and Omgili in addition to Bard and ChatGPT
  • Bugfix: fix wrong CSS urls in child theme by adding a trailing slash
  • Bugfix: roll back to inline post metas instead of flex, better for visualization
  • Bugfix: fix incorrect calls of is_feed and is_archive on pre_get_posts hooks, moved to wp hook

2.6.2 – 2024-03-05

  • Enhancement: add dynamic variables to admin CSS and JS files to prevent caching issues
  • Enhancement: use thumbnail image size for avatars instead of full size image
  • Enhancement: add 9GAG share button
  • Enhancement: allow overriding plugin CSS in child theme for deeper customization

2.6.1 – 2024-02-21

  • Enhancement: add license management in admin and update mechanism
  • Enhancement: improve post types selection in GeneratePerf dashboard options
  • Enhancement: new logo, banner and visual identity different from Agence Web Performance
  • New: add Epilogue variable font
  • New: add Instrument Sans variable font
  • New: add Hanken Grotesk variable font
  • Bugfix: fix fonts display in Gutenberg editor, no longer related to theme
  • 3rd-party compatibility: only remove CSS global Styles when GeneratePerf child theme is used

2.6.0 – 2024-02-01

  • Enhancement: use variable webfont for Poppins instead of normal multiple files
  • Enhancement: use variable webfont for Roboto instead of normal multiple files (based on Roboto Flex)
  • Enhancement: use variable webfont for Titillium Web instead of normal multiple files (based on Cairo by Mohamed Gaber)
  • Enhancement: add php void type to main CSS and JS enqueing functions
  • Bugfix: PHP error related to missing $current_screen variable in admin
  • 3rd-party compatibility: prevent WP Rocket from preloading webfonts in RUCSS mode

2.5.9 – 2024-01-29

  • New: allow content separator customization in GeneratePerf settings
  • New: add a now location for related articles before footer, in a container

2.5.8 – 2024-01-26

  • New: option in GeneratePerf > Performance panel to activate Speculation Rules implementation
  • New: added 2 new constants to have basedir and basename available globally
  • Feature: implementation of Google Chrome Speculation Rules API to improve loading times
  • Fix: incorrect handling of updates. Improved with new global constants

2.5.7 – 2024-01-25

  • New: integration of the update system
  • Enhancement: better i18n globally
  • Bugfix: fix an issue with images paths