Release Notes
1.0.1 (2026-09-28)
Bug Fixes
- build: name the last release before a floor raise in versions.json
- build: rebuild versions.json from the published releases
- plugin: keep the support block from stacking on every settings refresh
1.0.0 (2026-09-23)
⚠ BREAKING CHANGES
- plugin: minAppVersion moves 1.8.7 -> 1.13.0.
Ports the imperative settings tab to the declarative API following the template (2575a89) and the ARDS port. This tab is a flat form of ~30 scalars, so nearly everything becomes a plain control definition keyed by its PluginSettings field name, bridged through getControlValue/setControlValue to plugin.updateSettings — the single persistence path. setControlValue rejects on failure (type mismatches included) so the pane rolls back to the stored truth.
Behavior parity notes:
- List-valued fields (defaultFormats, defaultAuthors, sectionsToSkip) keep their comma-separated text presentation and the exact parseFormats/parseList normalization the imperative tab used.
- Empty-string collapses survive: pandocPath -> ‘pandoc’, defaultLanguage -> ‘en’, coverProperty -> ‘cover’.
- noteEmbedMaxDepth and tocDepthDefault become number controls with min/step + validate and deliberately NO defaultValue (a cleared field is refused inline, not silently reset).
- Dropdowns (defaultPdfEngine, inlinedNoteSeparator) reject unknown values instead of casting.
- The support section stays an imperative render row inside its own settingEl.
Also: obsidian typings 1.12.0 -> 1.13.1 (Plugin.settings now needs override), guard spec + AGENTS.md “Declarative settings” section ported from the template.
Settings pane rendering needs eyes-on verification in Obsidian — nothing in CI renders it.
Features
- build: fail the build on a lockfile the catalog review cannot parse
- build: make the rule floor check that it is still wired in
- build: refuse commits that loosen the rules instead of fixing the finding
- plugin: declare settings via getSettingDefinitions (Obsidian 1.13)
- plugin: show what’s new in a tab instead of a modal dialog
- plugin: surface support CTAs everywhere users can see them
Bug Fixes
- build: harden the release path from the template
- build: inline the changelog via a define, stop shrinking the brand list
- build: port template catalog-reviewer + toolchain fixes (2.8.0+)
- deps: move the fast-uri override off the vulnerable line
- plugin: persist settings before committing them to memory
- plugin: serialize settings writes — overlapping edits lost data
0.5.0 (2026-07-29)
Features
- plugin: aggregate what’s new dialogs across simultaneously updated plugins
0.4.0 (2026-07-29)
Features
- plugin: add Knowii community to the what’s new dialog and harden it
0.3.0 (2026-07-27)
Features
- plugin: show a what’s new dialog once after plugin updates
0.2.5 (2026-07-17)
0.2.4 (2026-07-13)
Bug Fixes
- plugin: keep book title out of the TOC and outdent sections (#53)
0.2.3 (2026-07-11)
Bug Fixes
0.2.2 (2026-07-01)
Bug Fixes
- all: resolve Obsidian plugin directory scanner findings
0.2.1 (2026-06-30)
Bug Fixes
- changelog: neutralise bogus @-token mention links (#45) (#49)
- inline only the referenced block or section for anchored embeds, closes Note#Heading #50 #50
0.2.0 (2026-06-30)
Features
- auto-open or surface a clickable path to the exported file
0.1.0 (2026-06-24)
Features
- plugin: add ribbon icon and context-menu export action (#38)
- plugin: classify common pandoc Error 43 stderr (#35)
- plugin: expose PDF page setup options (#40), closes #set
- plugin: preflight-probe every PDF engine, not just typst
- plugin: properly support weasyprint via HTML/CSS (#36) #40
Bug Fixes
- plugin: drop half-supported HTML PDF engines (#36)
0.0.8 (2026-06-24)
Features
Bug Fixes
0.0.7 (2026-06-24)
Features
- commands: surface validation warnings at export time (#27) (#28)
- env: auto-detect pandoc/typst install locations on PATH (#9) (#21)
- export: report partial results when one format fails (#7) (#15)
- pdf: full-bleed cover page for Typst PDF exports (#29) (#30)
- validator: warn when bibliography/CSL file is missing (#10) (#20)
Bug Fixes
- compiler: match video URLs by host, not anchored regex (#23) (#24)
- compiler: prevent image filename collisions in export (#5) (#17)
- compiler: strip multi-line %% comments from exports (#11) (#18)
- exporter: correct expandHome ~user documentation (#8) (#14)
- log: make the “Verbose console logging” setting actually work (#25) (#26)
- preview: clean up preview temp dirs instead of leaking them (#6) (#16)
0.0.6 (2026-06-23)
Bug Fixes
0.0.5 (2026-06-23)
Bug Fixes
- citations: copy bibliography into temp dir so Typst PDF export resolves it (#3)
0.0.4 (2026-05-18)
Bug Fixes
- all: better detect typst or xelatex
0.0.3 (2026-05-14)
0.0.2 (2026-05-13)
0.0.1 (2026-04-29)
⚠ BREAKING CHANGES
- output paths leave the vault — OS tmpdir + absolute output
Features
- add defaultAuthors plugin setting
- apply sectionsToSkip to manifest body, expand defaults
- auto TOC depth from heading levels actually used
- citations via
pandoc-citeproc(bibliography:frontmatter) - configurable cover frontmatter property + URL cover support
- configurable separator between inlined notes
- configurable Typst image max-width, closes #set
- convert standalone — lines into manual page breaks
- drop required tag, add user guide
- front matter vs body matter via per-book section list, closes #set
- opt-in
![[Note]]embed expansion, closes Note#section - output paths leave the vault — OS tmpdir + absolute output
- page breaks per chapter/part, prose in sections, smart quotes
- pre-flight binary check on plugin load
- section numbering as first-class setting
- validator flags duplicate-note references in the manifest
Bug Fixes
- emit chapter page breaks as format-conditional raw blocks
- PDF export — URL embeds become links, mainfont/monofont set for Typst