viv 0.11.0, and a two-word deletion

viv 0.11.0, and a two-word deletion

Vivace 0.11.0 is out. This is the first proper release!

Anyone putting viv in a CI step or a Dockerfile no longer has to pin a version and update it by hand, or reimplement "latest" themselves.

Viv is at least twice as fast as any alternative I'm aware of: most of what the milestone tracked had already shipped in 0.10.0, and the one user-visible change is constraint matching, which went from about 27ms across 33,000 calls to 4 or 5. The bigger numbers in the README moved because the table was two releases stale.

viv installs PHP dependencies from a composer.lock and writes the same vendor/ Composer would, byte for byte – the compatibility sweep for this release was 44 rows identical, 0 differing, and all ten pinned projects resolving the same lock. It's around 6x faster on a cold install and 19x warm than composer.

Scenario viv vs Composer viv vs riff
Cold 6.1× (2.7 to 10.9) 2.0× (0.9 to 127.2)[^5][^6]
Warm 19.4× (5.8 to 104.0) 5.5× (2.1 to 147.4)[^6]
No-op 43.3× (19.3 to 109.6) 12.6× (2.5 to 52.1)
Update-warm 1.8× (1.4 to 4.2) n/a

What I want now is more real projects using it, because the useful bug reports have all come from someone trying to migrate something real and hitting a wall. The last release's best change came from a person who unpacked the tarball by accident and found a drop-in composer shim nobody had documented. So: if you try it and something gets in the way, I'd like to hear about it.

View the full release notes

#projects #vivace