Skip to content
SiteEmail

LTS Releases


API

Getters for data-binding model properties used in complex data-binding expressions are evaluated only once per model synchronization.

API

Complex data-binding expressions with side effects are evaluated only once per synchronization.

Feature

Added support for numerical value comparison in a custom media feature.

Enhancement

Improved style inheritance performance by optimizing inheritance resolution and reducing styling overhead.

Enhancement

Improved styling performance for custom variables by reducing recalculation costs.

Enhancement

Improved styling performance for SVG-heavy content by reducing the cost of processing large numbers of inline SVG elements.

Enhancement

Improved rendering performance by optimizing visual style calculations for large layout trees.

Enhancement

Improved transform update performance by reducing processing overhead across large layout trees.

Enhancement

Optimized repeated data-binding expressions by evaluating them once per synchronization.

Enhancement

Reduced the magnitude of spikes caused by garbage collection tracing.

Enhancement

Optimized data-bind-value by 25% when the underlying property has not changed.

Enhancement

Reduced copies and allocations when getting string property values from data-binding models.

Enhancement

Improved data-binding performance by optimizing expression evaluation during model synchronization.

Enhancement

Improved content update performance by avoiding unnecessary HTML parsing for simple text updates when using innerHTML

Fix

Fixed a crash when calling caretPositionFromPoint for inline SVG.

Fix

Fixed incorrect spacing and an assert when composed characters without matching font glyphs are drawn.

Fix

Fixed accumulation of DOMRect instances until the next major garbage collection.

Fix

Fixed a layout regression related to single flex-child height calculation.

Fix

Fixed garbage collection of custom elements when they are not attached to the DOM but have reactions to be invoked.

Fix

Fixed cases where SVG animations would fail to restart after being hidden.

Fix

Fixed cases in which the layout of :after pseudo elements would be incorrect.

Fix

Resolved warnings caused by HTML or SVG parsing errors.

Fix

Fixed incorrect draw order of text decorations.

Fix

Fixed an assert in the player when scrolling with high-precision mice.


Enhancement

Added more L2 profile scopes for WT_Resources tasks executed on worker threads

Fix

Fixed a bug causing the leaking of objects related to path tessellations

Fix

Fixed a bug causing some vertex and index buffers used for paths to be destroyed with a delay of several frames

Fix

Fixed complex text letter-spacing not being applied at first glyph boundary

Fix

Fixed an assert about nodes being destroyed on the on the style thread when using the ResizeObserver


Fix

Fixed using the HTTPServer library with MSVC redistributable version 14.28 and newer for platforms using the Microsoft GDK

Fix Unity

Fixed running with MSVC redistributable libraries version 14.28 and newer for platforms using the Microsoft GDK for Unity

Fix

Fixed a bug resulting in a wrongly calculated image data size and causing asserts to be hit in the Rendering Backend code

Fix

Fixed long complex selectors with descendant combinator sometimes failing to match correctly

Fix

Fixed an assert when firing events on clone of a node with on* event listeners attached

Fix

Fixed a bug resulting in leaking vertex and index buffers used for CPU tessellated paths when destroying a View


Feature

Added complete support for binding dynamically typed values and implemented support for std::variant.

Enhancement

Simplified loading of the cohtml library on Linux by adding rpath.

Enhancement Unreal Engine

Update Prysm statistics only when the stats are visible.

Fix Unreal Engine

Fixed warnings triggered when binding arrays of FVector instances in Unreal Engine.

Fix

Fixed text-stroke artifacts that occurred when the text-stroke-width property changed.

Fix

Fixed a flex gap issue that left extra trailing space.

Fix

Fixed text-stroke failing to apply width when styled dynamically.

Fix

Fixed a bug in WebP image decoding that caused artifacts in alpha values around the image boundaries.

Fix

Fixed lossy WebP alpha decoding for images with widths not divisible by the pixels-per-byte ratio.

Fix

Fixed a crash during view destruction when using animated pseudo-elements.


API

Removed support for Sony PlayStation 5 SDK 10

API

Removed support for Sony PlayStation 5 SDK 11

API

Switched the default PlayStation 5 SDK to version 12

API Unity

Switched the PlayStation 5 SDK to version 12 for Unity

API

Switched prebuilt ICU libraries to be using C++20 for PlayStation 5

API

The prebuilt ICU libraries using C++17 for PlayStation 5 have been renamed to have a cpp17 suffix

Enhancement

Added support for Sony PlayStation 5 SDK 13

Enhancement

Improved insertion performance of new data-binding expressions

Enhancement

Improved performance of data-bind-value updates

Enhancement

Improved the samples for the Custom Effects to properly handle rendering to a render target with depth-stencil attached to it

Fix

Fixed a bug related hiding and destroying elements with coh-composition-id causing the hitting of internal assert in the rendering library

Fix

Fixed incorrect CJK punctuation wrapping in inline layout between different elements

Fix

Fixed running with MSVC redistributable libraries version 14.28 and newer for platforms using the Microsoft GDK

Fix

Fixed a crash when navigating back in history when the history items contain non-empty state

Fix

Fixed a bug in the rendering library related to clipping of text elements and causing visual artifacts

Fix

Fixed a bug in the provided OpenGL rendering backend causing the invalid reuse of frame buffers resulting in visual artifacts

Fix

Fixed a bug in the rendering library related to usage of a wrong sampler object causing some elements with image-rendering: pixelated to be rendered wrongly

Fix Unreal Engine

Fixed handling of Korean language with the Input Method Editor

Fix Unreal Engine

Fixed hiding mouse cursor when using a HUD and keyboard and gamepad propagation


Enhancement

Improved insertion performance of new data-binding expressions

Enhancement

Improved element removal performance for data-binding attributes during high-volume SynchronizeModels calls

Enhancement

Introduced detailed data-binding scopes for level 2 performance profiling

Fix

Fixed videos freezing after the first playthrough

Fix

Fixed possible crash when calling custom element callbacks


Fix Unity

Fixed invalid UTF-8 strings causing exceptions in the C++/C# binding code

Fix Unity

Fixed a deadlock when using text transformations in Unity

Fix

Fixed a crash when using unsupported video codecs

Fix

Fixed INodeProxy::GetAttribute returning the attribute name rather than its value

Fix

Fixed a potential crash caused by INodeProxy::GetAttribute writing past the input buffer size

Fix

Fixed a crash when using special characters with complex text languages

Fix

Fixed a crash when using the clip-path CSS property with polygon shapes

Fix

Fixed a crash when handling font resource requests during abort notification

Fix

Fixed a crash where font load/unload triggered resource requests to register or unregister other fonts

Fix

Fixed a bug that disconnected the Inspector for an inspected View when another View is destroyed

Fix

Fixed a crash when using the ResizeObserver API

Fix

Fixed an untagged allocation assert when wrapping complex text

Fix

Fixed a bug in the WebP decoding logic leading to a crash when loading certain images

Fix

Fixed parsing of SVG transform attributes

Fix

Fixed signing of RenoirCore for MacOS to use non-development certificate

Fix

Fixed an assert when unloading an SVG with a <use> element

Fix

Fixed a crash when calling a constructor of an undefined custom element

Fix

Fixed a bug in the rendering library causing a CPU memory leak

Fix

Fixed backdrop filter blur artifacts

Fix Unity

Fixed data binding for 32-bit Android platforms with IL2CPP for Unity


API

Removed support for Sony PlayStation 5 SDK 9

Enhancement

Support for Sony PlayStation 5 SDK 12

Enhancement

Updated Microsoft GDK version to 2025.04

Fix Unity

Fixed data-binding in Unity for Android ARM64 and x64 with IL2CPP scripting backend

Fix Unity

Fixed using custom UISystem instances for Android with Vulkan renderer

Fix

Allowed prefetching of the same script or stylesheet if requested by multiple elements in the DOM

Fix

Made prefetching of resources/stylesheets work for all elements that reference the same resource

Fix

Fixed binding of C++ arrays when not using TryBindArrayByRef with safe by reference binding

Fix

Fixed ‘Disable JavaScript samples’ checkbox under Inspector’s Performance tab not working

Fix

Fixed an assert failure when trying to scroll an element via JavaScript that is not in the DOM

Fix

Fixed a crash during style solving of SVG elements

Fix

Fixed running with MSVC redistributable libraries version 14.28 and newer

Fix

Fixed a bug related to the paths tessellation cache causing a crash on a worker thread

Fix

Added runtime capabilities checks for the native DirectX 11 and DirectX 12 backends that prevent visual artifacts on older embedded Intel GPUs

Fix

Fixed a bug related to drawing of elements with backdrop-filter causing a visual artifact

Fix

Added a better handling of constant texture recreation in the native Switch rendering backend

Fix

Fixed visual artifacts with text and SVGs on Nintendo Switch 2 with the native backend

Fix

Fixed multithreaded race conditions causing DOM object lifetime issues

Fix

Fixed crash when decoding large WebP images

Fix

Fixed a bug in the player application related to DirectX 12 compositor causing a visual artifact

Fix

Removed warning for missing properties in data binding expressions for data-bind-if and data-bind-class-toggle when missing properties are used as false values

Fix Unreal Engine

Fixed trying to use destroyed textures in Unreal Engine


Fix

Fixed losing precision when binding large values of 64 bit long type

Fix

Fixed wrong type name of dynamic properties with the Safe Data Binding enabled

Fix

Fixed JS Max call stack size exceeded error in Unity on Android

Fix

Fixed a race condition when creating script compilers or views in parallel

Fix

Fixed text rendering with HDR colors

Fix

Fixed a crash with precise data-binding when the same object is changed, removed and added to a collection

Fix

Fixed rendering on Nintendo Switch when the game uses non-default stencil mask values


Fix

Fixed using complex expressions inside [] in data-binding expressions

Fix

Fixed access to methods of models and JavaScript APIs in data-binding expressions

Fix

Fixed data-binding for wide strings (UTF-16 and UTF-32), enumerations and pointers to primitive types

Fix

Fixed reading of UTF-32 strings from JavaScript

Fix

Fixed infinite recursion and hang when matching complex descendant selectors

Fix Unity

Fixed missing rendering in Unity with Vulkan for certain Android devices

Fix

Fixed crash when using precise updates for data-bind-for with unused iterator or empty containers


Fix

Fixed crash when unloading an SVG used as an image before it has completed loading

Fix Unity

Fixed disappearing views when the Game window loses focus in SRP with DirectX12 in Unity3D

Fix Unreal Engine

Fixed leaking of User Background textures when a View gets destroyed before a WrapUserTexture call is received for them


API

Changed shaders to allow for improved batching of gradients and applying color matrix in the pixel shaders

Feature

Allowed the closing }} braces to be anywhere in a data binding expression and still evaluate the expression in the most efficient way

Feature

Introduced a new way of achieving backdrop filter effect with a focus on performance and memory usage. See the documentation for more information

Enhancement

Made the HTTPServer and MediaDecoders to be compatible with Android 16KB Pages

Enhancement

Improved the performance of the provided native DirectX 12 rendering backend by refactoring the logic for GPU descriptors handling, texture updating, and binding of pixel shader textures. See the new DirectX 12 documentation for more performance insights

Enhancement

Added a new documentation for the provided native DirectX 12 reference backend. See the documentation for more information

Enhancement

Removed the ‘Total Memory’ and ‘Spike Memory’ performance counters

Enhancement

Support for Nintendo Switch SDK 20

Enhancement Unreal Engine

Ensured the virtual keyboard is showing when clicking or touching on already focused text input

Enhancement Unreal Engine

Added delegates for customizing the LibraryParams, SystemSettings and ViewSettings in Unreal Engine

Enhancement Unreal Engine

Added ICohtmlPlugin::OnGetDataStorageProvider delegate for providing implementation of the cohtml::IDataStorageProvider interface

Enhancement Unreal Engine

Complete support for Unreal Engine 5.6

Fix

Fixed the accumulation of DOM Event instances until the view is navigated to another URL

Fix

Fixed a bug where the size of the user background for the backdrop filter wasn’t getting properly updated, leading to visual artifacts for a single frame

Fix

Fixed a crash when navigating a View while there is a dynamic import in flight

Fix

Fixed spacing between text nodes when the element has no definite size constraints imposed on it (e.g. has no specified width in the styles)

Fix

Fixed a crash when accessing array elements inside array elements that have been erased

Fix

Fixed a bug for xml:space attribute with preserve value where whitespace on SVG <text> elements would be incorrectly trimmed instead of preserved

Fix

Fixed a bug where extra whitespace would be incorrectly appended at the end of SVG <text> elements.

Fix Unity

Fixed the backdrop filter effect in HDRP and URP mode in Unity

Fix Unity

Fixed a hang in the Unity Editor with DirectX 12 when the preview window loses focus

Fix Unity

Added the Visual Studio Code plugin for autocomplete in the Unity UPM packages

Fix

Fixed a bug with the usage of non-standard rendering resolution, causing a one-pixel artifact for some DOM elements

Fix

Fixed a wrong calculation of color matrices that was observed with the standard invert filter and custom color matrices with color bias

Fix

Fixed a bug with the unloading of raster fonts, leading to visual artifacts when rendering text

Fix

Fixed a bug with the drawing of repeated images from image atlases, leading to wrong sections of the atlas being rendered

Fix

Fixed crash triggered by JavaScript callbacks removing DOM nodes after they were scheduled for style solving

Fix Unreal Engine

Fixed support for multiple touches on physical mobile devices

Fix Unreal Engine

Fixed a false-positive warnings for not yet destroyed UCohtmlWidget objects when changing maps in Unreal Engine

Fix

Fixed a bug with the gradients that was causing invalid memory access when having invalid color stops in the CSS

Fix Unreal Engine

Fixed a crash in custom effects drawing when UCohtmlWidget are destroyed

Fix Unity

Fixed the rendering on Android with Vulkan rendering API enabled


Feature

Added support for blending UI content with the game content behind the UI texture. For more information, see the documentation of the feature

Enhancement

Added support for using white-space: nowrap to group multiple non-wrapping nodes

Enhancement

Added --remote-debugging-port and --js-flags command line options to the Player to improve compatibility with tools for Chromium based browsers

Enhancement

Added --working-dir-to-exec-dir for setting the Player working directory to be the same as the directory containing the Player executable

Enhancement

Updated Android samples to be compatible with Android Studio Koala 2024.1.2 and Gradle 8.6.0

Enhancement Unity

Improved the UI of the data-binding leader board sample in Unity

Enhancement

Improved fetching of media data to accommodate for high bit-rate video files

Enhancement

Improved decoders synchronization during playback to prevent performance stalls on the game thread

Enhancement

Improved decode scheduling to reduce video playback stalls

Enhancement

Improved memory efficiency of video playback

Enhancement

Significantly reduced layout performance overhead of playing videos

Enhancement

Improved video frame display timing

Enhancement

Added support for sharing depth-stencil textures with different size than the color texture

Enhancement

Enhanced the Player command-line help descriptions for options with enum values

Enhancement

Support for Sony PlayStation 5 SDK 11.000

Enhancement

Support for Sony PlayStation 4 SDK 12.500

Enhancement

Added DirectX 12 support to the Player

Enhancement

Updated the documentation for implementing the Property interface for using data-binding with dynamic types

Enhancement

Allowed empty arrays to be indexed in data-binding expressions

Enhancement

Added a warning if the pre-compiled optimized data is not compatible and will not be used to speed JavaScript execution

Enhancement Unreal Engine

Added preliminary support for Unreal Engine 5.6

Enhancement Unreal Engine

Fixed allocator mismatch crash for mobile platforms by using StaticAllocatorType.Ansi Allocator for mobile platforms

Enhancement Unreal Engine

Added documentation how to ensure that there is no allocator mismatch on mobile platforms

Enhancement Unreal Engine

Added detection and warning for user UTextures whose lifetime is bound to a UWorld

Enhancement Unreal Engine

Added support for automated binding of fixed sized arrays

Fix Unreal Engine

Fixed window size and coordinates in JavaScript for UMG widgets

Fix Unreal Engine

Fixed UWorld unloading when changing maps with UMG widgets

Fix

Fixed using the Backdrop Filter and Custom Effects features in the Player

Fix

Fixed crash due to preloading font data of an already destroyed typeface

Fix

Fixed a crash when parsing complex data-binding expressions with lambda expressions

Fix

Fixed video memory leak when recreating the view

Fix

Fixed a compiler error when using /Zc:wchar_t- with Microsoft Visual Studio

Fix

Fixed wrong values with dynamic data binding when replacing attributes with setAttribute()

Fix

Fixed font-face rules in SVG styles affecting elements outside the SVG

Fix

Fixed inline SVGs not redrawing on font load when their font is not previously loaded

Fix

Fixed crash when trying to use non-inline SVG with keyframe rule

Fix

Stopped rematching all elements when an svg with style tag is inserted in the DOM

Fix

Fixed failing to restyle with attribute selectors inside SVG styles

Fix

Fixed adding and removing styles from inline SVGs

Fix

Fixed fonts failing to unload when font-face rule is inside SVG

Fix

Fixed error in complex data-binding expressions with JavaScript models that fail to compile

Fix Unity

Close the virtual keyboard when touching outside the input field on iOS

Fix

Allow asynchronous style solving when composition-id and custom-effect-name properties are empty or initial

Fix

Fixed a crash when setting a composition-id on the <html> element without surface partitioning

Fix

Fixed losing video volume adjustments on seek in the Player app

Fix

Fixed a potential stall at the end of the video causing it to get stuck

Fix

Fixed a crash when adding pathLength to SVG nodes which have no display

Fix Unity

Fixed support for multiple members of the same type in a class for data-binding in Unity

Fix

Fixed a ResizeObserver assert when destroying a non-inline SVG during styling

Fix

Fixed a possible crash if a ScriptCompiler instance was destroyed too soon

Fix

Limited the memory used for constant buffers

Fix

Fixed accumulation of memory in the GPU resource tracking

Fix

Fixed assert for re-exposing DOM nodes when GC happens inside cloneNode

API

Removed the default value of scriptType parameter in ScriptCompiler.Compile()

API

Removed ScriptCompiler::ScriptType::ST_Unknown

API

Removed support for Sony PlayStation 5 SDK 8.000

API

Removed support for Sony PlayStation 4 SDK 11.500


API

Added linear to sRGB color space conversion in shaders

Feature

Added support for pathLength attribute on SVG paths. By using a user defined length for the path, stroke-dasharray and stroke-dashoffset can be animated using only CSS as a percentage from the path length.

Feature

Added support for WebP images

Feature

Added support for the CharacterData.after and CharacterData.before DOM methods

Feature

Added support for the part pseudo-class and the exportparts attribute

Feature

Added --help command line argument for the Player application to list all available options

Feature Unity

Added support for .Net objects to be used as models for the data binding in the Unity3D integration

Feature Unreal Engine

Added Custom Effects support for UMG widgets

Enhancement

Optimized text shadows rendering. The default size for the shadow cache is reduced from 8 to 1 to save GPU memory. A performance warning has been added to indicate when the cache is full

Enhancement

Moved the computation of blur weights to the GPU to improve CPU performance

Enhancement

SIMD instructions are now utilized in the rendering library to improve CPU performance

Enhancement

Added CPU visible buffers in DirectX12 for better performance and reduced GPU memory usage

Enhancement

Added support for skew transforms on clipped or masked SVG elements with objectBoundingBox-based contentUnits

Enhancement

Added support for transform and transform-origin on SVG clip paths

Enhancement

Added support for custom CSS expressions with attributeStyleMap when setting the style via a string value

Enhancement

Added support for custom CSS expressions for coh-composition-id, coh-custom-effect-name, coh-custom-effect-string-param-1 and coh-custom-effect-string-param-2 styles

Enhancement

Added support for using textures in linear color space with the SDR gamma rendering pipeline

Enhancement

Added DOM.removeAttribute, DOM.focus, DOM.blur inspector APIs

Enhancement

Enhanced configuration support for the player - all options can now be configured with a config.toml file

Enhancement

Split Android and iOS platforms to a separate mobile package for native, Unreal and Unity

Enhancement

Improved multithreaded performance of the Sony PlayStation 5 samples by using the standard allocator

Enhancement

Added errors for invalid attributeStyleMap.set(prop, stringValue) calls

Enhancement Unreal Engine

Added logging of errors when the System actor can not begin destruction as there are still active HUD, components or widgets

Enhancement Unreal Engine

Added multi-touch support for UMG widgets

Enhancement

Added gamepad and keyboard input to the Manager UI sample

Enhancement

Enhanced logging for invalid css custom expressions to include the faulty expressions

Fix

Fixed a large memory spike caused by a single allocation during processing of rendering commands

Fix

Fixed cutting parts of some SVG images

Fix

Fixed applying fill-rule for SVG paths that override clip-rule

Fix

Fixed edge cases for transformed content using SVG clipPath or mask references

Fix

Fixed an assert when adding non-SVG elements inside the SVG DOM

Fix

Fixed using selectors before the ::slotted pseudo-class

Fix

Fixed garbage collection of CSS animations when firing animation events

Fix

Fixed CSS transitions of matrix3d styles

Fix

Fixed a potential deadlock during system destruction

Fix

Fixed a changing SVG images with innerHTML and insertAdjacentHTML

Fix

Fixed incorrect memory counters in the profiling API

Fix

Fixed the calculation of the peak usage bytes for constant buffers

Fix Unity

Resources requests are now thread-safe and handled on the main thread

Fix Unity

Fixed accumulation of Live Views in Unity3D

Fix

Fixed a crash when using latest vite and React


API

Removed developer option for using deprecated em behavior

API

Changed layout of constant buffer data for pixel shaders

API Unreal Engine

Added support for the incremental garbage collection in Unreal Engine 5. Projects leveraging Unreal Engine 4.27 will have the plugin files modified during project generation

Feature Unreal Engine

Added support for incremental garbage collection for Unreal Engine 5

Enhancement

Added Compositor and Surface Partitioning support for DirectX 12 in the Player application

Enhancement

Added an example blur filtering of a texture using a compute shader

Enhancement

Added a log message notifying that StylePropertyMap is not supported for SVG elements

Enhancement

Added DirectX 12 support to the default samples solution

Enhancement

Fixed unclosed profiling markers when using the default profiling backend on PC platforms

Enhancement Unreal Engine

Simplify view initialization when using UMG widgets

Enhancement Unreal Engine

Ensure virtual keyboard will not use the view or the InputProxy after InputBlur to prevent possible crashes

Fix

Fixed a layout regression with incorrect handling of undefined dimensions

Fix

Fixed crashes when data-bind-for iterator value is used in a single expression with other models

Fix

Fixed crashes with null pointer parents during style solving when using the IInputProxy API

Fix

Fixed hover and active pseudo-classes inside slotted and host brackets

Fix

Fixed stale styling when adding an element that creates a complex selector match

Fix

Fixed caret positioning in input and textarea elements when setting the value from JavaScript

Fix Unity

Fixed accumulation of C# implementations of public interfaces until the library is unloaded

Fix

Fixed localization sample for Nintendo Switch

Fix Unity

Fixed input issues in the MadRabbits sample

Fix

Fixed a resource leak of in the DirectX 11 backend

Fix

Fixed performance regression in text rendering

Fix

Fixed SVG border image rendering regression when SVG has no width and height

Fix

Fixed SVG mask size when using relative units

Fix

Fixed the calculation of em and rem units for inline SVG root element

Fix

Fixed updating of inline SVG styles when the root font style changes

Fix Unreal Engine

Updated Player starting scripts to list the available options

Fix Unreal Engine

Fix possible unpainted frames when using UMG widgets and destroying the scene

Fix Unreal Engine

Fix backdrop-filter on Mobile devices when MobileHDR is enabled

Fix Unreal Engine

Fix assert when using shared render target textures and UMG on Sony platforms

Fix Unreal Engine

Add missing lock in FCohTextureCollector::FindTexture

Fix Unreal Engine

Invalidate the IME Manager after deactivating and unregistering the Text Input Method Context, resolving a crash

Fix Unreal Engine

Fixed issues with EnsureMeshData when running with OpenGL

Fix Unreal Engine

Fixed selection issues when entering text with virtual keyboard

Fix Unreal Engine

Fixed deleting the last character of the input field when using virtual keyboard

Fix Unreal Engine

Fixed possible crash in FCohRenoirBackend::ReadTexture


Fix

Fixed performance regression when using :hover

Fix Unity

Fixed input issues in the MadRabbits sample in Unity


API

Changed the minimum supported version of Unity3D to 2020 LTS

API

Refactor Renoir rendering backends to apply the requested state right away

API

Added default constructor to the RenderCaps struct

API

Forbade re-entering SynchronizeModels to avoid asserts that Black list should be empty and possible infinite recursion

API

Added a View::IsPointToPickEnabled API to allow checking whether the ‘Select an element in the page to inspect it’ feature is enabled in the Inspector

Feature

Added support for Inline EcmaScript 6 modules

Feature Unreal Engine

Add possibility to share render targets between views

Enhancement

Enhanced performance of slotting in Shadow DOM

Enhancement

Added support for Nintendo Switch SDK 18

Enhancement

Automatically revert to async style solving when a CSS property that prevents it is no longer in use

Enhancement

Added error message when a module tries to import nonexistent exported symbol

Enhancement

Updated Microsoft XDK version to 2024 October Update 1

Enhancement

Migrated samples to use internally managed Depth Stencil textures

Enhancement

Listed additional options that can be passed when launching the Player in the Player.bat file

Enhancement

Improved warning message when complex data binding expression fails to compile

Enhancement

Added support for rem unit for length in SVG elements

Enhancement

Documented how to use a Sony PlayStation DualShock controller with the Player

Enhancement Unity

Updated the LogWriter documentation

Enhancement Unreal Engine

Switched to using TShaderRefs instead of raw FShader pointers

Enhancement

Made possible to set text content directly on a text node

Enhancement

Made the reflected attributes on the SVG element to respect the unit type

Fix

Fixed an occasional bad inspector timeline start time in subsequent performance profiling sessions

Fix

Fixed text-align for cohinline paragraphs inside absolutely positioned parents

Fix

Fixed preloaded styles failing to load when reused

Fix

Fixed using custom data-binding attributes with the Data-Binding expression calculator

Fix

Fixed wrongly nested profiling events with the default profiling tracer

Fix

Fixed scrolling of slotted elements

Fix

Fixed mouseenter not firing for a slot when entering a slotted element

Fix

Fixed em units in calc expressions when used on slotted elements

Fix

Fixed hover and active selectors with slotted elements

Fix

Fixed unreasonably large memory allocations when using background-size: initial; on gradients

Fix

Fixed a MutationObserver crash during document unload

Fix

Fixed a crash when connecting or disconnecting ResizeObservers inside a ResizeObserver callback

Fix

Fixed a crash when changing the value of input or textarea via JavaScript during an active IME composition

Fix

Fixed a crash when a text node is added to a SVG element

Fix

Fixed a crash when data binding removes SVG elements

Fix

Fixed a crash when removing reflected attributes from the SVG element

Fix

Fixed a crash when trying to set text-align for cohinline paragraphs

Fix

Fixed a rare GC crash when creating custom elements

Fix

Fixed a rare GC crash when logging errors during garbage collection

Fix Unity

Removed dependency on PIX for Microsoft Xbox platforms

Fix Unity

Fixed changelog hyperlink in UPM package

Fix Unreal Engine

Fixed an issue with CohtmlHUD rendering on Android in Unreal Engine 4.27 and OpenGL due to a bug in the RHI pipeline

Fix Unreal Engine

Set TwoSided option of HUDMaterial

Fix Unreal Engine

Fixed crash with compositor data being garbage collected while in use

Fix Unreal Engine

Fixed potential crashes when Async Texture Compiling is enabled for Unreal Engine 5.4 and above

Fix

Fixed a performance regression in text rendering


Feature

Optimized SynchronizeModels significantly by computing some of complex expressions in the attributes directly, without compiling and invoking a JavaScript function

Enhancement

Improved error message for engine.call to include the name of the function when there is no handler for it

Enhancement

Improved performance of UnregisterDataBindAttributes() for pages with a lot of data-binding attributes used

Enhancement

Modified the Components sample to use Shadow DOM

Enhancement

Optimized layout for deep DOM structures with automatically sized children

Enhancement

Optimized text layout performance and memory usage

Enhancement

Improved error messages when data binding expression fails to parse or compile

Enhancement

Added support for multiple keyframe rules with the same name

Enhancement Unreal Engine

Added a delegate for mouse wheel event in HUD setups

Enhancement Unreal Engine

Added sharing of depth stencil textures for views with compatible dimensions to save texture memory

Enhancement

Refactor backends to standardize the storing of GPU objects

Enhancement

Added profiling data and documentation for handling bad cases for the flex layout algorithm

Enhancement

Added the possibility to directly resolve a multi-sampled stencil texture region to 1xMSAA color texture for DirectX 11,12, and PlayStation rendering backends

Fix

Fixed child element transitions not triggering after the hidden parent becomes visible

Fix

Updated the TypeScript definitions for the cohtml.js

Fix Unity

Added Dispose method for the CohtmlLogHandler

Fix Unity

Fixed Unity 6 treating UPM packages as experimental

Fix

Disabled emitting of some profile events when Library::EnableProfiling is disabled

Fix

Fixed a visual artifact when applying backdrop filter to the whole viewport

Fix

Fixed visual artefacts of left over text when changing the text dynamically in an inline container

Fix

Fixed a crash when accessing unreachable array element with the safe binding enabled

Fix

Fixed a crash when a precompiled script throws an exception

Fix

Fixed animations sometimes failing to pause or wrongly resuming

Fix

Keyframe rules no longer pass the shadow DOM boundary

Fix

CSS animations now stop once their keyframe rule is removed

Fix Unreal Engine

Fixed unsafe access of texture when texture draws tracking is enabled on console platforms

Fix Unreal Engine

Fixed issues when recording screenshots with Inspector profiling

Fix Unreal Engine

Fixed assert when resolving MSAA render targets on some mobile devices

Fix Unreal Engine

Fixed a crash on older android devices related to unsupported shader buffer sizes

Fix

Fixed cases where scissor rect would be bigger than than the viewport

Fix

Fixed crash when UnregisterModel with arrays when safe binding is enabled

Fix

Fixed binding of nested maps and arrays when safe binding is enabled

Fix Unreal Engine

Fixed assert during shader compilation on Mac OS when ShaderModel 6 is enabled

API

Added a new BC_ResolveAndCopyStencilRegion backend command and a SupportsDepthStencilResolve capability whether it can be used.


API

Altered the Depth-Stencil texture representation inside the GPUMemoryInfo struct

API

Implemented return status for data binding API methods

Feature

Introduced support for font files that use COLRV1 table for storing color glyphs like emojis

Feature

Added support for adding event listeners that execute only once

Feature

Added support for passing an options object when registering event listeners

Feature

Added support for passing an options object when removing event listeners

Feature

Removed the need to manually set the EnableComplexTextLayout View option. Complex text will be dynamically detected and processed in the most optimal way.

Enhancement

Providing Depth-Stencil texture when calling cohtml::ViewRenderer::SetRederTarget() is now optional. Prysm can now create the texture internally and share it between compatible views

Enhancement

Enhanced the chat sample to be using fonts with emojis

Enhancement

Allowed calling GetCurrentScriptStackTrace when there is no active JavaScript execution

Enhancement

Added hexagonal skill tree sample

Enhancement

Added separating text sample

Enhancement Unity

Optimized TouchMove event handling performance when using InputSystem

Enhancement

Allowed the usage of Simple Opacity for UIs generated by the Prysm plugin

Enhancement

Added an option to specify to the ScriptCompiler if the source is a module to avoid try and error compiling them as normal scripts

Enhancement

Added Shadow DOM related events and assigned nodes button to the Inspector

Enhancement

Added the --linear and --gamma X command line arguments for the Player to run it in linear sRGB mode with specified gamma multiplier

Enhancement

Added return codes for data binding API methods

Enhancement

Added throwing JavaScript exception when doing element.insertBefore with invalid reference node

Fix

Fixed SVGs drawing incorrectly when transformations are applied with perspective

Fix

Fixed a crash after resource request has been aborted in Unity

Fix

Fixed registering and unregister C++ event handlers from inside another handler

Fix

Fixed an assert for unregistered font family initial value

Fix

Fixed a memory leak when unregistering a JavaScript model

Fix

Fixed a possible crash when registering an existing model with different name

Fix

Fixed incorrect selection and caret placement with emojis in input and textarea fields

Fix

Added a guard for creating a second JavaScript model with a name clashing with an already registered model

Fix Unreal Engine

Fixed engine plugin builds by adding the missing categories to blueprint exposed padding related UPROPERTY fields

Fix Unreal Engine

Fixed potentially skipping to execute tasks resulting in hangs.

Fix Unreal Engine

Fixed crashes related to Safe data binding when accessing array properties

Fix Unreal Engine

Fixed max HTTP requests initializing to 0 on Unreal Engine 5.5 due to a missing config value


API

Added API for getting and setting the depth stencil textures cache

Enhancement

Introduced a new internal cache and reuse logic for depth-stencil textures

Enhancement

Added warning message when trying to set V8 flag --gc_interval in non-debug configurations

Enhancement

Added new trace events in the inspector that show the creation and destruction of depth-stencil textures

Enhancement Unreal Engine

Support for binary messages in Unreal Engine WebSockets integration

Enhancement Unreal Engine

Added a configurable API for safe zones and letterboxing

Fix Unreal Engine

Fix a crash inside the TextToSpeech plugin that can use code from not yet loaded module

Fix Unreal Engine

Fix shipping compilation due to FRHIBreadcrumbEventScope and FRHIBreadcrumbData not available in some configurations

Fix

Fixed sizing of elements with relative units on viewport change

Fix

Prevent appending of elements in the constructor of a custom element


API

New pixel format for textures PF_B8G8R8A8

API

New shader types ST_CircleTextureRepeat and ST_EllipseTextureRepeat

API Unreal Engine

Renamed Switch libraries HttpServer.NN.nrs / nro to HttpServerNN.nrs / nro and MediaDecoders.NN.nrs / nro to MediaDecodersNN.nrs / nro to make them package correctly in Unreal Engine 5.5

Feature

Added COLRv0 emoji support

Feature

Disable accessing invalid game objects exposed by reference

Feature

Added ::slotted pseudo-element

Feature

Added support for shadow DOM

Feature

Added the slot element

Feature

Added the host pseudo-class

Feature

Added partial support for the ‘all’ css shorthand with value ‘initial’

Enhancement Unreal Engine

Support Unreal Engine 5.5

Enhancement

Implemented surface cache flushing when changing render target

Enhancement

Added HDR support in media queries

Enhancement

Extended View’s API to be able to get the current script stack trace

Enhancement

Added prebuilt C++20 ICU versions for Sony PlayStation 5 to allow linking with libc++ ABI v2. The libraries have cpp20 at the end of their filename

Enhancement Unreal Engine

Added control of texture pool size for Custom Effect textures

Enhancement Unreal Engine

Added custom effect texture pool APIs

Enhancement Unreal Engine

Cohtml and Renoir assert failures are now handled with ensureAlways, so they break the code execution only when a debugger is attached

Enhancement Unreal Engine

Fixed crash when Unreal Engine tries to execute Cohtml tasks one inside another

Fix

Leaking renoir commands for canvases on platforms with clang based compilers

Fix

Fixed Sony PlayStation 4 and Sony PlayStation 5 virtual allocator memory protection

Fix

Fixed the simple opacity when applied to SVGs

Fix

Fixed crash when using canvas radial gradient

Fix

Fixed crash when GC happens during cloneNode

Fix

Custom element callbacks are now executed in the correct order

Fix

Fixed wrong assert when using SVG as background-image

Fix Unity

Fixed OpenGL Rendering Target support

Fix

Fixed assert for incorrect lineStart when wrapping inline text that ends with a new line

Fix

Fixed assert with pseudo elements

Fix

Fixed stack overflow when using calling .blur() in a focus event handler

Fix

Fixed assert when removing focused node matching complex selectors

Fix

Fixed animated GIF frame duration playback (previously each frame was displayed for 10 times longer).

Fix Unity

When an abort request is made, the DefaultResourceHandler responds with success and not displaying any error or warning messages

Fix Unreal Engine

Improved live reload path matching when using non-normalized paths

Fix

Fixed wrong styles when using important declarations in pseudo-elements

Fix Unity

Fixed crash in Development Unity player builds for Android


API

Added several new shader types to reduce stencil usage. For more information, see the Rendering Migration guide

API

At-rules now support ordering. This mostly affects existing media at-rules that were previously position independent and were always overriding regular rules. Such stylesheets need to be reworked according to the standard behavior respecting cascade order.

API Unity

Moved the Unity3D-specific log handling functionality within the LogWriter class

API Unity

Renamed the LogHandler class to CohtmlLogHandler

Feature

Persistent local storage for the Player on Windows Desktop and Mac OS

Feature Unity

Add Performance logging support

Feature Unity

Added sample hub for easier access to all samples

Feature Unreal Engine

Added profiling scopes for Unreal insights

Enhancement

Added conversion to linear colorspace when sampling from textures. For more information, see the Rendering Migration guide

Enhancement

Added a library option to set the scripting engine (V8) flags

Enhancement

Improved error messages when loading ES6 modules with syntax errors

Enhancement

Added inventory to the Multiplayer UI sample

Enhancement

Added marketplace to the Multiplayer UI sample

Enhancement

Allow passing view specific developer options in the command line arguments of the Player

Enhancement

Added tutorial for creating a 3D compass

Enhancement

Improved the performance of drawing repeated images

Enhancement

Added a dialogue tree sample

Enhancement Unity

Added a new UI Surface Partitioning sample to the Unity3D package

Enhancement Unity

Added a new Localization sample to the Unity3D package

Enhancement Unity

Added a new in-world view sample to the Unity3D package

Enhancement Unity

Added a new View in Canvas UI sample to the Unity3D package

Enhancement Unity

Configured the correct color space in the rendering library based on the active color space in Unity3D

Enhancement Unreal Engine

Add extra guards when accessing RHI Textures

Enhancement Unreal Engine

Improved the flow of freeing rendering resources owned by the cohtml::System object

Enhancement Unreal Engine

Added texture pool for Custom Effect textures preventing memory accumulation between GC intervals

Fix

Fixed MinimalHelloCohtml sample resource handler crash when trying to load missing resources

Fix

Fixed fonts with GPOS kerning rendering composed glyphs incorrectly

Fix

Fixed missing timeline when making performance captures on Android

Fix

Fixed crash when capturing a screenshot for the Inspector on Sony PlayStation 5

Fix

Fixed setRangeText preserving incorrect selection

Fix

Fixed an issue with position: fixed when used within inline layout

Fix

Fixed a possible crash when calling UpdateWholeModel()

Fix

Fixed caret position when changing <input>/<textarea> value from JavaScript

Fix

Fixed potential crashes when using custom variables inside of @keyframes declarations

Fix

Fixed custom effect sample with OpenGL

Fix

Fixed samples linking with Vulkan on Windows ARM64

Fix

Fixed elements not being re-rendered when a valid font for weight fallback becomes available

Fix

Fixed detection of base64 URLs that was causing warnings for exceeding URL size limits and failures to parse

Fix

Fixed a wrong debug assert failure when unloading base64 images stating that the image was not found in the pending images collection

Fix

Fixed a wrong debug assert failure when using a defer attribute on inline scripts

Fix

Fixed setRangeText to throw an error when an invalid selection mode is provided

Fix

Fixed memory accumulation in the InspectorPageAgent when reloading resources

Fix

At-rules are now accessible through cssRules, making rule order correct

Fix

Styles in link elements are now accessible through stylesheets API

Fix

Media attribute of link elements can now contain 'or' and ','

Fix

Fixed wrong style in some cases when using insertrule and deleterule

Fix

Fixed nested media rules with non-absolute URLs

Fix

Fixed using insertrule with rules that have properties with non-absolute URLs

Fix

Link elements with now respond correctly to removing, adding or changing the media attribute

Fix

Fixed sometimes applying wrong styles when using complex selectors inside media rules

Fix

Fixed holding resources of inactive font-face rules in memory

Fix

Fixed sometimes applying wrong font-face rules when using multiple ones with the same font description but different URLs

Fix

Added the ability to use insertrule and deleterule with media and font-face rules

Fix

Fixed a wrong debug assert failure in the DOM Builder

Fix

Fixed a bug with the CSS transitions when transitioning more than one property of the same value type

Fix

Removed dead code triggering cast-align warnings in Renoir backends

Fix Unity

Fixed surface partitioning in Unity3D Integration after changing the scene

Fix

Fixed a possible crash when calling UpdateWholeModel every frame

Fix Unity

Add data URL requests support

Fix Unreal Engine

Fixed crash when capturing the backend buffer through the Inspector

Fix Unreal Engine

Fixed Unreal Engine 4.27 Linux and Android compilation issues

Fix Unreal Engine

Fixed rendering artifacts caused by wrongly calculated scissor rect

Fix Unreal Engine

Fixed custom effects texture memory accumulation


Feature

Added support for Microsoft Windows ARM64 architecture (without Unity and Unreal Engine integrations)

Enhancement

Support for Sony PlayStation 4 SDK 12.000

Enhancement

Support for Sony PlayStation 5 SDK 10.000

Enhancement

Added a 9-slice animated modal sample

Enhancement Unreal Engine

Added logging of performance-specific warnings

Enhancement Unreal Engine

Improved View render target and depth stencil texture lifetime management

Enhancement Unreal Engine

Stopped caching the RHICmdList to ensure it is valid in all cases

Fix

Fixed elements not being re-rendered when a valid font for weight fallback becomes available

Fix

Fixed a failing assert when unloading fonts with invalid URLs or font descriptions

Fix

Fixed potential crashes caused by race conditions when using multiple views with the ExecuteCommandProcessingWithLayout option enabled

Fix

Fixed a crash in Development config on Library::Uninititialize when using external tracer

Fix

Fixed missing font resources after destroying a SystemRenderer when using multiple systems with processing on the layout thread

Fix Unreal Engine

Fix crash in CopyTextureToTexture call that can be triggered without a valid cached CmdList

API

Removed support for Sony PlayStation SDK 11.000

API

Removed support for Sony PlayStation 5 SDK 7.000


Feature

Introduced a Simple Opacity feature that allows non-standard but optimized rendering of elements with CSS opacity. For more details, see the documentation for Simple Opacity

Feature

Added support for font unloading

Feature

Added support for the auxclick mouse event

Feature

Enabled the GPU path tesselator by default

Enhancement

Added support for media queries that contain at-rules

Enhancement

Added support for boolean media query expressions

Enhancement

Added support for the not keyword in media query expressions in a Media Query Level 3 compliant way, negating the whole query expression

Enhancement

Unified mentions of Main/Game/DOM thread to UI thread in the native multithreading documentation

Enhancement

Updated Windows Redist libraries included in the package

Enhancement

Resource abort notifications are sent for streaming requests now as fonts can be unloaded

Enhancement

Refactored the default profiling library so that flushing the profiling events to disk does not block other threads in the Development configuration. There’s also an explicit FlushProfiling L1 event for clarity

Fix

Fixed potential memory corruption when using SVG style elements

Fix

Reduced the size of the tvOS libraries by stripping most of the debug information

Fix

Fixed a crash when using the internal profiling feature in long sessions running with L1 profiling level

Fix

Fixed rare cases where the background color of the html and the body won’t be reset after removing their styles

Fix

Fixed hover not working after toggling media rules with hover selectors

Fix

Fixed leaking inactive resize observers, ones that are left without elements to observe or were disconnected

Fix

Fixed race conditions related to loading glyphs, updating text atlas textures and managing pipeline state objects

Fix

Fixed running debug Linux builds on distributions with libc++ 15+

Fix

Fixed a regression causing transitions to malfunction when multiple transitions are used on a single element, but only some of the transitioned properties are changed

Fix

Fixed a crash when delivering notifications to a disconnected MutationObserver


Fix

Fixed crash when a style element in a SVG is removed from the DOM


API

Bumped the minimum required MacOSX version to 10.13+

API

Moved the EnableProfiling method from the System to the Library interface

API

Moved the FileSystemWriter implementation from the SystemSettings to the LibraryParams interface

API

Added CopyTextureToTexture method to the renoir::RendererBackend interface

API

Changed the UpdateTexture method of the renoir::RendererBackend to allow to clear regions of the texture

API

Changed the minimum allowed text atlas texture size to 1024px

API Unreal Engine

Enabled the GPU tessellator for SVGs by default

Feature

Added support for $0 - $4 to the inspector

Feature

Added support for enabling external profiling systems to receive events about internal profile markers

Feature

Added support for Webpack HMR and React Hot Loader

Feature Unreal Engine

Introduced LLM Scope tags for CPU memory tracking via the LLM Tracker

Enhancement

Changes to the the text children of a style element now change CSS

Enhancement

Added the property name and stack trace when accessing objects marked as destroyed with DestroyExposedObject from JavaScript

Enhancement

Added support for media query media types all, print and screen

Enhancement

Improved the performance of the Web Animation API implementation in cases when CSS animations animate more than one CSS property

Enhancement

Improved the performance of the the CSS animations when animating multiple properties with the same value type

Enhancement

Added two factor authentication sample UI

Enhancement

Added two factor authentication to the multiplayer UI sample

Enhancement

Added login and friends list sample UI

Enhancement Unity

Added ability to modify the SystemSettings with the OnSystemCreate delegate

Enhancement Unity

Added API reference documentation for the functions exposed by the Unity3D integration

Enhancement Unreal Engine

Made the Unreal Editor Live Reload feature to be enabled by default

Enhancement Unreal Engine

Added ICohtmlPlugin delegate for overriding the default FCohtmlInputPreprocessor

Fix

Use TextureBatchingHint to ensure correct calculation of GetUserGPUMemoryStats total and peak values

Fix

Replaced assert with JavaScript exception when ES6 module fails to load

Fix

Fixed stack-overflow crash when loading ES6 modules with very deep dependency tree

Fix

Fixed accumulating memory when videos are hidden or unloaded

Fix

Fixed calling audio stream pause callback on non-playing streams

Fix

Fixed incorrect drawing of SVGs used as background, border or mask image

Fix

Fixed mutation observer assert on document disposal

Fix

Fixed a crash due to missing temporary allocator when triggering events from worker threads

Fix

Fixed Linux samples compilation, linking and post-build steps

Fix

Added packaging of the missing ICU libraries for Linux

Fix

Fixed a race condition during textures destruction

Fix

Fixed the anti-aliasing artifacts for scaled circles and ellipses

Fix

Fixed WebSocket race condition during disconnecting

Fix Unity

Fixed not being able to connect the Dev Tools Inspector on every second play in the Unity3D editor

Fix Unity

Fixed resource loading issue on MacOS and iOS caused by white space in the StreamingAssets path

Fix Unreal Engine

Fixed colors of textures imported with the Unreal Editor texture import menu

Fix Unity

Fixed propagating the input with multiple Canvas On-Screen views


Fix

Fixed wrong layout, missing elements and potential crashes when using position:fixed

Fix

Fixed untagged memory allocations on non-Windows platforms


API

The OnMonotonicallyIncreasingTimeRequest callback can now also be called on a worker thread when using GIF animations

API Unreal Engine

Removed the deprecated option for the Cohtml HUD to respect or ignore TitleSafeZone and Letterboxing, leaving the default behavior of respecting both

Feature

Added support for unloading CSS

Feature

Added support for dynamically ordering stylesheets by moving their corresponding dom elements

Feature

Added support for tvOS platform (Native only)

Feature

Added support for element.append() JS DOM API

Feature

Added support for position: fixed

Feature Unreal Engine

Added a default FileWriter implementation for performance markers support

Feature Unreal Engine

Introduced an API for JavaScript pre-compilation and pre-loading

Feature Unreal Engine

Added documentation on precompiled JavaScript resources usage

Feature

Added a mobile controls sample

Enhancement

Style elements take children text nodes into consideration when parsing CSS

Enhancement

Capped the size of the textures allocated for rendering backdrop filter

Enhancement

Improved the backdrop filter blur performance by allowing the blurred content to be downsampled first

Enhancement

Enhanced the warning messages when attempting to call an empty value/function

Enhancement Unity

The logs from the Unity integration code now respect the logging severity of cohtml

Enhancement Unreal Engine

Changed the Cohtml SDK configuration to match the UnrealTargetConfiguration unless there is an override

Enhancement Unreal Engine

Expanded the SDK configuration documentation, explaining Cohtml Development configuration in a greater detail

Enhancement Unreal Engine

Added Cohtml texture memory stats via the Unreal Stats system

Fix

Fixed a failing assert in debug configuration related to overflow visual AABB caused by floating point precision errors

Fix

Fixed a failing assert in debug configuration when using animated GIFs

Fix

Fixed a GC crash related to mouse events

Fix

Fixed a crash when adding attributes in the inspector

Fix

Fixed setProperty throwing type errors when used with non-string arguments

Fix

Fixed Renoir for Android, Linux and iOS to exclude debug checks in release configuration

Fix

Stop triggering attributeChangedCallback for unobserved attributes on custom element registration

Fix

Fixed custom effects rendering when multiple filters are chained

Fix Unreal Engine

Fix CohtmlMaterial HLSL compilation for SM6

Fix Unreal Engine

Made the SciFi sample to work with the latest version of the Prysm exporter


Enhancement Unreal Engine

Enhanced handling of render target RHI textures

Fix

Fixed a debug assert failing when setting virtual resolution with async style-solving

Fix

Fixed a regression caused by async style solving that caused a delay for receiving the latest layout data in JS

Fix

Fixed the --force-resource-requests-on-the-dom-thread option not working for SVG images

Fix

Fixed a crash caused by a race condition with text atlases when using multiple views with the ExecuteCommandProcessingWithLayout option enabled

Fix Unreal Engine

Fixed a crash or potentially invalid data in uniform buffers with Vulkan RHI

Fix Unreal Engine

Fixed crashes due to invalidated render target RHI textures

Fix Unreal Engine

Fixed user textures stats reporting for Unreal Engine 5


Feature

Moved style resolving off the Advance call into a task. This will allow parallel style resolving of multiple views. Until completion of the style task, all View APIs that modify the DOM will block to prevent race issues. The block will be removed when the style resolving is further enhanced to become asynchronous and thread-safe. If you experience any issue due to the change, you can use the --synchronous-style-solving view developer option to revert to the old behavior.

Feature

Allow precise updates for collections inside data-binding models

Enhancement

Allow SynchronizeModels to run during DOM building

Enhancement

Enhanced the font-fit feature with the ability to explicitly set minimum and maximum resulting font size

Enhancement

Enhanced the low-level GPU memory info API with extended information about the page resources and their usage

Enhancement Unreal Engine

Enhanced the Editor texture statistics reporting to include all GPU resource types

Enhancement

Added optional compositorId argument to elementFromPoint DOM API to allow querying for the topmost element from composited hierarchies

Enhancement Unity

Added a new ‘JavaScript Event Binding’ sample to the Unity3D UPM package

Enhancement Unity

Improved the Unity3D Integration and Plugin API Reference documentation

Enhancement Unity

Improved the ‘JavaScript Binding’ page in the Unity3D documentation

Enhancement Unity

Added preloaded images support for the NGGC rendering backend

Enhancement Unity

Added support for Unity InputSystem version 1.8

Enhancement

Added Development configuration for samples for Microsoft Windows and game consoles

Enhancement

Optimize drawing of duplicate command buffers

Enhancement

Added a sample to showcase how to use emojis in a chat input

Enhancement

Use a single MSAA texture for the GPU tessellation

Enhancement

Multiple improvements of GPU tessellator (Lower CB usage, better batching, fixed 32-bit indexing, single atlas resolve)

API

Animation end events are fired 1 frame later now, due to animations being ticked asynchronously on the thread executing styling work.

API

Compositor API is now called on the thread executing styling work instead on the DOM thread during the Advance call.

API

Synchronous resource requests can now be invoked from the thread executing styling work as well and not only from the thread calling Advance.

API

Abort notifications can now come from the thread executing styling work.

API

Clients can force resource requests on the Advance calling thread via a view developer option --force-resource-requests-on-the-dom-thread until their resource handlers become thread-safe. Keep in mind that this delays resource loading until the next Advance call.

API

Deprecated SynchronizeModels happening on DOMContentLoaded. Before SynchronizeModels during loading was delaying the synchronization to happen just before the DOMContentLoaded event. The new behavior is to synchronize the models immediately and queue a synchronization on DOMContentLoaded. Future versions will only do the immediate synchronization.

API

Removed the deprecated font-fit-mode CSS property in favor of coh-font-fit-mode

API

Added a shorthand CSS property coh-font-fit that allows to set the mode and the limits with a single declaration

API Unity

Deprecated the Library.Initialize overload with the device model as parameter.

API Unity

Added DisableRestoringUniformBuffers property to LibraryParams for the Unity integration to be used instead of the device model

API

Removed deprecated constructors for the Renoir rendering backends

Fix

Fixed crash when the HTTPStreamResponse module receives empty response

Fix Unity

Fixed a crash that occurred when typing a backtick key while using the Input System

Fix

Fixed potentially wrong string representation of when using RGBA values in canvas fillStyle

Fix Unity

Fixed audio synchronization warnings when quickly playing and stopping a video

Fix Unity

Fixed an issue with accessing the device model and causing an infinite recursion during Unity initialization

Fix

Video decoders now schedule tasks through their owning system instead of the last created one. This was causing a crash when playing a video in another system and the last created one was destroyed.

Fix Unity

Fixed support for multiple video audio streams in a CohtmlView

Fix Unity

Fixed input errors when launching the Unity 3D integration sample on console or mobile platforms.

Fix

Fixed errors caused by sending inspector data to closed inspector sessions

Fix

Fixed a crash when calling focus() on an element not attached to the DOM

Fix Unity

Fixed hang on Xbox with Unity3D

Fix

Fixed a crash when the transform attribute is removed from an SVG element

Fix

Fixed a crash when using pseudo elements and absolutely positioned children in cohinline elements

Fix Unity

Fixed materials in Unity samples to transition correctly from standard to URP shaders using the Render Pipeline Converter in a URP project

Fix

Fixed crash when the cache for command processors is used

Fix

Fixed GPU tessellator wrong calculation of bounding box

Fix

Fixed batching of paths rendered with CPU tessellator

Fix

Fixed negative scaling handling in GPU tessellator

Fix Unreal Engine

Fixed assert in DestroyTexture caused by occasional early execution of Game Thread tasks

Fix Unreal Engine

Fixed map tiling in the Starter Guide sample

Fix Unreal Engine

Fixed a stale URL value inside UCohtmlWidget when changing URLs via UCohtmlWidget::Load

Fix

Fixed potential crashes due to integer underflow when calculating text layout

Fix

Fixed the native dropdown sample and resolved a warning when choosing options

Fix

Fixed potential crash during GC when using the CSSOM API document.styleSheets


API Unreal Engine

Replaced Debug binaries with Development in Unreal Engine installers and archives

API Unreal Engine

Updated Unreal packages to PlayStation 4 SDK 11.500

API Unreal Engine

Updated Unreal packages to PlayStation 5 SDK 9.000

API Unity

Updated Unity packages for PlayStation 5 to SDK 9.000

API Unity

Updated Unity packages for PlayStation 4 to SDK 11.500

API

Introduced a new API for profiling the internals of Prysm

Feature

Added support for clientTop, clientLeft, clientWidth, clientHeight and getClientRects() DOM APIs

Feature

Introduced a new development configuration, intended to be used during game UI development.

Enhancement Unreal Engine

Added support for Unreal Engine 5.4

Enhancement

Added support for Microsoft GDK 2023 October Update 3

Enhancement

Added support for Sony PlayStation 5 SDK 9.000

Enhancement

Added support for Sony PlayStation 4 SDK 11.500

Enhancement

SVG specific styles can now be set via the JS DOM API

Enhancement Unity

Removed the deprecated CohtmlCanvasRenderer component

Enhancement Unreal Engine

Deprecated HUD Respect Safe Zone and Respect Letterboxing settings, leaving them to be always Enabled, until removed

Enhancement Unreal Engine

Updated RHI Texture caching to fix lifetime issues with CohTexture objects

Enhancement

Added a sample demonstrating how to create charts using D3.js

Fix Unreal Engine

Fixed User Background resize for multiple World contexts

Fix Unreal Engine

Fixed shader compilation for Metal in Unreal Engine 5.4

Fix

Fixed missing texture assertions

Fix Unity

Fixed flickering issue when using Unity NGGC backend

Fix Unity

Fixed rendering artefacts with Unity NGGC backend on PS5

Fix

Fixed support for Microsoft Windows 7 without Service Pack 3

Fix

Fixed a crash when destroying and reloading views with the inspector attached

Fix Unity

Fixed Unity crash on Windows Win32 builds with Direct X 12

Fix

Fixed passing invalid command to the backend if image is missing

Fix

Fixed scissor bounds for the GPU tesselation implementation

Fix

Fixed leaking event handlers when using the engine.off API


API

Added mipsCount member to IAsyncResourceResponse to mark how much mips a preloaded texture has

API

Altered GPUMemoryInfo structure to make it more compact

API

Added the TextureObject in IUserResourcesListener callbacks

Feature

Added support for tessellating SVGs on the GPU

Enhancement

Added support for HTML preloading for XmlHttpRequests and innerHTML

Enhancement

Added documentation for the View::MouseLeave API

Enhancement

Added support for the 'loadedmetadata' event to html media elements

Enhancement Unity

Updated quick start documentation with examples of how to add a view to the scene

Enhancement Unity

Added a step by step guide for localization

Enhancement

Added API to retrieve GPU memory usage information

Enhancement Unity

Improved input handling for CohtmlView rendered inside a UI Canvas

Enhancement

Added support in desktop renderers (DirectX 11, DirectX12, OpenGL, Vulkan) for preloading mipmap textures

Enhancement Unity

The Unity package uses the Sony PlayStation 5 SDK 8.0

Enhancement Unity

The Unity package uses the Sony PlayStation 4 SDK 11.0

Enhancement

Added documentation for the canvas API support

Enhancement

Added origin information to warnings and errors when it is available

Fix Unity

Fixed setting the HTTP response headers from UnityWebRequest

Fix Unreal Engine

Fixed plugin loading issue on Linux due to a missing renoir library dependency

Fix Unity

Fixed crash on Xbox in HDRP mode due to synchronization issue

Fix

Fixed ascent and descent for preloaded fonts

Fix

Fixed a crash when using the API for custom media features on different threads

Fix

Fixed setting the prototype on custom elements getting upgraded when their class is defined

Fix

Fixed getAnimations to return only active animations

Fix

Fixed classList property to return the same object when available and avoid generating garbage

Fix Unity

Fixed a crash on exit in Unity3D editor when a WebSocket connection is still active

Fix

Fixed wrongly transitioned properties for discrete animations

Fix

Fixed getAnimations returning animations per property instead of per animation name

Fix

Fixed a crash when using SVG as background-image on an element with transform

Fix

Fixed transitions with negative delay incorrectly firing transition events

Fix

Fixed a crash if a texture for drawing is missing

Fix

Fixed rendering of textures in samples with OpenGL when filtering is set to FilterLinear

Fix

Fixed drawing of simple inline SVGs in cohinline paragraphs

Fix

Fixed image resources not getting unloaded after reducing the background images count

Fix

Fixed artifacts when using border-image with SVG

Fix

Fixed a leak when using transitions which could have caused crashes after garbage collection

Fix

Fixed a wrongly triggered debug assert when detaching elements with pending images

Fix

Fixed a crash when using elementsFromPoint over pseudo elements


Fix

Fixed possible race condition in scene’s gpu memory info

Fix

Fixed drop-shadow when it’s drawn through simple sublayers flow

Fix

Fixed incorrect filter rendering caused by simple sublayers

Fix Unreal Engine

Fixed assert when playing video in UMG and closing application

Fix

Fixed compilation errors in case <bit> header is not available

Fix

Fixed undefined RENOIR_PLATFORM_WIN preprocessor in the Renoir header files

Fix

Fixed a crash encountered when batching rendering commands with a missing texture


API

Removed support for the experimental custom elements V0 API

Feature

Added support for full-color bitmap fonts

Feature Unity

Added support for the native plug-in profiler in Unity

Feature

Allowed Precise Data Binding Updates of data-binding models

Enhancement

HTMLCollection returned by getElementsByTagName and getElementsByClassName are now live

Enhancement

Enhance text rendering and luminance smoothing in different color spaces

Enhancement

Apply gradient dithering evenly in linear color space

Enhancement Unity

Added UI Surface Partitioning support when using CohtmlView inside UnityUI Canvas

Enhancement Unity

Added Backdrop Filter when using CohtmlView inside UnityUI Canvas

Enhancement Unity

Added default gamepad mapping for common gamepad models for Unity InputManager

Enhancement Unreal Engine

Improve the reporting of used textures inside the UI

Enhancement Unreal Engine

Added support for Surface partitioning feature in Concurrent Advance mode

Enhancement Unreal Engine

Added support for Custom Effects feature in Concurrent Advance mode

Fix

Fixed string values for CSS properties for border, margins and padding

Fix

Fixed wrongly reported scroll values in some cases

Fix

Fixed border image property equality comparison bug caused by uninitialized memory

Fix

Fixed calling attribute related JavaScript handlers before the attribute on the element is updated

Fix

Fixed infinite recursion when setting attributes to their current values in MutationObserver callback

Fix

Fixed a crash when using SVG border images with zero sized border sides

Fix

Fixed a case with a wrong draw order of SVG elements after using an InsertBefore operation

Fix

Fixed a crash when an InsertBefore operation used for SVG elements fails

Fix

Fixed wrongly removing the element from the DOM when an InsertBefore used as a move operation fails

Fix

Fixed a crash when descriptors for constant buffers are not enough for Vulkan

Fix

Fixed bleeding of big glyphs generated with SDF on the CPU algorithm

Fix Unity

Fixed the import/compilation warnings caused by obsolete CohtmlCanvasRenderer invocations internally

Fix Unity

Fixed loading of plugin libraries for Unity on Linux

Fix

Fixed a crash when making an inspector connection with Visual Studio Code

Fix

Fixed Address Sanitizer error on Sony PlayStation when doing Array.shift in JavaScript

Fix

Fixed using memcpy for overlapping regions on Nintendo Switch

Fix Unreal Engine

Fixed rendering artifacts on Sony PlayStation 5


Fix

Fixed crash when using GetAttribute for non-existing attribute on a NodeProxy

Fix

Fixed crash when registering model with subobjects in already loaded page

Fix Unreal Engine

Fixed race condition when discarding invalid frame states of ICompositorInterfaceUnreal

Fix Unreal Engine

Fixed crash when the virtual keyboard tries to use missing attributes of cohtml::IInputProxy

Fix Unreal Engine

Fixed crash when destroying the view

Fix Unreal Engine

Fixed setting response headers for HTTP requests

Fix Unreal Engine

Fixed crash on exit when cancelling pending HTTP requests


API

Removed support for Arm architecture on the Microsoft Universal Windows Platform

API Unity

Added a WebSocket state changed event.

API Unity

Added a WebSocket state changed callback

Feature

Added support the CSS Typed Object Model

Feature

Added support for custom media features

Feature Unity

Added support for NGGC for Sony PlayStation 5

Feature Unreal Engine

Introduced a way to run update the views on a worker thread

Enhancement

Added support for animating stroke-dasharray

Enhancement

Added a warning when setting properties without units

Enhancement

Improved the inspector performance recording capture by allowing the selection of subsystem to be traced and a giving control over the amount of traced markers through a trace level selection

Enhancement Unity

Improved support for CohtmlView inside a UICanvas hierarchy

Enhancement Unity

Added support for adding CohtmlView with the context menu when an object is selected and that object has a Canvas as a parent

Fix

Fixed a memory leak when animating SVG attribute values

Fix

Fixed a floating point precision error causing texts to wrap spuriously

Fix

Fixed issuing out of bounds HTTP requests for videos and added documentation about handling end of stream

Fix

Fixed Touch Up/End event being fired with the wrong target element in some cases

Fix

Fixed history.replaceState failing with relative URLs throwing an origin error

Fix

Fixed an incorrect message about unsupported box-sizing CSS property with value border-box

Fix

Added a missing changelog entry for flex longhand support in version 1.48

Fix

Fixed a crash when SVG elements are appended to the DOM in event handling functions

Fix

Fixed createElementNS to correctly work with a null namespace argument

Fix

Fixed generating wrong URLs for the views in the inspector with multiple views

Fix

Fixed a crash during the mouse event firing when GC collects elements that are part of the event path

Fix

Fixed multiple crashes and undefined behaviors related to objects being wrongly collected by GC

Fix

Fixed the !important CSS flag not working in custom expressions and properties with URL

Fix

Fixed custom elements not getting upgraded when define is called after creating the element

Fix

Fixed an infinite recursion with mask and clipPath SVG elements which are self-referencing themselves

Fix

Fixed aliasing on the border edges of transformed elements

Fix

Fixed applying rules from @media rules that fail to be parsed

Fix

Fixed setting textContent or innerHtml to null or undefined not clearing the content of the element

Fix

Fixed parsing HTML comments properly with innerHtml

Fix

Fixed Element.closest method failing to return the element on which was called as a match

Fix

Fixed an uninitialized value for angle in linear gradients which was causing the comparison of two gradients to always return different

Fix

Fixed Player crashing on Mac OS X when allocating executable memory for V8

Fix

Fixed support for Mac OS 10.12 in the samples

Fix

Fixed HDR sample being darker in evaluation packages

Fix Unity

Worked around Unity restriction to let textures be reused with different sampler states in the same frame for all graphics APIs except OpenGL

Fix Unity

Removing the mouse event skip logic causing lag in the Cohtml API

Fix Unreal Engine

Fix path rendering with RHI implementations which don’t support first instance

Fix Unreal Engine

Fix crash on Android with GLES3 in UE


API

Regenerated the license keys used for initialization of the library

API

The window.load event no longer waits for images loaded through CSS

API

Samples for Microsoft UWP and GDK platforms now use the Microsoft Visual Studio 2022 toolset

API

Prebuilt Renoir rendering backends now use Microsoft Windows SDK 10 and the Microsoft Visual Studio 2022 toolset

API Unity

Deprecated View in favor of NativeView property of the CohtmlView component

API

Removed the PreferCPUWorkload option from backend’s capabilities

API

Removed the GLES2 support

API

Removed the Shape Morphing support

API

Changed rendering backend’s capabilities to fit for the new command batching flow. Read more in the migration guide.

API

Changed shaders’ vertex layout to fit for the new command batching flow. Read more in the migration guide.

API

Added new commands in the rendering backend which need to be handled for the new command batching flow. Read more in the migration guide.

API

Changed constant buffers in the rendering backends to fit for the new command batching flow. Read more in the migration guide.

API

Removed support for Microsoft XDK (aka Durango) SDK for Microsoft Xbox One consoles

Feature

Added support for Touch and TouchEvent constructors for all platforms except UWP arm

Feature

Added support for capturing a screenshot in the inspector and through the dev tools protocol

Feature

Enhanced batching of the rendering commands which combines the CPU and GPU workload and improves the efficiency. Check the migration guide.

Feature

TouchEvent.touches now contains information about all touches

Feature

The Player application can now receive touch events on Microsoft Windows

Enhancement

Added resize logic for all samples using UI Composition, Surface Partitioning, and Backdrop Filter features

Enhancement

Added support for backface-visibility CSS style

Enhancement

Added support for GPOS kerning for fonts

Enhancement

Added partial support for SVG transform, width, height, and viewbox JavaScript properties

Enhancement Unreal Engine

Improved the sample hub UI

Enhancement

Updated FreeType to version 2.13.2

Enhancement

Added GPU memory tracking to profiling output

Enhancement

Optimized performance of border-image with SVG

Enhancement

Added support for sending input events to composited surfaces

Fix

Fixed a deadlock when scratch textures caches are being cleared

Fix

Fixed incorrect marking of scratch textures as not usable

Fix

Fixed a crash when try to read an invalid FreeType face

Fix

Fixed incorrect SVG clipping with clip-path and mask elements when using them in user space

Fix

Fixed positioning of nested elements when using cohinline

Fix

Fixed mouse events not firing correctly for cohinline elements

Fix Unity

Fixed rendering problems with OpenGL and C# Backend in Unity

Fix

Fixed leaking transformations when scaling SVGs to sizes smaller than 1 pixel

Fix

Fixed a crash in the Player with HTTP requests on quit

Fix

Fixed text nodes being 1 pixel larger then necessary that led to incorrect positioning when using right alignment

Fix

Fixed missing texture when an image is used for only one frame

Fix Unity

Fixed the errors encountered when the Samples were removed from the package

Fix Unity

Fixed the backdrop filter texture format type in HDR mode

Fix

Fixed requestAnimationFrame callbacks executing on the same frame

Fix Unity

Fixed the OnGUI events input regression caused by the latest input performance upgrades in Input Manager mode.

Fix

Passing an empty string to textContent property won’t create empty text nodes

Fix

Fixed cases where event listeners are not fired when other unrelated event listeners are removed

Fix

Fixed excessive character vertical offset with certain fonts

Fix

Fixed a crash caused by improper use of GIFs as background images

Fix

Fixed a warning when setting the animation shorthand property to none

Fix Unreal Engine

Fixed safe zone and letter boxing on the Apple iPhone devices

Fix Unreal Engine

Removed forgotten experimental mentions from the documentation regarding Android and iOS platforms

Fix Unreal Engine

Address accumulation of frames for painting when UMG Widgets are hidden or minimized

Fix Unreal Engine

Fixed PlayerOverrides build issues

Fix Unreal Engine

Fixed UE package unzipping issue with the native Windows File Explorer manager

Fix

Fixed composition with custom effects

Fix Unity

Fixed crashes when rapidly starting and stopping the Player in the Unity3D Editor

Fix Unity

Fixed order of touch events in Unity3D when Input Manager is used

Fix

Removed forgotten experimental mentions from the documentation regarding inline layout, complex text, and SDF on GPU features

Fix Unity

Removed forgotten experimental mentions from the documentation regarding the C# backend feature

Fix

Fixed a bug with upgrading cloned custom elements that prevented their lifetime callbacks to be invoked

Fix

The inspector now shows the views for inspection only when they have a valid document loaded

Fix

Fixed CSS calc functions failing when running with locale settings where the decimal symbol is not a dot

Fix

Fixed a crash when clearing SVG surfaces caches

Fix

Fixed invoking newly added event listeners during the dispatching of the event


Enhancement

Improved inline RTL text positioning and punctuation wrapping

Enhancement

Made the inspector show an empty style object for elements without inline styles that can be used to easily add new styles

Enhancement

Added finish, cancel and commitStyles from the WAAPI

Enhancement

Unity plugin is now compiled against .Net Standard 2.0 to ensure cross-platform .Net profile support

Enhancement

Adjusted the Switch sample renderer to work with the latest (18.0.1) SDK

Enhancement

Trimmed trailing zeros from stringified property values

Enhancement

Improved the warning message when using fonts that weren’t loaded

Enhancement Unreal Engine

Add abort resource request handling

Fix

Fixed RTL text being drawn a bit to the right making it stick out of its element bounding box

Fix

Fixed font-fit not working correctly when using preserve whitespace mode

Fix

Fixed wrongly rendered newline characters as spaces when using preserve whitespace mode

Fix

Fixed visual artifacts left over from drawing squares while the font isn’t loaded for complex text

Fix

Fixed wrongly positioned background-color when using cohinline with text-align

Fix

Fixed words drawn in incorrect order when displaying right-to-left languages

Fix

Fixed positioning of nested elements after wrapped text in cohinline

Fix

Fixed RTL direction in cohinline for nested texts

Fix

Fixed incorrect punctuation wrapping with cohinline

Fix

Fixed text wrap when using a mix of languages and punctuation

Fix

Fixed negative letter-spacing sometimes cutting text

Fix

Fixed asserts during GC tracing

Fix

Fixed support for paths with spaces in sony_strip_debug_symbols.bat

Fix Unreal Engine

Remove unused AtlasManager callbacks

Fix Unreal Engine

Procedural sound replay warning

API

Trimmed trailing zeros from stringified property values. This may break code comparing style values as strings


Feature

Update Nintendo Switch SDK to 16.2

Feature

Support PlayStation 4 SDK 11.000

Feature

Support PlayStation 5 SDK 8.000

Enhancement

Implemented a faster memory allocator for PlayStation 5 samples

Enhancement

Optimized performance of SVG images used as border-image

Enhancement

Added support for more font weights - book, demi, etc

Enhancement

Provide the Error object as reason forunhandledrejection events

Enhancement

Documented the lifetime of media resources used in video elements

Enhancement

Documented GIF image format support

Enhancement Unity

Removed the need for different libraries for the different scripting backends and .Net versions

Enhancement

Added support for flex longhand

Fix

Fixed crash when the unhandledrejection event handler adds an error handler to the promise object

Fix

Fixed incorrect size of compositor textures when border-radius is applied

Fix

Fixed rendering discrepancies on GLES3 caused by floating precision problems

Fix

Fixed unnecessary redrawing of the area of hidden elements that have a backdrop filter applied

Fix

Fixed composited elements with display: none not invoking OnCompositionRemoved

Fix

Fixed elements with custom effects with display: none not invoking OnCustomEffectRemoved

Fix

Fixed leaking surface partitioning data for elements with display: none

Fix

Fixed redrawing of nested compositions

Fix

Fixed Player not opening on Mac due to missing CFBundleExecutable variable

Fix

Ensured the garbage collector is triggered often enough to collect video related memory

Fix

Fixed a crash when the DOM is modified in the event handlers of mouse input events

Fix

Fixed a crash when there is more than one event handler attached to an element

Fix

Fixed a crash from improper use of GIF images as background images

Fix

Fixed pseudo elements background disappearing after content is changed

Fix Unity

Fixed repeating certain touch events when InputManager is used on mobile devices

Fix

Fixed cases in which positioned elements caused incorrectly calculated scroll size

Fix Unreal Engine

Fixed a crash when cancelling resource requests

Fix Unreal Engine

Fixed Microsoft Windows and Xbox builds when unity builds are used

Fix Unreal Engine

Fixed a crash when destroying the View Wrapper’s texture

Fix Unreal Engine

Fixed Unreal Editor hang when using surface partitioning with UMG

Fix Unreal Engine

Skip issuing a warning for missing viewport if the game world is tearing down

Fix Unreal Engine

Fixed a crash on GDK platforms when Unreal memory trace is enabled

API Unity

Removed the .IL2CPP. variants of the Unity plugin libraries


Feature

Implemented ResizeObserver API

Enhancement

Image-rendering support for border images

Enhancement

Added support for copy and paste in the Elements tab of the Inspector

Enhancement

HTML preloading now ignores query parameters from URLs when storing and serving HTML files from the cache

Enhancement

Added support for the new rgb() functional notation syntax

Enhancement

The maximum number of initiators for Recalculate Styles/Layout events defaults to 0 now. That’s because getting the initiators can skew the Inspector performance profiling results. Clients can set the maximum count manually by using the JavaScript engine.setInspectorInitatorsUpperBound(count) function.

Enhancement

Added partial support for keyframe rules to the CSSStyleSheet.insertRule() API

Enhancement

The Player uses the system OpenAL.framework on Mac OS

Enhancement

Added documentation how mouse related behavior works when the mouse is idle

Enhancement Unity

Add IVirtualAllocator implementation for Sony PlayStation

Enhancement Unity

Add IVirtualAllocator implementation for Microsoft Windows and Xbox

Enhancement Unity

Add IVirtualAllocator implementation for Nintendo Switch

Enhancement Unity

Added support for binary messages in WebSocket implementation

Enhancement Unreal Engine

Removed legacy code for controlling OnAssetSaved callbacks for atlases

Enhancement Unreal Engine

Added IVirtualAllocator implementation for Microsoft Windows and Xbox

Enhancement Unreal Engine

Added IVirtualAllocator implementation for Sony PlayStation 5

Enhancement Unreal Engine

Added IVirtualAllocator implementation for Nintendo Switch

Fix

Fixed broken surface partitioning in evaluation builds

Fix

Fixed accumulating memory caused by requestAnimationFrame callbacks

Fix

Fixed assert when trying to draw background image on 0 background size

Fix

Fixed assert for SVG properties passed to style.setProperty

Fix

Fixed parser errors due to HTML tags in CSS comments

Fix

Fixed infinite recursion when specifying default font family as one of the generic font family keywords

Fix

Fixed OnUserImageDropped being called after rendering resources are freed

Fix Unity

Fixed crash when domain reloading is disabled in Unity

Fix Unity

Fixed crash on Xbox when the project quality is set to ‘Very Low'''

Fix Unity

Fixed horizontal scroll touch gestures

Fix Unity

Fixed losing focus on input fields on platforms with virtual keyboards

Fix Unity

Ensure the proper disposal of the Library params object

Fix Unreal Engine

Added low level guard to prevent hitting a potential assert when loading Atlas textures


Feature Unity

Added IME support for Japanese, Korean and Chinese

Feature Unity

Exposed the ScriptCompiler API to Unity.

Feature Unreal Engine

Support for Unreal Engine 5.3.1

Enhancement

Allow invalidating of the textures used to draw SVGs. This allows user code to force Cohtml to recreate the textures in the proper texture format if the user render target has changed its format.

Enhancement

Enabled V8 pointer compression on Xbox family of game consoles

Enhancement

Added known issues to the compositor documentation

Fix

Fixed wrongly triggered layout when changing properties on hidden elements

Fix

Fixed making POST XmlHTTPRequests in the Player on Mac OS 13.5

Fix Unity

Fixed switching Unity scripting backend when switching to consoles

Fix Unity

Fixed Unity editor crash on script recompilation.

Fix

Fixed wrongly calculated font size when using nested elements with ems

Fix Unity

Added PlayerOverrides project dependencies.

Fix Unity

Blur the currently focused element in the UI when Unity player loses focus

Fix Unity

Fixed UTF-8 handling for WebSocket text messages

Fix

Fixed a crash when removing textarea attributes

Fix

Fixed potential crashes and missing filters when using filters with no effect

Fix

Fixed the inspector stalling the thread when errors occur

Fix

Fixed button element not being able to have pseudo elements

Fix

Fixed false positive unregistered font warnings

Fix

Fixed a crash when view reload is called before loading an URL and attaching it to the inspector

Fix

Fixed CSS adjacent sibling selector not working if there is a comment between the elements

Fix

Fixed ElementFromPoint returning a text node instead of element node

Fix

Fixed a crash when destroying the view renderer during layout

Fix Unreal Engine

Added missing Plugin includes and fixed Include-What-You-Use compliance

Fix Unreal Engine

Fixed the the custom effect sample on Switch

Fix Unreal Engine

Fixed the Unreal Engine installer failure when no ‘clean” option is selected’


Feature

Added support for SVG border image

Feature

Implemented the queueMicrotask JavaScript function for platforms using V8

Feature Unreal Engine

Support for Unreal Engine 5.3.0 Preview 1

Feature

Added support for Lottie animations

Feature

Added support for conic gradients used as background-image

Enhancement

Changed PlayStation 5 Renoir backend to use compute shaders for clearing render targets

Enhancement Unreal Engine

Reworked the CoherentSample levels showcasing the plugins features

Enhancement Unreal Engine

Reworked CoherentSample and the plugins includes so they can be compiled without precompiled headers

Enhancement Unreal Engine

Refactored Content Browser and Raw Image Importer tool extension code

Enhancement Unreal Engine

Simplified the cohtml::System initialization flow for the DedicatedUIThread map

Fix

Fixed stylesheets not being applied in the frame in which the load event is fired

Fix

Fixed link elements not applying styles when changing the href attribute

Fix

Fixed race condition in resource changelogs

Fix

Fixed wrong clipping which was causing missing elements

Fix

Fixed crash during View initialization on iOS

Fix

Fixed the CohtmlView rendering with CohtmlCanvasRenderer in HDRP and URP modes

Fix

Fixed texts from sometimes disappearing when parent elements change display

Fix

Fixed redrawing SVG shadows

Fix

Fixed a crash when using animations and transitions with negative duration

Fix

Fixed getPropertyValue to look for custom variables in the visible CSS declarations

Fix

Fixed objectBoundingBox mask units when masking transformed content

Fix Unreal Engine

Fixed evaluation copy installer fail when Engine installation is selected

Fix Unreal Engine

Fixed plugins platform defines for platforms XboxOne, XboxOneGDK, and XB1 configurations

Fix Unreal Engine

Fixed crash during OnUserImageDropped callback

Fix Unreal Engine

Removed backward compatibility for pre-1.14.3 atlas metadata files

Fix

Fixed potential creation of large textures for composited surfaces. This could be hit if using overflow:scroll on a composited container


Feature

Replaced ChakraCore with V8 for Universal Windows Platform for x86

Feature

Added remove method on DOM elements

Feature Unity

Added support screen overlays with Unity UI Canvas

Feature Unreal Engine

Added option for enabling the Linear Space Rendering Pipeline, enabling the support for textures in Linear sRGB Color space

Feature Unreal Engine

Made the plugin code compliant with Include-What-You-Use

Enhancement

Setup memory allocators for the ICU library

Enhancement

Allowed changes to the ImageOrigin for raw images

Enhancement Unity

Added events for Library and UISystem initialization

Enhancement

Allowed using different samples for different texture slots in shaders

Fix

Fixed lack of transitions with animation-fill-mode and style changes in a single frame

Fix

Fixed crash when drawing canvas without commands

Fix

Fixed visual artifacts of SVG paths with a stroke that is not a color

Fix

Fixed a V8 crash on secondary Library initialization

Fix

Fixed negative letter-spacing sometimes cutting text

Fix Unity

Fixed allocating a new C# UnityPlugin instance on each access

Fix Unity

Fixed possible artifacts caused by scratch texture reuse

Fix Unity

Fixed crash Metal backend when there are multiple cameras with views

Fix Unity

Fixed Unity Mac bundle package naming

Fix Unity

Fixed running the Player with the scripts

Fix Unreal Engine

Fixed crash when making profile capture with screenshots enabled for DirectX12

Fix Unreal Engine

Removed mixed (game and engine) plugin installation


Feature

Added support for the HTML template element

Enhancement

Added CSSStyleDeclaration.removeProperty

Enhancement

Added compile time checks to stop creating data-binding models from unsupported types

Enhancement

Made CSSStyleDeclaration.setProperty work with non-custom properties

Enhancement

Stopped creating layers for color matrix or blur filters that do not result in visual changes

Enhancement Unreal Engine

Added compile time checks to stop creating data-binding models from unsupported types

Enhancement Unreal Engine

Improved resource handling of streaming textures

Enhancement Unreal Engine

Prevent registering of BluePrint struct models received by copy

Enhancement Unreal Engine

Moved update of the resource loading in the Game thread in a regular tick

Enhancement Unreal Engine

Made the plugin installer report failures during installation

Enhancement Unreal Engine

Transitioned the CoherentSample project to the Enhanced Input system

Fix

Fixed objectBoundingBox masks for SVGs

Fix Unreal Engine

Fixed first sampler being forced on all sampler slots for Vulkan

Fix

Fixed a regression with getElementsByTagName('*'')

Fix

Fixed inline RTL text being displayed in the wrong order for right-to-left languages

Fix

Fixed a case where a multiline text may get truncated at the bottom

Fix

Fixed crash when using multiline bidirectional text

Fix Unity

Added automatic switching between Mono and IL2CPP scripting backends

Fix Unity

Added automatic detection for HDRP and URP rendering pipelines

Fix Unity

Fixed WebSockets not being able to connect with slower networks

Fix

Fixed possibly skipping notifications for Layout tasks with task based concurrency mode

Fix Unity

Resolved the Unity3D integration samples CSS HTML and JS warnings.

Fix Unity

Fixed rendering artifacts on iOS


Feature

Introduce support for linear rendering pipeline where the rendering library will linearize all color and will use SRGB texture as intermediate rendering targets

Feature

Added support for the svg image element

Feature

Replaced JavaScriptCore with V8 for UWP on x64

Feature

Enabled PGO optimizations for GDK Xbox platforms

Feature

Enabled PGO optimizations on PlayStation 5

Feature Unreal Engine

Integrated Surface Partitioning for HUD and UMG widgets

Feature Unity

Integrated mimalloc inside UnityPlugin for Windows and MacOSX

Feature Unreal Engine

Added support for Unreal Engine 5.2

Enhancement

Added mimalloc allocator as a module for Microsoft Windows and Mac OS X

Enhancement

Added the mimalloc allocator in the Player, Launcher, and Samples on Windows and MacOSX

Enhancement Unity

Add the PlayerOverrides project in the Player folder.

Enhancement Unity

Hide the entire Player folder from Unity3D editor package import process.

Enhancement

Non-inline SVGs are now shared between DOM elements in order to avoid repainting for each individual element

Enhancement

Support for Microsoft GDK version 2023.03

Enhancement

Support for Sony PlayStation 4 SDK version 10.500

Enhancement

Support for Sony PlayStation 5 SDK version 7.000

Enhancement Unreal Engine

Added control over view update for UMG widgets

Enhancement Unreal Engine

Guarded a crash when wrong argument type is being used when calling from Blueprints Update or Remove data model from struct

Fix

Fixed SVG gradients to update when related properties change

Fix

Fixed SVG clipping to not leave artefacts when clipped elements have 0 scale

Fix

Fixed SVG clip paths to hide elements that are outside their AABB

Fix

Fixed crash when dispatching transition and animation events

Fix

Fixed a false-positive warning for ‘Model: X is not registered yet” when using data-bind-for’

Fix

Fixed a bug where some SVG might disappear when their parent element has an opacity other than 1.0

Fix

Fixed text-overflow: ellipsis not showing text even when there is enough space

Fix

Fixed memory leak when navigating between pages with custom elements

Fix

Fixed innerHTML reordering comments and text

Fix

Fixed potential wrong value in constant buffer passed to shader, usually resulting in white textures in the UI

Fix

Make pseudo elements with a width of 5px or less be impacted by border-radius

Fix

Fixed wrongly requested 4GB allocation when using cohinline with font-fit shrink on very small containers

Fix Unreal Engine

Add extra check if texture streaming is enabled when loading textures

Fix Unreal Engine

Add missing CohtmlBackwardsCompatibility.h header inside CotmlUTypeBinder.h

Fix

Fixed regression in the graphics clipping state, causing disappearing parts of elements


Feature

Track all V8 memory allocations

Feature

Added ability to extract GPU memory information

Feature Unreal Engine

Add Bink Video Player sample map

Enhancement

Added support for base64 images

Enhancement

Add the ability to control the rendering library caches in the inspector

Enhancement

Start shipping the shaders’ source code for the Sony PlayStation 4 and Sony PlayStation 5 platforms.

Enhancement Unity

Support for the GetBoundingRect of NodeProxy method

Enhancement Unreal Engine

Document how to order data binding and View::Advance order

Fix

Fixed a potential crash after a view is destroyed with in-flight resource requests

Fix

Fix a bug with backdrop-filter where the filtered content will continue to be displayed, even if the element has visibility:hidden

Fix

Fix carriage return being wrongly rendered with some fonts

Fix

Fixed text alignment with cohinline

Fix

Fixed upgrading p elements with cohinline

Fix

Fixed parsing of contain:none

Fix

Fixed text sometimes failing to redraw with text-align

Fix

Fixed memory accumulation when using elements with unresolved font

Fix

Fix a potential double user texture wrap in the backend for the use background texture

Fix Unity

Package all uiresources library files.

Fix Unreal Engine

Fixed non-unity build compilation errors

Fix Unreal Engine

Fix a DPI scaling of widgets when they are constructed without UUserWidget, but warn for possible improper creation

Fix Unreal Engine

DedicatedUIThreadHUD now creates it’s texture in PreInitializeComponents which ensures the texture UObject will happen on the appropriate thread


Feature

Unloading of background/border/mask images of elements hidden with display:none

Feature

Added a library option to expose a JavaScript API that can force garbage collection

Feature Unreal Engine

Added integration with the Unreal Engine 5 Text-To-Speech plugin

Feature Unreal Engine

Delegate for OnNavigateTo

Feature Unity

Use C# controlled threads for layout and resource tasks

Feature

Added full page capture to serialize a loaded page for debugging purposes

Enhancement

Improved speed of creating custom elements

Enhancement

Optimized string storage of script contents

Enhancement

Changed engine.whenReady to be invoked before visual resources are loaded for more optimized initialization of the DOM

Enhancement

Reduced memory taken by layout styles

Enhancement

Decreased memory consumption for SDF glyphs

Enhancement

Remove additional memory allocation for texture update

Enhancement

Allow elements with coh-composition-id to be rendered offscreen and not rerendered when only their transformation is changed

Enhancement

Add a AltGr key support and AltGraph modifier to EventModifierState

Enhancement

Added the animationiteration, animationcancel, transitionrun and transitioncancel events

Enhancement

Implement support for nested clipPath elements in SVG elements

Enhancement

Enhance stroke rounded rects to use geometry instead of paths

Enhancement Unreal Engine

Removed usages of AddToRoot and RemoveFromRoot

Enhancement Unreal Engine

Add AltGr key input handling

Fix Unity

Fix the brightness correction when using Linear color space

Fix

Background/border/mask images are now properly released when the style no longer requires them

Fix Unity

Fixed the world views adding extra mesh component

Fix

Fixed a crash when using complex text with bitmap font

Fix

Fixed crash when parsing long URL

Fix

Fixed double invoke of UserImageDropped callback during system destruction

Fix

Fixed caret position with text-align right and center

Fix

Fixed borders with border-radius sometimes having incorrect colors

Fix

Fixed parentElement on html element not returning null

Fix

Fixed a crash when firing events on elements with pseudo elements

Fix

Fixed elementFromPoint behavior with pointer-events:none

Fix

Fixed Date.now() precision on Nintendo Switch

Fix

Fixed display: none sometimes causing redraw

Fix

Fixed assert when SVG root is hidden with display: none

Fix

Fixed text key shortcuts to work as expected with Control, Alt, AltGraph, and Shift modifiers.

Fix

Fixed some letters being interpreted as the newline character in input fields

Fix

Fixed SVG elements not redrawing correctly in some cases

Fix

Fixed a crash when applying white-space property on input elements

Fix

Fixed a deadlock that can occur during loading of images

Fix

Borders having width less than 1px and using images/gradients as border-image-source are no longer disappearing

Fix

Fixed pausing animation with duration 0 rendering it at the beginning

Fix

Fixed a crash in MediaProvider::OnSeekDataReceived

Fix

Fixed potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option.

Fix

Fixed submission validation errors for Sony PlayStation 5

Fix

Fix a crash when nesting elements that use the clip-path property in an SVG

Fix

Fixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option

API

Removed OnIMEShouldCancelComposition legacy code


Feature

Introduce a new ‘UI Surface Partitioning” feature that gives the ability to split the UI in parts that will be rendered in separate textures. See the documentation for more details’

Enhancement

Added documentation for the coh-composition-id, coh-partitioned, and coh-rendering-options

Enhancement

Enhanced stroke rounded rects to use geometry instead of Path for better performance

Enhancement

Implemented a full page capture feature that can serialize a loaded page to a binary blob for easier debugging

Enhancement

Added support for null when setting style.[top|left|right|bottom]PX for unsetting the property

Enhancement Unreal Engine

Added a way to ignore the automatic binding of specific UFunctions

Fix

Fixed a crash when applying white-space property on input elements

Fix

Fixed a deadlock that can occur during loading of images

Fix

Fixed a regression with user images that may have caused crashes

Fix

Borders having width less than 1px and using images/gradients as border-image-source are no longer disappearing

Fix

Fix the disappearing of small border corners

Fix

Fixed pausing animations with zero duration to render the correct state

Fix

Fixed a potential crash when creating/destroying video elements or changing the src attribute

Fix

Fixed a potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option

Fix

Fixed a crash when nesting elements that use the clip-path property in an SVG

Fix

Fixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option, leading to the missing texture errors

Fix

Removed additional memory allocation for texture updates

Fix

Fixed an assert in Debug configuration related to visual AABBs

Fix

Fixed possible GPU hang due to failing Index buffer diagnostic check 16690 in the stock PS4 backend.

Fix

Fixed wrong layout when using font-fit in a dynamically sized flex sub-tree

Fix

Fixed inner HTML in localized content not displayed correctly unless wrapped in a single HTML element

Fix

Fixed unnecessary request for an invalid texture from the backend in the Compositor sample

Fix

Fixed incorrect handling of background-size single value extent and auto value

Fix

Fixed possible assertion for a missing render target when having an element with both coh-composition-id and filter CSS properties

Fix

Fix the occasional disappearing of SVGs used as masks

Fix

Fixed SVGs not drawing correctly when using preserveAspectRatio="none"

Fix Unity

Fixed submission validation errors for PlayStation 5

Fix Unreal Engine

Fix retrieval of game viewport when multiple PIE processes exist


Feature

Added support for debugging with Visual Studio Code

Feature

Added text-anchor property for SVGs

Feature

Added movementX and movementY for mouse events

Feature Unity

Add a window in Unity editor warning for known issues with specific Unity versions

Feature Unity

C# Rendering backend support for Android with Vulkan

Feature Unity

C# Rendering backend support for MacOS

Enhancement

Added more meaningful debug logs for the lifetime events of images

Enhancement

Provided a callback for whenever a user image is dropped before being used

Enhancement

Reduced draws in SVGs when duplicate paths are present

Enhancement

Each view can be inspected by multiple inspector instances

Enhancement

classList add and remove work with more than one argument

Fix

Fixed getBoundingClientRect for transformed elements.

Fix

Fixed multiple sources in background-image delimited by whitespace being valid

Fix

Address potential COM warnings related to XInput usage in samples

Fix

Hidden elements are no longer redrawn.

Fix

Fix threading issues when compositor is used

Fix

Fixed parsing of font families in SetAdditionalFontFallbacks function caused by whitespace

Fix

Fixed leaking frame rendering data of discarded frames when using the multi-threaded paint option

Fix

Fixed disappearing styles in the inspector styles tab on declarations edit

Fix Unity

Removed GLES2 and GLES3 dependency for iOS.

Fix

Fixed data-bind-style-transform swapped second and third matrix values

Fix

Fixed possible artifact when drawing a background with semi-transparent color and overlapping border radius.

Fix

Fixed issues when appending multiple HTML, HEAD and BODY elements to a document

Fix

Fixed a crash when destroying a view while tracing in the inspector.

Fix

Stop tracing when the inspector frontend disconnects.

Fix

Fixed out-of-the-box launching the Player application on newer Mac OS versions


Enhancement Unreal Engine

Significantly reduced the size of the Unreal Engine installers for consoles by removing the most of the binaries present in the regular installer

Fix

Fixed data-bind-style-transform swapped second and third matrix values

Fix

Fixed a crash during GC tracing of events

Fix

Fixed a deadlock regression with user images

Fix

Fixed potential “Called EndLayer to a command buffer which has … saved states to restore!” warning when using backdrop filter

Fix

Fixed a precision error when calculating font-fit when given high precision numbers from CSS

Fix

Fixed the rendering of nested SVG elements that use clip-path

Fix

Fixed possible artifact when drawing a background with semi-transparent color and overlapping border radius.

Fix Unreal Engine

Fixed installer logic that adds module dependency for Cohtml and CohtmlPlugin when installing over an existing game

Fix Unreal Engine

Fix the crash when the inspector starts performance recording with screenshots enabled

Fix Unreal Engine

Fix non-compiled shaders for Custom Effects because of Unreal Engine 5.1’s ODSC


Enhancement

Support for Sony PlayStation 5 SDK version 6.000


Enhancement

Implement optimization that caches SVGs used in elements so that the SVGs are not redrawn every frame

Enhancement

Optimized approximating cubic curves into quadratic ones when doing font rendering

Enhancement Unreal Engine

Make custom effects to work with dedicated layout thread

Fix

Fixed virtual list parsing when there is a function call in the expression

Fix Unity

Fixed Unity 2022.2 HDRP rendering when using the native D3D12 backend

API Unreal Engine

Removed support for old engines prior to Unreal Engine 4.27


Feature

Added mouse event type MouseLeave, which clears hover effects when the mouse leaves the view

Feature

Implemented import.meta.url for ES6 modules for platforms using V8

Feature

Implemented dynamic import for ES6 modules for platforms using V8

Feature Unreal Engine

Support for Unreal Engine 5.1

Enhancement

Reduced the amount of log messages caused by unsupported CSS syntax

Enhancement

Non-inline SVGs are now shared between DOM elements in order to avoid re-rendering for each individual element

Enhancement Unity

MacOS bundles support all CPU architectures

Enhancement

Fixed possible incorrect generation of “streaks” when tessellating a path for filling. Note that this changes the tessellation result slightly, most noticeable when rasterizing thin fills.

Enhancement

Improved error reporting of declaration parsing with custom variables

Enhancement

Improved image decoding performance (sped up the automatic premultiplication of the alpha channel by 2x-3x depending on platform)

Fix

Fixed a crash when modifying the DOM of an inline SVG

Fix

Fixed a crash when using events outside of event handlers

Fix

Fixed rem units not working with SVGs

Fix

Fixed a leak when inspector network tab is disabled

Fix

transform: translate/font-size with non-pixel units on SVG elements no longer causes an assert/warning

Fix Unity

Fixed code stripping removing classes or methods for the JIT aware scripting backends

Fix

Fixed a bug where part of the viewport gets clipped when the rendering resolution API is used and the size of the view`s render target is changed

Fix Unity

Fixed a crash when not supported arguments are passed from JavaScript

Fix Unity

Fixed a crash when using HDR on DirectX12 in Unity

Fix

Fixed incorrect sampling of very thin elements using a large scale, that previously led to incorrect interpolation

Fix

Fixed a crash when resolving calc expression with invalid parentheses

Fix

Fixed elements to update their font after registered fonts without explicit font family are loaded

Fix

Fixed scroll juddering when panning with touch or scrolling fast

Fix

Fixed a crash during garbage collector tracing

Fix

Fixed SVG used as masks being partially rendered sometimes

Fix Unity

Removed GetNativeTexture call for Linux on each update loop

Fix

Removed assert/log errors when an invalid url is provided to properties like background-image

Fix

The getAnimations API now takes into account the display property of an element and its parents

Fix

Fixed font family to be case insensitive

Fix Unity

Removed redundant View`s BackdropFilter property

Fix

Fixed parsing of inline styles containing various whitespace characters

Fix

Fixed possibly incorrect gradient drawing on PlayStation platforms

Fix

Fixed a crash when command processors are being reused

Fix

Fixed em units to be calculated against the first parent with explicit font-size instead of the direct parent


Feature

Added support for text-decoration-line, text-decoration-color, text-decoration-thickness, text-underline-offset, text-underline-position and the text-decoration CSS properties

Enhancement Unity

Mac OS bundles support all CPU architectures

Fix

Fixed linking of iOS ARM64 builds

Fix

Fixed scroll juddering when panning with touch

Fix

Fixed potential double trace and crash of objects during V8 garbage collector tracing


Feature

Added API to remove arrays exposed by reference from JavaScript

Feature

Dispatch window Error event for platforms using V8

Feature

Add cohtml::ScriptCompiler for compiling scripts before loading for platforms using V8

Enhancement

New documentation with improved usability and searching for Custom engines, Unreal Engine and Unity Engine

Enhancement

Clarified System API usage – System API must be called on the thread that initialized the System, unless explicitly stated otherwise

Enhancement

Support for PlayStation 4 SDK 10

Enhancement

Optimized performance of font data preloading

Enhancement

Added new API for creation/destruction of custom effects

Enhancement

Gamepad events are now fired before JS timers execution on Advance

Enhancement

Added warnings for registering an already registered gamepad and unregistering a non-registered gamepad

Enhancement

Documented the new execution flow of resource commands through the rendering backends

Enhancement

Enhance batching to check for older combinable commands

Enhancement

Added pdb files for the prebuilt Renoir backends

Enhancement

Inspector now accepts shorthand declarations

Enhancement

Style tags now display their content in the inspector

Enhancement

Added the event name to the warning message when trying to remove non-existent event listeners

Enhancement

Abort execution of newly loaded scripts after document unloading has started

Enhancement Unreal Engine

Added support for Custom Effects in Unreal Engine 5

Fix

Moved invocation of RegisterGamepad and UnregisterGamepad on the System initializing thread in GDK XBox samples for thread-safety

Fix

Fixed log spam when inspector is enabled without an available network connection

Fix

Fixed assert on Linux with Vulkan backend caused by wrong texture layout

Fix

Fixed a crash when reloading pages using canvases and not calling ViewRenderer::Paint on all advanced frames

Fix

Fixed inspector taking up memory space when disabled

Fix

Fixed a case where the client`s backend can receive a DestroyTexture command for a user image before the WrapUserImage command

Fix

Fixed a crash with std::map reading from JavaScript and a numeric string is used as a key

Fix

Fixed forward fill mode animations to retain animated value on end when animation direction is reversed

Fix

Fixed C4100 warnings in public headers, modules and samples

Fix

Fixed bottom and right properties percent values being calculated against the width of the parent element

Fix

Fixed assert when opening the inspector with Chrome language default different than English

Fix

Fixed a crash when parsing background shorthand

Fix

Fixed a crash when there are several elements inside element in a SVG

Fix

Fixed !important order when used with custom variables

Fix

Fixed a crash when importing a module that contains syntax errors

Fix

Fixed a crash when performance handler is not passed

Fix

Fixed hover functionality for elements that are part of complex selectors

Fix

Fixed a crash when registering and unregistering gamepads

Fix

Fixed setting a gamepad object when creating GamepadEvent from JavaScript

Fix

Fixed a crash when unregistering a gamepad twice

Fix

Fixed a GamepadEvent related crash during garbage collector tracing

Fix

Fixed a crash when parsing clip-path:ellipse with a single argument

Fix

Fixed animations not playing when a new element is shown after immediately being hidden

Fix

Fixed crash when there is no function handler in engine.on call

Fix

Fixed border-radius not working until a certain proportion of width and radius

Fix

Fixed style matching of CSS attribute selectors with empty value

Fix

Fixed the crash when clipPath is used together with opacity in SVGs

Fix

Fixed an assert on Vulkan when user texture layout is different from VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL


Feature

Experimental support for inline layout background styles per row (color, images and gradients)

Fix

Fixed elements leaving visual artifacts after being removed from the DOM

Fix

Fixed a case where CSS variables will fail to be resolved

Fix

Fixed a crash when certain SVGs have zero width/height


Feature

Added an interface for time zone support for Sony PlayStation and Nintendo Switch

Enhancement

Implemented an optimization to reduce the number of render passes when rendering complex effects

Enhancement

Added functionality and API to capture backend command buffers

Enhancement Unity

Support for Android x64

Enhancement

Introduced new backend API for resource barriers (see the rendering migration guide)

Enhancement

Enhance batching to check for older combinable commands

Fix

Fixed the growth of the stroke width for elements in SVGs to be bidirectional

Fix Unity

Fixed binding between C# and JavaScript

Fix

Fixed typescript definition of registering binding attribute

Fix

Fixed order of custom element reactions when content is added through insertAdjacentHTML

Fix

Fixed wrong indexing arrays with literal numbers in data-binding expressions

Fix

Fixed crash in data-binding with complex expression and literal numbers indexing arrays

Fix

Fixed the Date.now() time on Nintendo Switch.

Fix

Fixed clipped text shadows when using line height which is less that the character height.

Fix

Fixed background/mask-position when using a gradient as an image

Fix

Fixed mask-position property when the mask-image is a gradient.

Fix

Fixed a crash when changing the html background before the body element is created.

Fix Unreal Engine

Fixed assert when custom effects are enabled

Fix Unreal Engine

Fixed safe zone calculation with multiple viewports

Fix Unreal Engine

Fixed texture drawing in atlas crash in Unreal Engine 5 with DirectX12

Fix

Fixed the default value of stop-color in gradients defined in SVGs


Feature

Added new interface for logging performance hints

Feature Unreal Engine

Added Live Reload option for different directories

Enhancement

Changed custom css float param for the custom effects to an array. Maximum of 16 values

Enhancement

Added a new API for the compositor for notification when composition is created

Enhancement Unity

Support Android Vulkan native rendering

Enhancement

Moved AGC Shader library from include to lib folder in the native packages

Enhancement

Command buffers are pooled now, instead of reallocated every frame

Enhancement

Automatic disabling of constant buffer optimization if custom shader mapping is used in the backends

Fix

Fixed a crash when modifying the DOM of an inline SVG

Fix

Fixed a hang when using canvases with ExecuteCommandProcessingWithLayout option enabled and a dedicated layout thread

Fix

Fixed early closing of renderer frames when doing layout on the DOM thread that was causing leaks

Fix

Fixed failing transitions when combined with CSS animations

Fix

Fixed a failing assert when the inspector is attached to a page with pseudo elements

Fix

Fixed flickering of SVGs when the SVG element is moved.

Fix

Fixed a crash when switching render target with processing rendering commands on the layout thread enabled

Fix

Fixed binding objects with BaseClass in the CoherentBind function

Fix

Fixed eager wrapping of multiple words caused by improper layout cache invalidation

Fix

Fixed a crash when there are two wrap RenderTarget commands

Fix

Fixed possible wrong positioning of element when using the –rescaleFontSizeWithMatrixScale developer option

Fix

Fixed crash in CPU workload flow when trying to draw an image that wasn`t loaded successfully

Fix

Fixed a crash when more than 65k vertices are requested during patterns/gradient drawing

API

Added API for controlling the command buffer pool size (see cohtml::InternalCaches::ICACHE_GfxCommandBuffers / ICACHE_GfxCommandProcessors)


Fix

Fixed eager wrapping of multiple words caused by improper layout cache invalidation


Feature

Absolute positioned elements support for inline layout

Enhancement

Enhance objects logging in the Inspector console for platforms using V8 for JavaScript execution. Objects are now properly expandable in the console log messages with captured callstack

Enhancement

Added rem and % setters for left, right, top, bottom, width, height, maxWidth and maxHeight

Enhancement

Added partial Float32Array setters for transform, filter, clip-path, transform-origin, mask-size and mask-position

Enhancement

Increased the duration of JavaScript CPU profiles in the Performance tab

Enhancement

Added support for transform-origin for SVG nodes

Enhancement

Added documentation about the Inspector`s new tracing capabilities

Enhancement Unity

Added support for Vulkan rendering on Android using the C# rendering backend

Enhancement Unreal Engine

Add option to propagate mouse wheel events through transparent CSS classes

Fix

Fixed inconsistencies with nested elements in inline layout

Fix

Fixed inline layout word wrapping when text is nested in elements

Fix

Fixed minor issues with text wrapping in inline layout

Fix

Fixed potential crashes when drawing glyphs and using the PreferCPUWorkload option

Fix Unity

Fixed C# backend crash when the VB/IB buffer data is being set to the mesh

Fix

Fixed a deadlock when the layout is processed on the DOM thread and rendering canvases

Fix

Fixed a crash when detaching elements with animated pseudo elements

Fix

Fixed artifacts from text not properly clearing in cases when the used font-size and line-height made the text get outside of the line`s visual dimension

Fix

Fixed possible race condition in ShaderGradientTextureCache when using command processing on the layout thread

Fix

Fixed possible memory leak when displaying a path at a very low scale (less than ~0.01)

Fix Unreal Engine

Fixed input propagation for in-world Views


Feature

Added View::TerminateScriptExecution to terminate long running scripts

Enhancement

Improved the performance of the C++ character processing functions(tolower/toupper) in the internal code

Enhancement

Updated Nintendo Switch SDK to version 14

Enhancement

SDF text with different size is now batched

Enhancement

Renamed ICU libs with cohtml_ prefix

Enhancement Unity

Added support for binding long and ulong values

Fix

Fixed wrong text direction with some RTL scripts

Fix

Fixed preloading of unsupported formats in the instaload sample

Fix

Reduced JS garbage memory from fired events

Fix

Fixed hover not working for newly added elements styled by complex selectors

Fix

Fixed incorrect layout when using flex subtrees with simple mode layout

Fix

Fixed overlap of transparent borders when using border-radius

Fix

Guarded against drawing too small rectangles when using the inspector highlight, which could potentially trigger an assertion in the SDK

Fix

Fixed possible excessive fullscreen draws to the stencil buffer when executing clipping commands

Fix

Fixed load event not firing when using the same image as background and border or mask image

Fix

Fixed load event firing before all images are loaded when using the same image source of an IMG tag as a background-image

Fix

Fixed graphic artifacts when “transform-style: preserve-3d” was missing between 3D transformed elements and elements with perspective

Fix Unreal Engine

Fixed hang when loading atlasses saved with previous version of the atlas medata

Fix Unreal Engine

Fixed video decoding hang for console platforms in Unreal Engine 5


Feature

Added sample for using Google Protocol Buffers with data-binding

Feature

Implement custom property binding for protobuf::Message and protobuf::Field

Feature

Added support to the Devtools to display the state of some internal caches

Feature

Added support for GDK native rendering in Unity3D

Feature Unreal Engine

Add delegate for controlling which properties are exposed with the automatic binding

Enhancement

The rendering library will automatically detect multithreaded usage and will set AllowMultithreadedCommandProcessing accordingly

Enhancement

Fixed iOS simulator by adding new metal shader library built specifically for simulator in the package. For Unity3D it`s embedded in the native plugin.

Enhancement

The CSS parser will try to continue parsing the stylesheet after encountering errors in rules and declarations

Enhancement

Increased the severity of CSS parsing errors

Enhancement

Added support for attributes on the HTML element

Enhancement

Enable duplicate rendering command buffer checking by default. This saves the execution of potentially costly commands.

Fix

Fixed possible artifact when a node is hidden with display:none without other layout changes

Fix

Fixed crashes when parsing badly defined media queries

Fix

Fixed broken layout when hiding and showing cohinline paragraph elements

Fix

Fixed broken layout when using justify-content space-around with a single element

Fix

Fixed a race condition when using XmlHTTPRequests with response headers and enabled inspector that might cause a crash

Fix

Fixed an issue where styles won`t be applied to elements with transitions that have already been displayed once

Fix

Fixed the artifacts when drawing repeated an image from a texture atlas

Fix

Fixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation

Fix

Fixed the library from crashing the process when the UISystem::Uninitialize has not been called

Fix

Fixed transform-origin being reset to a default value when changing a style through the inspector

Fix Unreal Engine

Fixed deadlock issue with accessing a texture resource TSoftObjectPtr on worker threads

Fix

Fixed possible artifact when tessellating the same path at different scales

Fix

Fixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation

API

Added means for destroying the user render target through the Scene`s DestroyRenderingResources method


Enhancement

Update Sony PlayStation 5 SDK to 5.000

Enhancement

Update Sony PlayStation 4 SDK to 9.500

Enhancement

Update Game Development Kit to March 2022

Fix

Fixed incorrect generation of anti-aliased border geometry when drawing a gradient with perspective transformation

Fix

Fixed an issue where styles won`t be applied to elements with transitions that have already been displayed once


Feature

Devtools Add rendering trace markers

Feature

Devtools Add ability to record screenshots

Feature

Devtools Add support for tracking the creation, destruction, and count of GPU objects

Feature

Devtools Add support for tracking the GPU memory used by the rendering library

Feature

Add custom CSS property coh-use-aa-geometry to enable control over AA of specific element. By default it`s enabled and it can be used for disabling AA of an element.

Enhancement

Devtools The rendering trace events in the inspector`s performance tab now have information about the DOM node which was rendered

Enhancement

Add support for “background-repeat: round” for background SVGs larger than 1024px

Fix

Add support for changing the Window origin on Nintendo Switch. Note that you need to use the –disableSimpleSublayers developer option for full support

Fix

Fixed V8 freeing memory on small GC collections

Fix

Fixed a regression in absolute element size calculation when width and height weren`t specified margins were ignored

Fix

Fixed wrongly positioned absolute flex items with percents when parent element had margins

Fix Unreal Engine

Fixed CohtmlHUD Material compatibility with Unreal Engine 4


Feature

Implemented the DOMContentLoaded event

Feature

The page load event fires after all images are loaded, including images specified in styles

Feature Unreal Engine

Preview support for Unreal Engine 5. Known issues include rendering artifacts on Nintendo Switch and iOS and video playback on game consoles

Feature Unity

Implement Input event propagation handler

Feature

Implement an optimization for constant buffers to reduce number of updates and memory used.

Enhancement

Fixed increasing memory when changing the style attribute or its properties

Enhancement Unity

Add new sample to demonstrate the input events handling propagation

Enhancement

Documented how to avoid banding in gradients

Enhancement

Documented animation, chat and map JavaScript libraries support

Enhancement

Add different semantics for null and undefined in the C++ bindings

Enhancement

Implemented the animationstart and transitionstart events.

Enhancement

Added propertyName to transition events.

Enhancement

Added animationName to animation events.

Fix

Fixed 9-slice and wrong image repeat in some cases

Fix

Fixed calling pushState and replaceState History APIs without URL

Fix

Fixed possible frame delay when drawing a new image from an atlas

Fix

Fixed firing animationend event more than once for certain animations

Fix

Fixed flickering artifacts caused by negated scaling for path objects (used by clip-path, clip-polygon, etc.)

Fix

Fixed a crash in ClipboardData::Set when called nullptr string or invalid length

Fix

Fixed custom elements reaction callbacks invocation order

Fix

Fixed deferred scripts execution order

Fix

Fixed WebAnimations API to return current frame time instead of the previous frame time

Fix

Fixed document.readyState to report the document state correctly no matter when it is queried

Fix

Fixed leaking WebSocket connections in the Player app

Fix

Fixed nodes ignoring scroll set via JavaScript on the first frame

Fix

Fixed transitions not activating on elements with pseudo elements

Fix

Fixed transition state breaking when cloning nodes with JavaScript

Fix

Fixed duplicated Inspector and Mutation Observer events on element inlineStyle change

Fix

Fixed absolute element positioning when size is defined

Fix

Fixed the animationend event to be fired once per animation instead of per property.

Fix

Fixed a race condition when multithreaded command processing was enabled.

Fix

Fixed a crash when destroying GPU buffers (vertices & indices).

API

Removed forceStyleResolve option from GetAnimationsOptions, getAnimations now works by standard

API

Deprecated ReadNull in favor of SkipValue in the cohtml::Binder


Enhancement

Improved performance of setting inline style in terms of CPU and memory usage.


Fix

Fixed InputManager gamepad null reference in Unity3d

Fix

Fixed a regression of cohtml.js that made it unusable in a browser

Fix

Fixed transitions not activating on elements with pseudo elements

Fix

Fixed transition state breaking when cloning nodes with JS

Fix

Fixed absolute element positioning when size is defined


Feature

Added public interface for a custom virtual allocator to the library

Feature

Implemented default public virtual allocators for PlayStation and Switch

Feature

Added support for the clipPathUnits property for elements in SVGs

Feature

Added support for the image-rendering CSS property

Feature

Added support for the caret-color CSS property

Feature

Implemented the Inspector Search functionality in the Elements tab

Feature

Added support for the InspectorDOM domain protocol function `DOM.describeNode which could be used for automation

Feature

Added support for the InspectorDOM domain protocol functions – DOM.querySelector, DOM.querySelectorAll, and DOM.getAttributes

Feature Unity

Update ICU library to ICU v69 and provide InternationalizationManager and BreakIterator support for all platforms

Enhancement

Implemented input caret navigation and selection for complex and RTL text

Enhancement

Update V8 to 9.4 with latest security fixes

Enhancement

Large SVGs used for mask-image use less memory and won`t create temporary textures larger than 1024×1024

Enhancement

Added Player command line argument option for fullscreen borderless window

Enhancement

Implemented promise rejection event for V8 as some JS frameworks require it

Enhancement

Using text measure cache more aggressively to improve text layout performance

Enhancement

Update Nintendo Switch SDK to 13

Enhancement

Update Microsoft GDK to October 2021 release

Enhancement Unity

Fixed performance regression from a Linux patch that is now behind a platform define

Enhancement Unreal Engine

Add backwards compatibility for Atlas metadata files created prior to 1.14.3

Fix

Fixed crash when connecting the inspector to a page using lots of CSS variables

Fix

Fixed binding unsigned integers greater than 2^31

Fix

Fixed a crash with complex text when the fonts used are missing the glyphs for it

Fix

Fixed constant redraw of text nodes that were selected at some point

Fix

Fixed firing of ViewListener::OnNodeTouched for TouchMove events

Fix

Fixed a memory leak caused by binder state leak

Fix

Fixed artefacts when scrolling right or center aligned text

Fix

Fixed trailing artefacts of elements with inherited filters

Fix

Fixed complex text letter spacing which was wrongly applied on overmarks and undermarks

Fix

Fixed attributeChangedCallback for custom elements to be called only for attributes listed in observedAttributes

Fix

Fixed a crash on UWP when utilizing a specific symbol on the JavaScript side

Fix

Fixed JS return value of the isolation property. Now properly returns “isolate” instead of “isolation”

Fix Unreal Engine

Moved UObject creations from the Render thread to the Game thread

Fix Unreal Engine

Fixed Compositor errors for missing textures

Fix Unreal Engine

Initialize USTRUCT member variables that were not initialized at construction time

Fix Unreal Engine

Fixed debug asserts due to improper usage of GWorld

Fix Unreal Engine

Fixed soft locking when loading a streamable Texture

Fix Unreal Engine

Added a mutex lock to prevent concurrent accessing of the internationalization manager`s resources


Feature

Support for Binary WebSockets in the Network panel in the inspector

Feature

Support MQTT over WebSockets

Feature

Binary messages support for WebSockets

Feature

Introduced support for anti-aliased clipping

Feature Unreal Engine

Added option that enables the loading of UTextures instead of raw images if they exist inside an Atlas or can be located on disk

Enhancement

Exposed V8 Tracing events on Xbox, which show where V8 is spending time when executing JavaScript code

Enhancement

Introduced new member in Compositor`s DrawInfo structure to show which view owns the composition which has to be drawn

Enhancement

Reduced various internal classes memory footprint

Enhancement

Cache attributes NamedNodesMap instead of allocating a new one on each query for better performance and memory

Enhancement

Optimized redrawing areas size and frequency

Enhancement

Reduced the HTMLParser memory usage

Enhancement

Optimized the transitions performance to be not affected by using transition: all

Enhancement

Added support for render passes in the DirectX12 backend

Fix

Fixed a crash when GC happens inside MutationObserver notification

Fix

Fixed premature removal of data-bind nodes from the evaluation graph when they have mutators

Fix

Fixed Player app gamepad swapped buttons 8 and 9

Fix

Fixed possible graphics artifact (color bleeding) when using a SVG as repeated background image

Fix

Fixed positioning of SVG <use> elements when using the WAAPI

Fix

Fixed the class, style and id attributes to be able to be empty

Fix

Added missing mutation records when classes are changed through classList

Fix

Handle possible assertion for a degenerate triangle when handling glyphs that contain cubic curves

Fix

Fix SVG clipping for background SVGs with viewBox attribute that has non-zero position

Fix

Fixed mutation observers being garbage collected too early

Fix

Fixed resized images being minified when drawing them onto CanvasRenderingContext2D

Fix

Fixed possible null access crash in DrawShadowShape

Fix

Fixed suffix attribute selector

Fix

Fixed flex absolute children size calculation not respecting the direct parent

Fix

Calculate transform origin based on snapped to pixel size box

Fix

Fixed ArrayBuffer type on JSC VM

Fix

Allow cohtml.js to be included multiple times without side effects

Fix

Fixed a rare crash when profiling performance via the inspector

Fix

Fixed stale stacking contexts which in certain cases improves memory consumption

Fix

Fixed an assert failure when using the compositor feature in Debug configuration

Fix

Fixed rare cases where elements would be missing their visual style during rendering leading to assert failures and crashes

Fix

Fixed wrong AABB debug visualization when using ShowElementAABBs feature

Fix

Fix disappearing pseudo elements

Fix

Fixed URL parsing for URLs that contain backslashes

Fix

Transitionend events are no longer fired when an element with a transition is shown

Fix

Transition property changes now correctly take effect when the active transition ends

Fix

Fix incorrect display of preloaded images using non-premultiplied alpha

Fix Unreal Engine

Fixed Video sample crash on Switch by disabling the Procedural sounds

API

Modified the User fonts API so it takes the Ascent/Descent of a font instead of just the baseline

API

Introduced new field in the RenderCaps structure of the backends – EndingRenderPassRequiresStateUpdate


Fix

Fixed MutationObservers being garbage collected too early

Fix

Fixed crash when DOM elements are created and destroyed during garbage collection

Fix

Fixed assert for exposing garbage collected NodeList instances


Feature

Added polyfill for the form element

Feature

Added JavaScript sampling profiler in the Inspector Performance Tab on Windows

Feature Unreal Engine

Added possibility to specify different directory locations for UE Texture Atlases

Feature Unreal Engine

Added callback which notifies when the input focus has changed

Feature Unreal Engine

Added Starter Guide for Unreal Engine

Enhancement

Added ICU integration and BreakIterator support in GFP Player app and Samples on all platforms

Enhancement Unreal Engine

Added C++ API for CohtmlInputActor input setup

Enhancement Unreal Engine

Added ResizeRenderTarget API

Fix

Fixed flaky wrapping of the elements when using flex wrap

Fix

Fixed an issue in V8 that was blocking the use of the PlayStation Memory Analyzer tool

Fix

Fixed SVG not being rendered in certain cases

Fix

Fixed stroke width to be correctly computed on rescaling for SVG path elements with stroke-dasharray

Fix

Fixed clipping artifact when layers with opacity and SVGs are present

Fix

Fixed SVG elements inside a SVG hierarchy to correctly apply transformations at runtime

Fix

Fixed crash due to unclamped negative size of image destination rectangles

Fix

Fixed crash in the svg rendering when svg are displayed as images inside a backdrop filter

Fix

Fixed playback of videos with low frame rate or gaps between frames

Fix

Fixed looped videos playback

Fix

Fixed the ::before pseudo element not showing in the inspector

Fix

Fixed not matching pseudo elements with complex CSS selectors

Fix

Fixed a crash when using null or undefined as an event listener.

Fix

Fixed the DX12 Backdrop Sample crash during init and close.

Fix

Fixed comments that were incorrectly displayed in the inspector Elements tab

Fix

Fixed a crash with whitespace in text and RTL glyphs

Fix

Fixed a crash when setting transform scale from JS

Fix

Fixed tagName and nodeName to correctly return capitalized names for custom elements and unknown elements

Fix

Fixed having duplicated nodes in the Inspector Elements Tab

Fix

Fixed a V8 crash when using onpopstate event listener

Fix Unreal Engine

Fixed a crash on CohtmlViewWrapper trying to access uninitialized FSlateApplication

Fix Unreal Engine

Fixed a crash in CohtmlEditorPlugin::ShutdownModule when running applet commands

API

Changed media sought event to be fired before a new frame has been shown

API

Added decoder type getter method to the IDecoder interface


Enhancement

Allowed WebSocket constructor to also accept a single string as a protocol

Enhancement

Updated Sony PlayStation 4 SDK to 9.000

Enhancement

Updated Sony PlayStation 5 SDK to 4.000

Fix

Fixed incorrect clipping of SVG elements when they are within a sublayer

Fix

Unity3D Fixed the backdrop filter support in HDRP projects in Unity3D

Fix

Fixed some SVGs not being displayed inside an element with backdrop filter

Fix

Fixed innerHTML to return the tag name of unknown elements.


Feature

Support for network requests in the Network panel in the inspector

Feature

Support for WebSockets in the Network panel in the inspector

Feature Unreal Engine

Add raw image to UTexture import feature

Enhancement

Update distributed ICU module with libraries for all platforms. The ICU version is also updated from v67 to v69.

Enhancement

Style attribute updates dynamically as inline style changes in the inspector elements tab

Enhancement

Reduced the memory used by the JavaScript heap on Sony PlayStation 4 and Sony PlayStation 5

Enhancement

Reduced the memory used by the JavaScript heap on Nintendo Switch

Enhancement

Reduced HTMLElement memory footprint

Enhancement

Reduce memory spikes caused by JavaScript accessing temporary DOM objects

Fix

Implemented proper incremental garbage collection of the DOM objects

Fix

Elements with backdrop filter now have the same size as the ones without

Fix Unreal Engine

Fixed the backdrop filter for Unreal Engine

Fix

Fixed data-bind-html sometimes not updating when nested in data-bind-if

Fix

Unity3D Fixed synchronization drawing Unity3D on Sony PlayStation 4 and Sony PlayStation 5 with the C# rendering backend

Fix

Fixed a regression with the timing of firing internal media events when playing videos

Fix

Unity3D Fixed missing font symbols when C# backend was used for the first time in the project

Fix

Fixed crash in the inspector, caused by elements with invalid computed value for border-width

Fix

Removed the warning for unknown mime type when the inspector is not running

Fix

Fixed paint flashing not displaying dirty rectangles when triggered through the inspector

Fix

Fixed crash when accessing the style property on UWP x64 builds

Fix

Free video data memory when the source is removed from a video element

Fix

Fixed a memory leak when calling GetElementsByClassName or GetElementsByTagName on detached elements

Fix

Fixed a memory leak when making circular references using the mutation observer

Fix

Fixed a memory leak when making circular references using event listeners

Fix Unreal Engine

Fix post build step for earlier UE versions to copy libraries with correct build configuration

Fix Unreal Engine

Fix issue with updating our UMG texture


Feature

Added CanvasRenderingContext2D.measureText

Feature

Added sample a demonstrating how to use observable models feature

Feature

Unity3D Integrated audio playback with Unity3D audio system

Feature

Enhanced Inspector timeline to include events for matching elements

Feature

Added initiators to the Inspector timeline that show the JavaScript code that invalidated styles and layout

Feature

Add a way to receive the View and System when they are created for the CohtmlOverrides

Feature

Add support for innerHTML and outerHTML getters

Enhancement

Enhanced timeline events for RecordRendering, Layout, RecalculateStyles, BuildDOM to contain extra data

Enhancement

Updated the Inspector UI to the version used in Chromium 94

Enhancement

Added support for border-color: inherit

Enhancement

Improved the Dynamically-typed object data binding documentation

Enhancement

Unity3D Add logic to reassign LogHandler default log functionality

Enhancement

Unity3D Exposed the low level rendering options to the plugin

Enhancement Unreal Engine

Optimize memory tracking in Cohtml and CoherentRendering plugins

Enhancement

SVGs used as background images with background-repeat mode set to “no-repeat” are now culled before reaching the GPU, netting a large performance improvement

Fix

Fixed clip-path undefined behavior when CSS animations are present

Fix

Fixed skipped custom element lifetime functions

Fix

Fixed custom element lifetime callbacks not being called on synchronize models

Fix

Fixed out-of-bounds memory access violation when using transform attribute with rotate value on SVG nodes

Fix

Fixed not correctly scheduled canvas layout task which resulted in artifacts

Fix

Fixed running transitions on elements with initially and dynamically hidden parents

Fix

Fixed animations being activated on elements with initially hidden parent

Fix

Fixed crash on certain iOS devices with complex regular expressions

Fix

Fixed Inspector showing non-existing children after they were removed with removeAllChildren

Fix

Fixed HTML preview in the Sources tab of the inspector when loading through HTTP

Fix Unreal Engine

Fixed the loading of Streaming Textures that were looking blurry when not fully streamed

Fix Unreal Engine

Fixed Resource loading of not yet fully initialized UTextures, that was sometimes resulting in crashes

Fix Unreal Engine

Fixed a crash when loading UserImage with not yet initialized Texture Resource

Fix Unreal Engine

Fixed HostLocation resolving when there is no slash (”/”) in the path

Fix Unreal Engine

Fixed UE Editor viewport resize crash

Fix Unreal Engine

Added ImageData width and height to ContentRect if a Texture doesn`t have an ImportedSize

Fix

Fixed the calculation of the miter limit for SVG path elements (previously it could end up much larger than specified)

Fix

Fixed possible issue when using mix-blend-mode (the blended area may be incorrect)

Fix

Fixed percent units in SVGs


Fix

Fixed layout of inline SVGs when parent element size and position changes

Fix

Fixed incorrect clipping of elements using linearGradient in SVGs

Fix

Fixed subtree styles rematching when parent is being rematched

Fix

Fixed incorrectly re-positioned cohinline paragraphs

Fix

Fixed a crash on certain iOS devices with complex regular expressions

Fix

Fixed a bug with complex selector matching with data attributes selectors

Fix

Fixed a bug that caused pseudo classes to always match in complex selectors

Fix Unity

Updated prebuilt ICU libraries to Sony PlayStation 4 SDK 8.500

Fix Unity

Updated prebuilt ICU libraries to Sony PlayStation 5 SDK 3.000


Feature

Added support for pseudo elements before and after

Feature

Added Text-to-speech sample for PlayStation 5 and GDK platforms

Feature

Added synthesizers for PlayStation 5 and GDK platforms to the Text-to-speech module

Feature

Added cohtml-speech-api JS library for interacting with Text-to-speech module from cohtml::View

Feature

Added Text-to-speech module for speech synthesizing

Feature Unreal Engine

Added SDK libraries for Release and Debug config

Feature Unreal Engine

Added support for autobinding C-style arrays

Feature Unreal Engine

Added support for binding 2D TArrays

Feature

Added a sample for Virtual Lists with scrolling (horizontal/vertical)

Enhancement

Updated Nintendo SDK to version 12.3

Enhancement

Improved the performance of the complex CSS selectors with classes and ids

Enhancement

Optimized getting element attributes by 10%

Enhancement

Improved the performance of AudioPlayer::ReceivePCMData

Enhancement

Added IsPlaying method for AudioPlayer

Enhancement

Improved the performance of Structural Mutators

Enhancement Unreal Engine

Expanded Virtual Keyboard documentation regarding VK Layout and how it depends on HTML input field types

Enhancement Unreal Engine

Added documentation regarding the settings of the individual UTextures that are part of a texture atlas

Enhancement Unreal Engine

Added documentation for autobound UFUNCTION

Fix

Fixed incorrect layout of inline text

Fix

Fixed leaking transitions that caused Advance calls to become progressively slow

Fix

Fixed mutation record NodeList properties to return empty NodeList instead of null

Fix

Fixed CSS not loading when selectors with CSS keywords are preloaded

Fix

Unity3D Fixed ResourceHandler.HostLocations handling of URLs that cause NullReference when is not found in the first location.

Fix

Fixed cohtml::ByRef binding not updating std::vectors when their size has changed.

API

Deprecated TryBindArrayByRef(void* arr, size_t size, ArrayElementBinder elementBinder, ArrayElementReader elementReader)

Fix

Fixed an assert failure about active mutation observers on document disposal

Fix

Fixed a potential crash during HTML parsing when using with the HTML preloading feature

Fix

Fixed deprecated font-fit-mode property

Fix

Fixed inspector crash due to invalid read data

Fix

Fixed a crash when passing console methods to async JS methods like setTimeout

Fix Unreal Engine

Fixed trimming of autobound properties with double underscores

Fix

Fixed incorrect sizing of images that could cause “squashing” into the visible area instead of clipping

Fix

Fixed missing rendering for user images that use NonPremultipliedAlpha alpha mode when simple sublayers are enabled

Fix

Fixed a crash in the Caching Manager when a source of an image was being removed from the DOM

Fix

Fixed a race condition when Path`s GPU data is being used and copied

Fix

Fixed incorrect clipping for elements with transform style


Feature

Added universal ICU library working natively on Mac OS X with M1 processors

Feature

Made UnityPlugin for Mac an universal library working natively on Mac OS X with M1 processors

Feature

Add support for tree-structural pseudo class selectors – first-child, last-child, only-child, nth-child

Feature

Added support for the backdrop-filter CSS property for Native and Unity3D

Enhancement

Added CSSStyleDeclaration.cssText support

Enhancement Unreal Engine

Added an option to install cohtml libraries in the game directory for Unreal Engine

Enhancement

Added a new sample demonstrating an example implementation for the ISubLayerCompositor and its integration into an application

Enhancement

Implemented BigInt binding and data binding for numbers representable with 64 bits.

Enhancement Unreal Engine

Added documentation about how individual Texture settings affects Atlas generation and which are the settings that may be ignored

Enhancement

Applied several security vulnerability fixes in V8

Enhancement

Allowed iteration with for…of for DOM collections

Enhancement

Implemented an optimization so that parts of some index buffers are reused and less GPU memory is needed. Read the rendering migration guide.

Fix

Fixed a crash when passing console methods to async JS methods like setTimeout

Fix

Fixed the HTML Parser to not throw warnings on commented code with CSS variables inside

Fix

Fixed |= attribute selector matching elements that should not be matched

Fix

Fixed incorrect sampling coordinates for elements that are partly outside of the viewport, causing “squashing of the image into the visible portion

Fix

Fixed incorrect clipping for elements creating sublayers (e.g. opacity, mix-blend-mode, etc.) that may cause elements disappearing

Fix

Fixed rare occurrence of an assert for trying to destroy a missing texture

Fix

Fixed incorrect passing of options for the rendering library needed for multithreaded awareness. Read the rendering migration guide.

API

Removed support for ARMv7 processors for iOS


Enhancement

The Player now supports Mac M1 natively

Enhancement

Added support for vw, vh, em, rem size units for inline images

Enhancement

Added an option for setting virtual keyboard layout for text to AlphaNumeric in Unreal Engine

Enhancement Unreal Engine

4.27 support

Enhancement

Added support for fill-rule attribute in SVGs.

Enhancement

Allow usage of element within a element in an SVG.

Enhancement

Improved the HTML parser error logging to include better error descriptions

Enhancement

Unity3D: Integrate request`s method, body and headers

Enhancement

Unity3D: Virtual keyboards for GDK Xbox and Playstation 4/5 consoles.

Enhancement

Prevent atlas modifications and show message on screen when Atlas meta-data file is read-only in Unreal Engine

Enhancement

Add a way to load UI from different predefined locations (resource hosts) in Unreal Engine

Enhancement

Add a way to override and reimplement all input processing in Unreal Engine via the Input Preprocessor feature

Enhancement

Updated the Components sample to use the latest version of the coherent-gameface-components

Fix

Fixed occasional video freezes and playback issues

Fix

Fixed a crash when handling JavaScript events

Fix

Fixed asserts when View methods on ChakraCore are called on multiple views.

Fix

Fixed showing nodes after changing their styles while they were hidden using display:none

Fix

Fixed using heading tags with data-bind-for

Fix

Fixed converting JavaScript numbers to integer and unsigned according to ECMA-262.

Fix

Fixed baseline offset for inline images with floating point height

Fix

Fixed cohtml crash for data binding expressions bound to null values.

Fix Unreal Engine

Fixed a crash when UCohtmlWidget::SetReadyForBindings is called with invalid SWidget and View

Fix Unreal Engine

Made the contained textures inside the Atlas to be Editor only data as they may not be packaged in a Client

Fix Unreal Engine

Fixed DedicatedUIThread map OpenSSL module loading check fail in Debug configs on Sony platforms

Fix Unreal Engine

Update deprecated Shader Platform API Getter

Fix Unreal Engine

Fixed TArray crashes when exposed by cohtml::byRef

Fix Unreal Engine

Fixed failing rebuild of the Cohtml Texture Atlas

Fix

Fixed a crash when an inline SVG node is removed from the DOM and then added again.

Fix

Fix rare crash when parsing inline SVG content.

Fix

Fix broken display of SVG elements when they are added, removed and then readded in the DOM.

Fix

Fixed passing float arrays to CoherentToTransformMatrix2D when using the properties.

Fix

Unity3D: Fixed gamepad events regression from version 1.15.3.1

Fix

Unity3D: Input manager Enter key char code fixed to 13.

Fix

Unity3D: Fixed CohtmlTouchKeyboard and TextInputHandler code flaws

Fix

Unity3D: Change system`s resource request calls to be Synchronous

API

Unified the custom CSS properties to have a coh- prefix. font-fit-mode is changed to coh-font-fit-mode. The old names are working, but are deprecated.

API

Unified the custom attributes to have a coh prefix. caretblinkinterval is changed to cohcaretblinkinterval; coh-inline to cohinline; coh-fastseek to cohfastseek. The old names are working, but are deprecated.


Fix

Fixed a crash on document unload related to the unified garbage collection

Fix

Fixed video playback freeze when video errors are present

Fix

Fixed a crash when a sublayer ends up with zero size

Fix

Fixed linking errors when delay loading renoir library with LTCG enabled


Feature

ExperimentalUnified garbage collection for JavaScript and C++ DOM objects for V8

Feature

Implemented video element “preload” attribute which now preloads video data for faster seeking

Feature

Introduced an example JS library for handling videos with states “coh-state.js”

Enhancement

JavaScript garbage collection runs in more incremental steps for V8

Enhancement

Initialize virtual keyboard with the data from HTML input elements attributes in Unity3D

Enhancement

Added more native JS array methods to the CoherentArrayProxy

Enhancement

Made CSS animations to stop on display:none and restart on showing the element

Fix

Fixed text shadows on multiline inline text

Fix

Fixed enormous memory allocation when letter spacing is negative

Fix

Fixed images drawn with incorrect size when CSS filter is applied

Fix

Fixed a regression that failed to parse background shorthand without image/color

Fix

Fixed a leak during video playback when the Inspector is enabled

Fix

Fixed resource request spam when a video reaches its end

Fix

Fixed rare video stalls during playback


Feature

Support for Unreal Engine 5 early access

Feature

Support for Apple M1

Feature

Moved all GDK platforms to using V8 for JavaScript virtual machine

Feature

Added API for setting additional fallback font families for all elements

Enhancement

Updated PlayStation 4 SDK to version 8.5

Enhancement

Updated PlayStation 5 SDK to version 3.0

Enhancement

Added json based configuration file for the Player

Enhancement

Allowed to automatically bind UFUNCTION methods that have parameters in Unreal Engine

Enhancement

Enhanced video API for seek performance

Enhancement

Made XHRs not delaying the document load event

Enhancement

Improved experimental inline layout support – better layout and input handling

Fix

Fixed issue with unnecessary creation of textures (caused by improper clipping of texture based on the parent element)

Fix

Fixed styles rematching crash on removing nested data-bind elements

Fix

Fixed packaging and running of the Player for Mac OS X for Unity3D

Fix

Fixed css rules matching for custom elements not defined in the registry

Fix

Fixed missing mutation observer notification on document unloading

Fix

Fixed wrong layout when setting explicit 0 dimensions of elements

Fix

Fixed scrolling size of elements not accounting for children margins

Fix

Fixed accessing delayed stylesheets in scripts

Fix

Fixed XHR asserts caused by synchronously finished resource job due to invalidated job id

Fix

Reduced an error message severity related to the CaretPositionFromPoint API

Fix

Fixed developer options disabling on library re-initialization

Fix

Fixed CohtmlTMapBinder.h compiling with non-MSVC compilers

Fix

Fix sanitization of URL`s containing hashtag symbols in Unreal Engine

Fix

Fix crash with Standalone net mode with more than 1 Player when using a UMG widget with a Cohtml component in Unreal Engine


Enhancement

Made the C# backend to be able to fill Renoir`s Rendering capabilities

Enhancement

Enabled SDF GPU text algorithm for PlayStation 4 and PlayStation 5 with the C# backend

Fix

Fixed memory leak on V8 platforms when navigating to another page

Fix

Fixed linking of iOS samples

Fix

Fixed running Unity3D editor in game console mode

Fix

Fixed texture destruction in the Unity3D C# backend


Feature

Added Coherent texture stats and texture stats page In Unreal Engine 4

Feature

Added a new capturing mode for the .rend captures that obfuscates the used image assets

Feature

Added Xbox One GDK support for Unity3D

Feature

Replaced ChakraCore with V8 for JavaScript engine for Xbox One with the XDK

Feature

Replaced ChakraCore with V8 for JavaScript engine for PlayStation 4

Feature

Replaced ChakraCore with V8 for JavaScript engine for PlayStation 5

Enhancement

Added launching the Dev Tools from Unity3D editor on Mac OS X

Enhancement

Added support for Android arm64 and x86_64 in Unreal Engine 4

Enhancement

Added new Unreal Engine 4 console command (cohtml.setmipbias N) for setting the mip bias for all textures used by the SDK

Enhancement

Improved performance 3x of the C# backend in Unity3D

Enhancement

React based samples now provide npm scripts for production and development builds

Enhancement

Updated Webpack version to 5.39.0 for React based samples

Fix

Fixed crash during compound selector matching due to uninitialized simple selector

Fix

Fixed invalid return value of IInputProxy::GetTextPositions for empty input elements

Fix

Fixed input duplication with multiple Systems in Unity3D

Fix

cohtml.js`s Universal Module Definition now properly accepts the global window object

Fix

Fixed warning logs when C# backend in Unity3D is used

Fix

Fixed resource loading in Unity3D for Android


Feature

Added support for SVG clip path

Fix

Fixed resource loading error when playing video in a loop

Fix

Fixed crash when dynamically adding inline SVG images

Fix

Fixed drawing of inline SVG images when scrolling

Fix

Fixed a crash on Mac OS X in Unity3D with Metal rendering backend

Fix

Fixed a crash in style resolving with inline SVG images

Fix

Fixed a crash on top-level exception in JavaScript event handler


Feature

Inline SVG support

Enhancement

Extended support for the SVG Tiny 1.2 Specification


Feature

Added an HTML linter that detects spelling errors in Gameface`s data binding attributes

Feature

Added support for multiple images in the CSS background shorthand

Feature

Exposed Blueprint API for object model removal in Unreal Engine 4

Feature

Added example input forwarding implementation using the Unreal Engine 4 input preprocessor

Enhancement

Added V8 for iOS for arm64 and x64 architectures

Enhancement

Added documentation about how to run Unreal Engine 4 Editor as a server

Enhancement

Package additional UI samples and resources for Unreal Engine 4

Enhancement

Updated GDK support to the 2021 April release

Enhancement

Support for Nintendo Switch for Unity3D 2019.4

Enhancement

Optimized setting numeric values to style from JavaScript

Enhancement

Optimized matching complex CSS rules without pseudo classes

Enhancement

Allow getAnimations to return animations added in the current frame to an element with the forceStylesResolving option

Enhancement

Allow intercepting of XmlHttpRequest requests

Enhancement

Optimized data-binding-for for often changing collections

Enhancement

Added protected virtual onEnable and OnDisable methods in CohtmlView in Unity3D

Enhancement

Extended Unity3D documentation with sections about Localization, HDRP/URP, Memory Tracking, Web sockets, DefaultUISystem Devtools

Fix

Fixed crash when destroying the view with never updated data-binding expressions

Fix

Fixed crashes when stringifying CSS values to JavaScript or the Inspector

Fix

Fixed support for shuffled keywords in background position CSS properties

Fix

Fixed wrongly reported background position shorthand value in JavaScript

Fix

Change the ImageData.ContentRect to match Texture`s imported size in Unreal Engine 4

Fix

Fix asserts and issues with dedicated UI thread HUD in Unreal Engine 4

Fix

Fixed warnings for missing images in certain cases

Fix

Fixed auto switch IL2CPP/Mono dll search in UPM package in Unity3D

Fix

Always use the C# rendering backend for Xbox One Series X and Nintendo Switch in Unity3D

Fix

Fixed NullReference exception when force shutdown on C# recompile triggered in Unity3D

Fix

Fixed a possible crash when uninitializing RenderingLibrary in Unreal Engine 4

Fix

Fixed automatic binding always overriding manual CoherentBind in Unreal Engine 4

Fix

Fixed crash in UCohtmlHUD constructor when creating the HUD on a worker thread in Unreal Engine 4

Fix

Fixed wrongly reported errors and warnings in data binding.

Fix

Fixed warnings in InternalizationManager and IBreakIterator when building Cohtml plugin for Unreal Engine 4 without UnityBuild

Fix

Fixed animation instability that could result in drawing elements and styles with off-by-one pixel error

API

arm64 and x64 requires linking with v8_monolith library

API

Nintendo Switch now links with a static V8 library


Feature

Added support for rotate3d and translate3d transform functions

Feature

Added HUD, GameMode and Map, showing how to use actorless UI on dedicated UI thread in Unreal Engine 4

Feature

Added optional memory allocation tracking for the Unity3D plugin

Feature

Preview support for V8 on PlayStation 4

Feature

Visual Studio code extension providing autocomplete support for data-binding

Feature

Support for clip-path property

Enhancement

Support for multiple background images for background-position and background-size

Fix

Fixed transform-origin parsing for Y X values like top left

Fix

Fixed race conditions in user images in Unreal Engine 4

Fix

Fixed marshaling exceptions on C# Rendering Backend when HDRP or URP is enabled in the Unity3D plugin

Fix

Fixed asserts about wrong threads when destroying a system in the Unity3D plugin

Fix

Fixed crash during quit of the Unity3D editor

Fix

Fixed asserts for missing images

Fix

Fixed artefacts when an element is clipped and parent has blur

Fix

Fixed DX12 backend to clear user images properly

Fix

Fixed a rare crash upon applying CSS filters


Feature

Support for loading a page in single frame

Feature

Added HTML preloading and caching API

Feature

Added Stylesheet preloading and caching API

Feature

Support for HDR rendering

Feature

Added support for position: fixed

Feature

Added InstaLoad sample for Windows

Feature

Update V8 to 8.8.278.14 for Mac OS X, Linux, Stadia

Feature

Added TexturePreloading API in the Cohtml HUD BaseComponent and UWidget

Feature

Added support for wide color render targets with 16/32 bits per channel

Feature

Added new CSS color definition — color(coh-scrgb float float float float) — that can be used to define color values above 1.0

Feature

Added support for enabling the wide color render targets in Unreal Engine 4

Feature

Added support for enabling the wide color render targets in Unity

Feature

Added a new sample that demonstrates the HDR rendering

Feature

Added new View::SetResolutionForRendering API that controls the output render target resolution.

Feature

Added support for Nintendo Switch for Unity3D

Enhancement

Added support for whenDefined in the custom elements API

Enhancement

Trigger load event on image elements before the image is uploaded on the GPU

Enhancement

Removed AsyncStream requests for textures already loaded in Unreal Engine 4

Enhancement

Add UE4 Editor synchronous resource requests option

Enhancement

Add support for data-binding TPair and TMap in Unreal Engine 4

Enhancement

Reduced task scheduling delays for resources when responses are performed synchronously

Fix

Fixed expandable objects in the Inspector

Fix

Fixed missing vcruntime140_1.dll required by V8 8.8

Fix

Fixed memory leak on Nintendo Switch with V8

Fix

Fixed prototype of upgraded custom elements on V8 platforms

Fix

Fixed the console and debugger in the Inspector on Linux and Mac OS X

Fix

Fixed a regression that caused a crash when using engine.off during event execution on V8 platforms

Fix

Fixed missing installation files with “Add to existing Game” option

Fix

Fixed potential crash in SCohtmlWidget when running windowless

Fix

Fixed missing shared libraries for Unreal Engine 4 Stadia packages

Fix

Fixed graphics artifacts where an element with a drop-shadow effect left trails when its parent element was the same size and was being animated.

API

Deprecate duplicate Trigger JS Event Blueprint function

API

Added Decoded image state in ImageCacheStats

API

Breaking ChangeRemoved static data binder. Developer option “–use-static-binding” will not have effect.

API

The API for setting the scene`s rendering target also specifies its format


Feature

Improved text rendering

Feature

Updated V8 to version 8.8.278 for Microsoft Windows

Feature

Precise text layout and positioning

Feature

Embedded a last resort fallback font

Feature

Implemented font preloading to avoid reading fonts from disk in time critical threads

Feature

Nintendo Switch uses V8 for JavaScript execution

Enhancement

Optimized matching of complex selectors against DOM elements

Enhancement

Add support for automatic binding of UFunctions without parameters in Unreal Engine 4

Enhancement

Added option in Unreal Engine 4 plugin for setting the default font

Enhancement

Changed the Unreal Engine 4 plugin modules to be ClientOnly

Fix

Fixed growing memory usage when data-bind-for is used inside data-bind-if

Fix

Fixed advancing a View without a document

Fix

Fixed a layout issue with aligned inline text

Fix

Fixed a freeze when using font-fit mode fit

Fix

Fix a crash in UMG Editor after saving UMG widgets with Cohtml and GT Widget in Unreal Engine 4.26

API

New font API for preloading fonts with specific font description

API

Deprecated the AddFontsFromFolder API

API

Deprecated the SetDefaultFallbackFontName API


Feature

Added clipboard support in Cohtml Player for Mac OS X

Feature

Added support for font-weight CSS property support

Feature

Added clipboard support for CohtmlPlugin in Unreal Engine 4

Feature

Added support for media decoders and inspector for UnrealEngine 4 on Nintendo Switch

Feature

Added WebSocket support for Unity3D

Enhancement

Added support XMLHttpRequest timeout

Enhancement

Added support for Unreal Engine 4.26

Enhancement

Added support for Universal Rendering Pipeline for Unity3D

Enhancement

Allowed OnEnabled and OnDisabled to be overridden in Unity3D

Fix

Fixed exposing the INodeProxy to C# code in Unity3D

Fix

Fixed redrawing SVG images every frame

Fix

Fixed complex text shaping issues when mixing different languages

Fix

Fixed Cohtml Player not working with –root cmd argument on Mac OS X

Fix

Fixed freeze when running the video playback sample on a machine without audio devices

Fix

Fixed missing context when using mutation observers

Fix

Fixed issues with parsing @font-face URL declarations

Fix

Fixed parsing of multiple CSS selectors followed by selection pseudo selector

Fix

Fixed crash on closing the Player with open Websocket connections

Fix

Fixed reversed Ctrl and Command/Meta modifiers on Mac OS X

Fix

Fixed crash on Xbox One with Unity3D

Fix

Fixed missing JavaScript context during destruction of canvas elements

Fix

Fixed layout of flexbox items after changing their text content

Fix

Removed usage of Unity3D APIs in static constructors on PlayStation 4

Fix

Fixed clashes between renoir float2 and client float2 types

Fix

Fixed parsing of fonts specified with url() without quotes

Fix

Fixed mixing of files in a single folder from Unity3D packages for different platforms

API

Changed the logging severity of assert failures to be CriticalError and above the current Error level

API

The load event is fired after the fonts from the stylesheets have been loaded


Feature

Add aspect ratio media feature support

Feature

Added support for the change event listener for input and textarea elements

Enhancement

Support VW/VH suffices in scrollTop and scrollLeft element properties

Enhancement

getModifierState support for Keyboard and Mouse events

Enhancement

Update PlayStation 4 to SDK 8.0

Enhancement

Update PlayStation 5 to SDK 2.0

Fix

Fix image alignment with coh-inline paragraphs

Fix

Fixed CohtmlToTransformMatrix2D to handle invalid inputs

Fix

Fixed text-transformation styles sticking to detached nodes

Fix

Added I18NManager in Unity3D for PlayStation 4 and PlayStation 5

Fix

Fixed View flicking when creating multiple views

Fix

Fixed a crash in FInternationalizationManager class

Fix

Fixed crash when passing null for custom data-binding attribute state

Fix

Fixed mouse cursor notification for input fields without explicit type

Fix

Fixed event.target.selection indices for input elements

Fix

Fixed the timestamp for gamepad events in Unreal Engine 4


Feature

Support for CSS property text-stroke

Feature

Support for layout and display of text in complex scripts

Feature

Support CSS transitions for shorthand properties

Feature

Add a way to pick the primitive that the Gameface component attaches to by specifying its name in Unreal Engine 4

Feature

Experimental] New Unity C# backend. It is supported for Unity 2019.3 or newer and for every platform except MacOSX, iOS and Androd.

Feature

Support for Xbox Series X in Unity. The platform is supported only with C# rendering backend.

Enhancement

Added Gameface Mac Player and Launcher to the UE4 packages

Enhancement

Added mechanism for reusing ViewStates between HUD/UWidget recreations in Unreal Engine 4

Enhancement

Added vw, vh suffices for scrollHeight and scrollWidth properties

Enhancement

Added HTTP support for the Player on Mac OS X

Fix

Fixed crash when binding JavaScript models with null value

Fix

Fixed a crash when invoking innerHTML inside custom element callbacks

Fix

Fixed wrongly calculated dimensions when using dynamically sized flex containers

Fix

Fixed performance regression caused by allowing multiple paint rectangles

Fix

Fixed XHR response status code propagating to JavaScript

Fix

Fixed event.target.selection index values on input events

Fix

Trigger video onerror for unsupported codecs and errors during decoding

Fix

Fixed document loading after image loading has been canceled

Fix

Fixed custom event attributes handling on cloned elements

Fix

Fixed suffixed properties like right[PX|VH|VW] in computed styles

Fix

Fixed potential crash during initialization on Mac OS X

Fix

Fixed default input element cursor

Fix

Ignore unsupported CSS selectors and continue parsing the stylesheet

Fix

Fixed allocations without tags in MediaPlayerSourceBuffer

Fix

Fixed accumulating unresolved promises for engine.call invocations with missing C++ handlers

Fix

Fixed setting timestamp value when updating the gamepad data in Unreal Engine 4

Fix

Fixed user image request leaks that caused deadlocks

Fix

Fix possible broken state of ClickThroughQuery after resize

Fix

Fix crash when game starts with Korean language

Fix

Fix crash in break-iterators due to incorrect string conversion in Unreal Engine 4

Fix

Add proper handling of overlapping border radii when clipping with rounded rectangle and filling and stroking rounded rectangle

API

Add API for setting rendering resolution, independent from the HTML resolution Render sublayers that are transformed with the correct scaling as well

API

Expose methods for setting all the caches

API

Calls to engine.call without C++ handler bound, will reject the returned promise objects

API

Modify the Renoir backends initialization so that all constructors take a single settings object


Feature

Added experimental generation of text atlases on GPU

Enhancement

Increased maximum allowed blur radius for blur effects from 24px to 95px.

Enhancement

Added PlayStation 5 CommonGame and samples

Enhancement

Added XboxSeriesX CommonGame and samples

Enhancement

Added XboxOneGDK CommonGame and samples

Fix

Fixed Player failing to start in evaluation packages

Fix

Fixed crash when updating and unregistering a model in the same SynchronizeModels

Fix

Fixed keeping unresolved promises for engine.call calls without a C++ handler registered for the call

Fix

Fixed crash when calling UnloadDocument explicitly before destroying a view or navigating to another URL

Fix

Fixed ES6 modules crash and assert failure in Debug configuration

Fix

Fixed parsing CSS stylesheets containing unsupported media queries

Fix

Fixed evaluation of data-binding expression after unregistering and registering model for a second time

Fix

Fixed ChakraCore crashes and possible memory leaks due to missing context

Fix

Reduced video buffer size to reduce memory consumption

Fix

Fixed performance regression of finished animations with fill mode forwards/both

Fix

Fixed PlayStation 4 and XboxOne assembly definitions in Unity3D UPM package.

Fix

Fixed using the inspector with Unity3D UPM packages

API

Calls to engine.call without a C++ handler registered and no failure callback for the promise will trigger error messages


Feature

Added support for custom elements upgrading (V1 API)

Feature

Added support for drawing and styling all HTML tags

Feature

Added support for break-iterator for Asian text in UnrealEngine 4

Enhancement

GPU timing for Nintendo Switch is now available when doing a performance trace in the Inspector

Enhancement

Added packaging of V8 libraries with separated debug symbols for Unix based platforms in UnrealEngine 4

Fix

Fixed a crash in V8 due to double exposing of the same C++ objects

Fix

Fixed a crash when reloading a view with JavaScript breakpoint set at file level

Fix

Fixed color interpolation between semi-transparent colors

Fix

Fixed a rare issue causing nesting of events in the inspector performance timeline

Fix

Fixed frontend and backend inspector performance events not appearing in the timeline

Fix

Fixed disappearing elements when using gradients as masks

Fix

Fixed wrong pending image counter causing an assert failure in Debug

Fix

Fixed the scroll of Computed style panel in Inspector`s Elements tab

Fix

Fix assertion caused by std::function on PlayStation 4

Fix

Fixed crash when game starts with Korean language in UnrealEngine 4

Fix

Fixed crash in Cohtml break-iterators due to incorrect string conversion in UnrealEngine 4


Fix

Fixed crash when calling FreeRenderingResources on views with SVG images

Fix

Fixed possible leak of SVG tessellated data


Fix

Fixed possible deadlock when advancing the views


Enhancement

Added support for the background-position-x and background-position-y CSS properties

Enhancement

Improved Dualshock 4 controller support for Unity3D

Fix

Fixed wrongly fired resource abort notifications for already completed requests

Fix

Fixed race issues when executing layout tasks in parallel

Fix

Fixed linker issues when the library is delay loaded with certain compiler options

Fix

Fixed a crash which was occurring during event dispatching

Fix

Fixed an error about missing context argument in engine.off

Fix

Fixed a bug causing rare failures to load style sheets

Fix

Improved tagging of memory allocations to better reflect its usage

Fix

Fixed chaining CSS animations on the same CSS property

Fix

Fixed by ref binding of empty std::vector collections

Fix

Removed requirement for Vulkan runtime on Windows for Unity3D plugin

Fix

Fixed scrolling on Linux in Unity3D with the new InputSystem

Fix

Fixed Unity3D editor deadlocks when stopping the game

Fix

Fixed checkout issues for Perforce users in the Unreal Engine 4 plugin

Fix

Fixed memory alignment issue in VirtualAllocators on PS5 and Switch

API

Added option to disable internal allocators that retain memory

API

Added “pixels per scroll” to set the speed of the scrolling in Unity3D

API

Increased the version of cohmtl.js – update all your copies


Feature

Support for WebSockets in Unreal Engine 4

Fix

Fixed disappearing elements with certain style changes

Fix

Fixed crash when registering new engine.on handers during execution of a handler

Fix

Fixed crash when locking vertex or index buffers fails

Fix

Renamed internal rapidjson and rapidxml libraries to avoid clashes


Feature

Added line break iterator API to aid text wrapping

Feature

Enabled saving profile from Inspector`s Performance tab

Feature

Added support for aborting of resource requests when the view is destroyed or navigate to another page

Feature

Update PlayStation 4 SDK to version 7.5

Feature

Added setting for converting property names to lower case in Unreal Engine 4 when using the automatic UType binder

Feature

Added a special CSS property “coh-composition-id” which allows users to compose the element with a custom renderer

Feature

Added special CSS properties “coh-custom-effect-name” along with several custom animatable parameters that allow users to apply a custom shader to the element

Feature

Added new RendererCaps members which allow customizing the maximum allowed texture size. These new properties must be filled in the RendererBackend::FillCaps method.

Feature

Support for Live Views in Unity3D

Enhancement

Increased the maximum allowed paint rectangles

Enhancement

Paint rectangles now leave a short trail

Enhancement

Made CohtmlView and CohtmlUISystem Unity3D specific methods virtual

Enhancement

Added customizing the Library configuration in Unity3D

Fix

Fixed getPropertyValue for the transform CSS property

Fix

Fixed crash when using toLocaleLowerCase on Xbox

Fix

Fixed FInputGesture deprecated warnings in Unreal Engine 4

Fix

Fixed History feature minor memory retention on reload

Fix

Fixed capital letters, spaces and special characters in Unity3D with the new Input System

Fix

Fixed multiple views rendering and overlaying in HDRP mode for Unity3D

Fix

Fixed crash in the CSS parser for malformed calc expressions

Fix

Fixed crash when toggling view visibility in Unreal Engine 4

Fix

Fixed crash when responding to resource requests after destroying the library in Unreal Engine 4

API

Added an API for an external break iterator implementation

API

Add View::SetCustomSceneCompositor method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface

API

Add View::SetSceneCustomEffectRenderer method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface

API

Added API for clearing the navigation history of a given cohtml::View

API

Added an option to receive resource request calls on the main thread


Feature

Support for PlayStation 4 SDK 7.5


Feature

Paint rectangles can be toggled by the Inspector rendering panel

Enhancement

Added support for percent values in SVG images

Enhancement

Reduced per-frame allocations for transformations

Enhancement

Extended the performance timeline of the Inspector with additional events

Enhancement

Made the destruction of the UCohtmlWidget non-blocking in the Unreal Engine 4 plugin

Fix

QuerySelectorAll returns elements in the correct depth-first-search order

Fix

Fixed crash when dispatching events during document unloading

Fix

Fixed crash when starting a XmlHTTPRequest during document unloading

Fix

Fixed elements disappearing during scrolling

API

Deprecated the Android builds with the gnustl standard library. They are moved to the *_gnustl folders

Fix

Fixed lifetime of the AudioWrapper objects in the Unreal Engine 4 plugin

Fix

Fixed the plugin unload order in the Unreal Engine 4

Fix

Crash when responding to XmlHTTPRequests after the plugin has been uninitialized in Unreal Engine 4


Feature

Support for Unreal Engine 4 4.25

API

This version is not compatible with versions of Unreal Engine 4 different that 4.25


Feature

Unity3D Package Manager packages for console platforms

Feature

Added custom memory allocator support to Renoir backends

Feature

Added callbacks for resources lifetime in Renoir backends

Enhancement

Improved the performance of loading font collections

Enhancement

Reduced the repaint area when a small part of the view is changed

Enhancement

Improved error messages when binding map-like objects with non-string keys

Enhancement

Improved using custom SystemSettings in Unity3D

Enhancement

Added engine.off information to the Documentation

Enhancement

Updated support for Unity3D HDRP to the latest rendering pipeline API changes

Fix

Text wrapping properly respects  

Fix

Query selectors and CSS selectors work with data- attributes

Fix

Fixed crash when multiple gradient definitions are parsed in parallel

Fix

Fixed assert on view destruction for ChakraCore platforms with multiple views and data-binding are used

Fix

Fixed degrading performance when using hover on complex selectors

Fix

Fixed updated layout styles depending on rem or em units when the unit changes

Fix

Fixed flex properties that continued to be in effect after removing their CSS declarations

Fix

Fixed loading resources with a backslash in the URL for Unity3D

Fix

Fixed gamma-correctness for Unity3D HDRP

Fix

Fixed handling of events by the TextInputHandler when Advance() is not called on the System

Fix

Fixed crash caused by updating of the pointed/hovered elements after scrolling.

API

Deprecated handled flag for input events


Fix

Fixed crash with scrolling and moving the mouse outside of the view


Feature

Added support for images that have non-premultiplied alpha

Enhancement

Updated Unity3D HDRP rendering support to new Unity3D 2019.3

Enhancement

Mouse pointer events are handled during scrolling

Enhancement

Added localization sample with React

Fix

Fixed border color when top side of the border is missing

Fix

Fixed pointer-events for HTML elements when the parent is clipped or creates a stacking context

Fix

Fixed typing into text input fields when text transform is used

Fix

Fixed Unity3D warning about package version using more than 3 numbers


API

Changed Unity3D license keys – please download your new key from the developer portal

Feature

Added support for multiple UISystem instances in Unity3D

API

Refactored the Unity3D plugin to be based on the vanilla C++ API

Enhancement

Localization works for elements that are added dynamically to the DOM

Enhancement

Added support for DirectX 12 to the Unity3D plugin

Fix

Fixed running Unity3D with Vulkan on Linux

Fix

Fixed text transformation on dynamically created elements

Fix

Reintroduced the scrolling optimization with fixes for the artifacts and input issues.


Feature

Added experimental inline layout for text

Enhancement

Allowed registering models with complex sub-model as a first member (on the same address)

Fix

Fixed array-like behavior of NodeList collections for platforms using ChakraCore

Fix

Improved rendering of SVGs when background-repeat with transformations is used

Fix

Fixed crash when destroying the view or navigating to a different URL with XML HTTP Requests in flight


Fix

Reintroduced the scrolling optimization with fixes for the artifacts and input issues.


Enhancement

Added sample with polyfill for <ol>, <ul> lists and <li>

Enhancement

Added sample for using subtitles for videos

Enhancement

Moved text case transformations to the DOM thread

Fix

Fix turned off the scrolling optimization, because it can break the input in certain cases

Fix

Fix layout overwriting the scroll position set on the DOM thread

Fix

Fix crash when element change parents with overflow: hidden

Fix

Fix some animations not running to complete 100%

Fix

Fix crashes due to missing temporary allocator in TriggerEvent when calling it from fibers or different threads

Fix

Fix scrollWidth for text with overflow

Fix

Fix coordinated for scroll event in Unity3D packaged games

Fix

Fix Unity3D reloading when TextTransformationManager is used

Fix

Fix scrolling coordinates with the new Unity3D input system


Fix

Reintroduced the scrolling optimization with fixes for the artifacts and input issues.


Fix

Reverted scrolling optimization due to causing artifacts and input issues.


Enhancement

Improve performance of scrolling and hit tests

Enhancement

Improve performance of reading font files

Enhancement

Add virtual list scrolling sample

Enhancement

Add support gamepad with Input Manager in Unity3D

Enhancement

Implement gamepad editor tool to insert gamepad controls in Unity3D

Enhancement

Add units support for flex basis

Enhancement

Add support for preloaded images in Unity3D with DirectX 12

Enhancement

Support building the PlayerOverrides project in Unreal Engine 4

Fix

Fix crash in video when there are multiple layout threads and views are not updated every frame

Fix

Fix scrolling in elements with dynamically changed content and size

Fix

Fix crash when using data-bind-for for a string value

Fix

Fix crash when converting a non-boolean value to boolean for data-binding

Fix

Fix undefined behavior when binding empty arrays and vectors

Fix

Fix clearing of canvas textures in certain cases

Fix

Add missing temp allocator for IME related methods of cohtml::View

Fix

Fix scrolling and panning when it is performed very slowly

Fix

Fix triggering events with null objects from C# to JavaScript in Unity3D

Fix

Fix changing styles in the inspector in Chrome 80 and later

Fix

Fix submission warnings for debug symbols on Stadia

API

C++ standard library to libc++ on Stadia

API

C++ standard library to libc++ on Linux

API

Add developer option for controlling whether to snap the display boxes before transforming. Warning: Enabling this option results in more repainting.


Feature

Support for WebSockets (see the documentation how to use them)

Feature

Support for Android x86_64

Feature

Moved Unity3D packages to use the Unity3D Package Manager

Enhancement

Improved support for nullable types in Unity3D

API

Moved COHTML_BUILD_VERSION and COHTML_SDK_VER to <cohtml/Revision.h> header


Fix

Fixed running the inspector in Google Chrome version 80.


Enhancement

Significantly reduced memory usage of SVG images

Enhancement

Exposed the image cache inspection API to Unity3D

Enhancement

Added support for DateTime struct in Unity3D

Enhancement

Added support for read-only List in Unity3D

Feature

Support for Unreal Engine 4 4.24

Fix

Fixed drawing order for combinations of elements with z-index and positioning

Fix

Fixed several issues with stroking paths in SVG images

Fix

Fixed clipping child elements when parent has border-radius

Fix

Fixed text selection and caret placement on transformed text

Fix

Firing events on wrong elements in certain cases

Fix

Fixed text alignment with text-overflow

Fix

Fixed parsing floating point numbers in stylesheets on non-US locale POSIX based platforms

Fix

Exposed UnbindCall and UnregisterEvent to Unity3D

Fix

Exposed ITextTransformationManager to Unity3D

Fix

Fixed exposing FString on POSIX based platforms


API

Improved anti-aliasing

Feature

Added a dropdown (<select>) reusable widget

Feature

Added new input sample using the text entry API

Feature

Support for Unity3D new InputSystem

Enhancement

Fixed pathological memory usage with better GC heuristics

Enhancement

Vertex and index buffers for SVGs are properly reused

Enhancement

Added rotate-around-point for SVG

Fix

Fixed various issues with scaling SVGs

Fix

Fixed assert when using box-shadow on an element with width 0

Fix

Fixed bitmap fonts reloading after FreeRenderingResources

Fix

Fixed support for SVGs with transform and gradients

Fix

Fixed crash when seeking a paused video


Fix

Fixed video playback freezing with certain videos


Fix

Fixed regression in rendering certain SVGs with applied transformation

Fix

Fixed text-shadow being rendered when the text is not visible


Feature

Unity3D support for Linux

Feature

Unity3D support for PlayStation 4

Enhancement

Made async and defer scripts work according to the standard

Enhancement

Enhanced the Player to support DPI on Mac OS X

Fix

Fixed styling of elements affected by attribute based CSS selectors

Fix

Fixed using preloaded images in Unity3D on Xbox One

Fix

Fixed [] of dom collections to return undefined for invalid indices

Fix

Fixed using sampler filtering for bitmap fonts

Fix

Fixed detecting mouse events on elements with certain transformations

Fix

Exposed the ILocalizationManager to Unity3D

Fix

Fixed SVGs disappearing with certain transformations

API

Fixed gamepad indices to work as specified by the standard. Read more about the changes


Feature

Dynamic data-binding is available as an experimental option

Feature

Support for gamepad in Unity3D

Feature

Support for custom plugins in the Player

Feature

Support for localization in the Player

Feature

Added the document.elementFromPoint and document.elementsFromPoint methods

Enhancement

Support for the text-overflow CSS property

Enhancement

Support for the white-space CSS property

Enhancement

Reduced memory consumption of CSS variables

Enhancement

Added support for BC7 compressed textures

Enhancement

Improved performance of dash stroke paths

Enhancement

Enhanced new text entry API

Enhancement

Added option for controlling vertex and index buffer ring size

Enhancement

Added option for controlling the SDF character size for font rendering

Enhancement

Improved layout for text with different alignment

Enhancement

Added relatedTarget to JavaScript events

Enhancement

Added support for HTTP(S) resources in Unity3D

Enhancement

Added location for keyboard events in Unreal Engine 4

Enhancement

Added location and isRepeat for keyboard events in Unity3D

Fix

Fixed drawing of positioned elements below non-positioned elements

Fix

Fixed GC triggered crash in Unreal Engine 4 with preloaded images

Fix

Fixed borders when border-radius is used


API

New License Keys have been generated!

Feature

Support for Google Stadia for native and Unreal Engine 4

Feature

Support for Linux for native and Unreal Engine 4

Feature

Support for Unreal Engine 4.23

Enhancement

Data-binding attribute for mask-image

Enhancement

Moved shaders inside the plugin for Unreal Engine 4

Enhancement

Updated Preact sample and documentation

Enhancement

Added first tier of a more powerful text entry API

Enhancement

Gamepad support for the Player on Mac OS X

Enhancement

Added API to control which resources can be loaded from a view

Fix

Fixed issues with using the IME and changing focus

Fix

Fixed the order of applying transformations and filters to elements

Fix

Fixed box shadows visible for non-visible elements

Fix

Fixed adding visible children to non-visible elements

Fix

Fixed video playback in Unreal Engine 4 on Mac OS X

Fix

Fixed setting relative URL using the history API

Fix

Fixed crash when calling C++ method from JavaScript inside engine.on events

Fix

Scaling SVG`s no longer results in wrong transformations

Fix

Fixed mouse buttons for MouseEvent in Unreal Engine 4


Enhancement

Added support for five button mouse events

Enhancement

Added support for scroll events for textarea

Enhancement

Support for pre tags

Enhancement

Added support for the change event for input elements

Enhancement

Added UserIndex for virtual keyboard support in Unreal Engine 4

API

Added API to customize the resource loading in Unreal Engine 4

Fix

Fixed controller indices when connecting and disconnecting multiple controllers

Fix

Fixed the garbage collector on PlayStation4 to collect more aggressively on certain loads

Fix

Fixed several JavaScript engine crashes on PlayStation4 and Xbox One

Fix

Fixed crash when calling C++ methods with wrong number of arguments from JavaScript

Fix

Fixed reversed mouse scroll in Unreal Engine 4


Fix

Fixed rendering artifacts related to text without specified width.

Fix

Fixed memory corruption on PlayStation 4, XBox One, iOS, UWP.


Feature

Support for mixing languages and fonts in a single text.

Enhancement

Updated Android samples projects to support ARM64

Enhancement

Updated Android samples projects to Android Studio 3.4

Enhancement

Added support for optional RequireJS modules with error event for script and link elements

Fix

Fixed the offsetWidth and offsetHeight functions for hidden elements

Fix

Fixed using custom-element-tag as selector in CSS stylesheets

Fix

Enabled ARC for the metal backend library

Fix

Fixed cooking game on the fly with Unreal Engine4

Fix

Fixed crash when removing DOM elements with data-binding attributes


Feature

Added ability to define Custom data-binding attributes

Feature

Vulkan backend Windows implementation for the native SDK

Feature

Experimental Unreal Engine 4 Switch support. Video and inspector arenot supported yet.

Feature

Experimental support for libc++ for Android

Feature

Experimental support for Android ARM64

Feature

Added support for CSS cursors in Unreal Engine 4

Feature

Added text-transform for Unreal Engine 4

Feature

Added an API to advance a view, without it rendering anything

Feature

Added support for overflow-wrap CSS property

Enhancement

Added DPI scaling to the player application

Enhancement

Added data-bind-font-size

Enhancement

Enhanced virtual keyboard support for Unreal Engine 4

Enhancement

Added engine.whenReady promise object, equivalent toengine.on(‘Ready’)

Enhancement

Added support for mipmaps in DDS textures

Enhancement

Added support for the touchmove event

Enhancement

Added controller support in the PlayStation 4, Nintendo Switch andUWP samples

API

Added API to control the size of the text atlas texture

Fix

Fixed assert when creating input elements in multiple views

Fix

Fixed missing invocations to the finish callback of animations

Fix

Fixed restarting an animation inside the finish callback

Fix

Fixed logging warnings in cohtml.js


Fix

Fixed crash when using by-value getters in data-binding

Fix

Fixed crash when recreating views on PlayStation 4

Fix

Fixed missing text on the UMG widget on PlayStation 4

Fix

Fixed broken gradients on the UMG widget on PlayStation 4

Fix

Fixed rendering uninitialized textures with the UMG widget on Xbox One


Feature

Added the :active pseudo selector

Feature

Added the visibility CSS property

Feature

Added the KeyboardEvent.repeat property

Enhancement

Added data-bind-html, which allows to set innerHTML with data-binding

Enhancement

Allowed the localization texts to contain html tags

Enhancement

Added the load event to script and stylesheet elements

Enhancement

Enhanced log messages for wrong property names used for data-binding

Enhancement

model}} (without property) can be used for data-binding

Enhancement

Scrolling works correctly with nested scrollable elements

Enhancement

Automatically casting enum types to int for iOS and Switch for binding

Enhancement

Binding supports long numbers

Enhancement

Regular on event handlers work with data-bind-for

Enhancement

Not handled promise rejections are logged

Enhancement

Added engine.unregisterModel API to unregister a model from JavaScript

Enhancement

Added an API to set the ILocalizationManager in Unreal Engine 4 integration

Enhancement

Added support for exposing UDataTable to JavaScript

Enhancement

Added ability to customize the automatic binding in Unreal Engine 4

Fix

Fixed disappearing SVG images when background-image property is changed

Fix

Positioning of text caret in text inputs with alignment

Fix

Fixed text selection when text has CSS transform

Fix

Fixed crash in Unreal Engine 4 when chaining multiple property accesses in data-binding

Fix

Fixed the gamepaddisconnected event to contain which gamepad has been disconnected

Fix

Fixed cloneNode to clone attached event listeners


Feature

Updated Unreal Engine to 4.22

Fix

Fixed crash when using View::UnloadDocument

Fix

Fixed support for React v16.5

Fix

Fixed using iterator names that are prefix of other iterator namesin data-binding

Fix

Fixed using {{model}} in data-binding expressions for C++ models.

Fix

Fixed indexOf and slice for arrays exposed by-ref on ChakraCoreplatforms


Feature

Added support for CSS transitions

Feature

Added support for pointer-events CSS property

Feature

Enhanced the flex CSS property to support setting grow and shrink

Feature

Added support for CSS cursors

Feature

Added support for the console tab and script debugging on Mac OS X

Feature

Added support for mix-blend-mode: add

Feature

Added support for KeyboardEvent.location

Feature

Added support for copy and paste

Feature

Added support for Home and End keys

Feature

Added automatic sizing for text fields

Feature

Added API to get the Nodes attributes from cohtml::INodeProxy

Feature

Added text selection to all elements

Enhancement

Refactored Renoir backend API to work better with low-level rendering APIs like Metal

Enhancement

Replaced JavaScriptCore with ChakraCore on Xbox One and PlayStation 4

Enhancement

Replaced JavaScriptCore with V8 on Mac OS X

Enhancement

The inspector no longer disconnects when the view is reloaded

Enhancement

Significantly improved inspector loading speed for pages with lots of elements

Enhancement

Data-binding attributes are visible in the inspector

Enhancement

Reduced thread-local variables count to allow running on more Android devices

Enhancement

Android uses the Android NDK r15b

Enhancement

Added gestures support in Unity3D

Enhancement

Added range requests support in Unity3D

Enhancement

Added gamepad support to PlayStation4 samples

Enhancement

Improved performance for drawing polylines in canvas

Enhancement

Allowed loading stylesheets encoded in UTF-8 with BOM

Enhancement

Moved V8 background tasks to worker threads tasks

Enhancement

Added GPU debug metadata in Unreal Engine 4

Enhancement

Implemented animation shorthand CSS property

Enhancement

Added custom HTMLMediaElement events signaling when a decoder cannot keep up (cohplaybackstalled) and when it catches up (cohplaybackresumed). These events can be used to synchronize other animations with the video playback.

Enhancement

Seeking paused videos now shows a preview of the sought position

Enhancement

Added non-standard property to the CanvasRenderingContext2D “enableFastLineSegmentDrawing” which can allows much faster drawing in a canvas if the image consists of line segments only

Fix

Fixed assert when calling bound C++ methods with incorrect arguments from JavaScript

Fix

Fixed assert when removing the src attribute of an img and reloading the view

Fix

Fixed using the skewX property in animations

Fix

Fixed leaking some GPU resources on reloading the view

Fix

Fixed calling the connectedCallback on custom elements in appendChild

Fix

Fixed calling bound methods on objects that have been removed with View::DestroyExposedInstance

Fix

Fixed using unsigned numbers for specifying a color in data-binding

Fix

Fixed possible memory leak of ParseHTML when the system is destroyed before the load has finished.

Fix

Fixed crash when using canvas stroke with gradient

Fix

Fixed Inspector to show all transformations on an element with multiple transformations.

Fix

Fixed currentTime attribute when the animation is paused

Fix

Fixed onBlur, onFocus events on input elements when using React

API

Changed Renoir API to allow simultaneous usage from Coherent GT and Gameface

API

Split Renoir backend in UnrealEngine 4 to a separate module

API

Added virtual destructors to pure virtual classes and structs

API

Added default implementation to ViewListener`s methods

API

Renamed Renoir library files to start with lib

API

Moved enable color writes to the PSO instead of SetRenderTarget param. This is part of a breaking change in Renoir backends. For more information, see the migration guide

API

Moved MSAA to the PSO. This is part of a breaking change in Renoir backends. For more information, see the migration guide

API

Added upload buffer (constant buffers) management in Renoir. This is part of a breaking change in Renoir backends. For more information, see the migration guide

API

Moved auxiliary constant buffers from the Renoir backend to Renoir core library. This is part of a breaking change in Renoir backends. For more information, see the migration guide

API

Started doing ClearQuad instead of ClearRenderTarget based on new backend capability. This is part of a breaking change in Renoir backends. See the For more information, see the migration guide

API

Added BeginRenderPass and EndRenderPass backend commands to Renoir. This is part of a breaking change in Renoir backends. See the For more information, see the migration guide


Feature

Added default rendering backend implementation for the Metal graphics API

Feature

Added support for CSS Custom properties (variables)

Feature

Added support for CSS “!important” rule

Feature

Added support for multiple values in the CSS background-image property

Feature

Added support for the CSS calc() function. Currently, mixing percentages with other value types is not supported.

Feature

Selection API for input and textarea

Feature

Added support for CSS ::selection pseudo element

Feature

Added support for CSS :root pseudo-class

Feature

Added cache control API for clearing and setting sizes of caches

Feature

Added JavaScript capturing event phase processing

Enhancement

Added support for the letter-spacing CSS property for inputs, buttons and textareas

Enhancement

Added default styles for input, button and textarea

Enhancement

Added text-align support for input, button and textarea

Enhancement

Improved support for SVGs without viewBox

Enhancement

Cohtml.js can be used in a standard web browser. Significantly increases the compatibility of pages testing in web browsers.

Enhancement

Added samples for workflows based on WebPack and Redux

Enhancement

Add support for multiple data models in data-bind expressions

Enhancement

Upgraded the JavaScript VM on Windows and Android to V8 6.9.427The Debug configuration now uses V8 build in Debug, so there will be more error checking at the cost of some performance

Enhancement

Reduced the count of dynamic TLS slots allocation for Nintendo Switch

Enhancement

Added support for Unreal Engine 4.21

Enhancement

Implemented path stroking/filling with gradients in canvas elements

Fix

Added CloneNode for CustomElements

Fix

Fixed CustomElements callback invocations (they werent always fired)

Fix

Fixed canvas element resize behavior (canvas context state is now correctly reset)

Fix

Added missing ICU library to the Nintendo Switch package

Fix

Fixed animations` currentTime in Web Animations API (it was reported incorrectly when the animation is paused)

Fix

Fixed crash on Nintendo Switch when not passing a custom log handler

API

Input elements no longer inherit the font related styles of their parents

API

Added GPU debug metadata emission useful for graphics debugging.Enable with View::EmitRenderingMetadata and handle the BC_PushMetadata, BC_PopMetadata commands in your RendererBackend implementation.


Feature

UWP Added support for UWP ARM.

Feature

UWP The SDK will now use ChakraCore as JavaScript VM on UWP x86. JavaScriptCore is still the JSVM for UWP x64. This nets about 30% performance increase in JavaScript execution. ChakraCore on UWP x64 will be available in a later release.

Feature

API Added initial support for virtual lists to the data binding system. Virtual lists allow users to work on sections of some lists of data instead of the full data. For example, you might want to display only the first 5 items of your in-game store instead of all items. See the docs for engine.makeVirtualList. This release brings support for pagination i.e. splitting your list into pages. Future improvements will add support for predicate filtering and sorting.

Feature

JavaScript can now modify objects exposed by C++. This allows the UI to update game state directly without invoking functions.

Feature

Added partial support for custom elements across all platforms. Custom elements provide a way for JavaScript devs to create their own HTML elements. Support is partial because new classes can only be derived from HTMLElement.

Feature

API Added the ability to dump all currently used images in the UI. This is useful when you want to know which files to package, preload or generate atlases for. See the new method cohtml::View::GetUsedImagesList.

Feature

Added support for the line-height CSS property.

Feature

Added support for exposing objects containing std::pair, std::map and std::unordered_map to the UI.

Enhancement

API Added support for the window.onresize event.

Fix

Fixed a bug in the Player application which would fail to load files whose paths contained non-ASCII characters.

Fix

Fixed a crash in the Player application when using the –height= parameter.

Fix

Fixed a bunch of minor memory leaks across the scripting subsystem.

Fix

Animations on elements with display: none will now be properly paused and resumed when display: none is removed.

Fix

Added virtual destructors to the cohtml::DebugDump and cohtml::FrameCapture structs.

Fix

Fixed rendering of SVG gradients which were misplaced when under the effects of a transformation (translation, rotation, etc.).

Fix

Fixed a bug which would cause some SVG files no never be loaded if a lot of SVGs were loaded simultaneously at the start of the application.

Fix

Errors thrown inside event handlers of engine.on are now properly logged across all platforms. Previously, these errors would be silently ignored.

Fix

Invoking console.log with null or undefined will now produce the same behaviour across all platforms. Previously, some would throw errors, others would log empty strings or empty objects.

Fix

Fixed a crash when calling cohtml::System::Uninitialize while a video was still playing.

Fix

Fixed a bug which would cause videos to sometimes stop spuriously.

Fix

Fixed a bug which would cause some SVGs to be rendered incorrectly.

Fix

Fixed a bug which would cause elements whose background is a linear-gradient to not update when another linear gradient is applied.

Fix

Fixed rendering artefacts caused when the current value of box-shadow and only box-shadow was changed on an element.

Fix

Fixed an issue which would cause hover effects on images to not appear every other time.

Fix

Fixed a bug which caused playFromTo from the WebAnimations API to not play correctly after an animation has ended.

Fix

Fixed an assert in Debug that was being hit when calculating new styles for some elements that have both box-shadow and transform applied.

Fix

Fixed a crash on Nintendo Switch when destroying rendering resources.

Fix

You no longer have to define COHERENT_HORIZON manually to build for Nintendo Switch.

Fix

Fixed a bug which would cause the SDK to throw an error whenever you accessed window.history.state on iOS.

Fix

Fixed a crash caused when using regular expressions while the garbage collector is running.

Fix

MacOS Some debug features were disabled in debug builds on MacOS and iOS (e.g asserts). They are now available on all platforms in Debug.

Fix Unreal Engine

Displaying a Gameface UMG widget inside a ScaleBox widget will now preserve scaling properly.