Skip to content

Scribe v2.4.1 - chore: A health and stability release focused on clearing all warnings

Choose a tag to compare

@mikealicea mikealicea released this 14 Jul 17:54
· 4 commits to main since this release
b5e055c

Scribe v2.4.1

A health and stability release focused on clearing all Obsidian plugin review warnings — no new features, but several real bug fixes surfaced along the way.

⚠️ Requirement change

  • Minimum Obsidian version is now 1.8.7 (released Feb 2025). Scribe already relied on newer APIs like Vault.process and frontmatter processing; the manifest now declares this honestly instead of claiming compatibility with 0.15.0.

🐛 Bug fixes

  • Deleting a recording now respects your "Deleted files" preference — audio cleanup uses Obsidian's trash instead of permanently deleting the file.
  • Fixed a broken filename-collision retry when creating notes: the fallback path compared an error object to a string, silently discarded its own retry, and re-threw anyway. Collisions are handled by the random-suffix path, and the dead code is gone.
  • Append-to-active-file with no active file no longer relies on an unsafe type cast — the fallback (create a new note and open it) is now properly null-checked.
  • Recording stop errors now always reject with a real Error, so failure messages surface correctly instead of as opaque values.

🔒 Security

  • Resolved all npm audit advisories (2 high, 1 moderate):
    • langsmith 0.5.4 → 0.8.2 (prototype pollution, redaction bypass)
    • ws 8.19.0 → 8.21.1 (memory disclosure, DoS)
    • uuid removed from the dependency tree entirely
  • Replaced the banned dotenv package with Node's built-in process.loadEnvFile() (build tooling only).

🧹 Code health

  • Cleared the full Obsidian review-bot
    • All floating promises are now explicitly awaited or fire-and-forget (void) - data: URLs are decoded locally inative fetch
    • Modal onOpen/onClose now match Obsidian's declared signatures - Removed unsafe as TFile / `as HTMd unnecessary assertions
    • Enum comparisons are now type-safe (OBSIDIAN_PATHS converted to a const object; typed language-option helpers)
    • Callback props declare this: void to prevent accidental this rebinding

What's Changed

  • Scribe v2.4.1 - chore: A health and stability release focused on clearing all warnings by @Mikodin in #112

Full Changelog: 2.4.0...2.4.1