0.12.0
Released 2026-09-14
Added
- A container image at
ghcr.io/svandragt/vivace, so a multi-stage Dockerfile's vendor stage replacescomposer:2in one line instead of fetching and verifying a release tarball by hand. Tagged:0.12.0,:0.12and:0, for amd64 and arm64, 16.6 MB againstcomposer:2and its PHP runtime (#213) --ignore-platform-reqsand--ignore-platform-req=<name>oninstallanddump-autoload, and thecomposershim passes both through instead of dropping them (#214)- A native adapter for
pestphp/pest-plugin, soroots/bedrockinstalls without--no-plugins(#131) installanddump-autoloadaccept and ignore--no-interaction,--prefer-distand--no-suggest: the CI idiom every guide teaches already describes what viv does, so a migrating project need not edit every call site (#211)
Fixed
- An install with no PHP on
PATHno longer reports success over avendor/where phpcs cannot find its standards. The adapter writesCodeSniffer.confitself rather than shelling out tophpcs --config-set(#218) - A build stage that passed
--ignore-platform-reqsgot avendor/composer/platform_check.phpComposer omits, and anautoload_real.phpthat requires it — so avendor/Composer would run could fatal under viv (#214) - The
composershim no longer drops--no-plugins, which made a plugin refusal tell you to pass the flag you had just passed (#227) - The
composershim understands a flag's value as a separate argument (-d /app, not only-d=/app). It previously fell back to the real Composer, so a migrated CI job or Dockerfile kept using Composer with nothing saying so (#228)
Changed
- A plugin refusal says whether taking
--no-pluginscosts anything: by design and you lose nothing, or not yet adapted and the plugin's work is skipped. A plugin with no record gets the cautious wording, never a false claim of safety (#224)