Changelog ========= Changes in Pannellum 2.5.6 (2019-11-26) --------------------------------------- Security fixes: - Extended partial fix in v2.5.5 for XSS vulnerability that allowed script execution when hot spots were clicked (CVE-2019-16763) Changes in Pannellum 2.5.5 (2019-11-21) --------------------------------------- Bugfixes: - Fixed device orientation permission request such that it works with iOS 13 - Extend yaw bounds range to allow restricted range that crosses +/-180 deg Security fixes: - Fixed XSS vulnerability that allowed script execution when hot spots were clicked (CVE-2019-16763) Changes in Pannellum 2.5.4 (2019-09-10) --------------------------------------- Bugfixes: - Fixed issue with loading large equirectangular panoramas on iOS - Fixed issue with touch-based scrolling with `draggable` set to `false` Improvements: - Started requesting device orientation permission (untested) Changes in Pannellum 2.5.3 (2019-08-21) --------------------------------------- Bugfixes: - Fixed loading scenes after previous load failure - Fixed regression that caused auto-rotation to stop after one revolution - Fixed behavior of `multiResMinHfov` to match documentation; default multi-resolution `minHfov` behavior now matches pre-v2.5 Improvements: - Added optional `scale` parameter to scale hot spots while zooming - Improved recovery from failed scene loading API improvements: - Added optional pitch argument to `startAutoRotate` Other: - Added Journal of Open Source Software (JOSS) manuscript - Numerous documentation improvements per JOSS review (thanks @vsoch and @Fil) - Improved continuous integration and automated testing support - Clarified `generate.py` error messages - Added Dockerfile for `generate.py` Changes in Pannellum 2.5.2 (2019-07-13) --------------------------------------- Bugfixes: - Fixed regression in Video.js plugin Changes in Pannellum 2.5.1 (2019-07-13) --------------------------------------- Other: - Fixed issue with tagging 2.5.0 release Changes in Pannellum 2.5.0 (2019-07-13) --------------------------------------- New Features: - The background color can be set for partial panoramas (`backgroundColor` parameter) - Partial panoramas are now supported for the multiresolution format - An author URL can now be added (`authorURL` parameter) New API functions: - Added `fullscreenchange`, `zoomchange`, and `animatefinished` events - Added `stopMovement` function for stopping all viewer movement Improvements: - Equirectangular images are now automatically split into two separate textures if they're too big (images up to 8192px wide should now be widely supported) - Improved render quality for equirectangular images on mobile (using `highp` for fragment shader) - Keyboard events for keys not used by the viewer are no longer captured, and the list of captured keys is configurable (`capturedKeyNumbers` parameter) - Multiresolution tiles can now be generated from cylindrical panoramas - Hot spots can now be removed from scenes that aren't currently loaded - Hot spot cursor is now set via CSS class (so it can be overridden) - Hot spot link attributes can now be set (`attributes` parameter) - The "friction" that slows down the viewer motion can now be configured (`friction` parameter) - Dynamic scenes are now properly supported for tours Bugfixes: - Fixed regression in fallback renderer - Fixed bug with URL encoding - Fixed regression in Video.js plugin - Fixed auto-rotate bug that was manifested when using API to set view - Fixed full screen bug in Chrome - Fixed bug with removing event listeners - Fixed issue with mouse dragging causing jump around yaw limits - Fixed bug with deleting hot spots - Fixed bug with fading between scenes Other: - Added limited test suite / continuous integration - Removed `requestAnimationFrame` shim, dropping support for some older browsers Changes in Pannellum 2.4.1 (2018-03-03) --------------------------------------- Bugfixes: - Fix touch input issue in Chrome - The API's `loadScene` method now works when no scenes have been loaded yet Changes in Pannellum 2.4.0 (2018-01-30) --------------------------------------- New Features: - Translation support - Event for when scene change fade completes (`scenechangefadedone`) - Events for touch starts and ends (`touchstart` and `touchend`) - Added ability to set custom animation timing function (`animationTimingFunction` parameter) - Added option for only enable mouse wheel zoom while in fullscreen (`mouseZoom` parameter) - Added option to set title and author displayed while the load button is displayed (`previewTitle` and `previewAuthor` parameters) - Mouse and touch dragging can now be disabled (`draggable` parameter) - Added option to disable keyboard controls (`disableKeyboardCtrl` parameter) - CORS setting can now be configured New API functions: - Check if image is loaded (`isLoaded`) - Method to update viewer after it is resized (`resize`) - Set horizon pitch and roll (`setPose`) - Turn device orientation control on and off, check if it is supported, and check if it is activated (`startOrientation`, `stopOrientation`, `isOrientationSupported`, and `isOrientationActive`) - Method to retrieve viewer's container element (`getContainer`) Improvements: - Double-clicking now causes the viewer to zoom in (and back out when double-clicking while zoomed in) - New lines are now allowed in hot spot text - Support for HTML in configuration strings can be enabled when using the API (`escapeHTML` parameter) - Fallback cursor is provided for browsers that don't support SVG data URIs - Image type configuration parameter is now validated - Optional callbacks added to `lookAt`, `setPitch`, `setYaw`, and `setHfov` API functions - Scroll events are now only captured when they're being used - Viewer object is now assigned to a variable in the standalone viewer - Hot spots can now be added with API before panorama is loaded - Viewer UI is now created in a container element Bugfixes: - Fixed race condition when scene change hot spot is double-clicked - Fixed bug with preview image absolute URLs - Removed redundant constraints on yaw in API - Tabbing now works, and only events for keys that are used are captured - Fixed bug in HTML escaping - Fixed bug that sometimes occurred when `orientationOnByDefault` was `true` - Yaw no longer changes when device orientation mode is activated - Fixed iOS 10 canvas size too big issue - Fixed iOS 10 NPOT cube map issue - Hot spots added via API are now permanent between scene changes - Fixed multiple bugs with removing event listeners - Fixed bug with multiresolution tile loading - Fixed `sameAzimuth` target yaw not working when `northOffset` wasn't set - Fixed bug yaw out of bounds in `mouseEventToCoords` - Fixed bug with `animateMove` function - Fixed bug with scene change fade - Yaw animation is now always in the shortest direction - Fixed bug related to removing hot spots Changes in Pannellum 2.3.2 (2016-11-20) --------------------------------------- Bugfixes: - Fix Chrome fullscreen regression introduced in 2.3.1 Changes in Pannellum 2.3.1 (2016-11-19) --------------------------------------- Bugfixes: - Removed use of poorly supported ES6 `Math.sign` function - Fixed fullscreen bug in Internet Explorer - Fixed framerate issue with device orientation control enabled Improvements: - Better handling of view limits when both limits are in view Changes in Pannellum 2.3.0 (2016-10-30) --------------------------------------- New Features: - Device orientation support for mobile devices - Event framework for API - Partial panorama background color can now be set using `backgroundColor` parameter - Custom hot spots are now supported as are hot spot click handlers - Hot spots can now specify target HFOV (`targetHfov` parameter) - Parameter to hide all controls (`showControls`) - Parameter to disable mouse zooming (`mouseZoom`) New API functions: - Destructor (`destroy`) - Look at position (`lookAt`) - Get current scene ID (`getScene`) - Load scene (`loadScene`) - Add and remove scenes (`addScene` and `removeScene`) - Add and remove hot spots (`addHotSpot` and `removeHotSpot`) - Auto rotate start / stop (`startAutoRotate` and `stopAutoRotate`) - Retrieve current configuration (`getConfig`) - Toggle fullscreen (`toggleFullscreen`) - Get and set north offset (`getNorthOffset` and `setNorthOffset`) Improvements: - Pitch and yaw limits are now applied to edge of viewer instead of center - Panorama extents can now be set using URL parameters - Individual XMP metadata parameters can now be overridden - Horizon pitch and roll can now be manually set (was previously only supported via XMP metadata) - When auto rotate restarts, the pitch and HFOV now return to their original values - API movements can now be animated - Standalone viewer is more mobile friendly - Improved touch panning interaction - Fragments identifiers can now be used for standalone viewer configuration - Blob URLs are now supported - Added hot spot debug indicator - Video.js plugin now accepts a Pannellum configuration Bugfixes: - Fixed numerous auto rotate bugs - Auto rotate speed is now actually in degrees per second - Long error URLs are now properly wrapped - Fixed mobile device orientation change bug - Fixed Safari fullscreen bug - Fullscreen now works in IE - Fixed Chrome bug where hot spots appeared above controls - Scene fades with multires now work properly - Hot spot target pointing now works when set to zero - Hot spots without text are now properly handled - Fixed memory leaks - Fixed multires tile loading error - Fixed a few URL handling bugs - Fixed multires zoom jumping when viewer was resized - Title and author are now reset when changing scenes - Mouse handlers now work with Hi-DPI displays - Minimum and maximum HFOV can now both be set to the same value Backwards-Incompatible Configuration Parameter Changes: - The deprecated `tour` parameter was removed; tour JSON configuration files can be used with the `config` parameter Changes in Pannellum 2.2.1 (2016-03-11) --------------------------------------- New Features: - NPM support Improvements: - Set `Accept` header to request images - Ensure `hfov` is a number - Better restriction on yaw range Changes in Pannellum 2.2.0 (2016-01-27) --------------------------------------- New Features: - An API has been added instead of just a standalone viewer; the API should be considered experimental at this point and may be subject to change - The `PosePitchDegrees` and `PoseRollDegrees` XMP tags are now supported (used by the Ricoh Theta S) - Optional fade animation for transitioning between scenes using the `sceneFadeDuration` parameter - New `autoRotateStopDelay` parameter that allows the panorama to be rotate for a specific period of time before stopping - Hot spot debug parameter to assist with positioning hot spots (`hotSpotDebug`) - Parameter to disable keyboard zooming (`keyboardZoom`) Improvements: - Much better equirectangular video support using Video.js - High-DPI support - Unified configuration files; tour configuration files can now be used directly with the `config` parameter - Page title is now set to the panorama title in the standalone viewer - Aspect ratio of preview image is now maintained - Fullscreen button is now only shown if fullscreen is allowed - Pointer Events are now supported for touch controls in IE / Edge - Performance improvements - CSS 3D renderer now works with cubemaps - CSS 3D renderer now works in IE 10/11 - Configuration files are now loaded asynchronously (synchronous request are deprecated by most browsers) - Improved keyboard zooming speed - Added checks to avoid browser NPOT cubemap bugs - Better path handling - Informative error is shown when Pannellum is opend from local filesystem instead of a web server Bugfixes: - Fixed zoom out jerkiness in Chrome - Fixed inertia-related jumping - Fixed CSS 3D renderer edge flickering issue - Fixed CSS 3D renderer hot spot display bug - Fixed a number of Safari-related bugs - Fixed bug with autoloaded tours - Fixed bug where hot spot tooltips were sometimes obscured - Fixed CSS 3D renderer fullscreen bug - Fixed `vOffset` bug - Fixed image hot spots bug - Fixed zoom bug related to small multires panoramas Backwards-Incompatible Configuration Parameter Changes: - The sign of hot spot yaw positions has been flipped to match the rest of Pannellum's yaw values - The `tour` parameter is deprecated and will be removed in the next major release; tour JSON configuration files can be used with the `config` parameter - Undocumented URL configuration parameters can no longer be used - The `header` parameter can no longer be used; use the API instead Other: - Extra row of pixels no longer needed in multires fallback images - Added JSDoc documentation Changes in Pannellum 2.1.1 (2015-01-19) --------------------------------------- Bugfixes: - Force subpixel rendering for hot spots Changes in Pannellum 2.1.0 (2015-01-14) --------------------------------------- New Features: - Ability to limit pitch, yaw, and hfov extents - Can set starting pitch and yaw in scene linked to by hotspot - Pinch to zoom - Zoom and fullscreen controls can be hidden - "Inertia" - Option to begin auto rotating after a period of user inactivity - Use Photo Sphere XMP metadata for configuration - Preliminary equirectangular video support (no controls) Improvements: - Loading progress bar is displayed for equirectangular panoramas - Error message for image being to large for a device is now much more descriptive - Zoom level choosing for multiresolution panoramas is improved - Documentation of configuration parameters was added - Python 2.7 support for multiresolution tile generator script Bugfixes: - Fix bug where preview images wasn't always loaded for cubic panoramas - Hot spots are now displayed behind controls - Fix bug with multiresolution panoramas when `basePath` isn't defined - Error message displayed for IE 9 Backwards-Incompatible Configuration Parameter Changes: - `voffset` changed to `vOffset` - `autorotate` changed to `autoRotate` - `autoload` changed to `autoLoad` - `autoLoad` value changed from `'yes'` to `true` Other: - Popout mode, for browsers that do not support the fullscreen API, has been removed Changes in Pannellum 2.0.1 (2014-08-24) --------------------------------------- Bugfixes: - Fix keyboard controls in Safari Changes in Pannellum 2.0 (2014-08-22) ------------------------------------- New Features: - New rendering backend - Multiresolution panoramas - Partial panoramas - Cubic panoramas - CSS 3D fallback renderer for multiresolution panoramas - JSON configuration files - Hot spots and tours - Compass headings Improvements: - More configuration options - New theme - Performance improvements - CORS support Bugfixes: - Numerous Changes in Pannellum 1.2 (2012-08-28) ------------------------------------- New Features: - Added keyboard panning controls - Added support for a fallback URL if WebGL is not supported Improvements: - Clarified load button text - Switched from raster to vector icons Bugfixes: - Added workaround for WebKit fullscreen regression