Releases: Obsidian-TTRPG-Community/Made-Up-Words
Release list
0.21.1
Made Up Words v0.21.1 — Community review fixes
A maintenance release. Nothing about the plugin behaves differently; this
clears the four errors the Obsidian community-plugin automated review raised
against 0.21.0 so the listing can pass its checks.
What the review flagged
The committed lockfile was out of date, which failed both the dependency
check and the build verification. It has been regenerated. While fixing it,
@codemirror/state and @codemirror/view were pinned to the exact versions
Obsidian 1.13.0 declares as peer dependencies (6.5.0 and 6.38.6) — the
previous version ranges asked for releases above those pins, so a clean
npm install only succeeded by overriding peer dependencies. A clean install
is now warning-free.
Two lint rules were being suppressed inline. Version 0.4 of
eslint-plugin-obsidianmd no longer permits eslint-disable comments for
obsidianmd/* or @typescript-eslint/no-deprecated rules, and requires a
written justification on any directive comment that remains. All thirteen
directive comments are gone — none of them were annotated to keep them:
- The caret-position fallback used for Obsidian builds older than 1.13.0 now
reachescaretRangeFromPointthrough a locally declared type, so the call no
longer resolves to the deprecatedDocumentmember. The fallback behaviour is
unchanged, and support back tominAppVersion1.7.2 is unchanged. - The Remove language button now calls
setDestructive()on Obsidian
versions that have it andsetWarning()on versions that do not, rather than
always calling the deprecatedsetWarning(). - The rest were for the sentence-case rule on strings it reads incorrectly: the
e.g. …placeholders in the word, name and entry modals, and the+ Word,
+ Nameand↑↓ Swap directionbuttons, where the rule counts a leading
glyph as the first word. The wording of those labels has not changed. The
rule now runs at its own default severity, so it reports them as warnings
instead of being silenced.
Also in this release
- Releases now publish GitHub artifact attestations for
main.jsand
styles.css, so anyone can cryptographically verify that the files attached
to a release were built from this repository. This was a recommendation rather
than an error, but it is worth having. - The release workflow installs with
npm ci, so a stale lockfile fails the
build in future instead of passing quietly.
Installing / updating
Download main.js, manifest.json, and styles.css from this release and copy
them into .obsidian/plugins/made-up-words/ in your vault, then reload the
plugin (or restart Obsidian). Settings and dictionaries are preserved.
0.21.0
Made Up Words v0.21.0 — Hover direction control
Hover is the feature people use most, and it had a bias problem: it would
sometimes read one of your made-up words as an English word and offer to
translate it into your conlang.
Fixed
Your conlang now wins over English. Hover used to check both directions and
merge whatever it found, so a word that was both one of your headwords and
some other entry's English definition produced a tooltip mixing "here's what
your word means" with "here's how to say this English word". Hover now resolves
the conlang side first — headword, then hardcoded declared form, then
rule-derived inflected form — and if any of those match, the English direction
is never consulted.
This is the order highlighting has always used. Hover simply never matched it,
which is why a word could highlight as conlang and then hover as English.
Also fixed: an entry whose definition repeated its own headword or alias (common
for loanwords, and for proper nouns entered with the same conlang form and
referent) could pull the English readings back in through the cross-language
lookup.
Added
Two hover direction toggles, under Settings → Hover tooltips:
- Show your words' meanings — the conlang direction: headwords, phrases,
declared forms, and inflected forms. - Show English to conlang translations — the English direction. Turn this
off if your made-up words are still being read as English. It also switches
off the cypher preview, because that transformation treats hovered text as
English in exactly the same way; leaving it on would keep producing the output
you just turned off.
Both default to on, so nothing changes for existing vaults unless you touch
them. Turning both off makes hover inert entirely.
These mirror the Highlight conlang words / Highlight translatable English
words settings, so the two features are now configured the same way.
Installing / updating
Download main.js, manifest.json, and styles.css from this release and
copy them into .obsidian/plugins/made-up-words/ in your vault, then reload
the plugin (or restart Obsidian). Settings and dictionaries are preserved.
Resolves #12.
0.20.1
Made Up Words v0.20.1 — Lint and code-health pass
Housekeeping only. No new features, and nothing you're using changes shape.
This release clears the full set of Obsidian plugin-guideline lint rules —
52 errors down to zero — so future reviews and contributions start from a
clean slate.
Fixed
- A stray
console.logon plugin load is gone. Obsidian asks plugins not
to log to the console during normal operation; this one had been shipping
quietly since the ribbon icon was added. - Four UI strings capitalised consistently. The
Phrase,Cypher only
andNo matchbadges in the gloss view (these render uppercase via CSS, so
you won't see a difference), the language filter'sAlloption in the
dictionary browser, and the "Conlang form" placeholder. - Two hint messages reworded — they referred to controls by names that no
longer matched the labels on screen.
Under the hood
- The settings tab stops calling Obsidian's deprecated
PluginSettingTab.display()on itself; internal redraws go through a
private method instead. The official replacement needs Obsidian 1.13.0, and
this plugin still supports 1.7.2, so the override stays. - Caret hit-testing prefers the standard
caretPositionFromPoint, falling
back to the older API only where it has to. - Frontmatter values are read as
unknownand narrowed explicitly instead of
flowing through asany.
Where a lint rule was simply wrong — lower-casing "English", or wanting
"+ word" on a button whose first character is a + — the rule is configured
or suppressed with a comment explaining why, rather than the text being made
worse to satisfy it.
Installing / updating
Download main.js, manifest.json, and styles.css from this release and
copy them into .obsidian/plugins/made-up-words/ in your vault, then reload
the plugin (or restart Obsidian). Settings and dictionaries are preserved.
0.19.0
Made Up Words v0.19.0 — Homograph (multi-sense) entries
A focused release resolving #11: words with several unrelated meanings
(homographs) can now be created and managed properly.
Added
- Homograph (multi-sense) entry creation. If a made-up word means both
"to walk" and "guitar", you can now store each sense as its own entry. Two
files can't share a name, so each sense lives in its own file (e.g.
kala (verb).md,kala (noun).md) that declares the shared spelling via the
word:frontmatter override. All add-word paths — the add-a-word modal,
create-from-selection, batch creation, and add-a-name — detect when a word
already exists with a different meaning and create a new
word (partOfSpeech).mdsense file automatically, instead of silently
opening the existing entry. Re-adding an existing meaning still just opens
the existing entry. Hovering a homograph shows every sense in one tooltip.
(#11)
Changed
- README: the
word:frontmatter override is now documented as the recipe
for multi-sense entries, with a worked example. It was previously described
as phrase-only, leaving no documented way to create two entries with the same
spelling. (#11)
Installing / updating
Download main.js, manifest.json, and styles.css from this release and
copy them into .obsidian/plugins/made-up-words/ in your vault, then reload
the plugin (or restart Obsidian). Settings and dictionaries are preserved.
0.17.6
Made Up Words v0.17.6 — Lint cleanup fix
Corrects an eslint directive that the Obsidian review disallows. No user-facing
changes.
Changed
- Removed an
eslint-disablecomment forcaretRangeFromPoint(Obsidian's
guidelines don't permit disabling that rule). The deprecated-but-broadly-
supported caret API is kept as documented, now without the directive.
Install
Overwrite main.js, manifest.json, and styles.css in your
.obsidian/plugins/made-up-words/ folder with the assets attached to this
release, then reload the plugin. Your settings and dictionaries are preserved.
Requires Obsidian 1.7.2 or newer.
0.17.3
Made Up Words v0.17.3 — Settings heading compliance (cont.)
Clears the last remaining error from Obsidian's automated plugin review. No
user-facing feature changes.
Changed
- Renamed the per-language section heading to "Individual languages" so it no
longer uses a discouraged generic word in a settings heading.
Install
Overwrite main.js, manifest.json, and styles.css in your
.obsidian/plugins/made-up-words/ folder with the assets attached to this
release, then reload the plugin. Your settings and dictionaries are preserved.
Requires Obsidian 1.7.2 or newer.
0.17.0
Made Up Words v0.17.0 — Aliases & per-language word adding
Two community-requested features, both from issue #2.
Resolves #2.
Added
-
Entry aliases. A dictionary entry can declare alternate surface forms via
analiasesfrontmatter field, and hover tooltips + highlighting treat every
alias exactly like the headword:--- definition: the second month aliases: Feb, Febr ---
Hovering or highlighting
FeborFebrresolves to theFebruaryentry.
Accepts a comma-separated string or a YAML list; multi-word aliases are
matched like phrases; aliases are shown in the tooltip
("February (also: Feb, Febr)"). -
Add a word to any language(s), including several at once. Highlight a word
(or put the cursor on one), then right-click → "Add to Made Up Words
dictionary…" or run "Add selection to dictionary". The Save dialog now
lists every language with a checkbox and an editable, cypher-seeded form per
language — tick one or several and an entry is created in each language's own
folder at once (shared part of speech + definition). No more manually sorting
words out of one default folder.
Fixed
- New entries reliably create their target folder (with a clear error notice if
it fails), so adding a word to a brand-new subfolder works. - Hover tooltips now show a concept across every active language at once —
combining both directions (word as a headword and as a definition) plus
cross-language equivalents that share a definition. Hovering one language's
form for a concept also surfaces the other languages' forms in one tooltip.
Install
Overwrite main.js, manifest.json, and styles.css in your
.obsidian/plugins/made-up-words/ folder with the assets attached to this
release, then reload the plugin. Your settings and dictionaries are preserved.
Fresh installs: see the README.
0.16.0
Made Up Words v0.16.0 — Highlight known words
This release adds known-word highlighting, makes hover tooltips lighter on
the CPU, and gives the settings tab a thorough layout refresh.
Added
- Known-word highlighting. Words and phrases the plugin recognises are now
visually marked directly in your notes, in both the editor (Live Preview /
Source) and Reading view. Two directions are supported:- Conlang words — anything that exists as a dictionary entry in an active
language, including inflected forms and multi-word phrases. - Translatable English words — English terms the dictionary can translate
(e.g. "cat" is marked when you have a word meaning cat).
- Conlang words — anything that exists as a dictionary entry in an active
- Three highlight styles (Settings → Made Up Words → Highlighting): a subtle
dotted underline + accent colour (default), italics, or a background highlight.
Each direction can be toggled independently, with a master on/off switch. - Command: "Toggle known-word highlighting" — turn highlighting on/off from
the command palette (handy on slower machines or for distraction-free reading). - Highlight appearance is fully themeable via the
.conlang-known-word
(.is-conlang/.is-english/.is-phrase) CSS classes, with colours
exposed as custom properties.
Changed
- Settings tab redesigned. Global options are grouped into clear sections
(Languages, Hover tooltips, Highlighting, Translation). Each language is now a
collapsible card — with its cypher sheets and inflection rules as nested
collapsibles — so the page stays manageable with many languages. A top
overview lists every language with quick Active checkboxes and a Primary star,
and active cards show a live entry count. - Hover tooltips are throttled. Resolving the word under the cursor uses
caretRangeFromPoint(a layout flush) that previously ran on every mouse
move; it now runs at most once per 50 ms, and exits early when no active
language has hover enabled. Noticeably less CPU while moving the mouse.
Fixed
- Highlighting and the dictionary now refresh live when entries are added,
edited, deleted, or renamed in any active language's folder (previously
only the primary language's folder was watched, so changes elsewhere needed a
manual reload or plugin restart). - The per-language "Reload dictionary" button (it checked a legacy field and
rarely fired) and language removal (now keeps the active/primary selection
valid).
Install
If you're already on a previous version, overwrite main.js, manifest.json,
and styles.css in your .obsidian/plugins/made-up-words/ folder with the
assets attached to this release, then reload the plugin. Your settings and
dictionary are preserved. Fresh installs: see the README.
0.15.1: address Obsidian plugin review warnings
0.15.1: address Obsidian plugin review warnings
- Replace text-decoration shorthand with longhand properties for
broader Obsidian-version compatibility (styles.css lines 292, 1285) - Remove !important on .conlang-modal-derive-row input by increasing
selector specificity (styles.css) - Replace builtin-modules npm package with Node's native
module.builtinModules (esbuild.config.mjs, package.json) - Upgrade esbuild from 0.17.3 to ^0.25.0 to clear dev-time CVE
GHSA-67mh-4wv8-2f99 - Commit package-lock.json for reproducible builds (.gitignore)
No user-facing changes. 109 tests still passing.
0.15.0 — Initial public release
First public release of Made Up Words — a dictionary for the words
you've made up, inside Obsidian.
Designed for worldbuilders, GMs, and conlangers. Stores invented
vocabulary as markdown notes, looks them up everywhere in your vault,
and shows all matching senses across multiple languages without trying
to fake translation it can't actually do.
Highlights
- Dictionary as a folder of markdown notes (definition, POS, IPA,
etymology, more) - Multiple invented languages active at once, with language tags on every
hover and lookup result - Side panel: live selection translation, free-form lookup with gloss
and transliterate modes, searchable dictionary browser - Hover tooltips (hold Shift by default) for every word in your vault
- "Look up word" command for explicit multi-sense lookup
- Cypher engine for inventing words/names in your language's sound style
- Affix-based inflection rules (six presets ship)
- First-class proper nouns with categories, multi-word phrases, and
transparent compounds - Unicode-aware: accented characters, non-Latin scripts, hyphenated
compounds all work
Pre-1.0
This release exists to widen the feedback funnel. Expect rough edges and
the occasional breaking change before 1.0. Bug reports and feature
feedback are very welcome — please open an issue.
Install
- Download
main.js,manifest.json, andstyles.cssbelow. - Put them in
YourVault/.obsidian/plugins/made-up-words/. - Settings → Community plugins → refresh → enable Made Up Words.
Full setup walkthrough in README.md.
What this plugin won't do
Honest list of intentional non-features: no auto-translation of full
sentences, no honorifics/register/evidentiality (these need context the
dictionary can't carry), no infix/ablaut morphology, no sound-change
cascades, no script rendering. The plugin tries to be honest about what
the dictionary actually knows.
Stats: 109 automated tests passing across cypher, inflection,
phrases, gloss, previews, and Unicode handling.