1.6 KiB
kind, description
| kind | description |
|---|---|
| upgrade-guide | Plugin-manager bundle inventories include preset-scoped rows whose row IDs are unique only within their preset. |
Identify bundle rows by their preset
English | 中文
Change
The next release adds preset-scoped declarations to PluginManager.listBundles().rows. A bundle can declare the same rowId in several presets. These rows carry preset, optional composition state, and readOnlyReason: 'preset-managed'; they do not carry an editable root entryId.
Clients that key rows only by bundle name and rowId, or treat every row as a root plugin switch, must distinguish preset declarations. Existing root rows retain their current identity and controls.
Migration
-
Include
presetin row identity, alongside the bundle name androwId. Keep the absent-preset case distinct from every named preset. -
Render
preset-managedrows read-only in direct row controls. Use the bundle switch or an explicit scoped profile patch to configure them. Only pass a returned rootentryIdtosetPluginEnabled. -
Read preset row state from
composition, instead of looking up a root Loader entry with the samerowId. -
For YAML edits, use
presetto address the outer declaration andidto address its child:- preset: preset-standard id: optional-tool-str-replace-editor disabled: true -
Verify that a bundle contributing to standard, cordis, and ptc shows three distinct rows and that root-row switches continue to work. The profile patch reference describes ordering and validation.