Plugin API 1.16.0.
Added
- Sync entities take
matchOn, columns that identify a row besides its syncId, so a row made on both sides (one per host) is merged instead of failing PluginHostRecordhashasPasswordandhasSudoPassword, so a plugin knows a saved password exists without seeing itctx.credentials.setSshKeyCertificatestores an OpenSSH certificate on one of the acting user's SSH key credentials, or clears it withnull/uiexportsToolbarBand(a toolbar row outside the PanelShell toolbar),ToolbarSelect(a small select for those rows) andTOOLBAR_FIT(the classes that make every control in a row 32px)PANEL.section, the one inner layout for a SectionCard bodyTextAreaFieldtakesfill, so a config or log editor uses the rest of the heightregisterHostBadgetakesuseDot. Every plugin's dots merge into one dot on the host row, with the worst tone and each reason in its tooltip./uiexportsHostDotGroupfor layouts that draw host rows/uiexportsgetCredentialStorageandupdateCredentialStorage, andHostPolicyhascredentialStorageLoginMethodUIPropshasview, the login page a method is drawn onctx.auth.identitieslists, links and unlinks a user's external identities- Connect policy input has
stepUpAt, and arequestdecision can setrequestKind: "verify" /uiexportslistStepUpFactors,challengeStepUp,verifyStepUpanduseSecondFactors, to ask a signed in user for a second factor/uiexportsgetHostDeviceAuth,setHostDeviceAuth,getFolderDeviceAuthandsetFolderDeviceAuthfor logins kept on a desktop
Changed
- Controls in the PanelShell toolbar, tab band and footer are all 32px, so small buttons line up with search boxes and selects
SegmentedandViewTogglematch the height of inputs and buttons, andSegmentedkeeps its natural widthFormFooterbuttons are full heightPANEL.bodyisp-3, the same paddingInlineViewgives a form- A body with a pinned footer no longer draws a closing line just above the footer's own line
- The placeholder for a plugin view that is still starting uses
LoadingState termix-plugin validatewarns about UI drift: raw loading spinners, small back buttons, native selects, stretched filters, filled headers, capped log views and footers that scroll away- A
ToolbarBandright inside aTileStackleaves the line under it to the stack ListBadgeandStatusBadgekeep their own width in a table cell instead of filling it
Fixed
parseCpuLineno longer counts guest and guest_nice twice, so CPU percent on hosts running VMs is no longer too high