Skip to content

Release v1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Aug 10:46

WordPress 7.1 Compatibility & Settings Screen Fixes

Disabled sizes came back on WordPress 7.1

Two code paths ask wp_get_missing_image_subsizes() what still needs generating and skip the intermediate_image_sizes_advanced filter entirely:

  • the long-standing post-upload recovery pass in wp_update_image_subsizes(), and
  • 7.1's client-side media processing, where the browser reads the missing list from the REST create response, generates those sizes locally and sideloads them back.

A size switched off in this plugin was regenerated anyway. That list is now filtered too, so a disabled size stays disabled in both paths. Protected site icon sizes are excluded from the disabled set, so a stale setting saved by an older version can never reach it.

The bulk delete could remove companion originals

WordPress 7.1 stores companion files beside the main image: original_image (the pre-scale upload), source_image (for example the HEIC a JPEG was derived from), and animated_video / animated_video_poster (what an animated GIF is converted to). 7.1 can also register one physical file under several size names, so a size entry may point straight at one of these — and deleting it left the attachment referencing a file that no longer exists.

Those files are now protected. The size entry is still removed from the metadata; the shared file stays on disk.

The dimensions column was blank for two built-in sizes

The settings screen showed no dimensions at all for 1536x1536 and 2048x2048. WordPress registers those two with add_image_size() on plugins_loaded and never creates the *_size_w / *_size_h options the screen was reading.

Dimensions now come from wp_get_registered_image_subsizes(). Those two are also the only built-in sizes remove_image_size() can drop from the registry — which is exactly what disabling them here does — so the fixed dimensions core names them after are kept as a fallback. Without it, a disabled size would lose its dimensions again, or disappear from the list entirely and become impossible to re-enable.

Smaller display fixes

  • An unconstrained axis now reads auto instead of 0px, so Medium Large shows as 768px × auto. That size is 768px wide at whatever height preserves the aspect ratio.
  • The multiplication sign renders correctly. The × entity was being passed through esc_html(), so the column was literally showing the text ×.

Verification

Verified against WordPress 7.1 with 31 checks covering the missing-subsizes filter, the protected-size exclusion, both the registered and the disabled-and-unregistered dimension paths, and the legacy false values an older version could have stored. Plugin Check reports no errors.

Full Changelog: v1.2.0...v1.3.0