Releases: johannes-kaindl/settings-assistant
Releases · johannes-kaindl/settings-assistant
Release list
0.1.1
0.1.0
Added
- Profiles as notes: a fenced
settings-profileblock (JSON,version: 1) shows a live comparison with the current files in reading view and an apply button. - Check rows for every key (will change, already set, key not found in file, plugin not installed, file is not valid JSON, path blocked by a non-object value, secret, read-only in this version), with the profile's reason shown next to the measured values.
- An apply dialog that groups rows by file, pre-selects only real changes and tells which switched-on plugins will be reloaded; the write is confirmed by the user every time.
- A write path with a snapshot before the first change (nothing is written if the snapshot fails), plugin off, re-read, patch, plugin on, read-back with a report of values the plugin corrected, and stop on error without automatic rollback.
- Writable targets in version 1:
plugins/<id>/data.jsonof other plugins andhotkeys.json;app.json,appearance.json,core-plugins.jsonandcommunity-plugins.jsonare shown read-only. The plugin's own settings are never written through a profile. - Secrets are left out of profiles, apply reports, the chat context, saved profile notes and the API: the name must match (
apikey,token,secret,password,credential,cookie,email,authexceptauthor) and the value must be non-empty text, an object or a list. - Snapshots with a two-phase manifest, grandfather-father-son retention (defaults 6 today, 7 days, 4 weeks, 6 months, editable in the settings) and a restore dialog that marks files changed since the apply or without a checksum and leaves them unselected.
- Commands Undo last apply and Open settings chat, and the snapshot list in the settings tab.
- A settings chat in the sidebar: plugins as chips suggested from the question, a fold-out Sent context with plugins, withheld key names, endpoint, model and the full prompt, proposals drawn with the same check rows, Save as profile note, a fold-out raw block with secrets redacted under every proposal, and the model's Markdown neutralised before it is rendered.
- Endpoints through the LLM Endpoint Manager when installed, otherwise a local list with connection status; sampling and thinking level through the shared request section; a help row at the top of the settings tab.
- Plugin API v1 (
app.plugins.plugins["settings-assistant"].api): redacted reading, plan, apply with the plugin's own confirmation dialog, and the tool definitionsread_settingsandpropose_settings; seedocs/API.md. - English and German interface; README in both languages and user documentation after Diátaxis under
docs/.
Changed
- The minimum Obsidian version is raised to 1.11.4, because API keys now live in the keychain (also in the local endpoint list without the Endpoint Manager).
Known issues
- The snapshot list (kit
version-list) setsaria-pressed="false"on its action buttons, although it is not a toggle; a kit task is open (select/action mode), until then it stays as is. - API keys live in Obsidian's secret storage, also in the local endpoint list without the Endpoint Manager; existing plain-text keys are migrated on first start and removed from
data.json. This is why the plugin requires Obsidian 1.11.4 or newer; where secret storage is missing, the plain text would stay until the migration. - JavaScript sorts numeric keys such as
"10"to the front of an object, so inserting them through a profile can change the key order. - Chat answers are shown without code formatting: backticks and runs of three or more tildes are replaced by look-alike characters before rendering, so no code block or inline query of another plugin can run on model output. Proposals are shown separately, with the raw block (secrets redacted) in a fold-out.