pi-utils-settings: v0.24.0
Minor Changes 5e496f3: Defer project configuration until Pi confirms project trust. Add loadProject and bindProjectConfig, block untrusted local saves and editing, and require Pi 1.4 or later.
Minor Changes 5e496f3: Defer project configuration until Pi confirms project trust. Add loadProject and bindProjectConfig, block untrusted local saves and editing, and require Pi 1.4 or later.
Minor Changes 67b01b6: Reorganize internals for depth and testability. SectionedSettings takes a single options object ({ sections, maxVisible?, theme, onChange, onCancel, ... }) instead of positional arguments, matching every other component. Nothing else constructed it in know…
Minor Changes 8216e76: SectionedSettings submenu parity with pi-tui's SettingsList, wider pi peer range SectionedSettingItem.submenu's done callback now accepts an optional SubmenuDoneOptions object ({ navigateTo?: string }). Calling done(value, { navigateTo: itemId }) closes th…
Minor Changes c405645: Add a header field type to SettingsDetailEditor: a dim, non-interactive row skipped by navigation and Enter, with an optional dim value in the value column. Use it as a section divider inside a long field list or as an inert placeholder row (e.g. entries t…
Minor Changes 05bdf78: SectionedSettings' contentHeight is now a true flex layout instead of pad-only: the item list window shrinks to make room for the selected item's description, which is wrapped in full (never truncated, no ellipsis) and bottom-anchored just above the hint l…
Minor Changes 09a5603: - Versioned migrations: Migration.version (monotonic int) auto-stamps the config file; shouldRun defaults to a version comparison; run/shouldRun/message factory receive a MigrationContext with applied-migration history. ConfigLoader.getVersion() reads the…
Release v0.18.0
Minor Changes a9e9152: Add optional message field to Migration interface for user-facing migration notifications Migrations can now declare a message that is queued when the migration runs successfully. Extensions drain messages via ConfigLoader.drainMessages() and display them…
Minor Changes 923804e: Allow buildSchemaUrl callers to customize schema hosting URLs with baseUrl or template options. ec86921: Add onBeforeClose to intercept settings UI close requests before discarding drafts.
Minor Changes af07e77: Update dependencies to use @earendil-works/pi- packages and bump @aliou/pi-utils-ui to v0.4.0
Minor Changes 405e0e5: Update settings editor components to render inside shared @aliou/pi-utils-ui panels while preserving the existing pi-utils-settings component APIs.
Minor Changes cb080f5: Remove displayToStorageValue helper. The default change handler now stores raw strings as-is instead of coercing "on"/"off"/"enabled"/"disabled" to booleans. Use onSettingChange to convert display values to the correct storage types.
Minor Changes 9659754: Add subOptions support and showHints option to FuzzyMultiSelector
Minor Changes ef47f9c: Add small-list mode to FuzzySelector via searchThreshold (default 7). When item count is at or below the threshold, it now renders a simple Up/Down/Enter list without a search input while keeping callbacks and currentValue pre-selection behavior consistent.
Minor Changes 494cebe: fix: local scope no longer resolves to ~/.pi, creates .pi/extensions/ in cwd when missing findLocalConfigPath now stops before $HOME so ~/.pi is never matched as project-local save("local") falls back to {cwd}/.pi/extensions/{name}.json when no .pi dir exi…
Minor Changes 1006f56: Add JSON Schema support: buildSchemaUrl helper and schemaUrl option for ConfigLoader. When set, save() injects $schema as the first key and load() strips it from parsed config.
Minor Changes b404f50: Add optional extraTabs support to registerSettingsCommand so extensions can render non-scope top-level tabs (for example, an Examples tab) after scope tabs. Add ExtraSettingsTab and ExtraSettingsTabContext types and export them from package root. Keep exis…