This is a major release with a number of breaking changes and deprecations (see below) and a major feature, true multi-image support:
http://openseadragon.github.io/examples/multi-image/
Please pay special attention to the breaking changes below if you had previously used the multi-image or multi-layer features of the previous versions of OpenSeadragon.
We've also added improved info on coordinate systems (even more important now with multi-image):
http://openseadragon.github.io/examples/viewport-coordinates/
...and published an SVG overlay plugin:
https://github.com/openseadragon/svg-overlay
Changelog:
- True multi-image mode (#450)
- BREAKING CHANGE: Passing an array for the tileSources option is no longer enough to trigger sequence mode; you have to set the sequenceMode option to true as well
- BREAKING CHANGE: Navigator no longer sends an open event when its viewer opens
- BREAKING CHANGE: Viewer.drawers and Viewer.drawersContainer no longer exist
- BREAKING CHANGE: A Viewer's Drawer and Viewport are now made once per Viewer and reused for every image that Viewer opens (rather than being recreated for every open); this means if you change Viewer options between opens, the behavior is different now.
- DEPRECATION: use Viewer.addTiledImage instead of Viewer.addLayer
- addTiledImage supports positioning config properties
- DEPRECATION: use World.getItemAt instead of Viewer.getLayerAtLevel
- DEPRECATION: use World.getIndexOfItem instead of Viewer.getLevelOfLayer
- DEPRECATION: use World.getItemCount instead of Viewer.getLayersCount
- DEPRECATION: use World.setItemIndex instead of Viewer.setLayerLevel
- DEPRECATION: use World.removeItem instead of Viewer.removeLayer
- DEPRECATION: use World.needsDraw instead of Drawer.needsUpdate
- DEPRECATION: use TileCache.numTilesLoaded instead of Drawer.numTilesLoaded
- DEPRECATION: use World.resetItems instead of Drawer.reset
- DEPRECATION: use Drawer.clear and World.draw instead of Drawer.update
- DEPRECATION: the layersAspectRatioEpsilon option is no longer necessary
- DEPRECATION: Viewer's add-layer event is now World's add-item event
- DEPRECATION: Viewer's layer-level-changed event is now World's item-index-change event
- DEPRECATION: Viewer's remove-layer event is now World's remove-item event
- DEPRECATION: Viewer's add-layer-failed event is now add-item-failed
- DEPRECATION: TileSourceCollection has been retired in favor of World
- DEPRECATION: collectionMode no longer draws outlines or reflections for items
- Drawer has been split into three classes:
- TiledImage, tile management and positioning for a single tiled image
- TileCache, tile caching for all images
- Drawer, tile drawing for all images
- New class: World, keeps track of multiple images in the scene
- Viewer now has world and tileCache properties
- Rect and Point now have clone functions
- New Viewport method for managing homeBounds as well as constraints: setHomeBounds
- Viewport.open supports positioning config properties
- For multi-image open, drawing isn't started until all tileSources have been opened
- You can specify a clip area for each image (only works on browsers that support the HTML5 canvas) (#594)
- Added placeholderFillStyle so image rectangles can be drawn even before their tiles load (#635)
- Ability to set opacity on individual TiledImages (#644)
- Margins option to push the home region in from the edges of the Viewer (#505)
- Rect and Point toString() functions are now consistent: rounding values to nearest hundredth
- Overlays appear in the DOM immediately on open or addOverlay (#507)
- imageLoaderLimit now works (#544)
- Turning off scrollToZoom in gestureSettings now allows scroll events to propagate
- You can now set a minZoomLevel that's greater than the home zoom level
- Added union() to OpenSeadragon.Rect
- Fixed an error in fitBounds if the new and old bounds were extremely close in size
- Added ajaxWithCredentials option (#543)
- Added viewport-change event for after the viewport changes but before it's drawn
- A spring's current value is now updated immediately on reset (#524)
- Fixed an error in fitBounds that occurred sometimes with immediately = true
- Added support for HDPI (retina) displays (#583)
- Corrected IIIF tile source to use canonical syntax (#586)
- Fixed x/y typo that caused horizontal reference strip to be rendered only relative to height (#595)
- Fixed Firefox 35 not able to open local files (#588)
- Fixed an issue with zero size viewers in IE8 (#609)
- Fixed: Cross Origin policy not working (#613)
- Optimized tile loading by clearing the queue on a re-draw when imageLoaderLimit is set (#616)
- Now animating zoom spring exponentially (#631)
- Added http://editorconfig.org/ config file (#637)
- Keyboard pan speed is now the same regardless of zoom level (#645)