0.10.0
Released 2026-09-13
Fixed
- A v1 repository such as wpackagist rotating a provider file's hash no longer fails an update: viv reloads the repository's
packages.jsonand retries once, as Composer does
Added
--metadata-ttl <seconds>onupdate,addandrm, orVIV_METADATA_TTL: skip revalidating cached package metadata younger than the window, so a second update shortly after the first makes no metadata requests. Off by default (#191)
Performance
viv updateserves each repository'spackages.jsonfrom the cache for ten minutes without a request, as Composer does, loads several repositories concurrently, and reads the lock while the repositories load; the setup step before the metadata closure drops from 117 ms to 5 ms (#190)viv updateasks for security advisories while the metadata closure is still loading, instead of after it; Laravel's warm update drops from 0.75 s to 0.65 s (#189)- Cold install extracts an archive with more than 2,000 entries across up to eight threads, and creates each directory once instead of per file; drupal/recommended-project's cold install from a local mirror falls from 1263 ms to 728 ms, ahead of riff's 744 ms (#193)