WP Manifestindependent plugin directory
manifest / performance / just-modern-images

Just Modern Images

A zero-configuration WordPress plugin that generates and serves WebP and AVIF images safely.

by CLU Level Up · github.com/soolecki/just-modern-images · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/soolecki/just-modern-images/archive/refs/heads/main.zip

Just Modern Images is a WordPress plugin that generates WebP and AVIF alternatives for JPEG and PNG uploads and serves the best format supported by the browser.

The project is currently under active development and is not ready for production use.

Product principles

  • Works immediately after activation.
  • Keeps the original image as a reliable fallback.
  • Uses the formats supported by the server.
  • Adds no configuration burden beyond a small set of quality presets.
  • Fails safely when an image, server capability, theme, or integration is unusual.

Current status

The original prototype has been replaced with a fail-safe conversion pipeline. Version 0.12 focuses on operating reliably across different hosting environments. It recovers missing work directly from a live cron request, adapts its runtime to the available server budget, treats encoder health per attachment instead of per thumbnail, and avoids consuming a library scan while every encoder is paused. Network activation initializes each multisite site in its own WordPress context, and new sites are handled automatically. Short immutable filenames, verified race-safe publishing, and bounded retries improve behavior on Windows, IIS, and SMB-backed uploads. The settings screen now clearly shows when background work is active. Version 0.12.1 also verifies transparency independently for AVIF and WebP, preventing an encoder that flattens PNG alpha from publishing a black background while leaving that format available for ordinary photographs. The 0.12.2 interface uses one unambiguous completion measure, updates while the page is open, and keeps worker details collapsed until they are needed. Bounded per-image retries prevent one stubborn image from restarting the entire library forever. Generated companions retain the source filename while still using bounded, immutable names that remain safe on Windows and SMB storage. The project is still in pre-release development and needs broader integration testing before a public WordPress.org release.

Development

Install the development tools with Composer, then run:

composer test
composer lint

The production plugin has no Composer or JavaScript runtime dependencies.

Create an installable archive with:

composer build

The temporary test-fleet receiver lives in tools/diagnostics-endpoint. Build its separate deployment archive with:

composer build-endpoint

Reporting is disabled by default and requires an administrator to select Send diagnostic data on the Activity log screen. The receiver URL is compiled into private test builds, so site administrators never have to configure an endpoint or credential.

Build a private test ZIP connected to a deployed receiver with:

JMI_DIAGNOSTICS_ENDPOINT=https://diagnostics.example.com/ \
JMI_DIAGNOSTICS_FLEET_KEY=replace-with-a-long-random-key composer build

The environment values are written only to the generated ZIP. The source tree continues to produce a normal build with no connected receiver.

License

GPL-2.0-or-later.