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.
2.32.3 - 2024-10-06
- scrollbar is shown in color picker even when all colors fit without scrolling
2.32.2 - 2024-09-21
- deleting current marker while creating a new one results in a faulty state
2.32.1 - 2024-03-04
- marker events not firing on state-restored markers
2.32.0 - 2024-01-24
defaultText
setting for modifying the initial text inTextMarker
based markers
2.31.5 - 2024-01-14
- change how toolbox panel ids are set to enable unique ids when same panel is used multiple times (eg. color picker)
2.31.4 - 2023-12-11
role
,aria-label
,data-action
attributes to all toolbar and toolbox buttons
- color picker panel behavior to scroll when all the colors don't fit
2.31.3 - 2023-11-30
markercreate
event received a next (not yet finished) marker as an argument in thenewFreehandMarkerOnPointerUp=true
scenario for Freehand markers.
2.31.2 - 2023-10-30
- popup moves off-screen after editing text in Safari on iOS
2.31.1 - 2023-09-30
- incorrect positioning when
uiOffsetLeft
wasundefined
statechange
event was sometimes fired on zooming
2.31.0 - 2023-09-16
Settings.uiOffsetLeft
property to manually adjust placement of the UI horizontally.
2.30.1 - 2023-09-05
wrapText
toTextMarkerState
(not used in marker.js but needed for mjs Live).
wrapText
wasn't applied when restoring state.
2.30.0 - 2023-09-04
- text wrapping option in text based markers. Set
settings.wrapText = true
to enable.
- incorrect text positioning in RTL mode
2.29.10 - 2023-09-01
inline
mode image margin logic was applied topopup
mode as well
2.29.9 - 2023-08-22
- null reference exceptions on resizing in some cases
2.29.8 - 2023-08-21
- incorrect placement of markers when used inside a scaled parent element
2.29.7 - 2023-08-16
- in popup mode some property panels would extend beyond the UI boundaries
2.29.6 - 2023-08-01
- missing strokes with Apple Pencil
2.29.5 - 2023-07-24
title
andaria-label
attributes on toolbar buttons
2.29.4 - 2023-06-12
- (third attempt) markers not removed from instance when closing and reopening the same MarkerArea.
2.29.3 - 2023-06-09
- (second attempt as this still wasn't fixed in some instances) markers not removed from instance when closing and reopening the same MarkerArea
2.29.2 - 2023-06-09
- markers not removed from instance when closing and reopening the same MarkerArea
2.29.1 - 2023-04-25
- incorrect arrow head placement on vertical arrows
2.29.0 - 2023-03-06
CaptionFrameMarker
- rectangular frame marker with built-in text caption
2.28.1 - 2022-11-29
- resize observer isn't unobserving editor canvas in popup mode on close.
2.28.0 - 2022-10-24
Settings.uiOffsetTop
property to manually adjust placement of the UI. See reference for the usage scenarios.
- UI placement algorithm adjusted to be more universal.
- UI was placed incorrectly when activating marker.js over a partially off-screen image.
2.27.0 - 2022-09-26
- public getter for
MarkerArea.currentMarker
- undo/redo removes defs from the underlying SVG
2.26.0 - 2022-09-12
isUndoPossible
/isRedoPossible
properties onMarkerArea
- true when operation is possible
2.25.0 - 2022-09-06
- static
Style
to instance level style management viaMarkerArea.styles
. WARNING: DOM-level "hacky" modifications may break.
2.24.0 - 2022-08-22
- switchToSelectMode() is now public enabling switching from code
- exception when switching to select mode with newFreehandMarkerOnPointerUp=true
- calling redo() from code caused corruption of the undo stack in some instances
- UI was incorrectly positioned when target image is inside absolutely positioned target root
- text editor is opening every time CalloutMarker tip was moved
2.23.0 - 2022-08-15
statechange
event. Fired when the state of marker area changes.markerchange
event - fired when marker state changes
markerdelete
andmarkerbeforedelete
events weren't fired on clear all. Nowmarkerdelete
event is fired for each marker andmarkerbeforedelete
is fired once withmarker
set to undefined.
2.22.0 - 2022-07-25
disableRotation
setting to disable the rotation feature on all markers
2.21.6 - 2022-07-18
- text markers were offset incorrectly when windows was resized while creating
2.21.5 - 2022-07-04
- markercreate event was fired too early on text-based markers. This caused unexpected side-effects when creating new markers from code on the event.
2.21.4 - 2022-05-10
- 'markerselect' and 'markerdeselect' events were fired on resize
2.21.3 - 2022-04-26
- undo step isn't registered when creating a marker from code
2.21.2 - 2022-04-21
- "ghost" control box is shown when creating a new marker from code on launch or when resizing while creating
2.21.1 - 2022-04-15
- delete button is not disabled after undo of the last remaining marker
- undo doesn't work after window resize
2.21.0 - 2022-04-07
addDefs()
method for adding "defs" element to the marker SVG element. Useful for using custom fonts and potentially other scenarios. See documentation article on adding custom fonts for an example.
2.20.0 - 2022-02-22
- Settings.freehandPixelRatio to control resolution of the FreehandMarker
- toolbar loses currently selected marker type on resize
2.19.0 - 2022-01-31
MarkerArea.focus()
andblur()
methods andfocus
/blur
events
- global event listeners weren't removed on close
- deleting a marker from keyboard didn't trigger delete events
2.18.0 - 2022-01-13
resultButtonBlockVisible
setting determining if render (ok) and close buttons are visible (defaults to true)
- pasting rich text resulted in inconsistent results (now converts to plain text on paste)
2.17.2 - 2021-12-01
renderState()
resulted in a UI blinking for a split second in some cases
2.17.1 - 2021-11-22
toolboxBackgroundColor
didn't change the toolbox flyout color
2.17.0 - 2021-11-15
- renderState() method to render previously saved state without opening the UI
- createNewMarker can accept string as a marker type
- when new marker is created from code its type isn't reflected in the toolbar
2.16.2 - 2021-10-28
markercreate
event was fired before all related actions were completed
2.16.1 - 2021-10-28
- doc comments and readme sample used the old eventing system.
2.16.0 - 2021-10-27
- new and expanded event system with events for all kinds of MarkerArea and individual marker lifecycle events.
typeName
instance property on markersisSelected
marker property returning true if marker is currently selected
2.15.0 - 2021-10-15
- configurable zIndex for the whole UI
- a way to remove all markers (
clear()
method) and a toolbar button (hidden by default) MarkerArea.addLicenseKey()
proxy instance method for Activator.addKey()
- toolbars were rendered inside the target rectangle when inside
position: relative
parent, even if there was enough space on top
2.14.1 - 2021-10-13
- deprecated CSSStyleSheet
rules
andaddRule()
members replaced with standardcssRules
andinsertRule
2.14.0 - 2021-10-06
- renderTarget property to specify a canvas for rendering the results to (in addition to rendering an image)
- ability to pass non-image target to the constructor (sizes UI according to the target and renders markers only)
- positioning of the logo (left (default) or right) in the free version
2.13.0 - 2021-09-28
- Zoom out button for one-click restoring to 100% zoom (enable via markerArea.uiStyleSettings.zoomOutButtonVisible)
2.12.0 - 2021-09-27
- Zooming feature (enable by setting markerArea.uiStyleSettings.zoomButtonVisible = true)
2.11.2 - 2021-08-26
- CurveMarker wasn't scaled properly when resizing
2.11.1 - 2021-08-09
- clicking on delete button for the second time resulted in exception
- setting properties on some marker types before drawing them caused exceptions
2.11.0 - 2021-08-04
- CurveMarker - quadratic Bézier curve marker support.
2.10.0 - 2021-07-27
- marker notes (UI off by default) - stored in MarkerBase.notes and state
- selected marker is kept selected after the window/target image resize.
2.9.0 - 2021-07-15
- optional
deselectCurrentMarker
parameter togetState()
- when true deselects current marker before getting the state.
setCurrentMarker()
to public so markers can be [de]selected programmatically
- Uncaught TypeError exception when restoring TextMarker in edit state
- color picker wrapping on smaller UI sizes
2.8.4 - 2021-07-05
- couldn't render image when text marker text ended in space (workaround: lines are trimmed before rendering now)
2.8.3 - 2021-07-02
- text is sized incorrectly in Safari
2.8.2 - 2021-06-01
- it's impossible to select text with a mouse in TextMarker
2.8.1 - 2021-05-26
- Freehand markers were added twice in newFreehandMarkerOnPointerUp mode
2.8.0 - 2021-05-26
- support for line width in Freehand marker.
- double-clicking on any toolbar button causes content selection
2.7.1 - 2021-05-20
- not working in the "legacy" Microsoft Edge (compatibility won't be officially maintained going forward).
- added feature check for ResizeObserver as it was causing exceptions on some browsers.
2.7.0 - 2021-05-05
- settings.defaultColorsFollowCurrentColors switch to maintain selected color for new markers.
2.6.2 - 2021-04-29
- keyboard wouldn't show up on Chrome on Android in some instances.
- popup wasn't sized correctly when content was larger than window size.
2.6.1 - 2021-04-13
- exception during undo of text markers
- redo stack was broken when clicking undo on an empty area
2.6.0 - 2021-04-13
- undo/redo functionality (redo button is hidden by default).
2.5.0 - 2021-03-17
- UI-less APIs. Create and delete markers from code, hide toolbar and/or toolbox.
- support for customizing icon color in action buttons (see IStyleSettings.selectButtonColor, deleteButtonColor, okButtonColor, closeButtonColor)
- touch behavior to pass multi-touch events to the browser (this way pinch-zoom of the whole page (and other events) are handled by the browser as expected).
2.4.1 - 2021-03-05
- hitting delete/backspace while editing text deleted text/callout markers
- text markers were not rendered when toolbar was clicked while editing text
2.4.0 - 2021-02-24
newFreehandMarkerOnPointerUp
setting to create a new free-hand marker one every pointer up event.- deleting markers with Delete or Backspace keys on a keyboard.
2.3.3 - 2021-02-10
IPoint
wasn't exported.
- internal refactoring of
RectangularBoxMarkerBase
and its descendants.
2.3.2 - 2021-02-01
- server-side builds failed due to static
Style.styleSheetRoot
defaulting to document.head
2.3.1 - 2021-01-25
Style.styleSheetRoot
property to support Shadow DOM scenarios. Defaults to document.head.
- fix EllipseFrameMarker wasn't exported.
2.3.0 - 2021-01-19
- EllipseFrameMarker - unfilled ellipse.
- renderWidth/Height to set specific rendering dimensions.
- text editing on long-press (TextMarker, CalloutMarker).
- ellipse marker icon to a filled one for consistency.
- font-size setting on parent elements (eg. body) was affecting UI and renders.
- default-size callout marker was created with wrongly positioned tip.
- text wasn't editable on iOS devices (use long-press to edit).
2.2.0 - 2021-01-15
- responsiveness in
popup
mode. Target image is now scaled to fit the whole available space for more convenient editing. popupMargin
setting to control margin between UI and window border in popup mode.canvasBackgroundColor
setting to control editing canvas in popup mode
- z-index in inline mode to a more modest value for easier integration in various layouts
- white toolbar/toolbox corners in inline mode.
- in popup mode when content didn't fit into window toolbars were cut.
- popup sizing issues in Safari.
- when resizing marker area was switched to select mode but toolbar wasn't.
- momentary flicker when rendering with
renderAtNaturalSize
. - free-hand markers weren't rendered in Safari on the first try.
2.1.1 - 2021-01-11
- text editor was placed incorrectly after rotation and movement.
- fix longer single words caused text editor to go outside bounds
2.1.0 - 2021-01-08
- responsiveness while editing the markers and underlying image size changes.
- scaling of markers when opening previously saved markup of differing dimensions.
2.0.0 - 2021-01-05
- promoted RC7 to final 2.0
2.0.0-rc.7 - 2020-12-31
- support for transparent "color" in color picker (context dependent).
- EllipseMarker didn't respect the defaultFillColor setting [potentially breaking].
2.0.0-rc.6 - 2020-12-29
- opening popup editor after inline and vice versa caused styling issues.
- unnecessary rounded corners in popup mode.
2.0.0-rc.5 - 2020-12-22
- doc comments for better intellisense experience and class reference.
- Cover and Highlight markers didn't have typeName set making it impossible to request them by string and resulting in state restoration bug.
2.0.0-rc.4 - 2020-12-19
- changing UI styles affected all future MarkerArea instances.
2.0.0-rc.3 - 2020-12-19
- renderAtNaturalSize, renderImageType, renderImageQuality, renderMarkersOnly to control rendering results.
- trying to close() an already closed marker area caused an exception.
2.0.0-rc.2 - 2020-12-16
- public targetRoot property to set positioning root other than document.body.
- width/height to MarkerAreaState for future compatibility.
2.0.0-rc.1 - 2020-12-15
- Text marker style changes were not reflected while editing text.
- Target image sizing in Safari in some instances.
2.0.0-rc.0 - 2020-12-14
- internal build process issues.
2.0.0-beta.4 - 2020-12-12
- Active toolbar button icon color wasn't set by default.
- Exact fitting number of toolbar buttons still resulted in an overflow toolbar.
- Marker canvas sometimes was created with 0 height making it impossible to place markers.
2.0.0-beta.3 - 2020-12-11
- Custom styling issues
2.0.0-beta.2 - 2020-12-10
- Measurement marker.
- Context-aware cursor styles.
- Add toolbar/toolbox rounded corners.
- Add subtle UI animations.
- Exports for all externally relevant classes, interfaces, and types.
- Updated default colorset.
- Toolbox active button icon style wasn't set in default theme.
- Delete button is now context sensitive (disabled when no marker is selected).
- Rotated and moved rectangle-based marker positions were off on state restore.
- Removed debug messages.
2.0.0-beta.1 - 2020-12-08
- toolbar styling customization classes.
- property to manage available marker types (
availableMarkerTypes
).
- box-sizing of the parent elements was distorting the UI.
- internal fixes.
2.0.0-beta.0 - 2020-12-02
- Line style toolbox (used in frame, line, arrow markers).
- Saving and restoring of state.
- Ellipse marker.
- Overflow toolbar for when marker buttons don't fit in the toolbar.
- Callout tip color wasn't changed together with the background color.
- Freehand marker wasn't "committed" unless explicitly switched to Select tool.
- Internal fixes.
2.0.0-alpha.2 - 2020-11-20
- Added Callout marker.
- Newly created markers default to their internally set sizes on simple click (with no dragging).
- Improved text positioning and sizing in TextMarker.
- Replaced text toolbox buttons with icons.
- Changed toolbox behavior from static to popup
- Initial public release.