Skip to content

0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Sep 19:47

0.2.0

A region is now a note. This release changes how annotations are stored, and does not convert 0.1 data.

  • Each region is one note, named with its title, in the region folder (Regions by default, set in the plugin settings). Its properties hold image, source, shape and region_id. Its body starts with a crop block; write about the region below it.
  • Put a region into writing with Obsidian's own embed, ![[Eyes]]. Renaming the note renames the region, and links follow. Backlinks show where a region is used.
  • The editor is a tab. Open note opens the region note beside the image. The selected region shows its text, the notes it is used in, Insert in (at the cursor of the note you last wrote in) and Insert in… (at the end of a note you choose). A region can be dragged from the list into a note, and Duplicate makes a second note for the same part of the image.
  • Drawing: icon tools with shortcuts (V, R, P), a name field beside the new shape, handles to reshape a selected region, and a polygon that finishes on its first point, a double-click, or Enter.
  • The source property is found for you: from the note you opened the image in, another region of the image, the snapshot's name, or the one note that embeds the image. When several notes embed it, you choose.
  • Web snapshots are named <source note> - image - d857.jpg. The same picture from two notes is saved once.
  • Requires Obsidian 1.13.0, for the settings search.

Removed: caption files, attachments, the preview block, and the Attach an image region to this paragraph and Remove unavailable references commands. Before its first write, 0.2 copies the old index to Image Annotation/index-0.1.json. Old caption files stay in the vault as ordinary notes; old preview blocks show as plain code blocks.

0.1.5

  • Write into a note one way, however it is open. Inserting a reference into an open note used to replace everything from the insertion point to the end of the note in one editor edit; it now replaces only the inserted lines, the same minimal edit every other note change already made. The three note writes share one implementation, with tests against a fake editor.
  • The reference block's shape (the fence, the id, the mode, four lines) is declared in one module and every reader and writer asks it.
  • Two writers could both create the plugin folder from a cold vault and one would fail; folder creation now tolerates losing that race, as the snapshot writer already did.
  • Internal: media cleanup takes the store's frozen path snapshot as a named type rather than testing whether an array is frozen; the index path is exported from the store rather than repeated in the plugin; the image-extension test and the HTML image pattern are written once; three unused exports removed.

No change to Image Annotation/index.json, captions or settings.

0.1.4

  • Refuse unsupported Markdown blocks before attaching an image region to prose. Preserve valid paragraphs after display math.
  • Refresh previews when missing captions, images or the annotation index return.
  • Scan notes once during media cleanup, then recheck changed documents and open editors. Protect encoded image references and references added during cleanup.
  • Use targeted connection and image indexes. Preserve overlapping-region order after edits and attachment order after renames.
  • Yield during large index validation, serialization and folder renames. Keep atomic external-edit conflict checks and the existing storage format.

The index still uses a single JSON file. Very large indexes retain synchronous parsing and full-file write costs. Synthetic scaling checks do not establish mobile or device-specific performance.