Repository navigation
Releases: midvash/bible-emdash-plugin
Release list
v0.9.0
Minor Changes
- #88
0849876Thanks @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
Patch Changes
- #86
36d4bdaThanks @onetogregorio! - English links drop the/enprefix (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
Minor Changes
- #84
ae8e77aThanks @onetogregorio! - Multilingual sites: each page now follows its own locale. The SSR linkifier readsAstro.currentLocaleand the injected client reads EmDash'spage.locale, so an English page links to midvash.com/en and shows English tooltip strings, a Spanish page to /es, and so on. New settingsversionPtBr,versionEnandversionEspick the version for pages that aren't in the mainlanguage(main-language pages keepdefaultVersion). The tooltip now sends the page'slangandvto/lookupand/passages, and those routes ignore an unsupportedlang.
v0.7.1
Patch Changes
- #80
b7772ebThanks @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
Minor Changes
-
#74
9047e29Thanks @onetogregorio! - Use the API's new?preview=Nto shrink whole-chapter tooltips.The Midvash API now returns
textfor whole-chapter references and honors?preview=N.fetchVerserequests 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. ThenormalizeVerseDatabackfill is now a no-op safeguard for chapter entries cached before the fix.
v0.6.1
Patch Changes
- #72
68b923cThanks @onetogregorio! - Fix: whole-chapter tooltips stayed broken for references cached before v0.6.0.fetchVerse/fetchPassagesnow normalize the payload on cache read (not just on fresh fetch), so a pre-existing KV entry withouttext(e.g.Psalm 23) is healed transparently instead of served as-is.
v0.6.0
Minor Changes
-
#70
dda25e1Thanks @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 (joinsverses[]), so refs likePsalm 23no longer show an error. - New
passagesroute resolves many references in oneGET /v1/passagescall, 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.
scanMCP tool gained anincludeTextoption that returns each detected verse's text via one batched call instead of N follow-ups.
- Whole-chapter references now render their text. The API's chapter response omits
v0.5.0
Minor Changes
- #65
9a8928dThanks @onetogregorio! - EmDash 0.30 support: auto-generated admin settings form (descriptorsettingsSchema), HTTP caching on the publiclookup/versionsroutes (cacheControl), an explicitplugins:managepermission on thescanroute, andscanexposed as an agent-callable MCP tool. Fully backward compatible — older EmDash hosts ignore the new fields.
v0.4.0
Minor Changes
-
#57
5780453Thanks @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 emptyversion, the badge falls back to a non-linked
<span>(or is hidden entirely whenshowVersionBadgeis off).If you target the badge via CSS, the selector remains
.midvash-tooltip__badge. Selectors targetingspan.midvash-tooltip__badge
specifically should switch to the class-only form. - ✅ no
v0.3.1
Patch Changes
-
#55
41e6629Thanks @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
corruptedescapeHtml's/</gregex literal —/<\/gparses 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
/</gas/[<]/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.