Skip to content

Releases: johannes-kaindl/neurovim-obsidian

0.7.5

Choose a tag to compare

@github-actions github-actions released this 12 Aug 16:55
865937b

Changed

  • CIPHER endpoint settings: each endpoint in the fallback list can now carry its own API key
    and model override, instead of one API key shared by every endpoint. Existing configurations
    migrate automatically — a previously-set API key is applied to every endpoint on first load
    after upgrading.
  • A per-endpoint model override alone is enough to enable the CIPHER uplink — the global model
    field no longer has to be filled in as well. It stays the fallback for endpoints without an
    override, and an endpoint with neither still counts as unconfigured.
  • Saving settings now takes effect on the next CIPHER request instead of after an Obsidian
    restart: an edited API key or model override no longer keeps serving the previously resolved
    endpoint configuration.

0.7.4

Choose a tag to compare

@github-actions github-actions released this 29 Jul 14:27
9c95dcd

Changed

  • Maintenance release, no functional changes. The community store did not pick up 0.7.3 —
    it reported no matching release although tag, assets and manifest were correct and publicly
    readable. This release exists to trigger a fresh scan.

0.7.3

Choose a tag to compare

@github-actions github-actions released this 29 Jul 11:40
de3865c

Fixed

  • M-03 "Word Movement" was unsolvable without guessing. The mission asks you to replace
    three surveillance codes, but neither the briefing nor the transmission said what to replace
    them with (SCAN-7741UNIT-7741, TRACE-3392RELAY-3392, WATCH-0012
    NODE-0012). The briefing now names them, as it already did for comparable missions. Fixed
    upstream in the content monorepo and re-vendored; a new token-level invariant test there
    makes this class of defect fail the content gate instead of reaching players.

Added

  • German README (README.de.md) with a language switcher in both files, plus a community-store
    downloads badge.
  • CONTRIBUTING.md, SECURITY.md, LICENSING.md, CLA.md and LICENSE-DOCS. SECURITY.md
    documents the threat model in full: mission-folder file access, the scope of keystroke
    recording, what CIPHER transmits and to whom, and plaintext API-key storage.

Changed

  • README: all repo-internal links are now absolute, since the community plugin directory
    renders the README without repo-root context and relative links break there. Requirements
    point at the central local-LLM setup guide instead of repeating server setup.

0.7.2

Choose a tag to compare

@github-actions github-actions released this 27 Jul 19:36
bd823e9

Changed

  • Added a local store-lint gate: eslint-plugin-obsidianmd + type-checked typescript-eslint
    via npm run lint (--max-warnings 0) and a combined npm run gate (lint + typecheck +
    test). The release workflow now runs the gate instead of typecheck+test alone, so
    guideline findings surface before a release instead of during community-store review.
  • Removed an unused type import (HudPlacement) from the settings tab.
  • npm run vendor now copies every top-level content module instead of a hardcoded file
    list, which silently dropped new modules from the snapshot.
  • Release tooling is delegated to the ecosystem's central ../tools/release/ (adds a
    preflight store checklist, a tag-state-based build and mirror verification) instead of a
    vendored copy that no longer received those fixes.
  • The declared license is now AGPL-3.0-or-later, matching the LICENSE text that ships
    with the plugin (it was declared as AGPL-3.0-only). No change to the license itself.
  • README restructured to the ecosystem's canonical layout: added Features, Requirements,
    Install, Usage and Configuration sections (the last documenting every setting), plus a
    badge row. Existing content was kept.

Fixed

  • The mission briefing's start button read ▶ MISSION BEGINNEN (German) in an otherwise
    English UI — now ▶ BEGIN MISSION.
  • Frontmatter values that are YAML maps or lists no longer reach the UI as
    [object Object] (fixed upstream in the monorepo, vendored as bdefaaa).

0.7.1

Choose a tag to compare

@github-actions github-actions released this 24 Jul 11:10
548fdde

Fixed

  • Removed an unnecessary type assertion in the settings tab, flagged by the community-store
    review (no-unnecessary-type-assertion, SettingsTab.ts). SettingDefinition.action
    already carries the asserted signature after the typeof === 'function' guard.

0.7.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 10:07
20bc316

Changed

  • The default mission folder is now _neurovim/ (was NeuroVim/), so it sorts with the
    other underscore-prefixed utility folders. Existing installs keep their configured folder.
  • Settings now use Obsidian's declarative settings API (getSettingDefinitions()), so each
    setting is findable in Obsidian's global settings search on 1.13+. The collapsible sections
    are replaced by native setting groups (Missions / Appearance / CIPHER uplink). A display()
    fallback keeps the exact same layout on Obsidian ≤1.12, so minAppVersion stays at 1.7.2.

Fixed

  • Result screen: the DEBRIEF/RETRY buttons no longer hand a promise-returning function to a
    click handler that expects no return value (store-review no-misused-promises warning).
  • Leaving the mission note no longer leaves a mission silently running. Previously the timer
    kept counting and Obsidian's global Vim mode stayed on, so hjkl hijacked typing in other
    notes and only ABORT restored it.
  • Divergent-line highlighting is recomputed live: a line you fix clears its marker right away
    instead of staying red until the next submit.
  • Hints mark the differing characters (Emergency ex»it« vs ex»fil«), so a slip of a few
    characters is visible at a glance instead of hiding in two similar-looking lines.
  • A successful run without a single recorded keystroke is never stored as a best score. Such a
    run still awards XP and completion, but is labelled UNVERIFIED in the result. Previously a
    0 was read as "no value yet" and became an unbeatable best.
  • Vendored the content fix from the monorepo (8f5e5c3): M-02 and two other missions demanded
    solution lines absent from their transmission and were unsolvable without knowing the answer.
    The monorepo now also gates this with a solution-derivability test.

Added

  • Missions pause when you leave the mission note: the timer stops, keystrokes stop counting,
    and your previous Vim setting is restored. Returning to the note resumes the run. The status
    bar shows the running or paused mission, and a floating reminder appears once a pause exceeds
    the configured threshold (default 5 minutes, 0 disables it).
  • Live line progress in the HUD (12/16 lines) — see how far a restoration has come without
    submitting. Counted against the solution's line count, so a note missing lines cannot look
    complete.
  • CIPHER debrief: after a successful mission, request an on-demand, sequence-based
    debriefing in the Result screen — CIPHER names wasted motion and gives the idiomatic fix.
  • Run traces: the keystroke sequence of each successful run is recorded locally to
    traces.jsonl (toggle in Settings, on by default) for debriefs and offline balance analysis.

0.6.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 14:27
5c4732d

Added

  • CIPHER debrief: after a successful mission, request an on-demand, sequence-based
    debriefing in the Result screen — CIPHER names wasted motion and gives the idiomatic fix.
  • Run traces: the keystroke sequence of each successful run is recorded locally to
    traces.jsonl (toggle in Settings, on by default) for debriefs and offline balance analysis.

0.5.1

Choose a tag to compare

@github-actions github-actions released this 16 Jul 19:02
551ed87

Fixed

  • Use Obsidian's DOM helpers throughout (createDiv instead of createEl('div') and of
    activeDocument.createElement), per the store review's prefer-create-el rule. The floating
    HUD now builds its container from the host element, so a HUD in a pop-out window lands in that
    window rather than in whichever one happens to be active.

0.5.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 16:57
a4fed5d

Added

  • Settings are grouped into collapsible sections (Missions / Appearance / CIPHER uplink);
    the open/closed state is remembered.
  • The CIPHER endpoint is now an ordered fallback list instead of a single URL — the first
    reachable one is used. One synced list covers the same local LLM server showing up as
    localhost at your desk and as a LAN IP on the road. Existing single-endpoint settings
    from 0.4.x migrate automatically.
  • New "Model thinking" toggle (off by default): CIPHER answers straight away instead of
    deliberating. Models that always think (gpt-oss/harmony) are detected and the toggle
    disables itself instead of promising something the request can't deliver.
  • The selected model's context length is shown when the endpoint reports it (LM Studio,
    Ollama).

0.4.3

Choose a tag to compare

@github-actions github-actions released this 15 Jul 14:43
35d1ac9

Release 0.4.3