Releases: rsimon/immarkus
Version 1.2.4
A key addition in version 1.2.4 is support for UI localization. The localization framework, along with a first translation of the IMMARKUS interface to Japanese, was added by @nakamura196. Many thanks for this contribution!
Images
- Import from Indexed Patches utility: Segments from the visual search index can now be imported as annotations directly from the Indexed Patches viewer. (#324, #335)
- Grid layout sorting options: The Grid layout now supports sorting by name and by number of annotations, similar to the table layout. (#283, #321)
Knowledge Graph
- Fixed a regression affecting IIIF manifests without a Table of Contents: When Show sub-folders as nodes is enabled, canvas nodes are once again correctly linked to their manifest node for IIIF manifests that do not include a Table of Contents.
- Search panel bugfix: Fixed an issue where the graph search panel initially appeared at coordinates (0,0) and then abruptly jumped to its correct position when first dragged.
Workspace
- CTRL-/CMD-A keyboard shortcut: The CTRL+A keyboard command (CMD+A on Mac) now selects all annotations in the workspace.
- Duplicating annotations: Annotations can now be duplicated from the annotation list using the new Duplicate this annotation button on annotation cards. The duplicate is created as an exact copy of the original, including tag and note contents. (#317)
- Anthropic Connector model choice: The Anthropic transcription service in the Auto Transcribe dialog now allows selecting different models.
Version 1.2.3
Images
- Inspect Indexed Patches utility: Added a new debugging utility for the visual search index. When an index exists, the image context menu now includes an Inspect indexed patches option. Selecting it opens a zoomable view of the image with all indexed segments overlaid. (#312)
Version 1.2.2
The main addition in v1.2.2 is the new persistent annotation workspace.
Previously, the annotation workflow was centered around the Images overview: users would open an image from the overview, annotate it in the annotation workspace, then navigate back. In other words, the annotation workspace was treated as a child view of Images.
Over time, however, the workflow has evolved. With features such as the multi-image workspace, workspace bookmarking, and direct navigation between the knowledge graph and annotation workspace, the workspace has increasingly become the central hub of the application.
Persistent Annotation Workspace
IMMARKUS 1.2.2 updates the information architecture to reflect this shift by promoting the Workspace to a top-level sidebar item with persistent global state.
Users can now send images to the workspace from both the Images gallery and the Knowledge Graph. Images added this way are appended to the current multi-image workspace instead of replacing the existing workspace contents.
To support this workflow, several UI enhancements have been added:
- A sidebar indicator showing how many images are currently open in the workspace.
- Visual markers throughout the application indicating which images already open in the workspace, including in the Images overview and the Knowledge Graph sidebar. This makes it easier to keep track of workspace contents while navigating between views.
Other Additions
Workspace
- Bookmark improvements:
- The bookmark menu now highlights the currently active bookmark (if any) with a checkmark, making it clearer which state is active and which entry would be affected when clicking "Delete bookmark".
- Long bookmark lists are now scrollable and include a text search field for filtering.
- The "Save bookmark..." dialog now supports both creating a new bookmark and overwriting an existing one.
- Thumbnail hover previews: The small square previews in the navigation thumbnail strip and the Add Images dialog now show a larger preview on hover, rendered in the image’s original aspect ratio.
Version 1.2.1
Bugfix Release
Fixes a bug in Visual Search that caused the search result regions to be offset from their true position for IIIF images.
Version 1.2.0
Visual Search
The headline addition in v1.2 is the preview release of Visual Search – a new feature that automatically finds and annotates objects in your images based on an example annotation.
Annotation View
- Visual Search: Find similar objects in the current image, the current workspace or across your entire collection based on an example reference annotation.
- Workspace bookmarks: Create named bookmarks for sets of images opened in the workspace, and quickly restore them from the Annotation View toolbar. (#292)
Data Model
- Improved behavior for External Authority fields. These fields continue to support both full URLs and plain (non-URL) string values. When a URL matches the authority's configured URL scheme, IMMARKUS formats it as a clickable short link (displaying only the ID, with base URL removed). This update includes the following fixes and improvements:
- Fixed an issue were non-URL values were incorrectly turned into broken links (
/${value}). - Non-URL values are now treated as IDs and automatically expanded into full authority links based on the configured URL pattern–if the field has exactly one authority source.
- For fields with multiple authority sources, non-URL values cannot be resolved unambiguously. These values are no displayed as plain text and are no longer clickable.
- Fixed an issue were non-URL values were incorrectly turned into broken links (
Knowledge Graph
- In the selection sidebar, image cards now display the manifest title alongside the canvas label for IIIF canvases. A new clipboard icon allows users to copy the manifest URL to the clipboard. (#295)
- Annotation thumbnails now display a larger annotation preview on hover, which isn't constrained to a square. (#307)
Version 1.1.1
- Fixes a critical bug in IIIF import that caused many manifests to break if they pointed to Image API v2 services (#290).
Version 1.1.0
Annotation
- Annotation filtering: The filter setting in the Annotation List now also applies to annotation shapes displayed on the image. (Annotations hidden in the list are also hidden from the image view.)
- Improved annotation list filter: The annotation list filter selector is now more flexible. Instead of a single-value select, filtering now supports the following options (#287):
- All (= no filter), With Entity, Without Entity and With Relation remain single-value options. Selecting one will automatically de-select all others.
- All is the default option. If all other options are deselected, the filter automatically switches back to All.
- Entity Classes and Relationships are multi-value options. Selecting multiple values will display annotations matching any of the selected choices.
- Entity Classes and Relationships cannot be combined. Selecting a relationship while entity class(es) are active will clear the entity class filter, and vice versa.
- Auto Transcribe rotation: the Auto Transcribe dialog now allows users to rotate the image in 90-degree steps. The image is sent to the OCR/LLM in rotated orientation, which can improve transcription reliability for engines that don't handle rotated text well (#289).
- Annotation style: selected annotations now have slightly thicker stroke width for improved visibility.
Export
- Canonical IIIF canvas URL in annotation export: When exporting annotations on IIIF resources in JSON-LD format, the
sourceproperty now correctly references the canonical Canvas URI. - Improved IIIF annotation import compatibility: IMMARKUS now supports importing IIIF annotations that use the shorthand fragment selector format (e.g.
http://www.example.com/canvases/1#xywh=100,100,200,200) - Fixed IIIF metadata search crash: Resolved an issue where graph search would crash when querying IIIF metadata if a manifest's advertised
idURI differed from the original download URL. Search now handles this case correctly.
Version 1.0.6
Images Overview
- Persistent sorting: The sort order in the table view is now preserved across page reloads.
- Bugfix: IIIF imports no longer fail when manifests reference external annotation lists that are empty.
- Improved grid view folder icons: Folder icons in the grid view now correctly display counts for all nested contents – images, subfolders, and IIIF manifests.
- Truncated name tooltips: Folder, image and IIIF manifest names that are truncated in the grid view now show their full name on hover.
Annotation View
- Truncated image name tooltip: When an image name is truncated in the toolbar, hovering now reveals the full name.
- Bugfix: The thumbnail strip now correctly highlights only the current image, instead of showing outlines around all thumbnails. (#280, #282)
- Thumbnail strip tooltips: Image thumbnails in the thumbnail strip now display the image name on hover. (#280, #282)
- Consistent thumbnail sorting: The thumbnail strip now follows the same image sort order last selected in the Images Overview. (#280, #282)
- Improved image search: The Add Image dialog search now matches text anywhere in image names (infix matching), not just at the beginning.
- Google Gemini model selection: The Auto Transcribe dialog now includes a model selector for Google Gemini, with options for 2.0-flash, 2.5-flash, and 3-pro-preview.
Version 1.0.5
Images Overview
- "Open in Viewer" context menu option: IIIF manifests now include a context menu option to open the manifest in an external viewer or copy its URL. Previously, this was only available in the manifest "folder view", meaning single-image manifests (displayed as a single thumbnail) did not have access to it. (#268, #271)
- Bugfix: IIIF manifests containing non-region annotations (i.e. annotations targeting the entire IIIF canvas rather than a specific shape) no longer cause import failures.
Annotation View
- Bugfix: Fixed an issue where IMMARKUS would crash to a blank screen when hardware acceleration was disabled in the browser. This error is now properly handled with an alert dialog that displays error details and step-by-step instructions for enabling hardware acceleration on Chrome and Edge (#266).
- Sidebar annotation list "Without entity" filter: Added a new filter option Without entity that shows only annotations with no entity tag. (#279)
- Sidebar annotation list multi-select: Users can now select multiple annotations by holding the modifier key (
Ctrl/Cmd) when clicking annotation cards. (#278, #279) - Sidebar annotation list "Select All": Added a Select All button that selects all annotations currently visible in the filtered list. When multiple images are open, the selection applies only to annotations in expanded accordion sections. (#279)
- Filter 'Add Images' by annotations: the 'Add Images' dialog now:
- AI opt-in dialog: When first using the Auto-Transcribe feature, users now see an opt-in dialog that clearly explains the use of external AI services and requests consent before continuing.
Knowledge Graph
- Graph search addition: Added an "empty" search condition when filtering images or folders by metadata property, and when searching for images based on specific entity property sub-condition values (#269, #272).
Export
- IIIF manifest and ToC details: Excel annotation exports now include two additional columns:
- IIIF Manifest Name: The name of the IIIF manifest containing the annotation (if applicable)
- IIIF ToC Path: The IIIF table-of-contents path of the canvas containing the annotation (if applicable)
Other
- Non-region IIIF annotations: Annotations that target the entire canvas are now displayed as canvas-level metadata in the sidebars of both the Images Overview and Annotation View. (#277)
- Metadata formatting improvements: Long metadata values (e.g. URLs) now wrap correctly in the metadata sidebars.
- Authorities with multiple endpoints: External authorities can now be configured to route requests to different endpoint URLs based on RegEx input patterns. The CBDB service now uses the
idlookup endpoint for numeric input, and thenamesearch endpoint otherwise. - CBDB endpoint update: Updated the CBDB authority service to use its new base API URL, which will be maintained until the end of 2026.
Version 1.0.4
- Fixes a bug that caused IMMARKUS to crash each time a large text field was displayed (Note or multi-line text property), if the user did not have a translation service configured (#264).