Skip to content

Releases: openseadragon/openseadragon

v5.0.0

14 Aug 16:36
Compare
Choose a tag to compare

v4.1.1

01 Apr 17:00
Compare
Choose a tag to compare

This is just a small patch release to fix IIIF issues downstream.

Fixed: Strange behavior if IIIF sizes were not in ascending order (#2416 @lutzhelm)

v4.1.0

25 May 20:57
Compare
Choose a tag to compare
  • NEW BEHAVIOR: When navigatorRotate is false, while the navigator image doesn't rotate, the red outline now does (#2356 @lcl45)
  • The viewer no longer emits canvas-key events for both keydown and keypress events; canvas-key is now just for keydown, and the new canvas-key-press is for keypress (#2270 @hrghauri)
  • You can now specify a priority when calling addHandler, to control when your event handler gets called relative to others (#2273 @Aiosa)
  • Added tileRetryMax and tileRetryDelay options, so the viewer can retry loading failed tiles (#2238 @Ughuuu @paaddyy, #2334 @Ughuuu @Titan21)
  • All of the viewers keyboard handling is now in response to keydown events (it used to be split between keydown and keypress) (#2291 @MohitBansal321)
  • Added canvas-focus and canvas-blur events to Viewer (#2301 @MohitBansal321)
  • You can now more easily add custom buttons to the viewer (#2306 @MohitBansal321)
  • The fitBounds function now takes zoom constraints into account (#2293 @pearcetm)
  • The viewer now has an after-resize event what happens after the viewport bounds have been updated, to complement the resize event which happens before (#2317 @pearcetm)
  • IIIFTileSource now uses resolution level dimensions provided in the info.json "sizes" field for more accurate tile requests (#2337 @ruven)
  • Added setAjaxHeaders method to Viewer and TiledImage (#2346 @uschmidt83)
  • Improved documentation (#2297 @KevinBritten)
  • Fixed: The tile-loaded event's completionCallback could be called more than once in some circumstances (#2282 @Aiosa, @pearcetm)
  • Fixed: Navigator display rectangle was off if the page had box-sizing: border-box (#2276 @ambujsahu81)
  • Fixed: Code that required identifying functions would fail for async functions (#2273 @Aiosa)
  • Fixed: Reference strip click detection was not accurate for long reference strips (#2280 @damonsson)
  • Fixed: Translation problems in some circumstances with cropping polygons enabled (#2316 @pearcetm)
  • Fixed: The navigator area rectangle would grow larger when you zoom in very far (#2318 @donotloveshampo)
  • Fixed: JSON with embedded XML was being incorrectly identified as XML (#2328 @craigberry)
  • Fixed: Touch/pinch rotate was not working properly on some platforms (#2324 @rsimon, @pearcetm)
  • Fixed: Navigator rotation didn't honor immediately parameter (#2333 @robertjcolley)
  • Fixed: The navigator didn't update for its new size in certain circumstances (#2347 @pearcetm)

v4.0.0

16 Dec 22:21
Compare
Choose a tag to compare
  • NEW BEHAVIOR: Setting the viewport rotation now animates by default (pass true for the new immediately parameter to disable) (#2136 @jonasengelmann)
  • NEW BEHAVIOR: The auto resize now takes both width and height into account when scaling the contents proportionally to the viewer (#2256 @pearcetm)
  • DEPRECATION: Don't access the viewport's degrees property directly anymore; instead use setRotation and getRotation (#2136 @jonasengelmann)
  • New gesture: Double-click and drag to zoom (on by default for touch) (#2225 @HamzaTatheer)
  • You can now provide a pivot point when rotating the viewport (#2233 #2253 @pearcetm)
  • Improved the constraints that keep the image in the viewer, specifically when zoomed out a lot (#2160 @joedf, #2246 @pearcetm)
  • You can now provide an element for the navigator (as an alternative to an ID) (#1303 @cameronbaney, #2166 #2175 @joedf)
  • Now supporting IIIF "id" and "identifier" in addition to "@id" (#2173 @ahankinson)
  • We now delegate tile fetching and caching to the TileSource, to allow for custom tile formats (#2148 @Aiosa)
  • Added support for dynamic URLs from tile sources (#2247 @JohnReagan)
  • The viewer now emits before-destroy and destroy events (#2239 @pearcetm)
  • Auto resize detection is now more efficient (#2256 @pearcetm)
  • Improved documentation (#2211 @shyamkumaryadav)
  • Fixed: Cropping tiled images with polygons was broken (#2183 @altert)
  • Fixed: Boundary constraints were wrong when the viewport was rotated (#2249 @pearcetm)
  • Fixed: IIIF tile sizes would be calculated wrong on rare occasions (#2206 @filak)
  • Fixed: Disabling buttons only changed their appearance, but they were still clickable (#2187 @pearcetm)
  • Fixed: ImageTileSource produced an error having to do with getTileHashKey (#2190 @Aiosa)
  • Fixed: On startup you would get an unnecessary "Viewer.buttons is deprecated" warning (#2201 @joedf, #2219 @jssullivan, #2212 @joedf)

v3.1.0

07 Jun 21:03
Compare
Choose a tag to compare
  • Added subPixelRoundingForTransparency Viewer option to address seams that can appear in semi-transparent images (#2075 @TanukiSharp)
  • Added Viewer.isAnimating() (#2075 @TanukiSharp)
  • Added isFullScreen method to Viewer (#2067 @JachiOnuoha)
  • Added option to include POST data when loading files via Ajax (#2072 @Aiosa)
  • Exposed TiledImage's private functions for better maintainability (#2134 @Aiosa)
  • Tile cache keys are now generated by the tile source, so it's easier to override them as needed (#2138 @Aiosa)
  • Pinch to zoom now zooms around the center of the pinch, rather than the center of the viewer (#2158 @cavenel)
  • Added fallback and deprecation warning for Viewer.buttons (which got changed to buttonGroup in 3.0.0) (#2153 @devbyjonah)
  • Fixed an issue where turning off panVertical or panHorizontal would not affect the panning keyboard combos (#2069 @JachiOnuoha)
  • Cleaned up console.logs so that errors and warnings use console.error and console.warn as appropriate (#2073 @Abhishek-90)
  • Improved documentation (#2067 @JachiOnuoha, #2112 @shyamkumaryadav, #2152 @joedf, #2155 @samwilson)
  • Fixed: Setting useCanvas to false would break the viewer (#2116 @rvv-bouvet)
  • Allow silencing multi-image warnings on viewport coordinate conversion functions (#2120 @claycoleman)
  • Fixed: Swiping fast multiple times made contact points in MouseTracker out of sync for touch events (#2121 @ronnymikalsen)
  • Made MouseTracker more robust in certain scenarios (#2134, #2147 @Aiosa)
  • Fixed an issue where full page mode wouldn't grow properly if you resized the window (#2100 @TanukiSharp)
  • Now if you pass an error handler into makeAjaxRequest, it doesn't report errors into the console (#2142 @Aiosa)
  • Fixed error caused by attaching MouseTracker to the page's document element (#2145 @tdiprima)
  • Fixed an issue that would sometimes cause problems with freeing up ImageTileSource memory (#2162 @pearcetm)

v3.0.0

15 Dec 19:37
Compare
Choose a tag to compare
  • BREAKING CHANGE: Dropped support for older browsers (IE < 11) (#1872 #1949 #1951 @msalsbery, #1950 @rmontroy)
  • BREAKING CHANGE: Removed deprecated OpenSeadragon.getEvent function (#1949 @msalsbery)
  • DEPRECATION: MouseTracker exitHandler deprecated for name change to leaveHandler for consistency with DOM event names (#1872 @msalsbery)
  • Now when "simple image" tile sources are removed from the viewer, they free the memory used by the pyramid they create (#1789 @TakumaKira)
  • Improvements to docs (#1814 @kenanchristian, #1872 @msalsbery, #1996 @tdiprima)
  • Better cleanup on destruction, to avoid memory leaks (#1832 @JoFrMueller)
  • Better handle destruction when navigator in custom location (#1884 @woodchuck)
  • Miscellaneous code cleanup (#1840 @msalsbery)
  • You can now specify tileSize for the Zoomify Tile Source (#1868 @abrlam)
  • Better use of IIIF "max" and "full" URL parameters (#1871 @MImranAsghar)
  • You can now specify the file format of the tiles in the Zoomify tile source (#1889 @abrlam)
  • Improved browser sniffing - detect EDGE and CHROMEEDGE browsers (#1872 @msalsbery)
  • Improved DOM event model feature detection (#1872 @msalsbery)
  • Added support for options parameter on addEvent()/removeEvent (to support passive option) (#1872 @msalsbery)
  • Added OpenSeadragon.eventIsCanceled() function for defaultPrevented detection on DOM events (#1872 @msalsbery)
  • MouseTracker: better PointerEvent model detection - removed use of deprecated window.navigator.pointerEnabled (#1872 @msalsbery)
  • MouseTracker: added overHandler/outHandler options for handling corresponding pointerover/pointerout events (#1872 @msalsbery)
  • MouseTracker: changed enterHandler/leaveHandler to use DOM pointerenter/pointerleave events instead of simulating using pointerover/pointerout (#1872 @msalsbery)
  • All internal uses of MouseTracker use pointerenter/pointerleave events instead of pointerover/pointerout events for more consistent pointer tracking (#1872 @msalsbery)
  • Fixed bug in Button class where two MouseTracker event handlers used an invalid "this" causing issues in some browsers (#1872 @msalsbery)
  • Added pointerType property to Viewer container-enter, container-exit, canvas-drag, canvas-drag-end, canvas-pinch events (#1872 @msalsbery)
  • MouseTracker: Fire dragEndHandler event even if release point same as initial contact point (#1872 @msalsbery)
  • MouseTracker: Pointer capture implemented with capture APIs where available. Only fallback to emulated capture on extremely old browsers (#1872 @msalsbery)
  • MouseTracker: Added preProcessEventHandler option to allow MouseTracker instances to control bubbling and default behavior of events on their associated element (#1872 @msalsbery)
  • MouseTracker: Improved handling of canceled events (#1872 @msalsbery)
  • MouseTracker: Improved releasing of tracked pointers on destroy()/stopTracking() (#1872 @msalsbery)
  • Updated Viewer, Button, Drawer, Navigator, ReferenceStrip DOM for proper DOM event handling (#1872 @msalsbery)
  • Added OpenSeadragon.setElementPointerEventsNone() for setting pointer-events:'none' on DOM elements (#1872 @msalsbery)
  • MouseTracker: added contextMenuHandler option for handling contextmenu events (#1872 @msalsbery)
  • Viewer: added a canvas-contextmenu event (#1872 @msalsbery)
  • Fixed simulated drag events in navigator tests (#1949 @msalsbery)
  • Added preventDefault option to MouseTracker.contextMenuHandler and Viewer 'canvas-contextmenu' event args (#1951 @msalsbery)
  • MouseTracker: Added preProcessEventHandler for keydown, keyup, keypress, focus, blur Events (#1951 @msalsbery)
  • Fixed preventDefaultAction functionality in viewer events (#1953 @msalsbery)
  • Added setImageFormatsSupported function (#1954 @pandaxtc)
  • Added dragToPan to the GestureSettings class, implemented in Viewer (#1956 @msalsbery)
  • Added preventDefault option to MouseTracker handlers: scrollHandler, keyDownHandler, keyUpHandler, keyHandler (#1957 @msalsbery)
  • Fixed test "Events: Viewer: preventDefaultAction in dblClickHandler". Fixes #1372 (#1960 @msalsbery)
  • ReferenceStrip: Fixed issue where its element was being removed from its parent element twice on destroy, causing an exception (#1958 @msalsbery)
  • ReferenceStrip: Made its element focusable for keyboard navigation (#1958 @msalsbery)
  • You can now flip individual images (not just the whole viewport) (#1903 @ali1234)
  • Accessibility: we now take the browser's zoom into account when choosing what detail level to draw (#1937 @ronnymikalsen)
  • Fixed a bug causing overlays to disappear in Sequence Mode (#1865 @gunmiosb)
  • Fixed a bug where the ajaxHeaders provided per-image were not being used for image requests (#1968 @maxshuty)
  • MouseTracker: Added workaround for WebKit Pointer Event Implicit Capture Bug (#1972 @msalsbery)
  • Removed test for move-leave (fly-over, no enter event)...not a valid, handleable event state, no longer supported (#1972 @msalsbery)
  • Added OpenSeadragon.setElementPointerEvents() for setting pointer-events to other values besides 'none' on DOM elements (#1972 @msalsbery)
  • Now ensuring the page body is display:block when in fullscreen (#1995 @thewilkybarkid)
  • Added a static method in OpenSeadragon to get an existing viewer (#2000 @HerCerM)
  • Now ensuring that the new item is already in the navigator when the "add-item" event fires (#2005 @RammasEchor)
  • Added keys to change image in sequence mode (j: previous, k: next) (#2007 @RammasEchor)
  • Fixed a bug where the navigator wouldn't pick up opacity/composite changes made while it is loading (#2018 @crydell)
  • Explicitly set passive:false for wheel event handlers to suppress console warnings. Fixes #1669 (#2043 @msalsbery)
  • Viewer's canvas-click events now include an originalTarget property so you can know which element received the click (#2037 @iangilman)
  • Added method for getting the size of an image in window coordinates (#2049 @superbland)
  • Added a setMaxLevel function to TileSource so you can change its maxLevel if needed (#2059, #2066 @kim-sanghoon)

v2.4.2

05 Mar 18:19
Compare
Choose a tag to compare
  • Add support for IIIF Image API 3.0 beta (#1764)
  • You can now crop an image with arbitrary polygons (#1772)
  • Improved support for using the Reference Strip in an OpenSeadragon Viewer inside a Web Component (#1676)
  • Added setWidth and setHeight methods to Navigator (#1686)
  • Improvements to docs (#1696, #1698, #1716, #1719)
  • Now passing Viewer AJAX configs down to ReferenceStrip thumbnails (#1701)
  • The ReferenceStrip now honors the useCanvas option from the Viewer (#1742)
  • Fixed: Navigator was still resizing after you explicitly set its width and height with navigatorWidth and navigatorHeight (#1686)
  • Fixed issues with touches on iOS 13 and iPad (#1754, #1756)
  • No longer throwing an exception on pages that have malformed URL parameters (#1758)
  • Fixed an issue with flipping the viewport on high pixel density screens (#1779)
  • Removed use of deprecated imageSmoothingEnabled prefixes (#1740)

v2.4.1

03 Jul 22:00
Compare
Choose a tag to compare
  • You can now turn off the default canvas image smoothing, if you want sharp pixels when zoomed in past 100% (#1507, #1593, #1595, #1647, #1648)
  • Fixed problem with navigator highlight rectangle when returning from full screen with a custom navigator location (#1515)
  • Added option to set rotation increment for nav buttons and keyboard (#1524)
  • Fixed issue with flipping and opacity with multi-image (#1549)
  • Removed vestigial button group label element that was causing issues for accessibility tools (#1560)
  • Fixed a bug causing Viewer.areControlsEnabled to throw an exception (#1562)
  • Added tileFormat option to IIIFTileSource so you can specify the tile format (#1625)
  • Now using canonical URIs more consistently in IIIF to make caching and processing time easier on the server side (#1625)
  • Added support for IIIF's new preferredFormats property (#1656)

v2.4.0

20 Jul 16:46
Compare
Choose a tag to compare
  • BREAKING CHANGE: Viewer's canvas-double-click event is now fired before it initiates the zoom (#1288)
  • You can now flip the viewport to get a mirror image of the original (#1441)
  • You can now prevent canvas-double-click events from zooming on a per-event basis (#1288)
  • Fixed: Opacity 0 images were causing unnecessary redraws (#1319)
  • The "page" event is now fired after the page index has been updated (#1330)
  • Added option pixelsPerArrowPress that sets the speed of arrow keys (#1364)
  • Improved IIIF options.maxLevel calculation (#1401)
  • Added canvas-key events, along with the ability to cancel key actions (#1414)
  • Added optional zoom in the middle of the image instead of pointer position (#1423)
  • Now supporting square edge tiles that are padded rather than cropped (#1426)
  • Fixed an issue causing the simple image tileSource to sometimes show duplicate copies (#1370)
  • Fixed an issue causing seams to appear in semi-transparent PNG tiled images (#1470)
  • Added visual customization options for the navigator (#1480)
  • You can now prevent canvas-drag events on the navigator (#1484)
  • You can now prevent canvas-click events on the navigator (#1416)
  • The navigator can now be restricted to just horizontal or just vertical panning (#1416)
  • Fixed DziTileSource so it doesn't load levels above maxLevel or below minLevel, if set (#1492)

v2.3.1

19 Sep 16:57
Compare
Choose a tag to compare
  • Debug mode now uses different colors for different tiled images (customizable via debugGridColor) (#1271)
  • Fixed a problem with preventDefaultAction for the canvas-drag event (#1278)
  • Fixed an issue causing double images with certain aspect ratios (#1280)
  • Fixed: placeholderFillStyle had no effect (#1286)
  • Fixed seams that appear in wrap mode on Safari and Firefox (#1305