Products' Changelogs

Coherent GT's Changelog


Version 1.14.5.10 - released 20 September 2017


FeatureAPI Added support for Media Source Extensions (MSE) as an experimental feature. MSE allows you to play high-quality videos from YouTube at the cost of being unable to seek. This feature is currently unstable so it's disabled by default. SetViewInfo::EnableExperimentalMediaSourceAPI to true to enable it.
Fix Fixed compatibility with Windows XP.
Fix Fixed unicode support for strings in complex evaluators in the data-binding system. A 'complex evaluator' is any data-binding expression that's not simply reading from some property e.g. concatenates strings, invokes a function, etc. East Asian and other non-ASCII text will now be evaluated and displayed properly.
Fix ViewListener and ResourceHandler are now compiled with RTTI enabled. This allows clients compiling with RTTI to derive their implementations from them without getting linker errors.
Fix Fixed a crash on view destruction when the ViewRenderer is being destroyed but the main thread is in View::UpdateStylesAndLayout / View::Layout.
Fix Fixed a crash on view recreation caused by attempts to paint an image that was never used.
Fix Fixed a race condition and a crash when using asynchronous mode and TriggerEvent
Fix Fixed a minor memory leak on view destruction when using async mode.
Fix Fixed a crash caused by a web socket disconnecting as a result of handling a message.
FixXB1 Fixed a crash on XboxOne in our networking subsystem caused by an AJAX request attempting to access freed memory in its onError callback.
FixUE4 Fixed a crash during the first attempt to move the mouse over the UI on low-end GPUs.

Version 1.14.5.3 - released 22 August 2017 - see blog post


Feature Added support for bitmap fonts. Usually GT reads the font files itself and then decides whether to rasterize the font glyphs or to use SDFs. This feature allows you to provide GT with bitmap fonts (e.g. textures which already contain the glyphs). This gives you more control over font rendering and to reuse resources if you already use the bitmap fonts for other parts of the engine.
FeatureUE4 Added support for managing data models via Blueprints. See the CreateDataModel / UpdateWholeDataModel / SynchronizeModels method on the UCoherentUIGTBaseComponent class.
FeatureUE4 GT can now run in UE4's loading screen. This allows you to present the player with a far more interesting transition compared to what's available in Slate. This feature is highlighted in our new sample (LoadingScreen_Map) which can be found in the sample game distributed with the plugin.
FeatureUE4 Added memory tracking to for both RAM and VRAM. See the stat CoherentGTCounters console command.
FeatureUE4 Added support for UE4 4.17.
Enhancement Improved the performance of sending data between C++ and JavaScript via calls to engine.trigger / Coherent::UIGT::View::TriggerEvent in asynchronous mode by about 50%.
EnhancementUE4 The automatic binding of UClasses and UStructs no longer requires a specific ordering of include headers. Previously you had to include "CoherentUIGTUTypeBinder.h" before any other GT header.
Fix Text rendering will now properly take into account the font's kerning when rendering the caret and the selection range.
Fix HTML components containing east-asian text will now display properly.
Fix Fixed a series of compile-time warnings that our rendering library Renoir would cause when compiling with Clang due to undefined preprocessor macros.
Fix Fixed a bug, which caused elements to be improperly clipped when a layer's size is not a multiple of 64.
Fix Fixed a regression which caused the CSS outline property to have no effect.
Fix Fixed a bug in video playback which would result in a black screen because the video decoder tried to read leftover data from previous frames.
Fix Fixed a bug which caused our samples to sometimes appear transparent and show the user's desktop behind them.
Fix Using multiple properties of the data model in a data-bind-class-toggle expression no longer results in a crash.
FixUE4 Fixed a bug which broke the Live Reload feature of the plugin (automatically refreshing the game's UI whenever some of its resources changes). The feature still needs to be enabled from the plugin's options.
FixUE4 Binding Blueprint-only UStructs will now properly send their properties' names to JavaScript. Previously the property names of such structs would be unusable in JS, as UE4 generates random suffixes to all of these properties
FixU3D Fixed a crash on exit in async mode.
FixU3D Fixed a crash that would manifest if the user never send data between C++ and JS in async mode.

Version 1.14.0.1 - released 24 July 2017 - see blog post


Feature The data-binding system can now be fed data from JS. Frontend developers can use this feature to mock game data and test the UI without running it in the game. Similarly, they can use JS-specific values. Data models can be created directly from JS and existing C++ data models can be extended further.
Feature Added support for complex script languages, most notably Arabic, to all GT text.
Feature Added a new sample demonstrating how to automate UI testing via Selenium.
Feature Improved overall video playback performance by 40-60% depending on the video quality. Added multithreading support for decoding.
FeatureAPI Rendering commands can now be recorded and saved on disk. This allows us to replay frames without the HTML resources and improve debug times on rendering issues. See Coherent::UIGT::View::CaptureSingleDebugFrame for more info.
FeatureU3D Added support for 64-bit Linux.
APIU3D Added support for Unity2017
APIU3D Dropped support for all versions prior to Unity3D 5.4
Fix Fixed a memory leak caused whenever an array property was exposed through the data-binding system.
Fix Fixed a crash in video playback caused by rapidly seeking forwards.

Version 1.13.0.6 - released 3 July 2017


Fix Fixed a few rendering artefacts introduced in 1.13.0.2.
Fix Fixed a crash caused by the video player incorrectly freeing data that was still used.
FixPS4 DNS resolving on PS4 is now asynchronous. The game will no longer hang if the network connection fell appart while DNS resolving was in progress.

Version 1.13.0.2 - released 23 June 2017 - see blog post


Feature SVG rendering has been completely rewritten. The new tesselator produces much smoother results, especially when the SVG has thin details (e.g. cat’s whiskers). The performance has also been significantly improved. See the blog post for more details.
FeatureAPI Added on-screen performance information that lets you inspect the time GT takes to do most of its work both on the main thread, the rendering thread, and on the GPU.
Feature The GTPlayer can now visualize the aforementioned performance information. See the blog post for more details.
Feature The data-binding system now allows you to bind to the CSS properties class, background-image, and transform. This allows you to synchronize more data between the UI and the game. See the blog post linked above for examples. The relevant data-binding attributes are data-bind-class, data-bind-background-image-url and data-bind-transform2d attributes.
Feature The component system can now automatically register components. Until now, component registration required JavaScript code but with this release component registration is simple as putting your component in an element with the data-bind-template-name.
Feature The component system can now import components from other files. It was previously required to put all of your components in the same file.
Feature Support for PS4 4.5
FeatureUE4 Support for UE4 4.16.
APIUE4 Removed support for all UE4 versions prior to 4.10.
FeatureU3D Support for Unity 5.6.
Enhancement A new inventory sample has arrived in GT native and the UE4 sample game. It demonstrates the usage of components and data-binding through the example of an inventory screen with pagination and sorting.
Enhancement Dirty rectangles (the rectangles which show what parts of the page have been changed) received a visual improvement and will now disappear gradually to better show what has changed.
Enhancement The performance guide has been greatly expanded with useful tips on measuring and maximizing performance.
Fix Fixed a rare crash that would occur when loading image files on a congested network.
Fix Fixed a small memory leak when data-binding arrays caused by improper destruction of some internal JS objects.
Fix Fixed a memory leak when using our localization API via JS (engine.translate / engine.reloadLocalization) caused by improper destruction of some internal JS objects.
Fix Missing resources loaded via coui:// will now properly fail with error 404 instead of remaining pending for an indefinite amount of time.
Fix Fixed a rare crash that would occur when loading large video files.
Fix Fixed a memory leak introduced in GT 1.12.5 when playing video files because of improper destruction of a video decoder.
FixU3D Fixed an issue which caused mouse input to be incorrectly forwarded to views not attached to the main camera.

Version 1.12.5.2 - released 22 May 2017 - see blog post


Feature Reworked the GT Player. When launched it will now offer the following set of tools via a panel at the top of the page: • The ability to quickly inspect paint rectangles and layer borders without attaching the debugger. • A set of browser-like features: going back & forward / reloading / typing the url of a page to be loaded. • Shortcuts to other GT tools - you can now run the debugger, Coherent Editor, and auditor directly from GT Player. • A set of keyboard shortcuts to simplify using the aforementioned. • Gamepad support (Gamepad support has been part of GT since 1.6, but the GTPlayer didn't forward gamepad input to GT) • Drag & drop support for HTML files • A tutorial to guide new users through its capabilities. • The ability to retain the old behaviour by hitting CTRL + SHIFT + F or running with -forfeitui
Feature Reworked the Coherent Launcher - it is now much more easier to start (from a shortcut in the native package) as it no longer needs installation. The Coherent Launcher is a tool that let's you find everything GT-related in a single screen and has been part of GT releases for a while but it is now easier to discover and use.
Feature Reworked the HTML documentation - it now sports a modern look with better UX. The search functionality has been greatly improved and will now search through more places including page contents and API reference instead of only page titles.
FeatureAPI Added the View::ShowLayerBorders method that let's you toggle visualization of composited layer borders from C++ directly. Use this hook to show the layers directly while the game is running so that UI designers can understand what elements have become layers during development without having to use the debugger.
FeatureAPI Added a second optional argument to View::ExecuteScript & View::AuditPerformance specifying in which frame to run. This lets you execute JavaScript / run the auditor in any iframe in the page.
Enhancement The auditor can now run on pages that don't include coherent.js.
Fix Fixed a crash caused by infinite growth of the memory taken by instances of the JS Map class. Removing elements from the Map will now properly reduce memory taken.
Fix The style animation cache optimization (enabled via SystemSettings::FeatureList::UseCSSAnimationStyleCache) will now automatically disable itself on elements whose styles contain inherited properties during parent animation of said properties. In these cases the optimization would break correctness and caused some rendering artefacts. This change make the optimization usable on more pages (resulting in ~10-15% performance gain in frame time).
Fix Fixed a memory leak caused by reloading views using ByRef binding.
Fix Fixed a crash caused by painting to hidden <canvas> elements. Issue was caused by GT not executing rendering commands for hidden canvases which caused commands to accumulate without bound. Rendering commands will now be dropped and a warning issued in the log.
Fix Fixed a crash on destruction of views for which no frame was ever painted caused by attempts to cleanup non-existing rendering resources.
Fix Fixed a rare crash caused by the image decoder incorrectly trying to decode more frames than a given .gif image has.
Fix Fixed a hang in asynchronous mode when two threads make overlapping calls to UISystem::WaitFor. It is now safe to call UISystem::WaitFor from multiple threads at any time. This hang manifested during startup in UE4 where contention between the main thread and the rendering thread deadlocked the engine.
Fix Resizing the view no longer causes video elements to produce black screen when using DX9.
Fix Fixed a memory leak on reloading views when using custom fonts caused by font glyphs being recreated each time.
Fix Fixed a crash in our rendering library caused by a race condition that allowed multiple threads to gain access to memory that should be only accessible to one thread at any given time.
Fix Fixed a deadlock that would occur randomly in the image decoder thread caused by improperly timed mutex lock.
Fix Fixed a bug which caused valid pointers to textures to reach the rendering backend as null pointers when using preloaded images in asynchronous mode.
FixUE4 Fixed a memory leak caused by using the blueprint method CoherentUIGTJSEvent::AddGenericStructArg. Issue was due to incorrectly freeing the memory of FString and other non-trivially destructible members of the USTRUCT argument.

Version 1.12.0.0 - released 04 May 2017

Enhancement The data binding system has been optimized all around. Most notably, updating elements with data-bind-value and data-bind-for has been sped up by 30%.
FeatureAPI GT components can now be instantiated and removed from C++ giving developers the option to spawn them dynamically from code. This has been added for flexibility purposes as all other ways of spawning components required going through either data binding or JS code.
Fix Fixed a memory leak which leaked several KBs which was caused by unfreed static data during view destruction. Memory usage now remains constants no matter how many times the view has been recreated.
Fix Fixed a rare hang during image decoding caused by an infinite loop during decoding because of an improper frame count computation.
Fix Fixed a bug which caused setting the values of style properties to numbers with very small fractional parts to be ignored. Most notably, when attempting to set values close to zero e.g. 1e-10, the setter would fail and instead leave the last known value in use which caused JS animations to fail around 0.
Fix Fixed a crash caused by using a view without a view renderer - allowing views to run without active rendering.
Fix Fixed an issue which caused simultaneously playing 2 or more CSS animations, each containing different easing functions per keyframe (via animation-timing-function), to use the easing function of the first animation for all animations.
Fix Fixed a crash in our video player sample on OS X when running in asynchronous mode caused by attempts to render during shutdown.
Fix Fixed a crash in our multiview sample on DX9 during resize caused by recreation release of rendering resources.
EnhancementUE4 Added a draw call counter to the CoherentGTCounters. You can now use stat CoherentGTCounters to inspect how many draw calls GT does. Previously only the total number of rendering commands was available (rendering commands include any change to the GPU state such as binding textures and shaders.)
EnhancementUE4 The test driver's port can now be set from the plugin settings, the test driver being the subsystem that allows for automated UI testing via selenium. If you are unfamiliar with the test driver, see our native documentation for more details.
FixUE4 Reduced the size of the .zip archive our plugin by no longer packing unnecessary binaries
FixUE4 Disabled the AddPlane menu item while the game is running in the UE4 editor as it shouldn't be used while the game is running.

Version 1.11.2.0 - released 30 March 2017

Enhancement Greatly improved websocket support - moved blocking or expensive operations out of the main thread and increased throughput 16 times.
Enhancement All samples now support command-line arguments akin to the GTPlayer (e.g. -renderer dx11/dx9/opengl to change the renderer, -vsync 0/1 to turn vsync on/off, etc.)
EnhancementUE4 Exposed the SCoherentUIGTWidget::SetReceiveInput / SetReceiveInputWhenTransparent methods
Fix Animation timing functions are now properly used in the rare case when an element has multiple animations attached to it and at least two animations override the animation-timing-function property in their keyframes.
Fix Custom SSL certificates now work correctly on PS4.
Fix Fixed log spamming by the 'Missing surface' error caused by improper management of an internal texture.
Fix Fixed a crash on exit in the sample application on XB1 caused by incorrect OS event processing during shutdown.
FixUE4 Removed several incorrect warnings caused by resource loading issues, especially resources used by the Coherent Editor.
FixUE4 Attempts to preload textures with an unsupported texture format will now result in warnings, not crashes.
FixUE4 Scrolling elements with overflow: hidden; no longer causes other layers to leak as background on top of the scrolled element.
FixUE4 Fixed a crash caused by running the auditor on a HUD view when starting the game in Simulate instead of Play.
FixUE4 Fixed a crash on startup caused by improper usage of rendering queries when the mouse did not start inside the game's window.

Version 1.11.1.2 - released 8 March 2017

Feature The component system now supports re-registration of components. This allows you to change the template of an already registered component. Already instanced components attached to the DOM will be updated with the new structure.
Feature The component system now supports unregistration of components. Already instanced components will be removed from the DOM.
Enhancement The data binding system now supports nested 'for' loops. This allows you to create much more complex templates by binding arrays of arrays (and so on) (e.g. a list of stats for each item in an inventory).
Fix Fixed a bug which caused images shared by multiple views to disappear if one of the views is destroyed while the others are still active.
Fix Fixed a graphics artefact when resizing the page which caused elements to sometimes disappear behind SVG masks when they shouldn't.
Fix Fixed a crash caused by a race condition during loading heavy pages utilizing preloaded images.
FeatureUE4 Support for Unreal Engine 4.15
FixUE4 Running on PS4 with GNM validation enabled no longer cause errors.
FixUE4 Fixed a crash caused by attempts to load preloaded images while UE4 is running garbage collection.

Version 1.11.0.4 - released 07 Feb 2017

Fix Fixed two instances of memory leaks caused by recreating / reloading views.
Fix Fixed a crash caused by the garbage collector running during View::TriggerEvent.
Fix Fixed multiple crashes caused by memory corruption when multithreaded rendering was used and the rendering thread switched too often.
Enhancement The CSS animation cache optimization that was added in 1.11.0.0 is now disabled by default as it currently causes incorrect rendering in some rare cases.

Version 1.11.0.0 - released 27 Jan 2017

Feature Users can now modify all HTTP headers in requests and provide additional data
Feature Improved the Component system to better support nested data-bound elements
Feature Views now support zooming the content in a browser-style standard way. Users can control the zoom levels through a new API.
Enhancement CSS animations are now evaluated ~30% faster. Pages with many animations will see large performance improvements.
Enhancement Added a new API for user control over the allocations of temporary textures
Enhancement Engine (C++) arrays exposed by reference now behave in JavaScript as-if they are standard JavaScript arrays
Enhancement Added PDBPATH to Windows and XboxOne builds to aid user debugging
Enhancement Calls to engine.call callbacks that throw exceptions are now logged to aid debugging
FixUE4 Fixed a rare crash when the Coherent GT Player window is resized
FixUE4 The gamepad state is automatically reset when focus is lost. This aids input management with gamepads

Version 1.10.3.0 - released 13 Dec 2016

Enhancement Removed extra Layout happening from time to time in UISystem::Advance.
This change will trigger changes in the performance profile of the Coherent GT - UISystem::Advance will be faster on average and less spiky, while View::Layout might get a little bit slower on average.
Fix Fixed memory leak when using the data-binding API
Fix Fixed a rare crash on PlayStation 4 when an SSL secure connection is re-established mid-session
Fix Fixed a crash when "backspace" is pushed on a keyboard connected to a PlayStation 4 or Xbox One and input in a GT text field
Fix CSS filters can now be animated with CSS animations to create amazing UI effects

Version 1.10.2.0 - released 30 Nov 2016

Fix Fixed handling text with letter spacing
Enhancement The sample FileDiskCache keeps the running requests open and is significantly faster
Feature UE4 Support for Unreal Engine 4.14
Feature UE4 USTRUCTs can be exposed recursively to and from JavaScript
Enhancement UE4 Added a GPU stat counter, available via stat GPU

Version 1.10.1.1 - released 21 Nov 2016

Fix Fixed hang on quit with HTTP requests containing redirects
FixUE4 Fixed audio in Unreal Engine 4 for PlayStation. Note: the engine has to be patched with the Epic's commit CL 3149552 at the WIP shelved changelist
Enhancement Shipping with Coherent Editor 1.5.3.0

Version 1.10.0.1 - released 01 Nov 2016

Feature Any image can be preloaded using the ResourceResponseUIGT::ReceivePreloadedImage API
Feature Mix-blend mode support
Feature Structural data-binding with data-bind-if/switch/for attributes
Fix Fixed text rendering for fonts with kerning
Fix Fix memory leak when reloading pages (COH-2182)
FeatureUE4 Coherent GT's HUD can now be drawn over letter-boxing
FixUE4 Setting input propagation behaviour will now correctly propagate gamepad and keyboard events
FixUE4 Fixed a driver crash when playing video on Xbox One
APIUE4 Preloaded image API has changed - see the documentation for migrating to the new API.

Version 1.9.6.1 - released 14 Oct 2016

Feature Added an optional file manipulator for font loading
Fix Fixed system hanging in asynchronous mode
Fix Fixed system hanging in image decoding thread
Fix Fixed clang compiler being detected as GCC
Fix Fixed leaking of CSS Length values (COH-2776)
Fix Fixed live views creation race condition
Fix Fixed live views creation race condition in Unity3D
Fix Fixed error msg saying live view protocol not supported
Fix Fixed returning value from C++ method for classes with more than 32 methods
Fix Fixed calling C++ method on the wrong instance when ByRef binding is used
Fix Fixed crash due to JS value corruption after GC run on 32bit Windows (COH-2711)
FeatureUE4 UStruct binding via Blueprints.
FeatureUE4 Added support for Unreal Engine 4.13
Enhancement UE4 The internal memory allocator now uses FMemory instead of GMalloc which enables memory tracking.
FixUE4 Font files are now read from Content/Fonts and dll's on Windows are packaged.
Fix Fixed packaging and launching from the editor for consoles
IssueUE4 Audio playback for PlayStation 4 is disabled, due to limitation of Unreal Engine 4 audio system
IssueUE4 Certain videos can cause a crash on Xbox One

Version 1.9.5.2 - released 31 Aug 2016

Feature Support for transparent videos - using the "alpha_mode" video track property of the WebM container
Feature Support for Universal Windows Platform
Enhancement Support for two-way binding of objects exposed by reference
Fix Fixed crash due to JavaScript value corruption after garbage collector run on 32-bit Windows
Fix Fixed returning value to JavaScript from C++ methods for classes with more than 32 methods
Fix Fixed calling C++ method on wrong instance in certain cases
FixUE4 Internal events will no longer cause errors during immediate view destruction (COH-2600)
FixUE4 Fixed an issue which caused BP binding of UObjects to use UObject instead of the actual object's type.
FixUE4 Focusing GT's slate widget prior to complete view creation no longer causes a crash (COH-2625)
FixUE4 Quickly removing UMG widgets will no longer cause a crash on GC in async mode (COH-2709)
FixUE4 Attempts to set focus on GT components during engine shutdown will no longer cause a crash (COH-2658)
FixUE4 Fixed an issue which caused attempts to fetch mouse queries without issuing them apriori (COH-2701)

Version 1.9.0.8 - released 15 Aug 2016

Feature Mac OS X i386 support
Feature Data-binding syntax to allow for automatic update of the DOM based on values of C++ objects
Feature Coherent GT supports the WebDriver API and can be used with Selenium WebDriver
Enhancement Improved auditor with new warnings, docs and keybindings
Enhancement Improved the performance of methods calculating the composition of layers
Feature Support for adding custom effects - filters
Feature Clients can control the texture composition of layers
Enhancement Introduced "thin" layers (surfaces) that have no backing textures, to reduce the amount of GPU memory used
Enhancement Content rectangle can be specified for preloaded images

Version 1.8.6.2 - released 05 Jul 2016

Feature Support for pre-loading images
Feature Support for pre-loading fonts
Feature Support for custom font directories
Feature Support for annotating GPU texture objects with debug names for easier identification during graphics debugging. Use the SystemSettings::SetRenderingResourcesDebugNames flag to enable the annotations
Enhancement Improved JavaScript property access performance for instance binding by 20%
Enhancement Improved JavaScript method invocation performance for instance binding by 10%
Fix Fixed a crash when playing videos with loops
FeatureUE4 Support for using Unreal Engine 4 textures directly in the UI

Version 1.8.5.2 - released 28 Jun 2016

Feature Coherent GT Debugger works for Xbox One
Feature Coherent GT Debugger works for PlayStation 4
Enhancement Changed ViewInfo::AnimationFrameDefer default value to guarantee smooth animations
API The OpenGL backend now needs two GLuint representing the names of the textures for render target and depth stencil
API Disabled by default the scrollbars from the page styles. To add the scrollbars again, use the ViewInfo::EnableAdditionalDefaultStyles flag.
Having scrollbar styles on all elements can cause performance degradation. Note that pages that used the default scrollbars will not have them now. We recommend to keep the option off on all pages where the user has control of the content and add scrollbars only on the CSS classes of elements that really need them. For more information please refer to the Performance guide.
Fix Fixed a crash when tessellating certain stroke patterns
FeatureUE4 Support for Unreal Engine 4.12

Version 1.8.4.3 - released 06 Jun 2016

Feature Lazy JavaScript binding for arrays exposed by reference
Feature Support for DDS textures in BC1-5 format
Feature Support for PSD and TGA images
Enhancement Enhanced the GT Player to show errors
Enhancement Applied different formula for YUV to RGB conversion which preserves video colors better
API Added Coherent::UIGT::Binder::ReadNull method that allows reading of null types
API Added a new callback in Coherent::UIGT::ViewListener - OnLiveViewActivate. It's fired when the internal components for the live view are activated or deactivated
API Added new method UISystem::HasLastAdvanceCompleted which checks whether calling Advance on an asynchronous UI System would block waiting the previous Advance to complete
API Added new method View::HasLastLayoutCompleted which checks whether calling Layout (or ExecuteJSTimers/UpdateStylesAndLayout/RecordRenderingCommands) on an asynchronous UI System would block waiting the previous Layout operation to complete
Fix Fixed the calculated size of a stoked text
Fix Fixed possible crash on quit when using canvases
Fix Fixed a memory leak caused by unfreed image data
Fix Access to the sync view during async destruction on some methods
FeatureUE4 Automatic exports for USTRUCTs and UCLASSes
FeatureUE4 SVG files are visible in the content browser
FeatureUE4 Added stat commands for GT and helper console commands
Enhancement UE4 The GTPlayer now supports changing the page and reloading after launch
FixUE4 Fixed a major memory leak caused by not destroying the view's texture
FixUE4 Fixed a crash during multiplayer game setup

Version 1.8.0.6 - released 14 April 2016

Feature Coherent GT supports running on Linux
Feature Exposing C++ objects to JavaScript by reference
Feature Exposing methods of C++ objects to JavaScript by reference
Feature Control over the storing location for cookies - API
Feature Control over the for localStorage - API
FeatureUE4 Unreal Engine 4 games with Coherent GT can be built for Linux
EnhancementUE4 Support for Unreal Engine 4.11

Version 1.7.3.3 - released 23 March 2016

FeatureUE4 Live-reload support for Unreal Engine 4
Enhancement UE4 Support for Unreal Engine 4.11
Enhancement Updated OpenSSL to 1.0.2f
Enhancement Automatic detection of resource types for http and https
Enhancement Video player sample
Fix Support for videos with arbitrary frame sizes

Version 1.7.1.4 - released 18 Feb 2016

Feature Implemented rendering based on the Renoir graphics library that improves rendering and command recording performance
Feature Support for BC3 compressed textures (DDS format) on all rendering backends
Enhancement Bundled new Coherent Editor 1.3
Enhancement Significantly reduced memory usage
Enhancement Introduced a new CSS property -coherent-layer-clip-aa: on; that allows control over which elements have anti-aliased clipping
Enhancement Reworked image and texture management
Enhancement Introduced effect caches for cheaper special effects (filters, blurs)
Enhancement Improved image decoding performance and all image decoding happens on a worker thread
API Renoir backends are now available as source code and can be modified by developers
API Removed dependency on libEGL, libGLES2, and DirectX11. New Renoir rendering backends are available for DirectX 9, DirectX 11, OpenGL 3.3+, GNM
API Control over rendering and font caches
Fix Fixed border image repeat mode
Fix Video loop playback
Fix Coherent Editor is now packaged as dmg on Mac OS X
Enhancement Sample application for Microsoft Xbox One
Enhancement Added a new default sample interface that is editable with the Coherent Editor
Documentation Removed all samples that were using the GSAP animation library

Version 1.6.2.3 - released 14 Dec 2015

FeatureUE4 Support for Unreal Engine 4.10.1

Version 1.6.2.1 - released 01 Dec 2015

Enhancement Improved performance of CSS animations
API Added SystemSettings.AnimationFrameDefer to allow controlling the update rate of CSS animations and transitions
API Added a a new field "IsSystemKey" in Coherent::UIGT::KeyEventData
This field denotes whether the event is tagged as a "system key" by the OS and is generally set to true when the Alt key is held down, but not the AltGr key (if present on the current keyboard layout). If you need to keep the previous behavior you can set this field to the same value as KeyEventData::Modifiers::IsAltDown.
FeatureUE4 Coherent GT supports binding Array to JavaScript in Blueprints
EnhancementUE4 Improved Mouse Input integration

Version 1.6.1.6 - released 18 Nov 2015

FeatureUE4 Support for Unreal Engine 4.10

Version 1.6.1.4 - released 12 Nov 2015

Fix Fixed loading of external JavaScript and CSS sources in Coherent Editor

Version 1.6.1.3 - released 11 Nov 2015

Feature Localization API for GT.
Fix The :active pseudo-selector is now activated only on left clicks
Fix Fixed playing video with higher than 480p resolution served by some HTTP servers
Fix Crash when opening vimeo.com
vimeo.com requires h264 or Flash to play videos and is not supported in Coherent GT
EnhancementUE4 Updated the Unreal Engine 4 Localization sample to use the new localization API
FeatureUnity3D Unity3D inspector events for Views and Binding
FeatureUnity3D Gamepad support and sample for Unity3D
FeatureUnity3D Localization API and sample for Unity3D

Version 1.6.0.2 - released 27 Oct 2015

Feature Gamepad API support
Feature Coherent Editor 1.0
Feature Added method on View for changing the Media Type
Feature Coherent Editor for Mac OS X
Feature Support for CSS cursors
Enhancement Cache policies are honored for XHR requests
Enhancement Unity3D Added new Unity3D game sample
Enhancement Unity3D Removed per-frame memory allocations in Unity3D
FixUnity3D Fixed crash on exit in Unity3D
FeatureUE4 Gamepad API support for Unreal Engine 4
FeatureUE4 Mouse Cursor API for Unreal Engine 4
Enhancement UE4 Simplified the Localization Menu HUD
Enhancement UE4 UE4 will no longer import files under editor directories
FixUE4 Pages developed in Coherent Editor will reload on playing
FixUE4 Fixed a crash in Coherent Editor

Version 1.5.1.0 – released 5 Oct 2015

FeatureUE4 Support for Unreal Engine 4.9.2
FeatureUE4 Added a launcher serving as quick access hub for Coherent GT for UE4 plugin
Feature Added the Coherent Editor in the native Coherent GT
Feature Added a launcher serving as quick access hub for Coherent GT

Version 1.5.0.7 - released 30 Sep 2015

FeatureUE4 Support for Unreal Engine 4.9.1
FixUE4 GTMaterial is compatible with Unreal Engine 4.8
FixUE4 Key modifiers are correctly set for mouse events
APIUE4 Removed obsolete assets

Version 1.5.0.0 - released 14 Sep 2015

Feature Coherent GT now allows clients to control the time in the page
API Added Coherent::UIGT::SystemSettings::ControlTime property which is used for enabling Time control
API Added a new UISystemListener class used for UI system-wide notifications and callbacks
Feature Implemented radial gradient effects
Enhancement Added documentation for the C++ HelloGT sample
Fix Fixed crash with when using canvas in asynchronous mode
Fix Fixed crash when using proxy settings
Fix Layer clipping rectangles take scaling into account
Fix Fixed Elements overlay triggering asserts in the Debugger
FeatureUnity3D Mac OS X support in Unity3D
FeatureUnity3D Coherent View works with post effects in Unity3D
FeatureUE4 Support for Unreal Engine 4.9
Enhancement UE4 Coherent Editor can now be launched from the Coherent GT menu

Version 1.4.0.1 - released 19 Aug 2015

Fix The installer asks for existing project folder only when adding Coherent GT to an existing game

Version 1.4.0.0 - released 18 Aug 2015

Feature GPU accelerated canvas element
Enhancement Added the run-time event name in the COHERENTGT_TRIGGER_EVENT_SCOPE macro
Fix The "ended" event for video elements is correctly emitted
Fix Fixed memory allocation related crash
FeatureUE4 Audio playback in UE4
FeatureUE4 Added a complex game menu sample
Enhancement UE4 Added a new setting for Coherent GT that allows specifying a custom coui:// resource root, useful for debugging
FixUE4 The "Coherent GT/Add HUD" menu entry is now available if you add a Blueprint Game Mode override in the world settings as well
FixUE4 SCoherentUIGTInputForward correctly traces mouse movements over 3D meshes with scaling/skewing transforms
Enhancement UE4 GT's installer now better guides at the user during installation as game plugin

Version 1.3.0.1 - released 28 July 2015

FeatureUE4 Added a sample map depicting proper async usage.
Feature SSL connections that have certificate errors now report the error and can be continued or stopped.
Feature Clients can provide their own Certificate Authorities bundle for authenticating SSL connections.
Feature Control over the Garbage Collector
Feature Control over cookies
Enhancement coui protocol can stream video files
Enhancement Removed the samples' dependency on the D3DX library on Windows. The samples now use precompiled shaders for D3D9.
Enhancement Live views are now supported under async mode.
Enhancement Unlimited growing of state and clip stacks of <canvas> are now reported
Fix Fixed rendering artifacts for videos
Fix Fixed potential memory leak and task handling during uninitialization when using async mode.
Fix Fixed a rendering artifact that can occur when resizing a layer
Fix Rare crash on re-initialization UISystem
API Added View::TriggerEvent and Coherent::UIGT::TriggerEvent overloads for up to 8 arguments.
Enhancement Every TriggerEvent call starts with the COHERENTGT_TRIGGER_EVENT_SCOPE macro, which can be defined for custom behavior within the TriggerEvent scope.
Enhancement Recording events is now done C++ which improves profiling JavaScript code
API Added View::IsReadyForBindings method, which is a convenient way of checking whether the coherent.js bindings are ready to use
API Added UISystem::EraseAllCookies method which deletes all cookies
Enhancement UE4 Moved Coherent GT assets to the Engine directory
API Deprecated the Software renderer
APIUE4 Non-RHI rendering is now deprecated
Enhancement UE4 The Unreal Engine 4 installer installs the Coherent GT plugin as a game plugin for binary Unreal Engine 4 engine.

Version 1.2.0.0 - released 01 July 2015

Feature Coherent GT Async support - all the CPU work of the library can be moved to a work thread. For additional details please consult the documentation.
Enhancement Users can add custom events to the Inspector Timeline
Feature Support for Unreal Engine 4.8.1
Due to a bug in the Unreal Engine 4 project generation, CoUIGTTestFPS does not work with installed binary Unreal Engine 4.8. We are working with the Unreal Engine developers on resolving this.
Enhancement TriggerEvents are visible in the Inspector Timeline
Enhancement Greatly expanded the Performance guide
Enhancement Reduced the JavaScript call from native overhead by ~15%
Enhancement Split the new DirectX 11 backend in a delay-loaded library
Enhancement Added a flag to the LoadURL calls that defines if to use the memory cache during load.
API The View::Layout method has been split in 3 methods for easier profiling. The old method is still available for backwards compatibility and internally calls the 3 new ones in row.
FixUE4 Fixed a bug that caused stale resources to be loaded in Views in during development.
Fix Fixed a rendering bug that caused some shadows to be rendered incorrectly.

Version 1.1.0.3 - released 15 June 2015

FeatureUE4 Coherent GT UMG Widget. Coherent GT Views can be embedded in an UMG widget and Coherent GT and UMG work seamlessly together
FeatureUE4 Coherent GT Editor is now in public beta. Coherent GT comes with a powerful integrated UI editor
Feature New DirectX 11 backend. Improves rendering performance by 20-30%. To enable use the CRDT_Dx11New enum value on SystemRenderer initialization. The new backend is still in Beta, there might be some effects missing.
Feature Performance audit. Coherent GT can analyse a View and give suggestions on how to improve performance on it.
Enhancement Reduced JavaScript event call overhead x3 for user defined types. It is now much faster to call JS from C++.
Enhancement Improved layer resizing algorithm, saves unneeded texture re-creations.
Enhancement Improved the coherent.js support when working in-browser.
Enhancement Rewritten the memory management of Coherent GT. Improves performance by 10-15%.
Enhancement Improved the dirty-rect algorithm. GT now does less paints.
Fix Fixed a bug in the image cache that caused images to be decoded again and again.
Fix Fixed a regression that caused coherent.js to throw an exception when running in a browser.
Fix Fixed input handling on elements with perspective 3D transforms.

Version 1.0.1.7 - released 13 May 2015

Feature Live Views (Picture-in-picture). You can have content rendered by the 3D engine directly in the UI.
Feature Perspective CSS3 transforms. Allows adding pseudo-3D elements in the page.
Feature CSS3 Image Filters. Layers can now have post effects applied to them (blurs, shadows, color filters).
Feature Implemented performance warnings. Warnings fire when a certain threshold is reached and warn the allow developers to notice eventual performance regressions much sooner.
Feature Default rendering for most controls.
Feature Texture cache control. Developers now have control over the size of the texture cache and can check how full it is.
Enhancement Added Mac OS X support.
Enhancement Added binding of properties with const reference setters.
Enhancement Reworked JavaScript garbage collection; JS now uses much less memory.
API Added a new parameter to the OnNavigateTo method that tells if the navigation is happening to the main frame.
Fix Fixed in-memory cache - it was never re-enabled after system un-initialization and thus caused textures not to be reused.
Fix Fixed clipping of layers. Some layers were not working correctly as clips of their descendants.
Fix Fixed a bug that caused Canvas contents to be copied in always new fresh textures.
Fix Added layer size clamping.
Fix Fixed a crash in layers due to a missing reference.

Version 0.9.7.1 - released 10 Mar 2015

Fix Fixed layer clipping and re-draw when compositing is enabled.
Fix Fixed a DirectX 11 state caching bug that caused too many blend states to be created.

Version 0.9.7.0 - released 06 Mar 2015

Feature Accelerated compositing - allows for very fast updates of layers and reduces painting.
Feature CSS3 Transforms allow to have 3D elements in your UI
Feature CSS3 Animations allow to animate the UI with declarative CSS syntax
FeatureUE4 Support for Unreal Engine 4.7.2
Enhancement Asynchronous click-though for DirectX 9
Fix Fixed crash when binding large structures to JavaScript
Fix Fixed crash when using the JavaScript bindings before they are initialized
Fix Renamed the Coherent::MemoryManagement namespace to Coherent::MemoryManagementGT

Version 0.9.6.2 - released 02 Mar 2015

FeatureUE4 Added a custom blueprint node that allows triggering JavaScript events only within that node.
FeatureUE4 Support for Unreal Engine 4.7

Version 0.9.6.0 - released 18 Feb 2015

FeatureUE4 New RHI renderer! The new renderer increases performance by 25-40% and is fully integrated in the UE4 pipeline.
FeatureUE4 HTML assets are now imported into UE4's content browser. All UI resources are visible in the UE4 Content Browser window.
FeatureUE4 New UE4 Editor menu allows easy setup of Coherent GT HUDs and in-world UIs. You can now add a GT HUD or in-world interface with just one click.
Enhancement UE4 Decreased the overhead of calls from UE4 to JavaScript 4-5x. Remember to update your coherent.js file with the new one to take advantage of the speed-up.
Enhancement UE4 Click-through implementation now never causes GPU-CPU stalls.
Enhancement UE4 Updated and greatly expanded the documentation. Added Workflow and Performance guides.
Enhancement UE4 The GT installer now bundles ready-made Blueprints and objects for easier integration in projects.
Enhancement UE4 Coherent GT for Unreal now supports Shader Model 4-capable video cards.
APIUE4 Added support for click-through control through Blueprints.
FixUE4 Fixed a crash with the RHI renderer when the mouse is on the right or bottom edge of the screen.
FixUE4 Fixed a bug in the RHI renderer that caused rare artifacts due to wrong start index.

Version 0.9.5.2 - released 27 Jan 2015

Feature Input method editor (IME) support for East Asian languages. Coherent UI GT now supports all aspects of editing and displaying languages like Chinese, Japanese, Korean.
Feature External memory management support. Users can now specify routines for memory allocation and deallocation and strictly control the memory usage of Coherent GT.
Enhancement Removed some third-party dependencies. The overall size of the SDK is reduced as well as the libraries count.
Enhancement Reduced memory footprint.
Enhancement Improved overall performance by removing some unnecessary software layer re-sizes.
Enhancement On Windows True-Type font collections are loaded along with standalone fonts.
FeatureUE4 Fully functional RHI-based renderer. The new renderer greatly improves Draw thread performance. The RHI renderer is still disabled by default. Please consult the documentation on how to enable it.
Enhancement UE4 Numerous fixes and improvements in the RHI renderer across all platforms.
FixUE4 Fixed a rare crash on system destruction.

Version 0.9.4.0 - released 08 Jan 2015

Feature Memory Management API
Feature Disk Cache API
Feature WebSocket support

Version 0.9.3.0 - released 20 Dec 2014

API Added new API method OnTextInputTypeChanged for easier IME integration
API Renamed InitializeUISystem to InitializeUIGTSystem so that it doesn't clash with Coherent UI 1.x
API Removed all wchar_t* types from the public API. All methods now work consistently with UTF8 strings. Affected methods: OnFinishLoad, OnFailLoad, OnStartLoading, OnNavigateTo
API Renamed the Logging namespace to LoggingGT for easier side-by-side work with Coherent UI 1.x/2.x
API Renamed ResourceRequestBase and ResourceResponse to ResourceRequestUIGT and ResourceResponseUIGT
Enhancement Unified all font rendering across supported platforms
Enhancement Better texture caching. Less texture memory will be used.
Enhancement Added workflow documentation guide, located in the "Documentation" folder of the SDK.
Enhancement Added a performance testing client in the Coherent GT SDK, located in the "GTPlayer" folder
Enhancement Added a chapter for best practices in the documentation
Fix Removed a possible debug-break in all builds related to the SSL number generator
FeatureUE4 Support for Unreal Engine 4.6.1
FeatureUE4 Coherent GT plugin is an engine plugin
Enhancement UE4 Unified all font rendering across supported platforms
Enhancement UE4 Better texture caching. Less texture memory will be used.
Enhancement UE4 Added workflow documentation guide, located in the "Documentation" folder of the SDK.
Enhancement UE4 Added a chapter for best practices in the documentation
APIUE4 Added new API method OnTextInputTypeChanged for easier IME integration
FixUE4 Removed a possible debug-break in all builds related to the SSL number generator

Version 0.9.2.0 - released 03 Dec 2014

Feature Video support through WebM and VP8/VP9
Feature Audio support through Vorbis
Feature Resource request headers are now accessible from the Resource Handler
Enhancement Substantially improved the scaling performance during animations
FeatureUE4 Support for Unreal Engine 4.6
Enhancement UE4 Simplified input handling
APIUE4 Added SCoherentUIGTInputForward::SetPropagateKeyboardEvents, which allows controlling whether keyboard events are consumed or propagated to other widgets when the input forwarder has keyboard focus.
APIUE4 Changed ACoherentUIGTInputActor::AllowJoystickInputWhileUIIsFocused to ACoherentUIGTInputActor::SetInputPropagationBehaviour. ACoherentUIGTInputActor::AllowJoystickInputWhileUIIsFocused is now deprecated. The new method allows specifying not only joystick events propagation, but keyboard ones as well.
APIUE4 Changed ACoherentUIGTInputActor::IsJoystickInputWhileUIIsFocusedAllowed to ACoherentUIGTInputActor::GetInputPropagationBehaviour. ACoherentUIGTInputActor::IsJoystickInputWhileUIIsFocusedAllowed is now deprecated.
Enhancement UE4 Removed code from sample for deprecated input component binder. Only the input forwarding widget (SCoherentUIGTInputForward) and its wrapper (ACoherentUIGTInputActor) are used for input now.

Version 0.9.1.0 - released 22 Nov 2014

Fix Fixed crash when exporting empty arrays and maps to JavaScript
Feature Added Binder::PeekValueType to allow more dynamic binding
Enhancement Moved initial script execution after engine has been initialized
Feature Expose API for setting proxy settings
FeatureUE4 Evaluation version of Coherent GT
Enhancement UE4 Improved performance when using scaling
FixUE4 Name clashes between Coherent UI and Coherent GT plugins
Enhancement UE4 coui:// handler supports URLs with query and fragments
Enhancement UE4 Improved installer
FixUE4 Crash when running multiple clients in a single process
FeatureUE4 Added support for Unreal Engine 4.5.0
FeatureUE4 Moved UIResources folder to CoUITestFPS/Contents so UI resources can be automatically packaged.

Hummingbird's Changelog


Version 1.5 - released 22 August 2017 - see blog post


Feature Added live view support. Live views allow you to show 3D scenes in the UI (picture-in-picture) e.g. show a player’s 3D avatar or an item in the UI.
Feature Added CSS filter support. CSS filters allow you to apply postprocessing effects on any element in the page e.g. blur or grayscale.
Feature Added a new, nonstandard, display mode for layout - display: simple which greatly simplifies the layout algorithm used by Hummingbird and results in much faster frame time. See the docs for more details.
FeatureUE4 Introduced a plugin for UE4 closely resembiling the GT plugin. It features:
  • Creating UI for HUDs and for in-world surfaces via AHUD / actor components
  • Slate and UMG support
  • Full keyboard, mouse and gamepad support
  • Localization support
  • Blueprint support for all of the above
  • Performance metrics via stat Hummingbird / stat HummingbirdMemory
  • Console commands (e.g. hb.reload to reload all Hummingbird views)
  • In-editor menu for setting up common system properties
  • Supports Windows, PS4 and XboxOne
  • Comes in a separate installer (or .zip archive if you’d rather)
  • Separate docs
  • A sample game for versions UE4.16+.

Version 1.3.0.0 - released 26 June 2017


Feature Significantly improved the CSS layout algorithm. Added support for percent (%) values on positions and sizes.
Feature Significant improvements in the SVG renderer. SVGs now look better, take less memory and are rendered more efficiently.
Feature Added support for declarative data-binding. Developers can bind values in the HTML to their data-model in C++.
Feature Added gamepad support and API for using gamepads directly in Hummingbird.
Feature Implemented the innerHTML JavaScript property on DOM nodes.
Enhancement Improved the performance of Hummingbird during style changes.

Version 1.1.1.0 - released 20 Feb 2017

Fixed Crash on closing Unity game on MAC
Fixed Animations look choppy on Motorola G (3rd gen) with OpenGL ES 3
Fixed Toggling the display property from block to none breaks the layout
FixedUnity Strategy game (cards game) sample - cards pop-up descriptions do not occur on tocuh event
Fixed Fix nodes position when an node is changed from hidden to visible
Fixed JS GetClassNames return name with trailing ws

Version 1.1.0.7 - released 11 Jan 2017

FeatureNative Added JS debugger for Android and Windows
FeatureUnityNative Added support for compressed image formats on mobile - ASTC, ETC1, ETC2
FeatureNative Added support for pre-loaded images
FeatureNative Added support for fallback image formats - in development users can use PNG but in shipping the library automatically loads ETC/DDS etc.
FeatureNative Added support for a "onload" event and resource load tracking
EnhancementNativeUnity Coherent Editor 1.5.3.4
EnhancementUnityNative Added back and forth buttons to the samples
EnhancementUnity Added support for Unity 5.5
Fixed SVG Opacity does not work as expected
Fixed Bug in the MOBA sample - the potions randomly disappear
FixedUnity On low end devices the input events do not work
Known Issues The resourses in Mad Rabbits Sample and Moba Main Menu Sample load slowly
Known Issues On Motorola G (3rd gen) with OpenGL ES 3, the animations look choppy
Known Issues Problem with animations when fired with onload event
Known Issues Crash on attaching the debugger to a page flooding with console.log()
Known Issues In particular cases, the keyboard input could cause a crash

Version 1.02 - released 16 Nov 2016

FeatureNative Added debugger shared object to the Android apk
FeatureUnityNative The global context logic removed from JSC
Fixed Error in the backend when running Multiple views on gles2
Fixed SVG polygon renderer on iOS
Fixed MOBA sample - bug with the On/OFF music button
Fixed MOBA sample - MainMenu fixed
FixedUnity Unity documentation indexes
FixedUnity Mad Rabbits sample - crash on exit on iOS
FixedNative Menu sample - js error on toggling menu
Fixed Unity Logging in Unity does not work

Version 1.0 - released 08 Nov 2016

FeatureUnityNative Support for OpenGL ES 2 & OpenGL ES 3 on Android and iOS
FeatureUnityNative Support for input related tags
FeatureUnityNative Support for @font-face rule
FeatureUnityNative Support for keyframe animations
FeatureUnityNative Support for text shadow and box shadow
FeatureUnityNative Support for masks
FeatureUnityNative Support for 9-slice and rounded borders
FeatureUnityNative Support for text input and touch events
FeatureUnityNative Support for multiple views
FeatureUnityNative Support for SVG images (Tiny specification)
FeatureUnityNative Support for reloading pages in the UI
FeatureUnityNative Devtools integration in development, console log printing working on Android and Windows

Coherent Editor's Changelog


Version 1.7.4.0 - released 9 October 2017

Enhancement Enhancement: Improved drag and drop operations(drag to create, move or resize elements) in the editor by 150%
Fix Fix: Holding the SHIFT key while resizing adds equal amount of pixels to width and height
Fix Fix: Editor is stuck at opening if widget file is not found
Fix Fix: Transform origin visual guide disappears on rotate
Fix Fix: Published file contains transforms-metadata

Version 1.7.3.0 - released 18 September 2017

Feature Feature: Search filters to the Assets library's search
Enhancement Enhancement: Infinite option to the animation's iterations
Fix Fix: Published file should reference the work file by name only
Fix Fix: Published file don not reference the work file by name
Fix Fix: Text alignment/case/decoration and box shadow modes not working
Fix Fix: Adding keyframes to shared animation doesn't update all the elements' animations
Fix Fix: Proper size of mask selection and guides when zooming out
Fix Fix: Mask position in not correct when we using snap tool
Fix Fix: Undo component creation from/with a font deletes the component and element together
Fix Fix: Delayed Filter animation not showing up correctly

Version 1.7.2.0 - released 28 August 2017

Feature Feature: Search bar to the assets library
Feature Feature: Animated only elements filter to the timeline that when enabled shows only the animated elements
Feature Feature: Visual guide for transform origin
Enhancement Enhancement: Element's name is now editable in the animation panel
Enhancement Enhancement: Improved multi-selection speed by 50%
Enhancement Enhancement: Additional data-binding properties that are now available in the data-binding panel - data-bind-class, data-bind-background-image-url and data-bind-transform2d
Fix Fix: Unable to remove mask from element - button is inactive
Fix Fix: More than one class hides the widget animation class from timeline
Fix Fix: Incorrect position of selection mask when transform origin properties are used
Fix Fix: Prevent elements from nesting into components
Fix Fix: Editing the Class field doesn't output the class after saving
Fix Fix: Adding border to an element shifts the position of the origin point

Version 1.7.1.0 - released 19 July 2017

Enhancement Enhancement: Elements with skew styles are now animatable
Fix Fix: Drop shadow filter not saved to file
Fix Fix: Cannot copy or paste from input fields (Properties panel)
Fix Fix: Custom metadata for filters still present in published files

Version 1.7.0.0 - released 30 June 2017

Enhancement Enhancement: Improved performance of the the Assets library up 15x when a large number (more than 1000) of files are present
Enhancement Enhancement: Improved the initial starting time of the Editor by 4x
Fix Fix: Elements do not get selected when drag-and-dropped from the Assets library

Version 1.6.8.0 - released 16 June 2017

Enhancement Enhancement: Improved Transformations - scale options can now be previewed directly in the viewport
Fix Fix: Incorrect mask position transform when "%" units are used
Fix Fix: Flexbox child primitives have incorrect selection mask
Fix Fix: Output code in attribute data-*eventlistener for paths gets changed
Fix Fix: Running sample in "wrong" environment can still be saved
Fix Fix: Element position not reset after clearing transformations

Version 1.6.7.0 - released 19 May 2017

Fix Fix: Multiple undos in a component/widget throw an error
Fix Fix: Content before "Coherent Editor Start" comment gets deleted after saving
Fix Fix: Numpad '.' is disabled for input fields
Fix Fix: Creating two widgets would hide animation divider indicator

Version 1.6.6.0 - released 28 April 2017

Feature Feature: Auto clean up unnecessary meta-data in published HTML
Enhancement Enhancement: UX - no visible clue if the user sets an ID already used at the scene
Fix Fix: Widgets no longer can be animated
Fix Fix: Nested elements appear on top of each other on creation
Fix Fix: Selecting a css file from the asset library scrolls the pane to the top
Fix Fix: Toggling between absolute and relative position requires a second click
Fix Fix: Toggling between absolute and relative position requires a second click
Fix Fix: No elements displayed in asset manager after scrolling down to the bottom
Fix Fix: html file can be opened multiple times if it's placed in a folder under uiresources

Version 1.6.5.0 - released 14 April 2017

Fix Fix: Unable to create a widget from element with blend mode
Fix Fix: Creation of elements order
Fix Fix: Component's element still present in mappedWidgets after undo
Fix Fix: type error when starting the Coherent Editor
Fix Fix: Insert element to the bottom of the hierarchy when nesting

Version 1.6.4.0 - released 26 March 2017

Feature Feature: Convert option for existing widgets to GT components
Fix Fix: Undo/Redo of widget creation would go through no element step
Fix Fix: display inherit save - import doesn't work properly
Fix Fix: Seperated mask-size properties do not work in Hummingbird configuration
Fix Fix: Insert element to the bottom of the hierarchy when nesting

Version 1.6.1.0 - released 15 Feb 2017

Feature Feature: Widgets saved as GT Components
Enhancement Enhancement: Add box-shadow styles in HB configuration
Fix Fix: Animations are not working for element which name is only numbers
Fix Fix: Disable nesting of image within another image
Fix Fix: Input field - cannot change placeholder
Fix Fix: Incorrect output when setting custom MaskSize
Fix Fix: style.backgroundImage url code changes on added Event on element
Fix Fix: Closing tabs order is incorrect
Fix Fix: Error when opening scenes with same name from different folders
Fix Fix: Comments visible in widget preview panel

Version 1.6.0.0 - released 31 January 2017

Feature Tools: Searchable fonts selection list in Properties panel that provides a stylized preview of imported fonts
Feature Assets: Fonts files (.TTF, .OTF) are included in Assets library
Enhancement UX: Loader screen is displayed when opening files with information about the selected file
Fix Fix: Animation keyframe values for "fontSize : auto" get set to "0auto"
Fix Fix: Setting "Mask-size" property to "inherit" causes invalid output code
Fix Fix: Undo on delete in animations library is not always executed
Fix Fix: Setting width/height to auto - resets to 0 after reopening file
Fix Fix: Background color is being applied twice in Preview mode
Fix Fix: If two scenes have elements with the same ID, they get renamed
Fix Fix: UnityGT - New file default folder is not 'uiresources'
Fix Fix: Range input - min/max/value/step cannot be changed in the Properties panel
Fix Fix: Cannot input negative values inside Geometry Top/Left input fields
Fix Fix: Geometry propeties are not always updated on Animation scrub

Version 1.5.3.4 - released 21 December 2016

Feature Tools: Blend modes: normal, multiply, screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity are now available in GT configuration
Enhancement Publishing: Data about the Editor version and target configuration is now saved in the authored files. When openning files in a different configuration then the current one the Editor offers an option to switch itself to the needed configuration
Fix Fix: The bottom part of the Properties Panel is inaccessible when multiple windows are expanded
Fix Fix: Keyframe icons are not fully rendered when scrolling the timeline
Fix Fix: Animation options tooltip is recreated every click
Fix Fix: Wrong visualisation order of items inside flexbox elements
Fix Fix: Executing Undo/Redo commands on widget creation adds duplicated elements in the animation library

Version 1.5.3.3 - released 5 December 2016

Enhancement Shortcut for removing the currently set mask of an image element
Fix Fix: Changing the scene aspect ratio doesn't trigger a file change
Fix Fix: Overflow 'unset' value is not being applied to an element
Fix Fix: Error displayed in debugger when saving scene on close
Fix Fix: Duplicating single quotes in JavaScript events
Fix Fix: Default background- properties' values intial initinal are unsupported

Version 1.5.3.2 - released 21 November 2016

Fix Fix: Text properties font size needs double click to become editable
Fix Fix: Creating a widget from animated elements moves its position
Fix Fix: Enabling/disabling Style/Script assets doesn't trigger a file change
Fix Fix: Element's width and height can be set to negative values
Fix Fix: Copied elements are no longer offset from their source element
Fix Fix: Widget turns visible when display is set to none
Fix Fix: The editor stops responsing when adding text to a responsive image which is a child of a flexbox
Fix Fix: Transform keyframes are not properly saved when publishing
Fix Fix: Assets library disappears when including external CSS files
Fix Fix: Canceling Mask image or Image Url (Browse) deletes the element
Fix Fix: Keyframes create/delete/undo operations break on closed lower panel
Fix Fix: Including more than one CSS file creates additional link tags

Version 1.5.3.1 - released 4 November 2016

Feature Tools: Publish mode that allows a final page to be exported for production. The exported page has no inline styles and uses classes instead for ids which results in a cleaner code and faster performance
Feature Tools: New tools available in Hummingbid configuration - mask, background postion and svg images
Fix Fix: Adding images to the scene creates elements without source
Fix Fix: Using images from folders nestes several levels deep have incorrect path

Version 1.5.2.1 - released 1 November 2016


Fix Fix: Double clicking HTML documents in the UE4 content browser opens them automatically in the Coherent Editor
Fix Fix: The rotation mode inside of the viewport of the Editor cannot be activated in UE4

Version 1.5.2 - released 11 October 2016

Feature Tools: Transform properties scale, translation, skew and rotation per axis are now avaible in the properties panel
Feature Backend: The Editor can work with multi-level folder structure
Enhancement Performance: Improved timeline scrubbing performance by 60%
Enhancement Workspace: Enhanced Assets library scroll behavior
Enhancement Workspace: Preserve the positioning of nested elements
Enhancement Workspace: Titles loading screen of the Editor with version information
Fix Fix: Input values remain unconverted when switched to pt
Fix Fix: Code editing save shortcut not working
Fix Fix: Element values saved according to timeline marker position
Fix Fix: Element IDs "lost" after reopening file
Fix Fix: Manual move/resize of element sets too precise values
Fix Fix: Scenes are duplicated on creation
Fix Fix: CSS styles from external styles.css interfere with Editor styles
Fix Fix: Widget mask and position are wrong when created from nested elements
Fix Fix: Pasted widgets are added to the animation of the main composition
Fix Fix: Included css files are not checked in the assets library
Fix Fix: Not updating HTML Hierarchy structure when element is moved
Fix Fix: Adding or changing element Events doesn't trigger a file change
Fix Fix: Flickering when clicking inside Event's Code field
Fix Fix: Creating a widget sets its geometry properties too precisely
Fix Fix: Adding a widget to the scene sets its top and left properties in px units
Fix Fix: It's possible to paste a widget in another widget
Fix Fix: Creating a widget from animated elements moves its position
Fix Fix: Adding an animated widget to the scene disregards the position where it's dropped
Fix Fix: Widget background color cannot be set
Fix Fix:Flexbox positioning of child elements not working properly

Version 1.5.1 - released 25 August 2016

Feature Animations: Numeric input field for the current position of the pinhead of the timeline
Feature Animations: Auto keyframe generation - keyframes are generated automatically when moving an UI element in the Editor's viewport
Feature Data binding - data binding ids for the next generation of Coherent GT Binding
Enhancement Platforms: Improved Hummingbird backend. Input UI primitives in Hummingbird configuration.
Fix Fix: Scrub not working for animated webkit-masks
Fix Fix:Property input fields not working properly in Standalone version

Version 1.5.0 - released 12 August 2016

Feature Animations: Full timeline scrubbing. Elements' states between keyframes are visible when moving the pinhead
Feature Tools: Image masks can be applied to UI elements, resized and animated
Enhancement Animations: Improved Animations library with search and delete tools
Enhancement Workspace: Improved properties panel which keeps its state when selecting different elements
Fix Fix: Backward compatibility with in UE4 enivorment not working for keyframes of nested elements
Fix Fix: Widget's animation preview not working in some cases
Fix Fix: New file preview animation not working in some cases
Fix Fix: Incorrect animation class added to new elements when reopeing the file
Fix Fix: Improper scene save operation when running in Hummingbird mode

Version 1.4.3 - released 14 July 2016

Feature Workspace: Snap to guides - guides that UI elements automatically snap to when moved in close proximity
Feature Animations: Animations library - animations can be saved as a CSS class and re-used for different UI elements
Enhancement Enhancement: RGB and hex values can be pasted in the color picker panel
Fix Fix: Collapsing the animations panel no longer hides expand arrows
Fix Fix: Pan tool mouse pointer no longer changes when hovering on UI elements
Fix Fix: Undo operation of change widget id works properly now

Version 1.4.2 - released 29 Jun 2016

Feature Workspace: Pan tool. A tool which allows you to pan the viewport of the Editor
Feature Animations: Timeline keyframe navigation. You can navigate to the next/previous/last/first keyframes on the timeline
Enhancement Workspace: Improved zoom options of the viewport of the Editor
Enhancement Workspace: Copy and paste - UI elements can be copied and pasted in the scene
Fix Fix: Elements are no longer reselected when moving out of the viewport over the Hierarchy panel
Fix Fix: Photoshop sliced HTML pages can be properly imported when running the Editor in Hummingbird configuration

Version 1.4.1 - released 9 Jun 2016


Feature Assets: Assets library - a library that provides easy access to all the imported assets in the scene - video, image, widgets, scripts, css, etc.
Feature Assets: PSD and TGA images files can be imported
Enhancement Tools: Enhanced filters panel - box shadow filter and numeric input is available for filters
Fix Fix: * selectors in external CSS files can no longer affect the interface of the Editor

Version 1.4.0 - released 19 May 2016

Feature Animations: New endless animation preview mode of the timeline that allows animation to be played indefinitely
Feature Platforms: The Coherent Editor can now run in Hummingbird configuration
Enhancement Workspace: Scene properties panel - all scene properties are now accessible in a dedicated panel
Enhancement UX - Positioning keyboard shortcuts. UI elements can be moved via keyboard arrow keys
Enhancement Widgets: Improved widget creation. Widgets can be created from a single UI Element
Enhancement UX: Preferences menu. Editor preferences such as target configuration and assets import can now be set via a dedicated menu
Enhancement UX: Undo/redo keyboard shorcuts
Enhancement UX: Proportional scaling keyboard shortcuts
Fix Fix: Box shadow colour is no longer set to black on reset
Fix Fix: Font style and weight are no longer reset to inherit on reopening the HTML
Fix Fix: Geometry fields no longer turn to auto after the first play of the animation

Version 1.3.5 - released 7 April 2016

Feature Responsive images: Images that resize automatically on any screen resolution
Feature Live views: Stream the feed from a camera in your game directly in the UI
Feature Animations: Animation transitions - different transition timing options can now be selected (linear, ease, ease-in, ease-out, ease-in-out)
Feature Data localization ids: Localizations ids for UI elements can be set directly in the Editor
Feature Image spritesheets: image atlases can now be used directly in Editor
Feature Animations: Animation repeat option - specifies how many times a specific animation should play
Enhancement Platforms: Improved Editor integration in Unity 3D - the Coherent Editor can be started directly from the Unity 3D Editor and UI scenes can be saved and edited in the Unity project
Enhancement UX: Improved usability of widgets, elements selection, properties and animation panel
Fix Fix: Crash when a great number of different widgets are added

Version 1.3.0 - released 20 March 2016

Feature Live views: Stream the feed from a camera in your game directly in the UI
Feature Animations: Visual timeline panel that allows you to add animations and edit their keyframes visually
Feature Assets: Direct import from Photoshop sliced HTML pages
Feature Workspace: The Editor can now work in Preview mode that shows external CSS styles and animations
Enhancement Widgets: Reusable UI prefabs can now be created
Fix Fix: Pressing enter key in the events input fields no longer reloads the properties panel

Version 1.2.0 - released 19 November 2015

Feature Tools: Multi-element select in the Editor's viewport
Fix Fix: Borders no longer move the elements downwards and to the right
Fix Fix: In some cases closing a file tab in the editor may lead to 'blank' editor

Version 1.1.0 - released 5 November 2015

Feature Assets: The UI scenes cane be saved as a standard HTML document and previewed in a browser
Feature Assets: Video elements can now be imported and added to the scene
Enhancement Tools: Improved properties panel -"z-index" and "overflow" properties are now available