Skip to content

Margin Notes (hz) 0.45.1

Choose a tag to compare

@Heptazero Heptazero released this 26 Aug 06:10
· 14 commits to main since this release

Margin Notes (hz) 0.45.1

PDF shared annotations

  • Share one annotation set across two or more layout-compatible PDFs.
  • Explicit searchable pairing, conflict-aware merge/replace choices, leave-group copies, and cyclic language switching.
  • Preserve groups across file and folder renames; tolerate sync-style delete/create replacement and remove confirmed missing members safely.
  • Recheck page layout after PDF revisions and detach only incompatible members.

Reading and organization

  • Annotation layers, named color slots, page/color grouping, full-text search, and compact list controls.
  • Shared PDF outlines, including inheritance from another group member in Obsidian's native outline view.
  • Optional double-column reading order shared across a PDF group.
  • Resizable Markdown sidenotes with folded-content visibility handling.

PDF annotation interaction

  • Unified Markdown/MathJax display and editing, draggable free notes and rails, resizable boxes, collapsed dots, configurable highlights, and toggleable leader arrows.
  • Zoom lifecycle hides transient geometry and rebuilds after pdf.js settles.
  • Fixed left-side free notes with negative freeX: they now keep page-relative coordinates instead of being clamped to the pane boundary.

Architecture

  • Split page geometry, annotation space, rail layout, zoom lifecycle, pointer gestures, shared-file lifecycle, outlines, search, layers, and layout checks into focused TypeScript modules.
  • Removed the old fingerprint auto-pairing path; shared groups are explicit and persistent.

Automated tests, TypeScript checks, production build, and whitespace validation pass for this release.