{"id":14210,"date":"2018-01-15T14:03:01","date_gmt":"2018-01-15T14:03:01","guid":{"rendered":"https:\/\/coherent-labs.com\/?page_id=14210"},"modified":"2024-01-17T08:08:23","modified_gmt":"2024-01-17T08:08:23","slug":"changelog-coherent-gt","status":"publish","type":"page","link":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/","title":{"rendered":"Changelog: Coherent GT"},"content":{"rendered":"<section  class=\"section stretch_row_content fullwidth\"><div class=\"row\"><div class=\"wpb_column col-md-12 have-padding\"><div class=\"text-block \" ><div class=\"simple-text \">\n<div class=\"top-header\">\n<div class=\"logo-header\"><img class=\"alignnone\" src=\"http:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/05\/logo_GT_04d3766f739b854421b6042683bc5e2a.png\" alt=\"Coherent GT\" width=\"527\" height=\"170\"><\/div>\n<div class=\"line\"><\/div>\n<h1>Changelog for  <span class=\"h-orange\">Coherent GT<\/span><\/h1>\n<\/div>\n\n<\/div><\/div><\/div><\/div><\/section><div  class=\"empty-space  marg-lg-b60 marg-sm-b50\"><\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\"><br \/>\nVersion 2.9.23.0 &#8211; released 06 Jun 2023<br \/>\n<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                    Fixed crash when element is hovered in the inspector<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\"><br \/>\nVersion 2.9.22.0 &#8211; released 21 Oct 2022<br \/>\n<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                    Fixed DST date calculations on Microsoft platforms<\/td>\n<\/tr>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                    Fixed issue with generating NaN values when using the &#8211;allowSDFonGPU developer option<\/td>\n<\/tr>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                    Fixed crash when element is hovered in the inspector<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\"><br \/>\nVersion 2.9.20.0 <span>&#8211; released 16 Sep 2022<\/span><br \/>\n<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                    Fixed hang when the last stroke dash segment has length 0<\/td>\n<\/tr>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                    Fixed potential out of memory condition when trying to render a stroke-dasharray which has a zero-length element<\/td>\n<\/tr>\n<tr>\n<td>\n                    <span class=\"label label-danger\">Fix<\/span><\/td>\n<td>\n                   Fixed a multiple texture recreation bug when nested clipping was observed<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.18.0<\/a><span> &#8211; released 23 Dec 2021<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash with CachedImageClients<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.17.0<\/a><span> &#8211; released 05 Nov 2021<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated to Sony Playstation 4 SDK 8.500<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated to Sony Playstation 5 SDK 3.000<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed loading of dynamic libraries on Mac OS X with Unreal Engine<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed connections to certain WebSocket endpoints for Xbox One Series X and Xbox One X with GDK<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><\/td>\n<td>Binaries for Mac OS X use `rpath` instead of `loader_path` for loading dependencies<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.16.0<\/a><span> &#8211; released 14 Sep 2021<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for Unreal Engine 4.27<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.15.0<\/a><span> &#8211; released 11 Aug 2021<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Using xCurl for HTTP and HTTPS requiests for GDK platforms<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Using libHTTPClient for WebSocket connections for GDK platforms<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed disappearing images in certain conditions<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.9.0<\/a><span> &#8211; released 16 Feb 2021<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for Unreal Engine 4.26<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for using live-views as <code>background-image<\/code> for HTML elements<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when using async and registering models outside of `ReadyForBindings`<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when changing an image `src` attribute in certain conditions<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.8.1<\/a><span> &#8211; released 17 Dec 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for PlayStation 4 SDK 8.0<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for PlayStation 5 SDK 2.0<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash related to loading images<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed cached images using already deleted clients<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.7.0<\/a><span> &#8211; released 13 Nov 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash while establishing WebSocket connection making HTTPS request in the same time<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.6.2<\/a><span> &#8211; released 28 Sep 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed possible leak of SVG tessellated data<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.6.1<\/a><span> &#8211; released 25 Sep 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for making specific views invisible to the Debugger<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added debug symbols to PlayStation 4 binaries<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added debug symbols to PlayStation 5 binaries<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash related to using <code>SVG<\/code> images and <code>iframes<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.5.0<\/a><span> &#8211; released 12 Aug 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for Game Development Kit 2020.06 with Visual Studio 2017<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for PlayStation 5 SDK 1.0<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for PlayStation 4 SDK 7.5<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed memory leak when re-creating the <code>UISystem<\/code> multiple times<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash related to accessing deleted <code>CachedImageClient<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.4.2<\/a><span> &#8211; released 9 Jul 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed growing memory usage when recreating the <code>UISystem<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.4.0<\/a><span> &#8211; released 2 Jul 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for Unreal Engine 4.25<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Module for Spectre and Meltdown mitigation<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for connecting the Coherent UI GT Debugger to Coherent GT running on Linux<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for connecting the Coherent UI GT Debugger to Coherent GT running on Stadia<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when doing HTTPS requests and changing pages on Xbox One.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><\/td>\n<td>Coherent GT for Linux links with `libc++` instead of `libstdc++`<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.9.0.0<\/a><span> &#8211; released 14 April 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed font kerning with <code>-coherent-font-sdf: off<\/code><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed support for text with unicode symbols from the supplementary planes<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed handling network disconnections with WebSockets for PlayStation 4<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when removing an element while it is being rendered<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed leak when using <code>BM_Scoped<\/code> in asynchronous mode<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed not invoking certian C++ callbacks in asynchronous mode<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Moved the Stadia platform to use <code>libc++<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.8.8.1<\/a><span> &#8211; released 07 Feb 2020<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for Unreal Engine 4.24<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for PlayStation 4 SDK 7.0<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Handling of emoji and other Unicode symbols<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash debugging Blueprints in Unreal Engine 4 in async mode<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when triggering events and changing the page in async mode<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.8.6.1<\/a><span> &#8211; released 20 Nov 2019<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Support for Stadia platform<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved WebSocket error and disconnection handling<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed computing table cells width when table width is specifed<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash during layout related to reusing images betweens views<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when creating lots of views in asynchronous mode<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"https:\/\/coherent-labs.com\/get-in-touch\">Version 2.8.4.0<\/a><span> &#8211; released 25 Jul 2019<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated Renoir backend to be compatible with Coherent Gameface and Coherent Prsym 1.3.1.1<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed starting animations that are initially defined with <code>animation-state: paused<\/code><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><\/td>\n<td>Changed font metrics computation to be like in Chromium based browsers. to get the old behavior use the <a href=\"\/Documentation\/cpp-gt\/dc\/dc0\/struct_coherent_1_1_u_i_g_t_1_1_system_settings_with_external_rendering_library.html#aa01c2afb7cf492e3793ae4c9b65f3824\"><code>UseLegacyFontMetrics<\/code> system option<br \/>\n<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"https:\/\/coherent-labs.com\/get-in-touch\">Version 2.8.3.1<\/a><span> &#8211; released 15 Jul 2019<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated Renoir backend to be compatible with Coherent Gameface and Coherent Prsym 1.3.0.2<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added PlayStation 4 libraries compiled with SDK version 5.5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"https:\/\/coherent-labs.com\/get-in-touch\">Version 2.8.2.0<\/a><span> &#8211; released 06 Jun 2019<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for binding <em>wide<\/em> strings<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated Unreal Engine 4 support to 4.22.2<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated PlayStation 4 SDK to version 6.5<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Optimized layer creation and composition<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated Xbox One SDK to 180704<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved the performance of pages with text in complex languages<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>The Unity3D integration allows setting a disk cache<br \/>\nimplementation<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed calling thread wrappers for video files on PlayStation 4<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed <a href=\"\/Documentation\/cpp-gt\/d7\/d6e\/class_coherent_1_1_u_i_g_t_1_1_view.html#a61fdcf33a2407e75ef7ecae45bb2b7ae\">input-group API<\/a> for <code>textarea<\/code> fields<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed ignoring <code>globalAlpha<\/code> in some cases for canvases<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/get-in-touch\/\">Version 2.8.1.1<\/a><span> &#8211; released 27 Feb 2019<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved performance when creating lots of dashed paths<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved throughput and reliability of WebSockets over SSL<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed changing <code>animation-iteration-count<\/code> after the animation has started<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Guard against a crash when accessing a destroyed window object from JavaScript<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed increasing memory usage for long running sessions with lots of garbage collection runs<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash on Xbox One and UWP when there are outstanding HTTP(S) requests<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when changing pages without sychronizing all models in asynchronous mode<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed several crashes and hangs when changing sizes of arrays exposed to the data-binding system<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed division by zero floating point exception during garbage collection<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><\/td>\n<td>Fixed <code>VirtualFree<\/code> to be called with the correct size when virtual memory is to be released<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3>\n<a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.8.0.0<\/a><span> &#8211; released 14 January 2019<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added 4 new data binding attributes &#8211; `data-bind-focus` \/ `data-bind-blur` \/ `data-bind-focusin` \/ `data-bind-focusout`. These correspond to the focus events with the same names and extend the set of available data binding events. See <a href=\"\/Documentation\/cpp-gt\/df\/dfb\/_h_t_m_l_data_binding.html#EventDataBinding\">the docs for more details<\/a><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">PS4<\/span><\/td>\n<td>Added support for PS4 SDK 6.0<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for Unreal Engine 4.21.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused when no user logging interface is provided and the default logger doesn&#8217;t have write access to the directory.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Reduced memory usage of complex expression in the data binding system (e.g. expressions which invoke JS functions).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Transparent elements having both `background-color: transparent` and a non-zero, non-one `opacity` will now be properly visible. Previously, they would be hidden as if they had `opacity: 0`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash in `renoir::RenderingBackend::WrapUserTexture` which would sometimes receive incorrect arguments.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a potential crash caused our internal memory allocator attempting to free memory for the already destroyed GT system.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug in the data binding system that would apply only one of multiple classes when using data-bind-class.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Improved tracking of networking files downloaded to the disk cache. Previously, some of these files might become corrupted if the download was interrupted.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash `UISystem::UiserImagesChanged` in async mode caused by a rare race condition.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed loadings fonts on page reload when the same fonts were previously requested and the request was still in flight.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">PS4<\/span><\/td>\n<td>Fixed a PS4 crash when reinitializing the GT system while a networking request was in flight.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><span class=\"label label-default\">MacOS<\/span><\/td>\n<td>Fixed spamming the log on MacOS with OpenGL errors when using GT inside UGUI.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed drawing the UI with respect to safe zones on UE 4.19 and before.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.7.0.3<\/a><span> &#8211; released 24 Oct 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for dashed and dotted borders in CSS (`border-style: dashed\/dotted;`) and SVGs.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>Added a new option to the system settings (`SystemSettings::JSCHeapSize`). This is a recommended limit on how much memory the JavaScript Virtual machine should take. If more than that memory is allocated for JavaScript, the garbage collector will become very aggressive and try to free as much as possible. Tune with caution to your specific UI.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>Added a new option to the system settings (`SystemSettings::EnableInternalAllocator`). Setting this to false will cause the SDK to directly call the user allocator. Setting it to true, keeps the current behaviour which is to use rpmalloc which in turn uses the user&#8217;s allocator.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>Added a new method to the system (`UISystem::RunGarbageCollection`). This method forces the garbage collector to run immediately instead of whenever it decides.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Promises returned by `engine.call` \/ `engine.trigger` are now standard ES6 promises. They were previously a custom implementation based on the now outdated Promise\/A+ standard.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added docs about what to do to disable\/sandbox the execution of JavaScript in cases when players can write HTML\/JS for mods.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Important<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>As part of optimizing our rendering, changes were made to the rendering backends. If you are running GT in a custom engine, please make sure to use the new versions of the backends (e.g. the dx11backend). If you have a custom backend, ask our support team for migration guidelines.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed several memory leaks across the SDK. Most were related to image data that incorrectly persisted through system reinitialization.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash due to buffer overflow in the data binding system.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused data-bind-class to not remove classes when necessary if applied to an element, within a component, within a data-bind-for. This caused elements to have multiple classes when only one was supposed to be had.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused changes to the DOM through `innerHTML` to be ignored by the data binding system.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused elements whose `border-bottom-left-radius` and `border-bottom-right-radius` differed to be rendered with the opposite corner&#8217;s value.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Data bound arrays (e.g. exposing `std::vector` to the data binding) will now be printed as standard JS arrays in the debugger. Previously, doing `console.log(myvector)` would result in non-user friendly message.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a potential rare crash when multiple elements refer to the same preloaded image \/ live view.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Improved the algorithm which selects what font to use depending on the specified `font-weight`. This results in a choice much closer to what you would normally expect \/ see in most browsers.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.6.0.2<\/a><span> &#8211; released 13 August 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>Added a new system setting (`SystemSettings::PathTessellationThresholdRatio`) that allows you to control how often does Coherent GT retesellates SVG paths. Until now, the SDK would retesellate the SVG when it was scaled by more than 250% (in either direction). With the new option you can change it to either optimize for performance (less tesellations) or smoother transitions between scaling levels (more tesellations).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for Unreal Engine 4.20.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a series of crashes caused by memory corruption when having multiple views and the system along with its views gets rapidly recreated.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a very specific bug which caused data-bind-for to be evaluated incorrectly when using multiple copies of two nested for loops, the inner of which was iterating over a property of the outer&#8217;s iterator (e.g. repeating `&lt;div data-bind-for=&#8221;player: {{model.players}}&#8221;&gt;&lt;div data-bind-for=&#8221;item: {{player.inventory}}&#8221;&gt;&lt;\/div&gt;&lt;\/div&gt;` multiple times).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Loading data binding components from separate files (`&lt;link href=&#8221;mycomponent.html&#8221;&gt;&lt;\/link&gt;`) will now properly trigger the `onload` event on the `&lt;link&gt;` element.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The error message &#8220;Failed to add class via data-bind-class because that class already exists&#8221; will no longer be spammed on each call to SynchronizeModels. Instead, it will only be logged once.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash when recreating the system due to incorrect attempts to read font data.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">Windows<\/span><\/td>\n<td>The SDK will now properly fallback to the system&#8217;s default font for Chinese when the Windows&#8217; locale is set to Chinese Simplified. Previously, websites like baidu.com wouldn&#8217;t display correctly under that locale.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">XB1<\/span><\/td>\n<td>The pdb files for `icudtcoherent53.dll` will now be properly included in all XB1 releases.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Fixed washed out colors when running with OpenGL with Linear Colors in Unity2018.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.5.0.1<\/a><span> &#8211; released 05 July 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Extended the syntax of data-bind-for to also include information about the current index in the array. The new syntax looks like so `data-bind-for=&#8221;index, iterator: {{mymodel.myarray}}&#8221;`. This is a non-breaking change &#8211; you can still use the old syntax if you don&#8217;t need the index.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">XB1<\/span><\/td>\n<td>Added support for Xbox One XDK 180200.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>The syntax of data-bind-for has been enhanced. Previously, when accessing a value on an element in an array (meaning inside `data-bind-for=&#8221;{{it: mymodel.myarray}}&#8221;`) the only correct syntax was `data-bind-value=&#8221;{{it}}.myproperty&#8221;` which was confusing since in all other places you can use a data bound property, you would put the brackets after `.myproperty`. With this release, the syntax `data-bind-value=&#8221;{{it.myproperty}}&#8221;` is now also correct and can be used along with the old version.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">MacOS<\/span><span class=\"label label-default\">Linux<\/span><\/td>\n<td>Users whose code compiles with enabled RTTI on MacOS and Linux will now be able to correctly link against the SDK even when their classes derive from classes in Coherent GT.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash on exit caused by execution of late tasks for image decoding after the system is already in the process of being shut down.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare scenario which would cause elements with animated values of `background-image` to disappear from screen upon reloading the page.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare scenario which would cause old frame data to remain on screen if the root layer of the page was empty.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare scenario which would cause text to be blurry and some parts of cut off.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Clicking on an already selected text will now place the text caret at the correct location on MacOS.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Custom `Coherent::UIGT::IEventHandler` implementations will now be properly destroyed. Previously,  events registered via custom IEventHandler would cause the handlers to memory leak.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Creating data models from the same type simultaneously from C++ and JavaScript will now work correctly. Previously, the SDK would erroneously mix them and attempts to access one of the models would actually read from the other.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Using `data-bind-for` inside a `data-bind-template` inside a data-bind-for will now create all expected elements. Previously, elements in the innermost loop wouldn\u2019t be created.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Using `data-bind-for` with an array of pointers to other arrays will now create all expected elements. Previously, elements in the innermost loop wouldn\u2019t be created.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Custom `Coherent::UIGT::IEventHandler` implementations will now be properly destroyed. Previously,  events registered via custom IEventHandler would cause the handlers to memory leak.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Reloading pages containing live views will now work as expected. Previously, the live views would disappear.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a crash when trying to load an non-existent Unreal texture.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a potential crash when passing UStructs from Blueprints to JavaScript due to the plugin keeping weak refs instead of strong refs to the structs, which could potentially cause it to access deleted data.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3>\n<a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.4.0.0<\/a><span> &#8211; released 23 May 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Improved performance by ~10% and fixed a couple of very rare crashes due to invalid memory access by replacing our internal allocator. We are now using <a href=\"https:\/\/stoyannk.wordpress.com\/2017\/12\/28\/generic-memory-allocator-for-c-part-1\/\">a modified version of RPMalloc<\/a> instead of NedMalloc.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">API<\/span><span class=\"label label-danger\">BreakingChange<\/span><\/td>\n<td>Changed the syntax of the CSS properties `-coherent-custom-effect` and `-coherent-custom-effect-string*`. Now, it&#8217;s mandatory to use quoted strings as the property&#8217;s value which allows you to use symbols that were previously invalid like slashes and quotes. (e.g. `-coherent-custom-effect: &#8220;\/path\/to\/my\/effect&#8221;`).<\/p>\n<p>If you are using custom effects in your UI, you need to add quotes to all the places you use them.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">PS4<\/span><\/td>\n<td>Added support for PS4 SDK 5.5.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>CoherentUIGT.dll on Windows, XB1 and UWP will now contain versioning information.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed Windows XP compatibility.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Using `font-family` with multiple fonts (e.g. `font-family: Font1, Font2;`) will now work correctly. Previously, the correct font would only be used if the the first letter of the current text run existed in the fallback.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a scenario which would cause elements in a scrollable list to be incorrectly clipped when the scroll amount exceeded some number.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a scenario which would cause animated text to be incorrectly clipped after the animation ends.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a scenario which would cause images displayed via `border-image` to disappear upon reloading the page.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a scenario which would cause live views to disappear upon filling the internal image cache.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a scenario which would cause elements with `box-shadow` to flicker.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by attempts to render a `&lt;canvas&gt;` element in the small window of time while a new page is being loaded.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Attempts to update a data bound model before creating it from JavaScript will no longer crash. This is still invalid API usage but will instead lead to an error message.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>`data-bind-if` will now properly be evaluated to `false` if the model it refers to is still not registered.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Event listeners attached via data-bind-[event] will now properly work with `event.stopPropagation()`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Nested `data-bind-for` depending on the same collection will now work correctly.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash upon unregistering a data bound model used inside data-bind-[event].<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash upon calling `engine.updateWholeModel` from JavaScript with a first argument which is not a valid model.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Data bound models created from JavaScript will now be properly cleared on reload. Previously, they would linger after the reload but refer to no longer existing data.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Attaching a new data bound model to DOM elements which previously had another model bound will now correctly update the DOM. Previously, the old valus in the DOM would linger.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused error messages triggered when sending data between JS and C++ to be repeated multiple times.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a potential crash when handling gamepad input in asynchronous mode.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Mouse move events will no longer be fired every frame but only when the mouse is actually moving.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a bug which would cause live reloading the UI (refreshing local files when they change) to break on machines with slower hardware due to a race condition between file access.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent GT will now respect DPI scaling when running inside an UMG widget (i.e. inside `UCoherentUIGTWidget`).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a bug which would cause parts of the UI to be clipped after a resize when Coherent GT is running inside an UMG widget.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Fixed a crash when quitting the Unity3D editor while the game is still running.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3>\n<a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 1.16.0.2<\/a><span> &#8211; released 15 June 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.19.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The SDK will no longer cause floating point errors on PS4 if the application has enabled them.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Using `font-family` with multiple fonts (e.g. `font-family: Font1, Font2;`) will now work correctly. Previously, the correct font would only be used if the the first letter of the current text run existed in the fallback.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a race condition between calling `View::ClearCache` and painting a view which led to leaked cache textures.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>SVGs with the `stroke: line-cap` property will now be rendered correctly. Previously, they were displayed as if having `stroke-linecap:square`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash caused by the handle of an image being accessed after the image has already been destroyed.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Local storage will now work without any extra setup necessary in our Unity3D plugin.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent GT will now respect DPI scaling when running inside an UMG widget (i.e. inside `UCoherentUIGTWidget`).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a crash when trying to load an non-existent Unreal texture.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3>\n<a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.3.1.2<\/a><span> &#8211; released 17 April 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Data binding in asynchronous mode now has a thread safe mode. Normally, usage of the data binding system in async mode required your objects to be thread safe. This new feature allows you to drop the thread safety requirement for your own objects and let GT take care of it. To start using the new system, you only need to call `View::CreateModel(\u201cmodelname\u201d, Coherent::UIGT::ByRefThreadUnsafe(MyModelPtr))` instead of `View::CreateModel(\u201cmodelname\u201d, MyModelPtr)`. See the <a href=\"\u201d\/Documentation\/cpp-gt\u201d\">docs<\/a> for more info.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><span class=\"label label-danger\">BreakingChange<\/span><\/td>\n<td>Reworked the API for setting the limits of our rendering caches. All caches but one now support setting their limit in terms of both number of objects in the cache and total memory consumption.<\/p>\n<p>This is a breaking change: The methods `View::GetCacheStats`  \/ `View::QueueSetCacheSize` have been removed and replaced by 4 new methods with the extra functionality.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for UE4 4.19.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Data bound arrays now implement the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Array\/find\">`Array.find`<\/a> and <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Array\/findIndex\">Array.findIndex<\/a><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added `mouseleave` to the <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/df\/dfb\/_h_t_m_l_data_binding.html#EventDataBinding\">set of events that can be used in conjunction with the data binding system<\/a>.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>The <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/df\/dfb\/_h_t_m_l_data_binding.html#EventDataBinding\">data binding events<\/a>, can now be used everywhere in the global scope. Previously, they were only usable inside components created with `data-bind-template-name`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by calling multiple C++ functions from JS within the same callstack (e.g. when a callstack crosses the JS -&gt; C++ -&gt; JS boundary multiple times).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by calling C++ functions from JS with the wrong argument count (e.g. sending 2 arguments when the C++ function only took 1).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by specifying `data-bind-model` before `data-bind-for` on the same HTML element. Ordering of data-bind attributes no longer matters.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash on reloading multiple times in a quick succession caused by our data binding system not being properly uninitialized.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash on trying to draw a &lt;canvas&gt; into another &lt;canvas&gt; while the first canvas is still not ready.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash in our trial version caused by an invalid renderer object when attempting to draw the trial watermark.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Floating point exceptions will no longer be raised by our code on PS4.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Microsoft\u2019s Application verifier will no longer issue warnings for code in the SDK.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Fixed a crash when closing the Unity3D editor while the game is running and Coherent GT is in asynchronous mode.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.3.0.2<\/a><span> &#8211; released 7 March 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added DX12 support. Added a separate sample solution \/ project for each native sample, demonstrating how to use DX12 on Windows. DX12 is now the default renderer in all Xbox One samples.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for 4.19, Preview 3<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>The data binding system will now detect and report many more instances of invalid usage, greatly improving debugging.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash caused by attempting to repaint a table cell (`&lt;td&gt;`), that had already been deleted in the current frame.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash in the data binding system caused by attempts to bind an array, stored on an address, that had previously been used to bind an array of another type.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash in the Selenium implementation caused by a race condition between Selenium requests and the `Coherent::UIGT::View` becoming ready for script execution.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>A set of rare image decoding errors will no longer cause a crash but instead be reported in the log.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed \u0430 crash on reload in the inspector.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed \u0430 crash when trying to create a model in the data binding system out of a primitive value (number \/ string).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed rendering of horizontal\/vertical SVG lines&#8217; <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/SVG\/Attribute\/stroke-linecap\">line caps<\/a>. They were mistakenly treated as rectangles instead of lines and this caused the line caps to be ignored.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash when attempting to start one of WebKit\u2019s internal threads when a null pointer is passed to `SystemSettings::ThreadWrapper`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The inspector will no longer crash on attempts to preview preloaded images \/ live views.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-info\">U3D<\/span><\/td>\n<td>Local storage now works out of the box in Unity3D. Previously, users would have to set up the local storage path manually.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 2.2.0.6<\/a><span> &#8211; released 21 February 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for events to the data binding system. You can now use all standard mouse and keyboard events as data binding attributes (data-bind-click, data-bind-keydown). Event handlers bound in this way get access to a couple of new variables that allows you to work with other bound data. For example this allows you to bind a different click handler for each element in a data-bind-for. See the docs for further details.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>Support for PS4 SDK 5.0.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>You can now provide a callback which GT will use when spinning off its async thread (when asynchronous mode is on). This allows you to do any thread-specific setup needed.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Our UE4 plugin is now hooked up with the UE4 crash reporter on Windows. Crash reports in async mode will now be properly reported.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-default\">API<\/span><\/td>\n<td>IMPORTANT: We no longer distribute CRT libs in our Windows builds. We now require all users to install <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=48145\">the VS2015 redistributable<\/a> on their players&#8217; machines.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The data binding system now properly supports binding different types to the same pointer. Previously, if a user type had another user type as his first member the system would erroneously complain about incorrect API usage because the two objects would have the same address.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Attempts to load .woff or .woff2 fonts will now trigger a \u2018Not supported\u2019 warning instead of crash.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed compatibility with Windows Vista.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Views created with VLP_IgnoreCache will now properly reload all of their resources. Previously, images and JavaScript files would sometimes be reused instead of reloaded.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by creating enormous `&lt;canvas&gt;` elements which would attempt to create enormous GPU textures.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>HTML elements whose background-image is a gradient and whose background-size is smaller than their width \/ height will no longer disappear after certain time has passed.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>HTML elements whose background-image is a SVG will no longer disappear in certain rare cases.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>HTML elements with background-image or border-image will no longer disappear after navigating away from and back to the same page.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Live views which were removed from the page and then added a second time will now work as expected. Previously, they would freeze and only display the last frame before DOM removal.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused breakpoints in the Inspector to be incorrectly set several lines above or below the actual click location. Issue was caused by a third party not taking into account Windows line endings (CRLF) and only computing the offset by measuring LF characters.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash that would occur randomly in the Inspector when switching between panels.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">XB1<\/span><\/td>\n<td>Parsing date objects in JavaScript in the local time zone now works correctly.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fix a series of compile-time warnings that our plugin caused.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 2.1.0.3<\/a><span> &#8211; released 22 Dec 2017<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added new JavaScript API that allows JavaScript code to listen for changes in the data models. The new function <code>engine.addModelChangeListener(model, propName, callback)<\/code> will cause <code>callback<\/code> to be called anytime the property <code>propName<\/code> of the model <code>model<\/code> is changed. See docs for more info.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td><code>ViewRenderer::Paint<\/code> now paints only a single frame. Previously, it would paint all recorded frames which causes issues with engines whose main thread and rendering thread are separated by several frames. This required breaking the API at multiple places: <code>View::Layout<\/code> and <code>View::RecordRenderingCommands<\/code> now both return a frame identifier. You must pass that identifier back to <code>ViewRenderer::Paint<\/code> or <code>ViewRenderer::PaintToTexture<\/code>. See the docs or the update samples for more info.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>\n          Added support for Unreal Engine 4.18<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated all of our samples, the Unity3D and UnrealEngine 4 plugins to use the new <code>ViewRenderer::Paint<\/code> API.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td><code>ViewRenderer::PaintToTexture<\/code> can now paint into a user-specified rectangle, which doesn&#8217;t cover the entire render target. This means that <code>ViewRenderer::PaintToTexture<\/code>, which is usually used to render the UI directly in the game&#8217;s backbuffer, can now respect special screen boundaries like letterboxing and TV safe zones.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>\n          Added new API for providing the GT license in the UnrealEngine4 plugin. Previously, the only way to provide the license would be to place the LicenseGT.h header in a specific directory. With the new API you can dynamically provide different licenses. This is useful when multiple games are developed with the same engine but have different licenses.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>\n          Our sample game is now based on a more modern version of the UnrealEngine4 FirstPersonShooter template.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash when one tries to pass a number to <code>data-bind-model<\/code>. This is still unsupported but will instead log an error message instead of crashing.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed the frame selector dropdown in the inspector. This allows you to switch between active frames and run JavaScript code in the console even in nested <code>&lt;iframe&gt;<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Sending the same mouse event to two separate views will now work correctly. Previously, due to some static housekeeping data, the second view would have treated clicks as double clicks.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed calling <code>View::AuditPerformance<\/code> with a <code>nullptr<\/code> for frame selector the second time its called.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a href=\"\/download-coherent-gt\/\" class=\"infoChangelog\">Version 1.15.0.0<\/a><span> &#8211; released 6 February 2018<\/span><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>\n                Added support for Unreal Engine 4.18<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">API<\/span><\/td>\n<td>Support for PS4 SDK 5.0.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Users can now provide a callback which GT will use when spinning off its async thread (when asynchronous mode is on). This allows users to do any thread-specific setup needed.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Our UE4 plugin is now hooked up with the UE4 crash reporter on Windows. Crash reports in async mode will now be properly reported.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash in the data binding system caused by using data-bind-for with an array whose size is changed while the data-bind-for is being evaluated.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which would cause data bound models to persist after page reload \/ URL change.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which would cause text with negative letter spacing to be incorrectly rendered.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a GPU memory leak caused by some auxiliary textures being incorrectly tracked.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash in our resource loading system caused by attempts to double delete a resource response.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash on page reload caused by the `engine` object persisting on certain pages.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Sending the same mouse event to two separate views will now work correctly. Previously, due to some static housekeeping data, the second view would have treated clicks as double clicks.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug in WebKit which caused CSS animations to sometimes extrapolate values outside their allowed range. This caused some values to grow into huge numbers and generate enormous elements or elements positioned far beyond the visible part of the page.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed compatibility with Windows Vista.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by creating enormous canvas elements which would attempt to create enormous GPU textures.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>User types with a &#8216;length&#8217; property are now properly serialized. Previously, they would be erroneously treated as arrays.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Triggering .NET delegates from JS in AOT mode will now work correctly. Previously, it would crash the game.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 2.0.1.3<\/a> &#8211; released 7 December 2017 &#8211; <a href=\"\/gt-2-0-released\/\">see blog post<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Updated internal WebKit version to Safari Technology Preview (STP) 34. Closest browser comparison would now be Safari 10.1.2 as opposed to Safari 6 for GT 1.14.5.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Enhanced JavaScript support by adding complete support for EcmaScript 6, most notable features of which being:<\/p>\n<ul>\n<li><a href=\"https:\/\/coherent-labs.com\/spread-operator-iterators-arrow-functions-es6\/\">Arrow functions<\/a><\/li>\n<li><a href=\"https:\/\/coherent-labs.com\/spread-operator-iterators-arrow-functions-es6\/\">Iterators<\/a><\/li>\n<li><a href=\"https:\/\/coherent-labs.com\/es6-classes\/\">Classes<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Statements\/let\">let<\/a><br \/>\n&amp;<br \/>\n<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Statements\/const\">const<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Promise\">Promises<\/a><\/li>\n<li>For a full list of features, see <a href=\"http:\/\/es6-features.org\/\">this link<\/a> or <a href=\"http:\/\/kangax.github.io\/compat-table\/es6\/\">this one<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Enhanced JavaScript support by adding complete support for <a href=\"http:\/\/kangax.github.io\/compat-table\/es2016plus\/\">EcmaScript 7<\/a><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>JIT is now enabled on all platforms which allow for it (Windows, OSX, Linux). This produces a huge performance boost for JavaScript execution on the supported platforms. Note that this also creates a performance disparity between PC and consoles &#8211; if you are developing on consoles, make sure to test JS performance there first.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for <a href=\"https:\/\/coherent-labs.com\/css-variables\/\">CSS variables<\/a><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for <a href=\"https:\/\/css-tricks.com\/snippets\/css\/complete-guide-grid\/\">CSS grid<\/a><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added partial support for <a href=\"https:\/\/css4-selectors.com\/selectors\/\">CSS4 selectors<\/a>.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTML\/Element\/template\">HTML template<\/a> element<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>The inspector (debugger) was also updated to the feature level of STP 34. It has a brand new design and a plethora of new features. Some examples being:<\/p>\n<ul>\n<li>DOM and XHR breakpoints &#8211; set breakpoints which stop script execution when JS changes the DOM tree or makes a XHR request<\/li>\n<li>Brand new Timeline panel which allows you to profile performance<\/li>\n<li>Brand new Layers panel which allows you to inspect what elements cause layers and why<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added support for the \u2018Inspect element\u2019 button in the inspector. It allows you to hover over elements on the page and clicking on it will lead you to its source code.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><\/td>\n<td>Parts of the public API contain breaking changes. See <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/dd\/d38\/transition_guide.html\">the transition guide in the docs<\/a> about how to upgrade to GT 2.0. Some notable changes:<\/p>\n<ul>\n<li>Allocator interface has been extended with methods for aligned allocations and allocations of executable memory for the purposes of JIT.<\/li>\n<li>All live view specific methods have been removed. Live views are now an extension of the preloaded images which makes implementing them much easier.<\/li>\n<li>Removed several public methods which were unused.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><\/td>\n<td>Parts of the HTML standard have changed in the recent years. GT 2.x works according to the latest standard which might not always be the same as GT 1.x. <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/dd\/d38\/transition_guide.html\">The transition guide in our docs<\/a> contains a description of those cases.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 1.14.5.10<\/a> &#8211; released 20 September 2017<\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-warning\">API<\/span><\/td>\n<td>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&#8217;s disabled by default. Set`ViewInfo::EnableExperimentalMediaSourceAPI` to `true` to enable it.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed compatibility with Windows XP.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed unicode support for strings in complex evaluators in the data-binding system. A &#8216;complex evaluator&#8217; is any data-binding expression that&#8217;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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>`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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash on view destruction when the `ViewRenderer` is being destroyed but the main thread is in `View::UpdateStylesAndLayout \/ View::Layout`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash on view recreation caused by attempts to paint an image that was never used.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a race condition and a crash when using asynchronous mode and TriggerEvent<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a minor memory leak on view destruction when using async mode.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by a web socket disconnecting as a result of handling a message.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">XB1<\/span><\/td>\n<td>Fixed a crash on XboxOne in our networking subsystem caused by an AJAX request attempting to access freed memory in its `onError` callback.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a crash during the first attempt to move the mouse over the UI on low-end GPUs.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 1.14.5.3<\/a> &#8211; released 22 August 2017 &#8211; <a href=\"http:\/\/coherent-labs.com\/coherent-gt-1-14-5-hummingbird-1-5-released\/\" target=\"_blank\" rel=\"noopener noreferrer\">see blog post<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for managing data models via Blueprints. See the `CreateDataModel` \/ `UpdateWholeDataModel` \/ `SynchronizeModels` method on the `UCoherentUIGTBaseComponent` class.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>GT can now run in UE4&#8217;s loading screen. This allows you to present the player with a far more interesting transition compared to what&#8217;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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added memory tracking to for both RAM and VRAM. See the `stat CoherentGTCounters` console command.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for UE4 4.17.<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>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%.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>The automatic binding of UClasses and UStructs no longer requires a specific ordering of include headers. Previously you had to include `&#8221;CoherentUIGTUTypeBinder.h&#8221;` before any other GT header.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Text rendering will now properly take into account the font&#8217;s kerning when rendering the caret and the selection range.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>HTML components containing east-asian text will now display properly.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a series of compile-time warnings that our rendering library Renoir would cause when compiling with Clang due to undefined preprocessor macros.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug, which caused elements to be improperly clipped when a layer&#8217;s size is not a multiple of 64.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a regression which caused the CSS `outline` property to have no effect.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused our samples to sometimes appear transparent and show the user&#8217;s desktop behind them.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Using multiple properties of the data model in a `data-bind-class-toggle` expression no longer results in a crash.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a bug which broke the Live Reload feature of the plugin (automatically refreshing the game&#8217;s UI whenever some of its resources changes). The feature still needs to be enabled from the plugin&#8217;s options.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Binding Blueprint-only UStructs will now properly send their properties&#8217; 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<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Fixed a crash on exit in async mode.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Fixed a crash that would manifest if the user never send data between C++ and JS in async mode.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 1.14.0.1<\/a> &#8211; released 24 July 2017 &#8211; <a href=\"http:\/\/coherent-labs.com\/gt-1-14-released\/\">see blog post<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added support for complex script languages, most notably Arabic, to all GT text.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added a new sample demonstrating how to automate UI testing via Selenium.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Improved overall video playback performance by 40-60% depending on the video quality. Added multithreading support for decoding.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-warning\">API<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Added support for 64-bit Linux.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Added support for Unity2017<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Dropped support for all versions prior to Unity3D 5.4<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a memory leak caused whenever an array property was exposed through the data-binding system.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash in video playback caused by rapidly seeking forwards.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 1.13.0.6<\/a> &#8211; released 3 July 2017<\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a few rendering artefacts introduced in 1.13.0.2.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by the video player incorrectly freeing data that was still used.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">PS4<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h3><a class=\"infoChangelog\" href=\"\/download-coherent-gt\/\">Version 1.13.0.2<\/a> &#8211; released 23 June 2017 &#8211; <a href=\"http:\/\/coherent-labs.com\/coherent-gt-1-13-released\/\">see blog post<\/a><\/h3>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>SVG rendering has been completely rewritten. The new tesselator produces much smoother results, especially when the SVG has thin details (e.g. cat\u2019s whiskers). The performance has also been significantly improved. See the blog post for more details.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-warning\">API<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>The GTPlayer can now visualize the aforementioned performance information. See the blog post for more details.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>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`.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>The component system can now import components from other files. It was previously required to put all of your components in the same file.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for PS4 4.5<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for UE4 4.16.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Removed support for all UE4 versions prior to 4.10.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Support for Unity 5.6.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>The performance guide has been greatly expanded with useful tips on measuring and maximizing performance.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash that would occur when loading image files on a congested network.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a small memory leak when data-binding arrays caused by improper destruction of some internal JS objects.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a memory leak when using our localization API via JS (`engine.translate` \/ `engine.reloadLocalization`) caused by improper destruction of some internal JS objects.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Missing resources loaded via coui:\/\/ will now properly fail with error 404 instead of remaining pending for an indefinite amount of time.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash that would occur when loading large video files.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a memory leak introduced in GT 1.12.5 when playing video files because of improper destruction of a video decoder.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">U3D<\/span><\/td>\n<td>Fixed an issue which caused mouse input to be incorrectly forwarded to views not attached to the main camera.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\">Version 1.12.5.2<\/a> &#8211; released 22 May 2017 &#8211; <a href=\"\/gt-1-12-5-2-released\/\">see blog post<\/a><\/h4>\n<hr>\n<table class=\"table table-bordered table-striped\">\n<tbody>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Reworked the GT Player. When launched it will now offer the following set of tools via a panel at the top of the page:<\/p>\n<p>\u2022 The ability to quickly inspect paint rectangles and layer borders without attaching the debugger.<\/p>\n<p>\u2022 A set of browser-like features: going back &amp; forward \/ reloading \/ typing the url of a page to be loaded.<\/p>\n<p>\u2022 Shortcuts to other GT tools &#8211; you can now run the debugger, Coherent Editor, and auditor directly from GT Player.<\/p>\n<p>\u2022 A set of keyboard shortcuts to simplify using the aforementioned.<\/p>\n<p>\u2022 Gamepad support (Gamepad support has been part of GT since 1.6, but the GTPlayer didn&#8217;t forward gamepad input to GT)<\/p>\n<p>\u2022 Drag &amp; drop support for HTML files<\/p>\n<p>\u2022 A tutorial to guide new users through its capabilities.<\/p>\n<p>\u2022 The ability to retain the old behaviour by hitting CTRL + SHIFT + F or running with `-forfeitui`<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Reworked the Coherent Launcher &#8211; 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&#8217;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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Reworked the HTML documentation &#8211; 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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added the `View::ShowLayerBorders` method that let&#8217;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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-info\">Feature<\/span><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added a second optional argument to `View::ExecuteScript` &amp; `View::AuditPerformance` specifying in which frame to run. This lets you execute JavaScript \/ run the auditor in any iframe in the page.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>The auditor can now run on pages that don&#8217;t include coherent.js.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>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).<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a memory leak caused by reloading views using ByRef binding.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by painting to hidden `&lt;canvas&gt;` 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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash on destruction of views for which no frame was ever painted caused by attempts to cleanup non-existing rendering resources.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rare crash caused by the image decoder incorrectly trying to decode more frames than a given .gif image has.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Resizing the view no longer causes video elements to produce black screen when using DX9.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a memory leak on reloading views when using custom fonts caused by font glyphs being recreated each time.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a deadlock that would occur randomly in the image decoder thread caused by improperly timed mutex lock.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug which caused valid pointers to textures to reach the rendering backend as null pointers when using preloaded images in asynchronous mode.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.12.0.0<\/a> &#8211; released 04 May 2017<\/h4>\n<table class=\"table table-hover table-responsive\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">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%.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-warning\">API<\/span><\/td>\n<td class=\"col-md-10\">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<br \/>\ndata binding or JS code.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a rare hang during image decoding caused by an infinite loop during decoding because of an improper frame count computation.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">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<br \/>\nlast known value in use which caused JS animations to fail around 0.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash caused by using a view without a view renderer &#8211; allowing views to run without active rendering.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash in our video player sample on OS X when running in asynchronous mode caused by attempts to render during shutdown.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash in our multiview sample on DX9 during resize caused by recreation release of rendering resources.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">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<br \/>\nto the GPU state such as binding textures and shaders.)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">The test driver&#8217;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 <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/\">our native documentation<\/a> for more details.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Reduced the size of the .zip archive our plugin by no longer packing unnecessary binaries<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Disabled the AddPlane menu item while the game is running in the UE4 editor as it shouldn&#8217;t be used while the game is running.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.11.2.0<\/a> &#8211; released 30 March 2017<\/h4>\n<table class=\"table table-hover table-responsive\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Greatly improved websocket support &#8211; moved blocking or expensive operations out of the main thread and increased throughput 16 times.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">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.)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Exposed the `SCoherentUIGTWidget::SetReceiveInput` \/ `SetReceiveInputWhenTransparent` methods<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Custom SSL certificates now work correctly on PS4.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed log spamming by the &#8216;Missing surface&#8217; error caused by improper management of an internal texture.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash on exit in the sample application on XB1 caused by incorrect OS event processing during shutdown.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Removed several incorrect warnings caused by resource loading issues, especially resources used by the Coherent Editor.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Attempts to preload textures with an unsupported texture format will now result in warnings, not crashes.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Scrolling elements with `overflow: hidden;` no longer causes other layers to leak as background on top of the scrolled element.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash caused by running the auditor on a HUD view when starting the game in Simulate instead of Play.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash on startup caused by improper usage of rendering queries when the mouse did not start inside the game&#8217;s window.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.11.1.2<\/a> &#8211; released 8 March 2017<\/h4>\n<table class=\"table table-hover table-responsive\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">The component system now supports unregistration of components. Already instanced components will be removed from the DOM.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">The data binding system now supports nested &#8216;for&#8217; 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).<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a graphics artefact when resizing the page which caused elements to sometimes disappear behind SVG masks when they shouldn&#8217;t.<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash caused by a race condition during loading heavy pages utilizing preloaded images.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Support for Unreal Engine 4.15<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Running on PS4 with GNM validation enabled no longer cause errors.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash caused by attempts to load preloaded images while UE4 is running garbage collection.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.11.0.4<\/a> &#8211; released 07 Feb 2017<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed two instances of memory leaks caused by recreating \/ reloading views.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash caused by the garbage collector running during <code>View::TriggerEvent<\/code>.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed multiple crashes caused by memory corruption when multithreaded rendering was used and the rendering thread switched too often.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">The <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/d4\/d59\/struct_coherent_1_1_u_i_g_t_1_1_feature_list.html#adf36ce8c9ef94053cf1727dfc44a5cd8\" target=\"_blank\" rel=\"noopener noreferrer\">CSS animation cache optimization<\/a> that was added in 1.11.0.0 is now<br \/>\ndisabled by default as it currently causes incorrect rendering in some rare cases.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.11.0.0<\/a> &#8211; released 27 Jan 2017<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Users can now modify all HTTP headers in requests and provide additional data<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Improved the Component system to better support nested data-bound elements<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Views now support zooming the content in a browser-style standard way. Users can control the zoom levels through a new API.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">CSS animations are now evaluated ~30% faster. Pages with many animations will see large performance improvements.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Added a new API for user control over the allocations of temporary textures<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Engine (C++) arrays exposed by reference now behave in JavaScript as-if they are standard JavaScript arrays<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Added PDBPATH to Windows and XboxOne builds to aid user debugging<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Calls to engine.call callbacks that throw exceptions are now logged to aid debugging<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Fixed a rare crash when the Coherent GT Player window is resized<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">The gamepad state is automatically reset when focus is lost. This aids input management with gamepads<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.10.3.0<\/a> &#8211; released 13 Dec 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Removed extra <i>Layout<\/i> happening from time to time in <code>UISystem::Advance<\/code>.<\/p>\n<div class=\"alert\">This change will trigger changes in the performance profile of the Coherent GT &#8211; <code>UISystem::Advance<\/code> will be faster on average and less spiky, while <code>View::Layout<\/code> might get a little bit slower on average.<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed memory leak when using the data-binding API<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a rare crash on PlayStation 4 when an SSL secure connection is re-established mid-session<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed a crash when &#8220;backspace&#8221; is pushed on a keyboard connected to a PlayStation 4 or Xbox One and input in a GT text field<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">CSS filters can now be animated with CSS animations to create amazing UI effects<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.10.2.0<\/a> &#8211; released 30 Nov 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed handling text with letter spacing<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">The sample <code>FileDiskCache<\/code> keeps the running requests open and is significantly faster<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature&nbsp;<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Support for Unreal Engine 4.14<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature&nbsp;<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\"><code>USTRUCT<\/code>s can be exposed recursively to and from JavaScript<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Added a GPU stat counter, available via <code>stat GPU<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.10.1.1<\/a> &#8211; released 21 Nov 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed hang on quit with HTTP requests containing redirects<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Fixed audio in Unreal Engine 4 for PlayStation. Note: the engine has to be patched with the Epic&#8217;s commit CL 3149552 at the WIP shelved changelist<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Shipping with <a href=\"http:\/\/coherent-labs.com\/changelog-coherent-editor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Coherent Editor 1.5.3.0<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.10.0.1<\/a> &#8211; released 01 Nov 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Any image can be<br \/>\n<a href=\"https:\/\/coherent-labs.com\/Documentation\/cpp-gt\/db\/d01\/_preloaded_textures.html\" target=\"_blank\" rel=\"noopener noreferrer\">preloaded<\/a> using the <a href=\"https:\/\/coherent-labs.com\/Documentation\/cpp-gt\/d1\/d48\/class_coherent_1_1_u_i_g_t_1_1_resource_response_u_i_g_t.html#ac84aabbf522fd283aca87f059c0e1cf0\" target=\"_blank\" rel=\"noopener noreferrer\"><code>ResourceResponseUIGT::ReceivePreloadedImage<\/code><\/a> API<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Mix-blend mode support<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Structural <a href=\"https:\/\/coherent-labs.com\/Documentation\/cpp-gt\/dc\/dc7\/_binding_cxx.html#DataBinding\" target=\"_blank\" rel=\"noopener noreferrer\">data-binding<\/a> with <code>data-bind-if\/switch\/for<\/code> attributes<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed text rendering for fonts with kerning<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fix memory leak when reloading pages (COH-2182)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Coherent GT&#8217;s HUD can now be drawn over letter-boxing<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Setting input propagation behaviour will now correctly propagate gamepad and keyboard events<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Fixed a driver crash when playing video on Xbox One<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Preloaded image API has changed &#8211; see the <a href=\"http:\/\/coherent-labs.com\/Documentation\/UnrealEngine4-GT\/d2\/df6\/_coherent__g_t_for__unreal__engine_4_plugin.html#preloaded\" target=\"_blank\" rel=\"noopener noreferrer\">documentation<\/a> for migrating to the new API.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.9.6.1<\/a> &#8211; released 14 Oct 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Added an optional file manipulator for font loading<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed system hanging in asynchronous mode<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed system hanging in image decoding thread<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed clang compiler being detected as GCC<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed leaking of CSS Length values (COH-2776)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed live views creation race condition<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed live views creation race condition in Unity3D<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed error msg saying live view protocol not supported<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed returning value from C++ method for classes with more than 32 methods<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed calling C++ method on the wrong instance when <code>ByRef<\/code> binding is used<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed crash due to JS value corruption after GC run on 32bit Windows (COH-2711)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">UStruct binding via Blueprints.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Added support for Unreal Engine 4.13<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">The internal memory allocator now uses FMemory instead of GMalloc which enables memory tracking.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Font files are now read from Content\/Fonts and dll&#8217;s on Windows are packaged.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed packaging and launching from the editor for consoles<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-default\">Issue<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Audio playback for PlayStation 4 is disabled, due to limitation of Unreal Engine 4 audio system<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-default\">Issue<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Certain videos can cause a crash on Xbox One<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.9.5.2<\/a> &#8211; released 31 Aug 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Support for transparent videos &#8211; using the &#8220;alpha_mode&#8221; video track property of the WebM container<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td class=\"col-md-10\">Support for Universal Windows Platform<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td class=\"col-md-10\">Support for two-way binding of objects exposed by reference<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed crash due to JavaScript value corruption after garbage collector run on 32-bit Windows<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td class=\"col-md-10\">Fixed returning value to JavaScript from C++ methods for classes with more than 32 methods<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed calling C++ method on wrong instance in certain cases<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td class=\"col-md-10\">Internal events will no longer cause errors during immediate view destruction (COH-2600)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed an issue which caused BP binding of UObjects to use UObject instead of the actual object&#8217;s type.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Focusing GT&#8217;s slate widget prior to complete view creation no longer causes a crash (COH-2625)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Quickly removing UMG widgets will no longer cause a crash on GC in async mode (COH-2709)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Attempts to set focus on GT components during engine shutdown will no longer cause a crash (COH-2658)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed an issue which caused attempts to fetch mouse queries without issuing them apriori (COH-2701)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.9.0.8<\/a> &#8211; released 15 Aug 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Mac OS X i386 support<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td><a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/dc\/dc7\/_binding_cxx.html#DataBinding\" target=\"_blank\" rel=\"noopener noreferrer\">Data-binding syntax<\/a> to allow for automatic update of the DOM based on values of C++ objects<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent GT supports the WebDriver API and can be <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/db\/de2\/_test_driver.html\" target=\"_blank\" rel=\"noopener noreferrer\">used with Selenium WebDriver<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved auditor with new warnings, docs and keybindings<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved the performance of methods calculating the composition of layers<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for adding custom effects &#8211; filters<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Clients can control the texture composition of layers<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Introduced &#8220;thin&#8221; layers (surfaces) that have no backing textures, to reduce the amount of GPU memory used<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Content rectangle can be specified for preloaded images<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.8.6.2<\/a> &#8211; released 05 Jul 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for pre-loading images<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for pre-loading fonts<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for custom font directories<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for annotating GPU texture objects with debug names for easier identification during graphics debugging. Use the <code>SystemSettings::SetRenderingResourcesDebugNames<\/code> flag to enable the annotations<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved JavaScript property access performance for instance binding by 20%<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved JavaScript method invocation performance for instance binding by 10%<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash when playing videos with loops<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for using Unreal Engine 4 textures directly in the UI<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.8.5.2<\/a> &#8211; released 28 Jun 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent GT Debugger works for Xbox One<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent GT Debugger works for PlayStation 4<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Changed <code>ViewInfo::AnimationFrameDefer<\/code> default value to guarantee smooth animations<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>The OpenGL backend now needs two <code>GLuint<\/code> representing the names of the textures for render target and depth stencil<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Disabled by default the scrollbars from the page styles. To add the scrollbars again, use the <code>ViewInfo::EnableAdditionalDefaultStyles<\/code> flag.<\/p>\n<div class=\"alert\">Having scrollbar styles on all elements can cause performance degradation. Note that pages that used the default scrollbars <strong>will not<\/strong> have them now. We recommend to keep the option off on all pages where the user has<br \/>\ncontrol of the content and add scrollbars only on the CSS classes of elements that really need them. For more information please refer to the <a href=\"http:\/\/coherent-labs.com\/Documentation\/performance-unreal-engine\/\" target=\"_blank\" rel=\"noopener noreferrer\">Performance guide<\/a>.<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash when tessellating certain stroke patterns<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.12<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.8.4.3<\/a> &#8211; released 06 Jun 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Lazy JavaScript binding for arrays exposed by reference<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for DDS textures in BC1-5 format<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for PSD and TGA images<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Enhanced the GT Player to show errors<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Applied different formula for YUV to RGB conversion which preserves video colors better<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added <code>Coherent::UIGT::Binder::ReadNull<\/code> method that allows reading of null types<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added a new callback in <code>Coherent::UIGT::ViewListener<\/code> &#8211; <code>OnLiveViewActivate<\/code>. It&#8217;s fired when the internal components for the live view are activated or deactivated<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added new method <code>UISystem::HasLastAdvanceCompleted<\/code> which checks whether calling Advance on an asynchronous UI System would block waiting the previous Advance to complete<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added new method <code>View::HasLastLayoutCompleted<\/code> which checks whether calling Layout (or ExecuteJSTimers\/UpdateStylesAndLayout\/RecordRenderingCommands) on an asynchronous UI System would block waiting the previous Layout operation<br \/>\nto complete<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed the calculated size of a stoked text<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed possible crash on quit when using canvases<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a memory leak caused by unfreed image data<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Access to the sync view during async destruction on some methods<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Automatic exports for USTRUCTs and UCLASSes<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>SVG files are visible in the content browser<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added stat commands for GT and helper console commands<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>The GTPlayer now supports changing the page and reloading after launch<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"\u201clabel\">UE4<\/span><\/td>\n<td>Fixed a major memory leak caused by not destroying the view&#8217;s texture<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a crash during multiplayer game setup<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.8.0.6<\/a> &#8211; released 14 April 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent GT supports running on Linux<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td><a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/dc\/dc7\/_binding_cxx.html#ExportByRef\" target=\"_blank\" rel=\"noopener noreferrer\">Exposing C++ objects to JavaScript by reference<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td><a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/dc\/dc7\/_binding_cxx.html#CallMethods\" target=\"_blank\" rel=\"noopener noreferrer\">Exposing methods of C++ objects to JavaScript by reference<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Control over the storing location for cookies &#8211; <a>API<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Control over the for <code>localStorage<\/code> &#8211;<br \/>\n<a href=\"https:\/\/coherent-labs.com\/Documentation\/cpp-gt\/d1\/d12\/struct_coherent_1_1_u_i_g_t_1_1_system_settings.html#ab6638c671402ac3b28f6a751938caf5a\" target=\"_blank\" rel=\"noopener noreferrer\">API<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Unreal Engine 4 games with Coherent GT can be built for Linux<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.11<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.7.3.3<\/a> &#8211; released 23 March 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Live-reload support for Unreal Engine 4<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.11<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Updated OpenSSL to 1.0.2f<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Automatic detection of resource types for http and https<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Video player sample<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Support for videos with arbitrary frame sizes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.7.1.4<\/a> &#8211; released 18 Feb 2016<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Implemented rendering based on the <a href=\"http:\/\/coherent-labs.com\/blog\/introducing-renoir-graphics-library\/\" target=\"_blank\" rel=\"noopener noreferrer\">Renoir graphics<br \/>\nlibrary<\/a> that improves rendering and command recording performance<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for BC3 compressed textures (DDS format) on all rendering backends<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Bundled new Coherent Editor 1.3<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Significantly reduced memory usage<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Introduced a new CSS property <a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/d3\/dae\/md__coherent__documentation__source__antialiasing_and_layers.html#AAClip\" target=\"_blank\" rel=\"noopener noreferrer\"><code>-coherent-layer-clip-aa:<br \/>\non;<\/code><\/a> that allows control over which elements have anti-aliased clipping<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Reworked image and texture management<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Introduced effect caches for cheaper special effects (filters, blurs)<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved image decoding performance and all image decoding happens on a worker thread<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Renoir backends are now available as source code and can be modified by developers<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Removed dependency on libEGL, libGLES2, and DirectX11. New Renoir rendering backends are available for DirectX 9, DirectX 11, OpenGL 3.3+, GNM<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Control over rendering and font caches<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed border image repeat mode<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Video loop playback<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Coherent Editor is now packaged as dmg on Mac OS X<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Sample application for Microsoft Xbox One<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added a new default sample interface that is editable with the Coherent Editor<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">Documentation<\/span><\/td>\n<td>Removed all samples that were using the GSAP animation library<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.6.2.3<\/a> &#8211; released 14 Dec 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.10.1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.6.2.1<\/a> &#8211; released 01 Dec 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved performance of CSS animations<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added <code>SystemSettings.AnimationFrameDefer<\/code> to allow controlling the update rate of CSS animations and transitions<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added a a new field &#8220;IsSystemKey&#8221; in <code>Coherent::UIGT::KeyEventData<\/code><\/p>\n<div class=\"alert\">This field denotes whether the event is tagged as a &#8220;system key&#8221; 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<br \/>\nbehavior you can set this field to the same value as<br \/>\n<code>KeyEventData::Modifiers::IsAltDown<\/code>.<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent GT supports binding Array to JavaScript in Blueprints<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Improved Mouse Input integration<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.6.1.6<\/a> &#8211; released 18 Nov 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.10<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.6.1.4<\/a> &#8211; released 12 Nov 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed loading of external JavaScript and CSS sources in Coherent Editor<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.6.1.3<\/a> &#8211; released 11 Nov 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td><a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/d7\/d45\/_localization.html\" target=\"_blank\" rel=\"noopener noreferrer\">Localization API for GT.<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The <code>:active<\/code> pseudo-selector is now activated only on left clicks<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed playing video with higher than 480p resolution served by some HTTP servers<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Crash when opening vimeo.com<\/p>\n<div class=\"alert alert-info\">vimeo.com requires h264 or Flash to play videos and is not supported in Coherent GT<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Updated the Unreal Engine 4 Localization sample to use the new localization API<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Unity3D inspector events for Views and Binding<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Gamepad support and sample for Unity3D<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Localization API and sample for Unity3D<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.6.0.2<\/a> &#8211; released 27 Oct 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Gamepad API support<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent Editor 1.0<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added method on View for changing the Media Type<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent Editor for Mac OS X<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for CSS cursors<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Cache policies are honored for XHR requests<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Added new Unity3D game sample<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Removed per-frame memory allocations in Unity3D<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Fixed crash on exit in Unity3D<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Gamepad API support for Unreal Engine 4<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Mouse Cursor API for Unreal Engine 4<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Simplified the Localization Menu HUD<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>UE4 will no longer import files under editor directories<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Pages developed in Coherent Editor will reload on playing<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a crash in Coherent Editor<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.5.1.0<\/a> \u2013 released 5 Oct 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.9.2<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added a launcher serving as quick access hub for Coherent GT for UE4 plugin<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added the <a href=\"http:\/\/coherent-labs.com\/blog\/first-peek-into-the-coherent-gt-editor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Coherent Editor<\/a> in the native Coherent GT<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added a launcher serving as quick access hub for Coherent GT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.5.0.7<\/a> &#8211; released 30 Sep 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.9.1<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>GTMaterial is compatible with Unreal Engine 4.8<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Key modifiers are correctly set for mouse events<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Removed obsolete assets<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.5.0.0<\/a> &#8211; released 14 Sep 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent GT now allows clients to control the time in the page<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added Coherent::UIGT::SystemSettings::ControlTime property which is used for enabling Time control<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added a new <code>UISystemListener<\/code> class used for UI system-wide notifications and callbacks<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Implemented radial gradient effects<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added documentation for the C++ HelloGT sample<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash with when using <code>canvas<\/code> in asynchronous mode<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when using proxy settings<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Layer clipping rectangles take scaling into account<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed Elements overlay triggering asserts in the Debugger<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Mac OS X support in Unity3D<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">Unity3D<\/span><\/td>\n<td>Coherent View works with post effects in Unity3D<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.9<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent Editor can now be launched from the Coherent GT menu<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.4.0.1<\/a> &#8211; released 19 Aug 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The installer asks for existing project folder only when adding Coherent GT to an existing game<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.4.0.0<\/a> &#8211; released 18 Aug 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>GPU accelerated <code>canvas<\/code> element<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added the run-time event name in the <code>COHERENTGT_TRIGGER_EVENT_SCOPE<\/code> macro<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>The &#8220;ended&#8221; event for video elements is correctly emitted<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed memory allocation related crash<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Audio playback in UE4<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added a complex game menu sample<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added a new setting for Coherent GT that allows specifying a custom<br \/>\n<code>coui:\/\/<\/code> resource root, useful for debugging<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>The &#8220;Coherent GT\/Add HUD&#8221; menu entry is now available if you add a Blueprint Game Mode override in the world settings as well<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td><code>SCoherentUIGTInputForward<\/code> correctly traces mouse movements over 3D meshes with scaling\/skewing transforms<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>GT&#8217;s installer now better guides at the user during installation as game plugin<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.3.0.1<\/a> &#8211; released 28 July 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added a sample map depicting proper async usage.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>SSL connections that have certificate errors now report the error and can be continued or stopped.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Clients can provide their own Certificate Authorities bundle for authenticating SSL connections.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Control over the Garbage Collector<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Control over cookies<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td><code>coui<\/code> protocol can stream video files<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Removed the samples&#8217; dependency on the D3DX library on Windows. The samples now use precompiled shaders for D3D9.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Live views are now supported under async mode.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Unlimited growing of state and clip stacks of <code>&lt;canvas&gt;<\/code> are now reported<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed rendering artifacts for videos<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed potential memory leak and task handling during uninitialization when using async mode.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rendering artifact that can occur when resizing a layer<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Rare crash on re-initialization UISystem<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added <code>View::TriggerEvent<\/code> and <code>Coherent::UIGT::TriggerEvent<\/code> overloads for up to 8 arguments.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Every <code>TriggerEvent<\/code> call starts with the<br \/>\n<code>COHERENTGT_TRIGGER_EVENT_SCOPE<\/code> macro, which can be defined for custom behavior within the TriggerEvent scope.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Recording events is now done C++ which improves profiling JavaScript code<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added <code>View::IsReadyForBindings<\/code> method, which is a convenient way of checking whether the coherent.js bindings are ready to use<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added UISystem::EraseAllCookies method which deletes all cookies<\/td>\n<\/tr>\n<tr>\n<td><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Moved Coherent GT assets to the Engine directory<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Deprecated the Software renderer<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Non-RHI rendering is now deprecated<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>The Unreal Engine 4 installer installs the Coherent GT plugin as a game plugin for binary Unreal Engine 4 engine.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.2.0.0<\/a> &#8211; released 01 July 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Coherent GT Async support &#8211; all the CPU work of the library can be moved to a work thread. For additional details please consult the<br \/>\n<a href=\"http:\/\/coherent-labs.com\/Documentation\/cpp-gt\/d4\/dbb\/_async.html\" target=\"_blank\" rel=\"noopener noreferrer\">documentation<\/a>.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Users can add custom events to the Inspector Timeline<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Support for Unreal Engine 4.8.1<\/p>\n<div class=\"alert alert-info\">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.<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>TriggerEvents are visible in the Inspector Timeline<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Greatly expanded the <a href=\"http:\/\/coherent-labs.com\/Documentation\/performance-unreal-engine\/\" target=\"_blank\" rel=\"noopener noreferrer\">Performance guide<\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Reduced the JavaScript call from native overhead by ~15%<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Split the new DirectX 11 backend in a delay-loaded library<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added a flag to the LoadURL calls that defines if to use the memory cache during load.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>The <code>View::Layout<\/code> 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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a bug that caused stale resources to be loaded in Views in during development.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a rendering bug that caused some shadows to be rendered incorrectly.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.1.0.3<\/a> &#8211; released 15 June 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent GT UMG Widget. Coherent GT Views can be embedded in an UMG widget and Coherent GT and UMG work seamlessly together<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td><a href=\"http:\/\/coherent-labs.com\/blog\/first-peek-into-the-coherent-gt-editor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Coherent GT Editor<\/a> is now in public beta. Coherent GT comes with a powerful integrated UI editor<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>New DirectX 11 backend. Improves rendering performance by 20-30%. To enable use the <code>CRDT_Dx11New<\/code> enum value on<br \/>\n<code>SystemRenderer<\/code> initialization. The new backend is still in Beta, there might be some effects missing.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Performance audit. Coherent GT can analyse a View and give suggestions on how to improve performance on it.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Reduced JavaScript event call overhead x3 for user defined types. It is now much faster to call JS from C++.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved layer resizing algorithm, saves unneeded texture re-creations.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved the coherent.js support when working in-browser.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Rewritten the memory management of Coherent GT. Improves performance by 10-15%.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved the dirty-rect algorithm. GT now does less paints.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug in the image cache that caused images to be decoded again and again.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a regression that caused coherent.js to throw an exception when running in a browser.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed input handling on elements with perspective 3D transforms.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 1.0.1.7<\/a> &#8211; released 13 May 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Live Views (Picture-in-picture). You can have content rendered by the 3D engine directly in the UI.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Perspective CSS3 transforms. Allows adding pseudo-3D elements in the page.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>CSS3 Image Filters. Layers can now have post effects applied to them (blurs, shadows, color filters).<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Implemented performance warnings. Warnings fire when a certain threshold is reached and warn the allow developers to notice eventual performance regressions much sooner.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Default rendering for most controls.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Texture cache control. Developers now have control over the size of the texture cache and can check how full it is.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added Mac OS X support.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added binding of properties with const reference setters.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Reworked JavaScript garbage collection; JS now uses much less memory.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added a new parameter to the OnNavigateTo method that tells if the navigation is happening to the main frame.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed in-memory cache &#8211; it was never re-enabled after system un-initialization and thus caused textures not to be reused.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed clipping of layers. Some layers were not working correctly as clips of their descendants.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a bug that caused Canvas contents to be copied in always new fresh textures.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Added layer size clamping.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a crash in layers due to a missing reference.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.7.1<\/a> &#8211; released 10 Mar 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed layer clipping and re-draw when compositing is enabled.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed a DirectX 11 state caching bug that caused too many blend states to be created.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.7.0<\/a> &#8211; released 06 Mar 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Accelerated compositing &#8211; allows for very fast updates of layers and reduces painting.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>CSS3 Transforms allow to have 3D elements in your UI<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>CSS3 Animations allow to animate the UI with declarative CSS syntax<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.7.2<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Asynchronous click-though for DirectX 9<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when binding large structures to JavaScript<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when using the JavaScript bindings before they are initialized<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Renamed the <code>Coherent::MemoryManagement<\/code> namespace to<br \/>\n<code>Coherent::MemoryManagementGT<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.6.2<\/a> &#8211; released 02 Mar 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added a custom blueprint node that allows triggering JavaScript events only within that node.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.6.0<\/a> &#8211; released 18 Feb 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>New RHI renderer! The new renderer increases performance by 25-40% and is fully integrated in the UE4 pipeline.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>HTML assets are now imported into UE4&#8217;s content browser. All UI resources are visible in the UE4 Content Browser window.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Click-through implementation now never causes GPU-CPU stalls.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Updated and greatly expanded the documentation. Added Workflow and Performance guides.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>The GT installer now bundles ready-made Blueprints and objects for easier integration in projects.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent GT for Unreal now supports Shader Model 4-capable video cards.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for click-through control through Blueprints.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a crash with the RHI renderer when the mouse is on the right or bottom edge of the screen.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a bug in the RHI renderer that caused rare artifacts due to wrong start index.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.5.2<\/a> &#8211; released 27 Jan 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>External memory management support. Users can now specify routines for memory allocation and deallocation and strictly control the memory usage of Coherent GT.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Removed some third-party dependencies. The overall size of the SDK is reduced as well as the libraries count.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Reduced memory footprint.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Improved overall performance by removing some unnecessary software layer re-sizes.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>On Windows True-Type font collections are loaded along with standalone fonts.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Numerous fixes and improvements in the RHI renderer across all platforms.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Fixed a rare crash on system destruction.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.4.0<\/a> &#8211; released 08 Jan 2015<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Memory Management API<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Disk Cache API<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>WebSocket support<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.3.0<\/a> &#8211; released 20 Dec 2014<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Added new API method OnTextInputTypeChanged for easier IME integration<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Renamed InitializeUISystem to InitializeUIGTSystem so that it doesn&#8217;t clash with Coherent UI 1.x<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Removed all wchar_t* types from the public API. All methods now work consistently with UTF8 strings. Affected methods: OnFinishLoad, OnFailLoad, OnStartLoading, OnNavigateTo<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Renamed the Logging namespace to LoggingGT for easier side-by-side work with Coherent UI 1.x\/2.x<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><\/td>\n<td>Renamed ResourceRequestBase and ResourceResponse to ResourceRequestUIGT and ResourceResponseUIGT<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Unified all font rendering across supported platforms<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Better texture caching. Less texture memory will be used.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added workflow documentation guide, located in the &#8220;Documentation&#8221; folder of the SDK.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added a performance testing client in the Coherent GT SDK, located in the &#8220;GTPlayer&#8221; folder<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Added a chapter for best practices in the documentation<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Removed a possible debug-break in all builds related to the SSL number generator<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.6.1<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Coherent GT plugin is an <em>engine<\/em> plugin<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Unified all font rendering across supported platforms<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Better texture caching. Less texture memory will be used.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added workflow documentation guide, located in the &#8220;Documentation&#8221; folder of the SDK.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added a chapter for best practices in the documentation<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added new API method OnTextInputTypeChanged for easier IME integration<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Removed a possible debug-break in all builds related to the SSL number generator<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.2.0<\/a> &#8211; released 03 Dec 2014<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Video support through WebM and VP8\/VP9<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Audio support through Vorbis<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Resource request headers are now accessible from the Resource Handler<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Substantially improved the scaling performance during animations<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Support for Unreal Engine 4.6<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Simplified input handling<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added <code>SCoherentUIGTInputForward::SetPropagateKeyboardEvents<\/code>, which allows controlling whether keyboard events are consumed or propagated to other widgets when the input forwarder has keyboard focus.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Changed<br \/>\n<code>ACoherentUIGTInputActor::AllowJoystickInputWhileUIIsFocused<\/code> to<br \/>\n<code>ACoherentUIGTInputActor::SetInputPropagationBehaviour<\/code>.<br \/>\n<code>ACoherentUIGTInputActor::AllowJoystickInputWhileUIIsFocused<\/code> is now deprecated. The new method allows specifying not only joystick events propagation, but keyboard ones as well.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-warning\">API<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Changed<br \/>\n<code>ACoherentUIGTInputActor::IsJoystickInputWhileUIIsFocusedAllowed<\/code> to<br \/>\n<code>ACoherentUIGTInputActor::GetInputPropagationBehaviour<\/code>.<br \/>\n<code>ACoherentUIGTInputActor::IsJoystickInputWhileUIIsFocusedAllowed<\/code> is now deprecated.<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Removed code from sample for deprecated input component binder. Only the input forwarding widget (<code>SCoherentUIGTInputForward<\/code>) and its wrapper (<code>ACoherentUIGTInputActor<\/code>) are used for input now.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"changelog\">\n<h4><a class=\"infoChangelog\" href=\"\/request-demo\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version 0.9.1.0<\/a> &#8211; released 22 Nov 2014<\/h4>\n<table class=\"table table-hover\">\n<tbody>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><\/td>\n<td>Fixed crash when exporting empty arrays and maps to JavaScript<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Added Binder::PeekValueType to allow more dynamic binding<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/td>\n<td>Moved initial script execution after engine has been initialized<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><\/td>\n<td>Expose API for setting proxy settings<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Evaluation version of Coherent GT<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Improved performance when using scaling<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Name clashes between Coherent UI and Coherent GT plugins<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>coui:\/\/ handler supports URLs with query and fragments<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-success\">Enhancement<\/span><\/p>\n<p><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Improved installer<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-danger\">Fix<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Crash when running multiple clients in a single process<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Added support for Unreal Engine 4.5.0<\/td>\n<\/tr>\n<tr>\n<td class=\"col-md-2\"><span class=\"label label-info\">Feature<\/span><span class=\"label label-default\">UE4<\/span><\/td>\n<td>Moved UIResources folder to CoUITestFPS\/Contents so UI resources can be automatically packaged.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><!-- Paste until here --><\/p>\n<p><!-- End of tab 1 --><\/p>\n<p><!-- Start of tab 2 --><\/p>\n<div id=\"tab2\" class=\"tab-pane\">\n<div class=\"row\" style=\"margin-left: 0;\">\n<div  class=\"empty-space  marg-lg-b60 marg-sm-b50\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Version 2.9.23.0 &#8211; released 06 Jun 2023 Fix Fixed crash when element is hovered in the inspector Version 2.9.22.0 &#8211; released 21 Oct 2022 Fix Fixed DST date calculations on Microsoft platforms Fix Fixed issue with generating NaN values when using the &#8211;allowSDFonGPU developer option Fix Fixed crash when element is hovered in the inspector [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Changelog: Coherent GT Coherent Labs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Changelog: Coherent GT Coherent Labs\" \/>\n<meta property=\"og:description\" content=\"Version 2.9.23.0 &#8211; released 06 Jun 2023 Fix Fixed crash when element is hovered in the inspector Version 2.9.22.0 &#8211; released 21 Oct 2022 Fix Fixed DST date calculations on Microsoft platforms Fix Fixed issue with generating NaN values when using the &#8211;allowSDFonGPU developer option Fix Fixed crash when element is hovered in the inspector [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/\" \/>\n<meta property=\"og:site_name\" content=\"Coherent Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CoherentLabs\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-17T08:08:23+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/05\/logo_GT_04d3766f739b854421b6042683bc5e2a.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@CoherentLabs\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"57 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/\",\"url\":\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/\",\"name\":\"Changelog: Coherent GT Coherent Labs\",\"isPartOf\":{\"@id\":\"https:\/\/coherent-labs.com\/posts\/#website\"},\"datePublished\":\"2018-01-15T14:03:01+00:00\",\"dateModified\":\"2024-01-17T08:08:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/coherent-labs.com\/posts\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Changelog: Coherent GT\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/coherent-labs.com\/posts\/#website\",\"url\":\"https:\/\/coherent-labs.com\/posts\/\",\"name\":\"Coherent Labs\",\"description\":\"Cross-Platform Game UI Middleware\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/coherent-labs.com\/posts\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Changelog: Coherent GT Coherent Labs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/","og_locale":"en_US","og_type":"article","og_title":"Changelog: Coherent GT Coherent Labs","og_description":"Version 2.9.23.0 &#8211; released 06 Jun 2023 Fix Fixed crash when element is hovered in the inspector Version 2.9.22.0 &#8211; released 21 Oct 2022 Fix Fixed DST date calculations on Microsoft platforms Fix Fixed issue with generating NaN values when using the &#8211;allowSDFonGPU developer option Fix Fixed crash when element is hovered in the inspector [&hellip;]","og_url":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/","og_site_name":"Coherent Labs","article_publisher":"https:\/\/www.facebook.com\/CoherentLabs\/","article_modified_time":"2024-01-17T08:08:23+00:00","og_image":[{"url":"http:\/\/coherent-labs.com\/wp-content\/uploads\/2017\/05\/logo_GT_04d3766f739b854421b6042683bc5e2a.png"}],"twitter_card":"summary_large_image","twitter_site":"@CoherentLabs","twitter_misc":{"Est. reading time":"57 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/","url":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/","name":"Changelog: Coherent GT Coherent Labs","isPartOf":{"@id":"https:\/\/coherent-labs.com\/posts\/#website"},"datePublished":"2018-01-15T14:03:01+00:00","dateModified":"2024-01-17T08:08:23+00:00","breadcrumb":{"@id":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/coherent-labs.com\/posts\/changelog-coherent-gt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/coherent-labs.com\/posts\/"},{"@type":"ListItem","position":2,"name":"Changelog: Coherent GT"}]},{"@type":"WebSite","@id":"https:\/\/coherent-labs.com\/posts\/#website","url":"https:\/\/coherent-labs.com\/posts\/","name":"Coherent Labs","description":"Cross-Platform Game UI Middleware","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/coherent-labs.com\/posts\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/pages\/14210"}],"collection":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/comments?post=14210"}],"version-history":[{"count":57,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/pages\/14210\/revisions"}],"predecessor-version":[{"id":15963,"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/pages\/14210\/revisions\/15963"}],"wp:attachment":[{"href":"https:\/\/coherent-labs.com\/posts\/wp-json\/wp\/v2\/media?parent=14210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}