New: Offer 32bit Windows versions again. In the 32bit version the krpano Tools application is additionally also based on an older NWJS version for better compatibility with older systems.
New: A simple Autotour/Autoplay feature in the vtourskin.xml. Enable it by setting skin_settings.autotour in the tour.xml to true.
New: Javascript-Sync-Example - Synchronize two krpano viewers using the Javascript Interface. Made for very easy usage - just include the sync.xml and done.
New: Support generating Panotour Pro compatible viewer files in the Protect Tool.
New: Support get(var) also inside expressions.
Fix: Calling events.dispatch(...) wasn't working inside layer/hotspot event-calls.
Fix: The Encrypt Tool was not working correctly on xml files that contain xml-comments.
Fix: The Panotour Pro installation detection wasn't working when using a custom 'Documents' folder path on Windows systems.
Fix: The contextmenu item separators with the settings 'both' or 'below' were sometimes shown even when the showif condition of the related item would be false.
New: Support 'padded tiles'. That are tiles at the image-edges that were padded to the full-tilesize. Can be helpful for using tiles from other tile-providers.
Change: Don't send overwriteable ([OW] prefix) log-messages to the browser console (for better performance when doing a lot of logging).
Fix: The sphere-to-cube conversion hangs/freezes on large images.
Fix: Support Samsung devices with varying screen-resolutions in MobileVR/Cardboard mode.
This is done by a new internal database that directly stores the physical screen-sizes.
Additionally there is a new xml-based mobilevr_device_database
(defined in the webvr.xml). That database allows an easy custom adding or editing of devices.
To control which databases should to used be there is a new mobilevr_database_support setting.
Fix: The url placeholders were not working in short-multires-syntax image paths.
Fix: The device.mobile/tablet/desktop settings were wrong in iOS 13 Desktop Mode.
Fix: Mark several CSS properties of the krpano log with 'important' to avoid that they might getting overwritten by global CSS styles.
Fix: There could be a Javascript-crash when calling loadpano() from JS with OPENBLEND blending very early at startup.
Fix: Support multiple ! not operators in expressions (e.g. !!var).
Fix: The sounds kept playing when removing the viewer.
Fix: Custom soundinterface rootpath paths work now also again without the need for a trailing slash '/' character.
Fix: The Encrypt Tool was crashing on xml files that contain the xml-comments end-tag --> without the beginning-tag <!--.
Fix: The hotspot hovering wasn't working in the Edge browser when used on devices with touch-screens.
Fix: The Update Tool didn't add the new license information.
Fix: Avoid a Javascript error when unloading the viewer in the onexitvr event.
Fix: Black screen when changing the video-source of a pano-video from a power-of-two-sized video-resolution to a non-power-of-two-sized video-resolution.
New version number 1.20, no 'pre-release' / 'pr' state anymore.
The previous krpano-license and the krpano-maps-plugin-license were merged into one new single license.
Additionally the new license offers also new features. Upgrading is possible here.
Old licenses still fully work, but only without the new features.
New support for Multi-Resolution spherical and cylindrical panos
(with any field-of-view, 360-around or partial-panos).
Optimized for image-quality and rendering-performance.
Especially very suitable for very large panos (Gigapixel and up) to avoid the need to convert to cube
and for partial-panos.
New support for Depthmaps for
adding 3D-depth to panoramic images.
Allows 3D-stereo-depth without the need for stereo-images, post-perspective changes / 3D-movements,
3D-transitions between panos.
Easy to use tools for creating the depthmaps are also available.
Much improved VR-Support: 6DoF positional-tracking, VR-controllers, improved devices support,
faster Cardboard rendering.
All fully customizable.
Polygonal hotspots rendering via WebGL: stereo and VR-support, faster rendering.
Improved cross-browser / cross-device mouse-wheel and touch-pad support - get the same
zoom-amount and zoom-speed on all systems.
New and slightly updated and restructured web design.
The download packages include now also a full offline documentation.
Only 64-bit versions for Windows by default.
Technically 32-bit versions would be still easily possible,
but normally there should be no need for them anymore.
But if there is a need, then on request it would be still possible to provide 32-bit versions.
On Mac OSX all applications are now also available as 64-bit version.
Change: The mobilescale setting is 1.0 by default now.
Change: The WebGL stencil and
depth settings are enabled by default now.
They are requiered for correct depthmap- and polygonal-hotspot rendering support.
Change: The WebGL antialias setting
is not-set/undefined by default now. In this case the viewer tries to automatically
decides which setting would be the best for the best performance on the current system.
Change: Do the local-file-access tests on the given xml file (instead of on the html file) when there is one.
When there is no xml file set at startup, check inside the viewer the first loaded xml file for local-file-access
problems and report back to the embedding script.
New: Support for multi-resolution spherical and cylindrical pano-images in HTML5 (requires WebGL support from the browser).
New: Dedicated flat-pano support (flat = rectilinear-projection pano-images).
By using the new <flat> image declaration element.
Supports any field-of-view coverage, also larger than 1.0. For single- and multi-resolution.
New: Short-xml-syntax for multi-resolution images (optional, enabled by default):
Just one multires attribute
with all size information instead of several <level> elements.
Additionally also autodetect the image type also for multires panos, no need for
setting the pano-type explicitly anymore.
New: view.ox / oy / oz - a screen-orientated 3D translation offset for the view-point.
New: Polygonal hotspots rendering via WebGL.
Allows stereo- and VR-support.
Allows zorder- or depth-sorting together with image hotspots.
Faster rendering performance.
New hotspot[].subdiv setting
for performance control. Enabled allows distorted viewing projections,
disabled provides faster startup (when using many large polygons).
New: iOS 13 support / Improved iOS support
Support the new iOS 13 desktop-browser-mode, detectable by device.iosdesktop.
Support the new iOS 13 permission-dialog for gyroscope and VR usage.
New: Improved Android Chrome fullscreen mode support
(depending on the actual Chrome version use the one or the other methods to get
a real fullscreen view).
New: Improved cross-browser / cross-device mouse-wheel support - get the same
zoom/scroll-amount and zoom-speed on all systems.
New: Support 2-finger gestures on touchpads (when the browser supports it).
New: Multi-Frame multi-resolution support - use several frames and change the current
frame by the image.frame setting.
Only basic support at the moment, not optimized for preloading.
The tilde-key will be used now as log open/close key (instead of the 'O' key).
New debug/command input field in the log - activate by shift+tilde-key when the
debugmode is enabled and the log is open.
Can be used to show or change variables and to call actions.
New debugjsactions a
and debugjsplugins settings to
allow debugging Javascript actions and plugins in the browser (errors will be not captured by krpano).
New debugkeys setting for enabling/disabling
the debugging-keys that are available when the log is opened.
The trace action support
several tags for output control: [HTML] for output html code,
[OW] for making the current line overwritable by the next trace,
[CLEARLOG] for clearing the log,
[MAXLINES=nn] for setting the maximum lines to keep in the log.
Extendable by adding own Javascript functions to the new
inlinefunctions object.
New: Support Data-Urls everywhere - with plain-text and base64 encoding.
New: Second inbetween Postprocessing shader step - allow postprocessing after the pano-rendering but before hotspot-rendering. E.g. for blurring only the pano in the background, but not the hotspots above.
See krpano.webGL.ppShaderArray2 for more.
New: Several rendering performance improvements.
New: Faster viewer startup, compile the internal WebGL rendering shaders only on first use
and cache already compiled shaders.
New: Improved pano loading state handing - never blend before having a full filled view.
New PRELOAD flag for loadpano/loadscene -
load the full resolution of the next pano before blending to it.
New: Provide an .addevent attribute postfix
and an addevent() function
for adding additional/mulitple events. Can be used in styles to avoid conflicts
when using the same events.
New: Allow touch-position-tracking (mouse.x/y) also for out of area (e.g. parent=STAGE) elements.
New: Support the 'inverted' mouse-wheel scrolling on Mac OSX.
New: Render the demo logo by WebGL now, provides stereo/vr support.
New: Handle WebGL context loses - unload the viewer and show a fatal error message. Can be customized by using the onxmlerror event.
Change: The previously experimental view.tx / ty / tz settings are now fully supported and working everywhere, but their signs and order had changed (to use the same coordinate system everywhere).
Change: Remove the fixed 4096px maximum texture-size limitation for non-desktop devices. Now use the maximum texture-size reported by the browser. Larger single-images are automatically downscaled.
Change: Inside the jsget / jscall() Javascript code provide the full-access 'krpano interface' object instead of the limited 'js interface 'object.
Change: The moretweentypes plugin now integerated in the viewer.
Change: The contextmenu.item[].separator setting is now a string can be also 'below', 'above' or 'both' for better customizing.
Change: Don't set device.safari=true for the iOS Chrome browser, set device.chrome=true instead.
Change: Blacklist the fullscreen-mode support for iOS12+ iPads. In the new iPad fullscreen-mode no swipe-down events are not possible.
Fix: Automatically disable WebGL antialias for Intel GPU when using HiDPI display for better performance.
Fix: Textfields - check the bgborder, bgshadow, txtshadow settings for valid data types.
Fix: hotspot.fillcolor=0, fillalpha=0, borderwidth=0, bordercolor=0, borderalpha=0 were not working as initial values.
Fix: Workaround for a Safari WebGL alpha-blending bug (the webpage background color is visible in alpha-blended elements).
Fix: When calling loadscene(0) the xml.scene variable hasn't been updated.
Fix: Updated touch-support for the latest Chrome, Edge and Firefox browser versions.
Fix: Avoid Firefox warnings when drawing pano wireframes.
Fix: Workaround for the display.autofullscreen fullscreen-exit bug where the browser leaves a black bar at the bottom.
Fix: When the preview-image gets loaded slower than the pano-image itself, it can wrongly overwrite the pano size information and wrongly limit the zoom this way.
Fix: Suppport touch control in Firefox mobile simulator.
Fix: Capture exit fullscreen promise errors.
Fix: Don't capture mousedown events in VR-Cursor control mode.
Fix: Add a workaround for the new iPhone 12.2 landscape-to-portrait rotation bug where the page would be wrongly scrolled after rotation.
Fix: A wrong scope in the onloaded event can happen when doing an updatepos() call in a scoped action.
Fix: Improved unloading - better free all WebGL resources.
Fix: Add several workarounds for Safari WebGL textfields bugs.
Fix: Ensure that the onnewpano event will be before onloadcomplete event.
Fix: area.mode=border wasn't working together with the iOS safe-area mode.
Fix: Ignore the iOS safe-area in makeScreenshot() calls when using a custom size.
Fix: Automatically disable the iOS safe-area support inside iframes.
Fix: Polygonal SVG hotspot were clipped inside the iOS safe-area.
Fix: The textfield autosizing wasn't working in Chrome when the viewer html element was hidden (display=none) or had zero size.
Fix: makeScreenshot() was rendering in the wrong size when using crop.
Fix: The fatalerror message box had the wrong height when using non-default stagescales.
Fix: Remove the low-res framebuffer rendering on low-fps during pano-blending (too much false-positives detections).
Fix: Avoid crashes when changing settings of destroyed textfields.
Fix: Logging - use original/unformated message (with tabs) for the browser-console.
Fix: Resolve get/calc attribtes inside styles / sub-styles after full parsing.
Fix: Remove the fullscreen-blacklisting for the old Android 4.0 browsers (because it wrongly affects the Duck-Duck-Go and many also other Android browsers).
Fix: Wrong onresize events every frame in the Oculus Go browser.
Fix: Check for delayed WebGL drawing-buffer-size changes (a workaround for a Oculus Browser bug).
Fix: Workaround for an iOS bug that causes slowdowns and even browser crashes when using videos and pano-blending.
Fix: Allow overwriting / redefining get: / calc: attributes with normal values again in the xml.
Fix: When using a get(var) in a tween or stoptween the var content was wrongly case-senstive when addressing the tween animation.
Fix: Using a Javascript function as donecall for a tween wasn't working.
Fix: The variable names in the <action> args parameter were not converted to lower-case.
Fix: loadscene/loadpano calls weren't working correctly in non-global scope actions.
Fix: txtsplit with 'null' for not required parameters.
Fix: changeorigin with 'null' as 'edge' parameter.
Fix: Avoid crashes when doing set(get(null), ...).
Fix: Use the mwheel and capturetouch embedding settings also when the external parameter protection is enabled.
New: Use a newer NWJS framework (based on Chrome 65 now). That should fix several system and WebGL compatibility issues.
New: Is now a 64-bit application.
New: Check for the 'app translocation' on Mac and show information about the problem.
Additionally offer a 'FIX INSTALL OSX.command' script (just double-click) for fixing permission problems.
Change: Update tool - add the original file extension to the backup file.
Changes: The filename of the tools on Windows is now just 'krpanotools.exe' instead of 'krpanotools64.exe' and 'krpanotools32.exe'.
So now the same filename is used on all systems.
New: Completely new Cardboard-like mesh-based lens-distortion.
Uses the same lens-distortion parameters as Google Cardboard.
Better compatiblity with several rendering settings.
New: Updated internal Cardboard-device-database.
New: Automatically use higher oversampling settings for the Oculus Go and the Oculus Quest headsets for better image-quality, adjust with the auto_oversampling setting.
New: Support the new iOS 13 permission-dialog.
New: Automatically disable the stereo rendering in portrait mode on mobile devices.
New: Automatically disable the vr-cursor when detecting vr-controllers and having them assigned in the xml.
New: Automatically calculate a fake-pos for the vr-controllers when no positional-tracking is available.
New: Supports the usage inside iframes when the outer page forwards the sensor data.
New: mobilevr_desktop_support setting for optionally enabling gyro VR support also on desktop devices, e.g. for using the gyro of a Laptop.
New: mouse_pointerlock setting for using the mouse for looking horizontally around in VR mode.
New: hlookatoffset setting for a custom offset to the horizontal looking position.
New: headtracking_absolute setting for using an 'absolute' (real-world linked) head tracking when possible.
New: Support oversampling also for mobile-vr (not only WebVR).
New: Automatically add webvr plugin itself as global 'webvr' variable inside krpano.
Change: The isgearvr variable was renamed to isvrbrowser (but isgearvr also still works)
Fix: Don't assume that iOS always provide gyro support (due the iOS 12.2+ changes).
Fix: WebVR API updates.
Fix: Use the ESC key for exiting VR mode also for non-fullscreen fakemode.
Fix: Avoid orientation.lock promise errors.
Fix: Share the Chrome 65 gyro warning with the gyro2.js plugin.
Fix: The pointer-lock support was partially not working correctly.
Fix: Exiting pointer-lock by user (ESC-key) also exits the VR mode.
Fix: Pointer-lock support for touch MS Edge.
Fix: Add a workaround for a Chrome pointerlock-unlock bug - the browser reports a wrong mouse position after unlocking and that can lead to an unintended pano movement.
Remove: Global MobileVR settings storage.
Remove: WebVR APIs 0.6, 0.8, support, support only WebVR API 1.0 and 1.1 now.
New: Load the maps-plugin first after opening the maps. This can speed-up the pano loading
because the map tiles are getting loaded only later when the user opens the map.
Adjustable by the new skin_settings.maps_loadonfirstus setting.
New: skin_settings.followmousecontrol setting to enable a follow-mouse control.
New: Add an UI for the new iPhone landscape-mode fullscreen mode.
New: Show the loading info only when the loading takes longer than 2.0 seconds.
New: The 'button glowing' is now implemented by addevent events,
so that the layer itself can use the normal events.
Change: Use separate keeplookingdirection settings for for gyro and webvr usage.
Fix: The rotation of the little-planet-intro wasn't working.
Fix: The gyro-icon wasn't showing up when the the little-planet-intro was enabled.
Fix: The the show the 'title' in the special WebVR Enter-VR button only when a title is actually defined.
New: WebVR Drone Attack - a shooter game as tech-demo of the new features.
Some examples are automatically using higher-resolution images or videos when running on the krpano server.
The images included in the download package are reduced in size and quality to save space.