scotttomaszewski_obsidian-d.../CHANGELOG.md
2026-06-04 12:55:08 -04:00

5.4 KiB

Disciples Journal Releases

New changes land under ## Unreleased; at release time it is renamed by hand to the version tag (see docs/build-and-release.md). Each ## header text is exactly the release tag (no leading v).

Unreleased

  • The "Open Bible" command (and ribbon icon) now opens the chosen chapter in a new tab instead of replacing the note you were reading

1.14.0

  • Adds verse selection: tap verses in a rendered passage to select them (shift-click or long-press-drag for a range), then copy or insert them as an inline reference, a bible code block, or a blockquote of the verse text. A floating action bar (docked at the bottom of the view, with configurable split / toggle / submenu format choosers) and a desktop right-click "Insert … here" both drive it; an optional "Append to note…" action can be enabled in settings. "Insert" targets the note you were last editing (generated Bible notes are skipped), not the passage you selected from. Adds a Verse selection settings section
  • Adds support for non-contiguous references like Genesis 1:2-3, 5 and Genesis 1:2, 4, 8 — in full bible blocks, inline `code` references, and Live Preview (parsed by the new BibleReference.parseList)
  • Fixes chapter-range references (e.g. Genesis 1-2): BibleReference.parse was storing the end chapter in the endVerse field, so the range was dropped — it round-tripped to Genesis 1 and was fetched/stored as a single chapter. The end chapter is now set correctly
  • Adds an automated test harness (Node's built-in node:test runner via tsx) with a first suite covering BibleReference parsing, round-tripping, and helpers; tests gate npm run build and just release
  • Corrects an overly greedy book-name normalization logic bug

0.13.2

  • Resolves Obsidian plugin-evaluation styling warnings: removes all !important declarations from styles.css (overriding via selector specificity instead) and replaces the partially-supported text-indent on indented passage lines with padding-left

0.13.1

  • Renders ESV passage HTML through Obsidian's sanitizeHTMLToDom() and appends the resulting fragment, instead of assigning the raw API response to innerHTML
  • Scrolls to a referenced verse the moment it renders by watching the view for the verse element, instead of guessing with a fixed delay (more reliable on slow loads, snappier on fast ones)
  • Consolidates the Bible file services and unifies ESV response conversion

0.13.0

  • Brings the plugin in line with current Obsidian community standards
    • Modernizes the lint toolchain (flat config, eslint-plugin-obsidianmd, type-aware typescript-eslint); the plugin now passes eslint and tsc cleanly
    • Settings UI text uses sentence case
    • Corrects the manifest description and raises minAppVersion to 1.6.6 to match the APIs actually used
    • Tightens type safety (removes any, narrows YAML/error handling) and moves remaining inline styles to styles.css
  • Fixes a hover-preview event-listener leak: BibleEventHandlers is now a single plugin-owned Component whose document listeners and close-poll timer are registered through the Obsidian lifecycle (so they're released on unload) and tracked per document for correct pop-out behavior, instead of being re-created and leaked on every hover
  • Surfaces a notification when opening a chapter fails instead of failing silently — e.g. opening the Bible without an ESV API token configured now explains that a token is needed (and points to the plugin settings) rather than doing nothing
  • Migrates file access off vault.adapter onto the intended Vault/FileManager APIs: notes are created with Vault.create() and their frontmatter written via FileManager.processFrontMatter(), folders use getAbstractFileByPath/createFolder, deletions go through FileManager.trashFile() (respecting the user's trash settings), and paths are run through normalizePath()
  • Known follow-ups (tracked in FOLLOWUPS.md): a couple of smaller cleanups remain (the ESV-HTML-via-innerHTML item noted here has since been resolved — see Unreleased)

0.12.0

  • Adds "Open Bible" command and ribbon icon to browse books and chapters without a reference

0.11.0

  • Adds template variable support: {{book}}, {{chapter}}, {{verse}}, {{endVerse}}, {{endChapter}}, {{reference}}

0.10.0

  • Adds custom frontmatter support for Bible notes
    • Separate settings for chapter notes and passage notes
    • Custom YAML frontmatter is injected on newly downloaded notes
    • New command "Update frontmatter on all Bible notes" to backfill existing notes

0.9.2

  • Removes some extra, ugly margin

0.9.1

  • Adds settings to hide footnotes

0.8.1

  • Adds cssclasses: hide-dj-passage-properties to passage notes to hide the noise

0.8.0

  • Corrects an issue with hover previews not vanishing properly
  • Moves to a new method of persisting bible data
    • Json files are no longer used
    • Chapters and passage files are now persisted in markdown files with raw data in frontmatter
    • Passage files replace colon with v to allow for sync functionality
  • Adds "Clear Bible Data" button in settings to clear out old data

0.7.0

  • Adds autocompletion search for book names in nav container

0.6.0

  • Adds support for Live-Preview mode

0.5.1

  • Corrects parsing issue with hyphens

0.5.0

  • Major internal refactor to clean things up