• 0.7.4 9c95dcdd7b

    0.7.4 Stable

    jkaindl released this 2026-07-29 14:26:17 +00:00 | 0 commits to main since this release

    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.
    Downloads
  • 0.7.3 de3865c178

    0.7.3 Stable

    jkaindl released this 2026-07-29 11:39:34 +00:00 | 2 commits to main since this release

    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.
    Downloads
  • 0.7.2 bd823e9e68

    0.7.2 Stable

    jkaindl released this 2026-07-27 19:35:41 +00:00 | 8 commits to main since this release

    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).
    Downloads
  • 0.7.1 548fddee3c

    0.7.1 Stable

    jkaindl released this 2026-07-24 11:07:58 +00:00 | 15 commits to main since this release

    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.
    Downloads
  • 0.7.0 20bc316707

    0.7.0 Stable

    jkaindl released this 2026-07-24 10:06:26 +00:00 | 17 commits to main since this release

    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.
    Downloads
  • 0.6.0 5c4732dbe7

    0.6.0 Stable

    jkaindl released this 2026-07-23 14:26:20 +00:00 | 37 commits to main since this release

    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.
    Downloads
  • 0.5.1 551ed8773c

    0.5.1 Stable

    jkaindl released this 2026-07-16 19:01:22 +00:00 | 54 commits to main since this release

    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.
    Downloads
  • 0.5.0 a4fed5dc01

    0.5.0 Stable

    jkaindl released this 2026-07-16 16:56:37 +00:00 | 56 commits to main since this release

    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).
    Downloads
  • 0.4.3 35d1ac98ce

    0.4.3 Stable

    jkaindl released this 2026-07-15 14:42:58 +00:00 | 87 commits to main since this release

    Release 0.4.3

    Downloads
  • 0.4.2 667d6c0942

    0.4.2 Stable

    jkaindl released this 2026-07-15 13:36:25 +00:00 | 89 commits to main since this release

    Release 0.4.2

    Downloads