Repository navigation
Releases: Systina12/copy_with_footnotes
Release list
0.2.2
Copy with Footnotes 0.2.2 is a patch release for Obsidian 1.8.7 and later.
Experimental Paste remains disabled by default.
- Copying a selection that contains only part of a referenced definition now
keeps the selection intact, without adding a duplicate definition marker. - Copying with multiple editor selections now gives a clear notice instead of
silently copying just the primary selection. - Paste reuses definitions by comparing actual reference spans and indexes
compatible candidates by ID family and content. This avoids regular-expression
backtracking and repeated scans of unrelated definitions. - Markdown context checks use indexed protected ranges, improving performance
in notes with many code or comment spans.
Validation: 535 automated tests passed, including stored Obsidian 1.8.7 and
1.13.7 metadata fixtures. Lint, type checking, production build, and CI passed.
The native metadata workers and an installed Obsidian application were not
rerun for this patch release. See the review for
the detailed changes and limits.
Download main.js and manifest.json below to install manually. No CSS file
is required.
0.2.1
Fixes confirmed scanner warnings and makes plugin options discoverable in Obsidian's settings search.
- Add searchable settings on Obsidian 1.13+, while keeping the existing settings UI for Obsidian 1.8.7 through 1.12.
- Preserve command registration, pending-paste cancellation, and settings persistence when using the new controls.
- Use browser-window timers for metadata waits, and remove unnecessary type assertions and regular-expression escapes.
- Add the official Obsidian ESLint rules with type-aware checks and a zero-warning threshold, plus GitHub Actions checks for lint, tests, and builds. The
no-unsafe-*rules remain enabled. - Include the test runner's optional esbuild dependencies in the lockfile so clean installs also work with npm 10.
Validation: 531 automated tests, zero lint warnings, TypeScript checking, and the production build passed. A clean dependency install reports zero known vulnerabilities. Official Obsidian 1.8.7 and 1.13.7 metadata workers each passed 38 Copy cases, 114 Paste cases, and 40 consecutive pastes. The installed Obsidian 1.13.7 application passed 14 targeted checks, covering settings search, persistence, and Copy/Paste with Undo/Redo in Source mode and Live Preview in both the main window and a popout. All four observed metadata wait timers were cleared.
Requires Obsidian 1.8.7 or later. Experimental Paste remains disabled by default. Install using main.js and manifest.json; no CSS file is required.
0.2.0
Adds optional Paste with Footnotes, disabled by default. Enable it in the plugin's Experimental settings, then use Paste clipboard or the Paste with footnotes editor menu item.
- Reuse matching definitions and resolve incoming numeric or named ID conflicts, including repeated pastes and nested references.
- Choose the nearest footnote block, the next block, or the end of the note, with insertion before or after existing definitions.
- Preserve existing footnotes and body paragraph formatting. Cancel unsafe or outdated edits with a clear notice.
- Report added, reused, and renamed footnotes. Keep each paste separate in Undo/Redo history.
- Retain the existing Copy command and editor menu behavior.
- Update the development test runner to Vitest 4.1.11 to address GHSA-82fw-gwwq-j7x9; the dependency audit is clean.
Validation: 527 automated tests, TypeScript checking, and production build passed. Official Obsidian 1.8.7 and 1.13.7 metadata workers each passed 38 Copy cases, 114 Paste cases, and 40 consecutive pastes. The installed Obsidian 1.13.7 application passed 320 checks across Source mode and Live Preview.
Requires Obsidian 1.8.7 or later. Install using main.js and manifest.json; no CSS file is required. See the repository documentation for experimental-feature boundaries and platform verification details.
0.1.1
0.1.0
Copy selected Markdown together with its referenced footnote definitions.
Use Copy with footnotes from the Command Palette or by right-clicking selected text. Supports multiline definitions, recursive dependencies, and repeated references without modifying the note.
Requires Obsidian 1.8.7 or later. Download main.js and manifest.json for manual installation; no CSS file is required.
Validation: 103 tests passed, with 36 real metadata cases verified on each of Obsidian 1.8.7 and 1.13.7.
See the README for limitations and the verification document for API findings and remaining GUI/device checks.