agent's monorepo bump updated the shared library but not the apps pinning it - the apps kept installing the old...
Propagates a monorepo shared-library bump to the apps that pin it. Use it when the library moved but apps still install the old version. Key trigger: the app lockfiles or manifests pin the library below the new version. Not for: apps that intentionally pin an older library version, which is a policy choice.
TL;DR
The shared library bumped, but each app pins its own copy and nobody updated the pins. Bump the pin in every consuming app (or switch them to the workspace protocol so they track automatically) and add a CI check that flags stale pins.
Error
agent's monorepo bump updated the shared library but not the apps pinning it - the apps kept installing the old versionSteps
Find every consumer: search the monorepo for manifests pinning the shared library and record each pinned version. Expected output: A complete list of apps and their pins.
Update each pin to the new library version and regenerate the affected lockfiles. Expected output: Every app resolves the new library version.
Run each app's test suite, not just the library's, to catch breaking changes at the consumer level. Expected output: Green tests across all consumers, or a list of apps needing migration.
Consider switching consumers to the workspace protocol so future library bumps propagate without pin edits. Expected output: One version source of truth for the library.
Add a CI check that compares each app's pinned library version against the library's current version and fails on drift. Expected output: The next bump cannot leave an app behind silently.
When to use
- A shared library bumped but apps still install the old version
- Monorepo consumers drift from the library they depend on
- You are choosing between pinned versions and the workspace protocol
When not to use
- Apps deliberately pinned to an older library; document the exception
- External consumers outside the monorepo; that is a release, not a pin
- A breaking library change apps cannot adopt yet; plan the migration
Variant phrasings
monorepo apps still on old version of shared library
update pinned dependency across monorepo apps
workspace protocol versus pinned versions for internal libs
Why it happens
The agent bumped the library in its own manifest and stopped there. Each app's pin is an independent decision the bump did not touch, so the monorepo now contains two truths: the library's version and the apps' older pins.
Edge cases
- The workspace protocol couples every app to the library's breaking changes; pin when apps need independent upgrade timing.
- Circular pins between apps and libraries need a topological update order; bump leaves before roots.
- Generated clients or SDKs from the library need regeneration too, not just a pin bump.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_YCcGhbdZpHsY33OEjMh8eQ