Skip to content

Releases: K0g1/Templar

Templar 1.2.0-beta.3

Templar 1.2.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Aug 23:10
Immutable release. Only release title and notes can be modified.
6c55e8b

Templar 1.2.0-beta.3

1.2.0-beta.3 replaces the earlier ruled-line correction paths with one fixed absolute baseline lattice shared by Reading View and Live Preview. It is the current beta candidate for the alignment work and preserves the existing note/template schema.

Alignment implementation

  • The grid origin is deterministic: configured top padding plus the measured body-font baseline. It is not derived from the first currently mounted child and does not change when a note scrolls or virtualizes content.
  • BaselineGridController is the single runtime owner for Reading and Live Preview. It performs bounded measurement/write settling, tracks dirty renderer owners, and records non-convergence instead of silently leaving unstable geometry.
  • Reading View corrects flow blocks and their occupied tails, including headings, paragraphs, lists, quotes, callouts, tables, code, dividers, embeds, diagrams, media, and explicit blank-line spacers. List lines and composite-container text receive visual-only fractional corrections without changing wrapping or outer flow height.
  • Live Preview leaves ordinary CodeMirror .cm-line elements untouched. Only rendered widgets, virtual gaps, and the metadata prefix can receive dynamic rhythm corrections, preserving CodeMirror's height map and cursor coordinates.
  • The diagnostic command has a compact status form and a detailed JSON copy form. The debug overlay draws the lattice and labelled entry/baseline/exit markers in a pointer-free SVG layer.

Automated verification

The beta candidate passed:

  • 50 Vitest files / 279 tests, including a mixed 10,000-block controller fixture and dirty-image incremental processing.
  • Runtime, test, and tooling TypeScript checks; tracked-source ESLint; production build; mobile-bundle guard; and runtime privacy-policy guard.
  • The all-template matrix: all 132 built-in styles across pageless A4, paged A4, paged Letter, and paged custom 480×640 and 1800×2400 flows. Every generated selector remained scoped and every compiled value was finite.
  • Standard and stress benchmarks for the fixed controller and full renderer, including 5,000-block Letter and 10,000-block custom-page fixtures.
  • Both dependency audit commands with no moderate-or-higher vulnerabilities.

Packaged Obsidian verification

The rebuilt main.js, manifest.json, and styles.css were copied into the test vault and manually checked in Obsidian 1.13.7 against Obsidian Elements Test - Complete with the active Meeting Ledger pageless style. All reports below were taken after the bundle was reloaded and the view had settled; the public tolerance is 0.4 px.

View / position Text / blocks / widgets Max baseline Max exit Failure count Non-converged
Reading / top 34 / 8 / 2 0.000 px 0.000 px 0 none
Reading / middle 40 / 14 / 2 0.000 px 0.000 px 0 none
Reading / bottom 28 / 29 / 2 0.000 px 0.000 px 0 none
Live Preview / top 34 / 41 / 1 0.001 px 0.000 px 0 none
Live Preview / middle 39 / 49 / 2 0.001 px 0.000 px 0 none
Live Preview / bottom 17 / 35 / 3 0.000 px 0.001 px 0 none

The detailed reports also showed stable bounded settling after scrolling. A temporary character was inserted into a visible Live Preview heading and undone; the note returned to its original source text and the post-undo diagnostic remained at zero failures. The debug overlay was enabled and disabled in Live Preview; its green ruled lines and marker labels were visible without intercepting pointer input.

The test note includes intentionally malformed Mermaid examples and references to unavailable community plugins. Those renderer errors are expected note content and are not reported as Templar alignment failures; renderer-owned internals are deliberately excluded from the host-note diagnostic.

Compatibility and beta limitations

The manifest and versions.json continue to declare Obsidian 1.8.0 as the minimum supported version. The packaged interactive evidence in this environment is from Obsidian 1.13.7; an installed 1.8.x runtime was not available for a second desktop run. The mobile-bundle and privacy guards pass, but no usable iOS/Android device or simulator was available, so physical mobile smoke evidence remains pending before stable promotion.

Templar remains prerelease software. Back up important vaults before testing and include the detailed diagnostic output, Obsidian version, operating system/device, view mode, page template, and reproduction steps in alignment reports.

Install with BRAT

Install Obsidian42 - BRAT, run BRAT: Add a beta plugin for testing, and enter K0g1/Templar. For a reproducible report, use BRAT: Add a beta plugin with frozen version based on a release tag and enter 1.2.0-beta.3. Manual installation uses the four assets attached to this release: main.js, manifest.json, styles.css, and SHA256SUMS.txt.

Templar 1.2.0-beta.2

Templar 1.2.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Aug 17:01
Immutable release. Only release title and notes can be modified.
047973b

Templar 1.2.0-beta.2

1.2.0-beta.2 is a corrective beta focused on keeping Markdown text and rendered elements aligned to Templar's ruled-line and grid patterns in every page template and both Obsidian view adapters.

Alignment changes

  • Normalizes baseline-sensitive inline content, including inline code, keyboard text, highlights, superscripts, and subscripts.
  • Corrects heading, list, editor-line, and code-block line boxes without adding visible source-line spacers.
  • Reconciles variable-height blocks after layout settles, including tables, callouts, embeds, diagrams, dividers, and media.
  • Keeps image snapping scoped to the appropriate rendered block and refreshes paper-origin measurements after scrolling and asynchronous layout changes.
  • Adds Run ruled-line alignment diagnostic to the command palette. It reports text and block counts plus any off-grid geometry for the active note.

Verification evidence

The source candidate passed 47 Vitest files / 261 tests, runtime/test/tooling TypeScript checks, the production bundle, mobile-bundle and privacy guards, tracked-source ESLint, and both dependency audits with zero vulnerabilities.

The packaged build was manually checked in Obsidian against the complete elements test note in Reading View and Live Preview. The diagnostic reported zero issues for the tested content, including pageless, A4, Letter, and custom page templates. The test matrix covered headings, paragraphs, lists, quotes, tables, callouts, code, embeds, diagrams, media, dividers, and other rendered blocks.

Beta limitations

The mobile compatibility guard passes, but physical iOS and Android devices were not available in this release environment. Interactive mobile/emulation evidence remains pending and is not claimed by this release. Templar remains prerelease software; back up important vaults before testing.

Install with BRAT

Install Obsidian42 - BRAT, run BRAT: Add a beta plugin for testing, and enter K0g1/Templar. For a reproducible report, use BRAT: Add a beta plugin with frozen version based on a release tag and enter 1.2.0-beta.2. Manual installation is also supported with the four assets attached to this release.

Reporting compatibility problems

Open an issue with the Templar and Obsidian versions, operating system/device, installation route, view mode, exact reproduction steps, and whether the affected note contains existing templar frontmatter. Include the diagnostic output when reporting a ruled-line alignment problem.

Templar 1.2.0-beta.1

Templar 1.2.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Aug 04:55
Immutable release. Only release title and notes can be modified.
681400f

Templar 1.2.0-beta.1

1.2.0-beta.1 promotes Templar's remediation work from the published 1.2.0-alpha.5 package to beta. The goal of this beta is to provide a stable compatibility target for real vault testing while keeping the note/template schema at version 1.

Compatibility and recovery promise

  • Existing readable version-1 templar note frontmatter and templates remain portable and render without a storage rewrite.
  • Older supported data is migrated only in memory until an explicit write. Future, malformed, legacy, migration-failed, and quarantined data remains raw and protected.
  • A protected outer note, an unreadable nested provenance.source-snapshot, or protected settings cannot be replaced or removed by ordinary apply, synchronization, automatic-rule, or batch operations.
  • Recovery exposes the raw payload, exports a timestamped recovery copy, and requires a fresh backup plus raw-fingerprint check before destructive replacement or removal.

Install with BRAT

Install Obsidian42 - BRAT, then run BRAT: Add a beta plugin for testing and enter K0g1/Templar. For a reproducible report, use BRAT: Add a beta plugin with frozen version based on a release tag and enter 1.2.0-beta.1. The deep link is obsidian://brat?plugin=K0g1/Templar.

Templar requires Obsidian 1.8.0 or later. BRAT itself documents a newer host minimum; use the three manual release assets on older supported Obsidian desktop installations.

Verification evidence

The exact beta candidate is verified with ESLint, all runtime/test/tooling TypeScript checks, 47 Vitest files / 259 tests (including 8 integration files / 19 integration tests), V8 coverage, production build, mobile-bundle guard, runtime privacy-policy guard, release and BRAT contract verifiers, dependency audits, and the complete renderer benchmark matrix.

The packaged 1.2.0-alpha.5 predecessor was installed through BRAT into a clean disposable vault on macOS with Obsidian 1.13.7 and BRAT 2.2.0. The desktop matrix covered plugin reload, reinstall, frozen-tag installation, styled Reading View and Live Preview, preview/apply/remove, paged A4 rendering, native print handoff, batch application, and an enabled folder rule that applied a style only to a newly created unstyled note.

Recovery validation used real frontmatter fixtures: a future outer object and invalid current object stayed protected; raw data copied and exported intact; replacement and removal created recovery backups before changing the note; and a current outer style with a future nested source snapshot allowed a page-only update while rejecting destructive style replacement. Post-publish BRAT smoke will verify that this beta manifest loads, an existing alpha-styled note renders, a new note applies, and settings load.

Mobile status and known limitations

The generated bundle passes the mobile compatibility guard and paged notes use narrow-screen scale-to-fit behavior. An interactive mobile emulator or physical iOS/Android device was not available in this release environment, so this release does not claim physical mobile validation. Testers using Obsidian Mobile should report the exact device and view mode.

Templar remains prerelease software and is not listed in the Obsidian Community Plugins directory. Custom CSS deliberately supports only the documented virtual page selectors and rejects broad or readability-breaking rules. Back up important vaults before beta testing.

Reporting compatibility problems

Open an issue with the Templar and Obsidian versions, operating system/device, installation route, view mode, exact reproduction steps, and whether the affected note contains existing templar frontmatter. For protected-data reports, include the recovery status/message and preserve the exported recovery copy.

Templar 1.2.0-alpha.5

Templar 1.2.0-alpha.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Aug 04:30
Immutable release. Only release title and notes can be modified.
69d8d0d

Templar 1.2.0-alpha.5

1.2.0-alpha.5 is the published packaged validation candidate for Templar’s persistence, recovery, and custom-CSS safety remediation. It maintains the v1 note/template compatibility contract and corrects the final GitHub release publish-job context issue discovered while validating alpha.4.

Why alpha.5

The immutable 1.2.0-alpha.4 tag completed its Node 20 build, ship verification, checksum staging, artifact upload, and artifact download, but the checkout-free publish job invoked gh release without an explicit repository. No alpha.4 GitHub release was created and its tag is not repointed. Alpha.5 passes ${GITHUB_REPOSITORY} to every release operation so the verified artifact handoff completes without expanding the publish job’s trust boundary.

Remediation candidate contents

  • Broad custom CSS cannot escape the virtual page subtree or make essentially every note descendant unreadable through transparency, typography, clipping, or zero-geometry rules.
  • Automatic Style Rule writes use a raw-fingerprint compare-and-swap guard; a note changed after rule inspection is skipped instead of overwritten.
  • Explicit Batch Apply can replace a current valid style while preserving selected per-note page options; protected data is skipped.
  • Destructive operations affecting protected outer data, nested source snapshots, malformed/future settings, or quarantined templates are recovery-backed and fingerprint-checked.
  • Supported schemas migrate in memory through runtime and import paths without persisting a read-time upgrade.
  • Recovery UI, post-write warnings, multi-template settings mutation, runtime-policy template interpolation scanning, and renderer lifecycle/performance evidence have been completed.

Automated verification

The exact alpha.5 candidate is verified with:

  • ESLint and all runtime, test, and tooling TypeScript checks.
  • 47 Vitest files / 259 tests, including 8 integration files / 19 integration tests.
  • V8 coverage: 54.46% statements and lines, 79.23% branches, and 78.33% functions.
  • Production build, mobile-bundle guard, runtime privacy-policy guard, release metadata verifier, BRAT contract verifier, dependency audits (zero vulnerabilities), and the full benchmark matrix including PageRenderer workloads.

The tag workflow rebuilds with Node 20, verifies checksums and the BRAT contract, uploads and redownloads the exact verified staging bundle, creates a draft GitHub release, verifies its downloaded asset hashes, and only then publishes main.js, manifest.json, styles.css, and SHA256SUMS.txt.

Validation still required before beta

This published alpha package is the required package under test for beta promotion. The following results must be recorded against its downloaded artifacts before beta promotion:

  • BRAT clean-vault install, frozen-tag, update, deep-link, and reinstall behavior.
  • Upgrade from the previous alpha with styled notes, templates, rules, settings, and source snapshots.
  • Desktop Reading View, Live Preview, multiple-leaf, popout, page-mode, content, and print checks.
  • Manual recovery, automatic-rule race, Batch Apply, and adversarial CSS sanity checks.
  • Interactive mobile/emulation coverage and any physical-device results.

Installation and feedback

Install through BRAT with K0g1/Templar, or download the three plugin files from this release into <vault>/.obsidian/plugins/templar/. Back up important notes before testing prerelease software. When reporting a compatibility problem, include the Templar version, Obsidian version, operating system/device, view mode, exact steps, and whether the note contains existing templar frontmatter.

Known limitations

Templar remains a prerelease plugin. Its package-level beta validation matrix is still in progress at this alpha tag; physical iOS and Android results are not yet represented by this release note. Custom CSS intentionally supports only the documented virtual page selectors and may reject broad rules even when a host browser would accept them.

Templar 1.2.0-alpha.2

Templar 1.2.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Aug 17:26
c672bc6

Templar 1.2.0-alpha.2

This prerelease is a renderer, baseline, template-catalog, and trust-boundary audit of the UX expansion. It fixes the root causes of caret/text divergence, cross-view ruled-line shifts, lost blank rows, variable-height block drift, same-file pane leakage, malformed paper patterns, and several import/frontmatter edge cases while preserving Templar's self-contained-note and mobile-compatible architecture.

Highlights

  • Source, Live Preview, and Reading now derive each visible root's paper origin from the first real text baseline and the browser's measured font line box. Visible Properties and hidden YAML no longer require template-specific offsets.
  • CodeMirror lines remain margin-free for accurate pointer hit-testing. Heading rhythm uses internal padding, so the rendered text and editor cursor share one geometry.
  • Reading whitespace reconciliation preserves leading blank rows after frontmatter, internal blank runs, cached views, reopened notes, and virtualized content without rewriting Markdown.
  • Tables, callouts, Mermaid, display math, code, embeds, images, and other variable-height blocks snap independent renderer-owned wrappers. Outer margins and formerly collapsed child margins are included in the measured grid footprint.
  • Temporary previews survive Reading/Editing mode rebuilds, remain leaf-local when the same file is open in two panes, and still release when a note or Markdown leaf actually changes.
  • All nine paper families now emit explicit, complete layer geometry. Cross-hatch and diagonal strokes span their tiles, hex and scallop patterns repeat coherently, and ledger paints its second ledger line.
  • Gridded horizontal rules retain an exact one-row footprint in Reading, Live Preview, paged output, and footnote separators; heading rules no longer add an unmeasured border pixel.
  • Print preparation uses a settled Reading render, waits for fonts, images, asynchronous layout, and pagination, serializes concurrent jobs, and restores the original leaf state.
  • Template/frontmatter security now rejects or safely serializes physical CSS controls, malformed strings/comments, unscoped resources, and rhythm-breaking geometry. Pack size/member/CSS limits and duplicate IDs are explicit.
  • Built-in palette normalization, watermark round trips, callout title/icon variants, synchronization equality, unsupported schema versions, and pageless cleanup are regression-covered.

Compatibility and safety

  • Minimum Obsidian version: 1.8.0.
  • isDesktopOnly remains false; no Node.js, Electron, network, or independent PDF runtime was introduced.
  • Existing version-1 note and template snapshots remain portable. Unsupported future note-style versions fail closed instead of being silently rewritten as version 1.
  • Built-in templates remain immutable, imported packs remain untrusted, and a note never depends on its source library template to render.
  • Physical iOS and Android smoke tests remain pending. Responsive/touch/reduced-motion rules and the mobile bundle guard are covered, but those checks do not substitute for physical devices.

Verification

  • npm run check (ESLint, 20 Vitest files / 108 tests, strict TypeScript, production build, mobile bundle guard)
  • npm audit --audit-level=moderate and npm audit --omit=dev --audit-level=moderate (zero known vulnerabilities)
  • npm run verify:release -- 1.2.0-alpha.2
  • git diff --check
  • Obsidian 1.13.4 production-rendered all 132 built-ins sequentially, one active full preview at a time; all nine paper families passed.
  • Rich live-vault coverage included hidden YAML/Properties, leading and internal blank rows, headings, links, lists/tasks, quotes, callouts, tables, Mermaid, math, code, embeds, images, all horizontal-rule syntaxes, details, footnotes, same-file split panes, and both Reading/Editing transitions.
  • After tables, Mermaid, math, code, embeds, and images, paragraph baselines stayed within 1.17 px of the measured ruled-line phase with no cumulative drift. Reading horizontal rules measured one 30 px row with zero external margins.

Manual installation

Download main.js, manifest.json, and styles.css from this release, place them in <vault>/.obsidian/plugins/templar/, reload Obsidian, and enable Templar under Community plugins.

Templar 1.2.0-alpha.1

Templar 1.2.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Aug 22:13

Templar 1.2.0-alpha.1

This prerelease turns Page Styles into an everyday workflow: try styles on the actual note without writing, apply in one click, customize locally, review source changes safely, automate unstyled notes, navigate by keyboard, share packs, and prepare styled print/PDF output while preserving Templar's self-contained Markdown contract.

Highlights

  • Live previews are temporary, leaf-scoped, production-rendered, cancellable, and isolated from another pane showing the same note.
  • Current Note clearly reports Previewing, Applied, Modified, Update available, combined, and missing-source management states.
  • The note inspector previews a draft and writes once on Save; source synchronization can safely replace clean notes or three-way merge modified notes.
  • Style rules use ordered folder/tag/filename/frontmatter conditions, wait for metadata when necessary, and never automatically overwrite a styled note.
  • Recent, Most Used, folder relevance, usage/update badges, three density modes, simplified cards, and full keyboard navigation make the 132-style catalog faster to use.
  • One-click Apply retains existing page and attachment settings; unstyled notes follow the configured default page flow.
  • .templar-pack import/export validates members independently and resolves every ID conflict explicitly without allowing built-ins to be overwritten.
  • Print/export settles the existing renderer, fonts, images, and pagination before using the host print capability; no second PDF engine or desktop-only runtime was added.
  • Strict and balanced grids now give every Markdown divider exactly one baseline row in Reading and Live Preview, including all divider styles and paged modes.

Compatibility and safety

  • Minimum Obsidian version: 1.8.0.
  • isDesktopOnly remains false; the production bundle passes the Node/Electron mobile guard.
  • Existing v1 templates and notes continue to normalize and render. Notes without synchronization provenance receive conservative legacy choices rather than an unsafe merge claim.
  • Notes remain complete snapshots. Preview, library edits, rules, usage tracking, and update detection do not make rendering depend on the library.
  • Pack data, standalone templates, and custom CSS remain untrusted and traverse the existing normalization/security boundary.

Verification

  • npm audit
  • npm run check (ESLint, 76 Vitest tests, strict TypeScript, production build, mobile bundle guard)
  • npm run verify:release -- 1.2.0-alpha.1
  • git diff --check
  • Desktop Obsidian 1.13.4 live-vault walkthrough: search; live preview switching; global Escape restore; one-click apply with paged settings retained; Recent update; inspector live adjustment/save; Modified state.

Physical iOS and Android smoke tests remain pending for this alpha. Responsive/touch/reduced-motion behavior and the mobile runtime guard are covered in code/build checks, but they do not replace physical-device validation.

Manual installation

Download main.js, manifest.json, and styles.css from this release, place them in <vault>/.obsidian/plugins/templar/, reload Obsidian, and enable Templar under Community plugins.

Templar 1.1.0-alpha.3

Templar 1.1.0-alpha.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Aug 00:14

Templar 1.1.0-alpha.3

This corrective alpha restores the paper layer in pageless Reading view.

Fix

  • Ruled lines, graph/dot/decorative patterns, and optional margin lines are visible again instead of being painted behind the page background.
  • The content surface now owns an isolated stacking context, keeping paper and watermark layers behind Markdown while above the solid page color.
  • A compiler regression test protects the Reading-view layer order.

Validation

  • Verified graph paper, ruled lines, and the red margin line visually in Obsidian 1.13.4 Reading view.
  • ESLint, Vitest, strict TypeScript, the production build, and the mobile bundle guard passed.
  • npm audit reported zero known vulnerabilities.

Manual installation requires all three attached files: main.js, manifest.json, and styles.css.

Templar 1.1.0-alpha.2

Templar 1.1.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Aug 00:02

Templar 1.1.0-alpha.2

This alpha turns Templar's style library into a browsable collection and expands it from 28 to 132 built-in designs.

Highlights

  • Adds 104 new styles in 13 coherent themed packs.
  • Adds portable template folders, folder-aware creation and picking, instant search, and a responsive folder browser.
  • Keeps the large library light by indexing one catalog snapshot and creating cards only for the selected folder or search.
  • Adds readable-palette regression checks and distinct thumbnails for every paper pattern.
  • Adds real Obsidian gallery screenshots and reusable example notes with original artwork.
  • Improves renderer memory cleanup and verifies all version/release metadata before publishing.
  • Adds pull-request and main-branch CI using the same release-quality check suite.
  • Clarifies the current manual-install-only alpha status.

Validation

  • Obsidian-aware ESLint, Vitest, strict TypeScript, and the production build passed.
  • All 132 built-ins passed schema, CSS, identity, folder, and palette checks.
  • The mobile bundle guard found no Node.js or Electron runtime usage.
  • The updated build was loaded into an Obsidian 1.13.4 test vault for the gallery capture.

Alpha limitations

  • Physical iOS and Android smoke testing remains pending; the bundle and responsive UI are mobile-compatible, but prerelease users should test with a backed-up vault.
  • Templar is not yet listed in the Obsidian Community Plugins directory.

Manual installation requires all three attached files: main.js, manifest.json, and styles.css.

Templar 1.1.0-alpha.1

Templar 1.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Aug 22:48

Templar 1.1.0-alpha.1

This first public alpha expands Templar's per-note design system and is intended for manual testing in a dedicated or backed-up Obsidian vault.

Highlights

  • Adds H5/H6 styling, heading letter spacing and transforms, optional drop caps, and first-line indents.
  • Adds five paper patterns plus pattern opacity, scale, dot-radius, and major-grid controls.
  • Adds structured styling for lists, dividers, tables, callouts and callout variants, embeds, image floats/object-fit/duotone, and watermarks.
  • Reworks Reading View blank-line spacers to appear before first paint and survive Obsidian's virtual-scroller updates.
  • Organizes the style library into Favorites, Built-in styles, and My custom styles, with reset-to-default and reset-all-settings flows.
  • Synchronizes the README, changelog, template specification, architecture, security policy, contributor guide, maintainer guide, and release automation with the alpha behavior.

Validation

  • ESLint passed.
  • 47 Vitest tests passed across seven test files.
  • Strict TypeScript and the minified production build passed.
  • The mobile bundle guard found no Node.js or Electron runtime usage.
  • npm audit reported zero known vulnerabilities.

Alpha limitations

  • Physical iOS and Android smoke testing is still pending.
  • Reading View and Live Preview should be exercised manually across pageless, A4, Letter, and custom-page modes before a stable/community-directory release.
  • Back up important vaults before testing prerelease software.

Manual installation requires all three attached files: main.js, manifest.json, and styles.css.