You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
PluginsArea: what it touches
New FeaturesKind: in v2.1.248,
New FeaturesSection of the release
What
When a plugin's install directory is already occupied by a different copy, plugin sync no longer just fails to displace it. It now tries additional install directories named <plugin>~g2, ~g3 and so on, skipping whichever one the previous record used, and only gives up once every candidate is occupied. This is active for anyone whose synced-plugins lane is open; that lane's own enablement is decided outside this change.
Details
Plugin records gained an optional generation number, constrained to a minimum of 2, that selects the suffixed directory; generation 1 keeps the plain name.
Stale-directory cleanup matches the same suffix pattern, so abandoned generation directories are removed.
Exhausting the candidates emits telemetry plugins_sync_occupant_displace_failed with code: "generations_occupied".
Outside the synced-plugins lane, the old single-directory displace path is unchanged.
Evidence
generations_occupied
Strings lifted out of the shipped bundle, so the claim above can be checked against them.