Skip to content

v1.0.0-beta.28

@koehler8 koehler8 tagged this 07 May 04:23
beta.27's in-plugin pipeline relied on sharp's withoutEnlargement
clamping to handle oversize widths, but the clamped outputs were
content-identical to the source-width variant. Vite content-hashes
those identically and emits ONE physical file under one of the names,
leaving the asset map with URL keys for the deduped widths that point
at non-existent files.

The reconcile orchestrator now reads source dimensions before
rendering and skips outputs whose requested width exceeds source.width.
useResponsiveImage's natural fallback to the bare `img/{name}.{ext}`
URL (which exists because originals live in the flat dir) covers
tiny-source cases where no width fits.

Cache-up-to-date check now compares against manifest.variants (what was
actually generated) instead of planner.outputs (everything requested),
preventing re-render thrash on tiny sources.

Bumps to 1.0.0-beta.28.

Tests: 586 passing (3 new for the skip / fulfillable-widths / no-thrash
behaviors).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Assets 2
Loading