All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.10.0 - 2026-03-21
- pinch-zoom supported
- scroll-based zoom and pan to pan-and-zoom navigation
- zooming behavior to zoom relative to current visible center (rather than image center)
3.9.0 - 2026-01-31
autoZoom()method toMarkerAreaandMarkerViewto automatically adjust zoom level to fit the image within the containerautoZoomInproperty to automatically zoom in on smaller images to fit the container (default: false)autoZoomOutproperty to automatically zoom out on larger images to fit the container (default: false)
3.8.1 - 2025-10-05
- linear markers (Line, Arrow, Measurement) don't fire
markerchangeevents on manipulation
3.8.0 - 2025-09-11
targetImageLoadTimeoutproperty to the Renderer to control the waiting time on known slow connection or large images
- cursor resetting to default when continuously creating markers
- delayed restoring of state ignores addUndoStep parameter
3.7.3 - 2025-08-06
- after restoring state selecting rectangular markers from code doesn't show the control box
3.7.2 - 2025-08-06
- marker manipulation controls not visible when restoring state (regression in 3.7.1)
3.7.1 - 2025-07-17
- control box is being setup at the wrong time causing issues with inherited editors
3.7.0 - 2025-06-20
- treating deleting of multiple markers as a single undo/redo step
- hide()/show() methods to marker editors so you can temporarily hide marker editors
- undo/redo works incorrectly after deleting markers
3.6.4 - 2025-06-11
- text editing quirks (pasting, Safari issues, etc.)
3.6.3 - 2025-05-30
HighlighterMarkertype name saved asFreehandMarkerin state
3.6.2 - 2025-05-28
- polygon fill is not persisted in state
3.6.1 - 2025-05-27
- update dev dependencies and resolve new linting issues.
3.6.0 - 2025-05-27
- scaling control grips (resizing, rotation, etc.) inversely proportionally to zoom level for easier manipulation. Grips stay the same size regardless of zoom level.
3.5.8 - 2025-04-28
isUndoPossiblealwaystrueafter the first operation
3.5.7 - 2025-04-22
- polygon control box visible while not selected and restoring state
- switching to other activities while creating a polygon with just one point results in an unmanageable single-point "polygon"
3.5.6 - 2025-04-17
- freehand marker editor trying to adjust control box for an empty marker resulting in JavaScript errors
- callout opacity applied incorrectly in some scenarios
- polygon marker gets stuck in the creating state if user switches to something else before finishing the polygon
- curve marker scaled incorrectly when restoring state in a different size
- fix text and callout incorrect scaling issue (added padding to text marker state)
3.5.5 - 2025-04-11
- freehand marker editor control box visible by default when marker is not selected
3.5.4 - 2025-04-09
- opacity applied inconsistently in line-based (line, arrow, curve) and caption frame markers
3.5.3 - 2025-04-07
- selection marquee stays visible when undoing/redoing
selectedMarkerEditorsis not updated at the time ofmarkerdeleteevent
3.5.2 - 2025-04-04
- multi-selection marquee stays visible after markers are deleted
- undo/redo not working or wonky in some scenarios
markercreatingevent is never fired
3.5.1 - 2025-03-31
markerselectandmarkerdeselectevents fire incorrectly in multi-select context
3.5.0 - 2025-03-28
- proportional resizing while holding
shiftin rectangular editor markers (rectangles, ellipses, etc). Including creating perfect squares, circles, etc. when you holdshiftduring marker creation.
3.4.0 - 2025-03-26
- panning when zoomed in. In the editor use alt/option + mouse drag or middle mouse button drag, or touch with 2 fingers. In the viewer just click/touch and drag.
- inconsistent opacity editing in Freehand and Highlighter markers
3.3.0 - 2025-03-25
- ability to add SVG defs to the main canvas (
addDefs()method) - a set of predefined SVG filters that work cross-browser (CSS filters don't work in Safari)
3.2.0 - 2025-03-24
HighlighterMarker- a freeform highlighter pendefaultFilterproperty acrossMarkerArea,MarkerView, andRenderer. marker types now have aapplyDefaultFilterstatic property that specifies if this type wants thedefaultFilterto be applied to markers. Defaults totrueand set tofalsewhere it generally doesn't make sense (like Highlight, etc.)
filldoesn't work for polygons
- move docs to a separate repository
3.1.0 - 2025-03-20
CurveMarkerfor curved lines
- stroke color changes not applied to line-type markers
3.0.1 - 2025-03-19
- image marker editor to have only corner resize grips for better UX
- stroke dash array is applied to arrow heads and it shouldn't be
- grip manipulation area is too large and interferes with moving of smaller markers (eg. emojis)
3.0.0 - 2025-03-14
- selection marquee not visible after restoring state
- missing getter/setter for marker's notes in the
MarkerBaseEditor - missing exports for
MarkerEventDatafromMarkerView
3.0.0-rc.4 - 2025-02-18
- public
selectedMarkerEditorsproperty to access multi-selected editors - marker events to
MarkerView
- improved text rendering flow
- text markers scaled twice on restoring state
- opacity not applied to image markers
- text based markers incorrectly react to opacity changes
- line based markers don't respond to opacity changes
- polygon marker incorrectly responds to opacity changes
- scrollbars not centered when zooming out below 100% (both
MarkerAreaandMarkerView) - after editing and clicking out text markers stay visually selected while internally unselected
3.0.0-rc.3 - 2025-02-10
- wrong marker type is passed to
ShapeMarkerEditorforEllipseMarker - text markers can't be edited in Safari
3.0.0-rc.2 - 2025-02-03
- ability to set only the
targetWidthortargetHeightand the other being calculated proportionally - scrolling to the center of image if the target is larger than component container on load
- updated logo
- missing
fillColorinCalloutMarkerstate and incomplete scaling - text wrongly positioned in renders when padding is scaled
- scrolling to image center on zoom doesn't work
3.0.0-rc.1 - 2025-01-30
- attempt to fix the release GA workflow
- missing imports
- typedoc configuration updates
3.0.0-rc.0 - 2025-01-29
- tsdoc reference comments and quick start guides
- previously saved state didn't load if restored right after adding components to DOM
- removed unnecessary
getState()overrides in some markers - removed unused types
- added missing exports
- attempt to fix the release GA workflow
- minor syntax fixes
3.0.0-beta.3 - 2025-01-08
registerMarkerType()methods inMarkerArea,MarkerView, andRendererto register custom marker types and editors.
3.0.0-beta.2 - 2025-01-06
- if marquee-select results in single element being selected revert to simple selection
- the whole image gets selected as if it was text when dragging the mouse out of image bounds
- multi-selecting by holding shift and clicking doesn't show marquee outline
- attempt to fix the release GA workflow
3.0.0-beta.1 - 2025-01-03
- Image markers:
ImageMarkerBase,CustomImageMarker(for user-set images),CheckImageMarker(preset check mark), andXImageMarker(preset X). - Caption frame marker (
CaptionFrameMarker).
- improved multi-select behavior (visible marque when selected, moving markers by moving marque, double-click marque to deselect)
getState()to taketypeNamevalue via a constructor property so extending classes don't need to overridegetState()just to set thetypeName
3.0.0-beta.0 - 2024-06-24
FontSizeinterface isn't exported- logo positioning
- last point in
PolygonMarkeris removed when closing the loop - rasterizing the result causes a layout shift
fillColorapplied in incorrect way- shape properties not applied to
CalloutMarker TextMarkerEditordoesn't expose marker properties (color,fontFamily,fontSize)
- Updated readme with usage basics and demo link
3.0.0-alpha.4 - 2024-05-11
- Ellipse frame marker
- Ellipse marker
3.0.0-alpha.3 - 2024-05-09
- Cover marker
- Highlight marker
- Arrow marker
- Measurement marker
- Callout marker
- Setting background, font size and family to text editor
- Multi-select (shift+click and marquee)
- Deleting markers
- make text not selectable (messes up selections)
- scaling doesn't scale stroke width
3.0.0-alpha.2 - 2024-04-22
- missing exports
- Initial public release.