Skip to content

1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Sep 20:13
· 2 commits to main since this release

1.0.0 (2026-09-01)

⚠ BREAKING CHANGES

  • plugin: minAppVersion moves 1.8.7 -> 1.13.0.

Ports the 598-line imperative settings tab to the declarative API
following the template (2575a89) and the AI Editor port's structure:

  • Scalars are control definitions bridged by key through
    getControlValue/setControlValue; every write still goes through
    plugin.updateSettings, the single persistence path. setControlValue
    rejects on failure so the pane rolls back to the stored truth.
  • Skill folders and manual resources are SettingDefinitionLists with
    native add/delete. Deletion uses the LIVE index per the framework
    contract; resource VALUE keys use the stable resource id
    (resource..), never an index, so a drag/delete can not
    reroute a write.
  • Each manual resource is a navigable sub-page (type/name/slug/URL),
    with displayValue mirroring the resource type on the entry.
  • Search backend sections switch via visible() predicates instead of
    conditional re-renders; the missing-base-URL warning is its own
    conditionally-visible row.
  • Bearer token, API key (no password control type exists), status grid,
    client-setup buttons, rescan and reindex stay imperative render/action
    rows — each writing only inside its own settingEl.
  • Port slider replaced by a number control with min/max/step + validate
    and deliberately NO defaultValue (a cleared field is refused inline,
    not silently reset).
  • plugin.ts: settings field carries override (1.13 typings declare it),
    and the background-rescan refresh calls settingTab.update() instead of
    display() — display() is never called under the declarative API.
  • Guard spec + AGENTS.md "Declarative settings" section ported from the
    template. obsidian typings 1.12.0 -> 1.13.1.

Verified in the live vault via the obsidian CLI: plugin reloads clean,
registry running, catalog rebuilt (410 skills), getSettingDefinitions
returns the full tree, control-value bridge reads live data correctly,
and data.json is byte-identical apart from the plugin's own
lastScanStats bookkeeping — no setting lost. Settings pane rendering
still needs eyes-on verification in Obsidian (nothing in CI renders it).

Features

  • build: fail the build on a lockfile the catalog review cannot parse (1f055ab)
  • build: make the rule floor check that it is still wired in (c9808f5)
  • build: refuse commits that loosen the rules instead of fixing the finding (8d93600)
  • plugin: declare settings via getSettingDefinitions (Obsidian 1.13) (c5ee56e)
  • plugin: publish subagent definitions as a second catalog family (de97f83)
  • plugin: show what's new in a tab instead of a modal dialog (c0f64a3)
  • plugin: surface support CTAs everywhere users can see them (8ddd0f7)

Bug Fixes

  • build: inline the changelog via a define, stop shrinking the brand list (0bcbf84)
  • build: port template catalog-reviewer + toolchain fixes (2.8.0+) (9d25aeb)
  • plugin: harden the declarative settings port per external review (88eb550)
  • plugin: honour limit on POST /search and expose readiness via GET /status (9705b18)
  • plugin: make /status report readiness and align the search limit contract (5265c57)
  • plugin: persist settings before committing them to memory (c9e9a68)
  • plugin: resources could not be removed — pages get no onDelete button (c96ede3)
  • plugin: serialize settings writes — overlapping edits lost data (0f86267)

Enjoying this plugin?