Skip to content

Releases: midvash/bible-emdash-plugin

v0.9.0

Choose a tag to compare

@onetogregorio onetogregorio released this 12 Oct 17:17
e797af7

Minor Changes

  • #88 0849876 Thanks @onetogregorio! - Only versions the Midvash API serves. Since October 2026 the API serves openly licensed versions only: a request for NVT, NAA, NIV, NLT, NTV, RVR1960… returns a free version's text, so tooltips showed "NVT" over Open Nova Bíblia Viva text. The admin now lists the 23 free versions for pt-BR / en / es, and a saved version the API dropped switches to the one it serves in its place (NVT → ONBV, NLT → BSB, NTV → ONBV, NAA → Bíblia Livre) in the links, the lookups and the admin form, with no action needed. The tooltip badge names the version that was actually served, and the footer shows its credit (title · license), which CC BY versions require. New defaults: Bíblia Livre (pt-BR), KJV (en), RVR1909 (es).

v0.8.1

Choose a tag to compare

@onetogregorio onetogregorio released this 06 Oct 23:29
ce42074

Patch Changes

  • #86 36d4bda Thanks @onetogregorio! - English links drop the /en prefix (midvash.com/kjv/john/3/16), matching midvash.com's canonical URLs. /en/... only 301-redirected there, so every English link paid a redirect hop.

v0.8.0

Choose a tag to compare

@onetogregorio onetogregorio released this 06 Oct 23:07
fcb88ad

Minor Changes

  • #84 ae8e77a Thanks @onetogregorio! - Multilingual sites: each page now follows its own locale. The SSR linkifier reads Astro.currentLocale and the injected client reads EmDash's page.locale, so an English page links to midvash.com/en and shows English tooltip strings, a Spanish page to /es, and so on. New settings versionPtBr, versionEn and versionEs pick the version for pages that aren't in the main language (main-language pages keep defaultVersion). The tooltip now sends the page's lang and v to /lookup and /passages, and those routes ignore an unsupported lang.

v0.7.1

Choose a tag to compare

@onetogregorio onetogregorio released this 06 Oct 22:21
412f624

Patch Changes

  • #80 b7772eb Thanks @onetogregorio! - SSR linkifier: treat <script>/<style>/<textarea>/<title> content and HTML comments as raw text. A literal <a> inside the plugin's own tooltip CSS comment opened a skip scope that never closed, so no reference on the page was linkified server-side.

v0.7.0

Choose a tag to compare

@onetogregorio onetogregorio released this 22 Jul 11:16
ea66044

Minor Changes

  • #74 9047e29 Thanks @onetogregorio! - Use the API's new ?preview=N to shrink whole-chapter tooltips.

    The Midvash API now returns text for whole-chapter references and honors ?preview=N. fetchVerse requests a capped preview for chapter refs (a full chapter can be ~13 KB for a hover card), the tooltip appends an ellipsis when the text is truncated, and the client pre-warm skips chapters so their payload stays small on hover. The normalizeVerseData backfill is now a no-op safeguard for chapter entries cached before the fix.

v0.6.1

Choose a tag to compare

@onetogregorio onetogregorio released this 22 Jul 02:21
30ccc48

Patch Changes

  • #72 68b923c Thanks @onetogregorio! - Fix: whole-chapter tooltips stayed broken for references cached before v0.6.0. fetchVerse/fetchPassages now normalize the payload on cache read (not just on fresh fetch), so a pre-existing KV entry without text (e.g. Psalm 23) is healed transparently instead of served as-is.

v0.6.0

Choose a tag to compare

@onetogregorio onetogregorio released this 22 Jul 02:09
94f9c0d

Minor Changes

  • #70 dda25e1 Thanks @onetogregorio! - Use the Midvash API's batch endpoint and fix whole-chapter tooltips.

    • Whole-chapter references now render their text. The API's chapter response omits text/verse/verseEnd; the client now backfills them (joins verses[]), so refs like Psalm 23 no longer show an error.
    • New passages route resolves many references in one GET /v1/passages call, seeding the same KV cache single lookups read.
    • Client pre-warms every reference on a page in one batched call once the browser is idle, so the first hover is instant.
    • scan MCP tool gained an includeText option that returns each detected verse's text via one batched call instead of N follow-ups.

v0.5.0

Choose a tag to compare

@onetogregorio onetogregorio released this 21 Jul 19:40
f3640ed

Minor Changes

  • #65 9a8928d Thanks @onetogregorio! - EmDash 0.30 support: auto-generated admin settings form (descriptor settingsSchema), HTTP caching on the public lookup/versions routes (cacheControl), an explicit plugins:manage permission on the scan route, and scan exposed as an agent-callable MCP tool. Fully backward compatible — older EmDash hosts ignore the new fields.

v0.4.0

Choose a tag to compare

@onetogregorio onetogregorio released this 04 Jun 19:42
47159fc

Minor Changes

  • #57 5780453 Thanks @onetogregorio! - The version badge (e.g. "NAA", "NIV", "ACF") in the tooltip header is now a
    real <a href> pointing at the version's index page on midvash.com
    (https://midvash.com/{language}/{version}). Another in-document SEO link
    distinct from the article-body anchor — passes additional link equity to the
    version's slug page.

    Same SEO contract as the verse anchor:

    • ✅ no rel="nofollow" — juice passes
    • ✅ no target="_blank" — in-document, crawlers preferred
    • ✅ title="<VERSION> on Midvash" for crawler context
    • ✅ rel="noopener" only (window-opener guard)

    Visual: the badge keeps its pill styling — link underline is suppressed and a
    subtle brightness shift on hover/focus signals it's clickable. When the
    upstream returns an empty version, the badge falls back to a non-linked
    <span> (or is hidden entirely when showVersionBadge is off).

    If you target the badge via CSS, the selector remains
    .midvash-tooltip__badge. Selectors targeting span.midvash-tooltip__badge
    specifically should switch to the class-only form.

v0.3.1

Choose a tag to compare

@onetogregorio onetogregorio released this 04 Jun 19:12
ec487b1

Patch Changes

  • #55 41e6629 Thanks @onetogregorio! - 🚨 Hotfix: client bundle threw SyntaxError on every page (silently), so 0
    references got linkified and 0 tooltips ever rendered. Confirmed against two
    production sites running v0.3.0.

    Cause: Astro/EmDash escape every literal </ inside <script> content to
    <\/ before shipping the HTML (standard XSS hardening so a stray
    </script> can't break out of the inline script). That rewrite silently
    corrupted escapeHtml's /</g regex literal — /<\/g parses as /<
    (regex) + \/g (something else) and throws "Invalid regular expression:
    missing /" the moment the IIFE evaluates. The error happened so early that
    buildPattern() never ran and the scanner emitted no .midvash-ref
    elements.

    Fix: rewrite /</g as /[<]/g — a character class with the same semantics,
    but without the literal </ sequence in source, so the host-side escape no
    longer corrupts the regex. Added 3 regression tests that apply the same
    </ → <\/ rewrite to the injected JS before evaluating, locking the
    contract in: any future regex literal containing </ will fail these tests
    before shipping.