Changelog

Version 1.60.0


Released 07 Nov 2024
APIAdded several new shader types to reduce stencil usage. For more information, see the Rendering Migration guide
APIAt-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.
APIUnityMoved the Unity3D-specific log handling functionality within the LogWriter class
APIUnityRenamed the LogHandler class to CohtmlLogHandler
FeaturePersistent local storage for the Player on Windows Desktop and Mac OS
FeatureUnityAdd Performance logging support
FeatureUnityAdded sample hub for easier access to all samples
FeatureUnreal EngineAdded profiling scopes for Unreal insights
EnhancementAdded conversion to linear colorspace when sampling from textures. For more information, see the Rendering Migration guide
EnhancementAdded a library option to set the scripting engine (V8) flags
EnhancementImproved error messages when loading ES6 modules with syntax errors
EnhancementAdded inventory to the Multiplayer UI sample
EnhancementAdded marketplace to the Multiplayer UI sample
EnhancementAllow passing view specific developer options in the command line arguments of the Player
EnhancementAdded tutorial for creating a 3D compass
EnhancementImproved the performance of drawing repeated images
EnhancementAdded a dialogue tree sample
EnhancementUnityAdded a new UI Surface Partitioning sample to the Unity3D package
EnhancementUnityAdded a new Localization sample to the Unity3D package
EnhancementUnityAdded a new in-world view sample to the Unity3D package
EnhancementUnityAdded a new View in Canvas UI sample to the Unity3D package
EnhancementUnityConfigured the correct color space in the rendering library based on the active color space in Unity3D
EnhancementUnreal EngineAdd extra guards when accessing RHI Textures
EnhancementUnreal EngineImproved the flow of freeing rendering resources owned by the cohtml::System object
EnhancementUnreal EngineAdded texture pool for Custom Effect textures preventing memory accumulation between GC intervals
FixFixed MinimalHelloCohtml sample resource handler crash when trying to load missing resources
FixFixed fonts with GPOS kerning rendering composed glyphs incorrectly
FixFixed missing timeline when making performance captures on Android
FixFixed crash when capturing a screenshot for the Inspector on Sony PlayStation 5
FixFixed setRangeText preserving incorrect selection
FixFixed an issue with position: fixed when used within inline layout
FixFixed a possible crash when calling UpdateWholeModel()
FixFixed caret position when changing <input>/<textarea> value from JavaScript
FixFixed potential crashes when using custom variables inside of @keyframes declarations
FixFixed custom effect sample with OpenGL
FixFixed samples linking with Vulkan on Windows ARM64
FixFixed elements not being re-rendered when a valid font for weight fallback becomes available
FixFixed detection of base64 URLs that was causing warnings for exceeding URL size limits and failures to parse
FixFixed a wrong debug assert failure when unloading base64 images stating that the image was not found in the pending images collection
FixFixed a wrong debug assert failure when using a defer attribute on inline scripts
FixFixed setRangeText to throw an error when an invalid selection mode is provided
FixFixed memory accumulation in the InspectorPageAgent when reloading resources
FixAt-rules are now accessible through cssRules, making rule order correct
FixStyles in link elements are now accessible through stylesheets API
FixMedia attribute of link elements can now contain 'or' and ','
FixFixed wrong style in some cases when using insertrule and deleterule
FixFixed nested media rules with non-absolute URLs
FixFixed using insertrule with rules that have properties with non-absolute URLs
FixLink elements with now respond correctly to removing, adding or changing the media attribute
FixFixed sometimes applying wrong styles when using complex selectors inside media rules
FixFixed holding resources of inactive font-face rules in memory
FixFixed sometimes applying wrong font-face rules when using multiple ones with the same font description but different URLs
FixAdded the ability to use insertrule and deleterule with media and font-face rules
FixFixed a wrong debug assert failure in the DOM Builder
FixFixed a bug with the CSS transitions when transitioning more than one property of the same value type
FixRemoved dead code triggering cast-align warnings in Renoir backends
FixUnityFixed surface partitioning in Unity3D Integration after changing the scene
FixFixed a possible crash when calling UpdateWholeModel every frame
FixUnityAdd data URL requests support
FixUnreal EngineFixed crash when capturing the backend buffer through the Inspector
FixUnreal EngineFixed Unreal Engine 4.27 Linux and Android compilation issues
FixUnreal EngineFixed rendering artifacts caused by wrongly calculated scissor rect
FixUnreal EngineFixed custom effects texture memory accumulation

Version 1.59.0


Released 30 Sep 2024
FeatureAdded support for Microsoft Windows ARM64 architecture (without Unity and Unreal Engine integrations)
EnhancementSupport for Sony PlayStation 4 SDK 12.000
EnhancementSupport for Sony PlayStation 5 SDK 10.000
EnhancementAdded a 9-slice animated modal sample
EnhancementUnreal EngineAdded logging of performance-specific warnings
EnhancementUnreal EngineImproved View render target and depth stencil texture lifetime management
EnhancementUnreal EngineStopped caching the RHICmdList to ensure it is valid in all cases
FixFixed elements not being re-rendered when a valid font for weight fallback becomes available
FixFixed a failing assert when unloading fonts with invalid URLs or font descriptions
FixFixed potential crashes caused by race conditions when using multiple views with the ExecuteCommandProcessingWithLayout option enabled
FixFixed a crash in Development config on Library::Uninititialize when using external tracer
FixFixed missing font resources after destroying a SystemRenderer when using multiple systems with processing on the layout thread
FixUnreal EngineFix crash in CopyTextureToTexture call that can be triggered without a valid cached CmdList
APIRemoved support for Sony PlayStation SDK 11.000
APIRemoved support for Sony PlayStation 5 SDK 7.000

Version 1.58.0


Released 19 Sep 2024
FeatureIntroduced 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
FeatureAdded support for font unloading
FeatureAdded support for the auxclick mouse event
FeatureEnabled the GPU path tesselator by default
EnhancementAdded support for media queries that contain at-rules
EnhancementAdded support for boolean media query expressions
EnhancementAdded support for the not keyword in media query expressions in a Media Query Level 3 compliant way, negating the whole query expression
EnhancementUnified mentions of Main/Game/DOM thread to UI thread in the native multithreading documentation
EnhancementUpdated Windows Redist libraries included in the package
EnhancementResource abort notifications are sent for streaming requests now as fonts can be unloaded
EnhancementRefactored 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
FixFixed potential memory corruption when using SVG style elements
FixReduced the size of the tvOS libraries by stripping most of the debug information
FixFixed a crash when using the internal profiling feature in long sessions running with L1 profiling level
FixFixed rare cases where the background color of the html and the body won’t be reset after removing their styles
FixFixed hover not working after toggling media rules with hover selectors
FixFixed leaking inactive resize observers, ones that are left without elements to observe or were disconnected
FixFixed race conditions related to loading glyphs, updating text atlas textures and managing pipeline state objects
FixFixed running debug Linux builds on distributions with libc++ 15+
FixFixed a regression causing transitions to malfunction when multiple transitions are used on a single element, but only some of the transitioned properties are changed
FixFixed a crash when delivering notifications to a disconnected MutationObserver

Version 1.57.2


Released 09 Sep 2024
FixFixed crash when a style element in a SVG is removed from the DOM

Version 1.57.0.2


Released 02 Sep 2024
APIBumped the minimum required MacOSX version to 10.13+
APIMoved the EnableProfiling method from the System to the Library interface
APIMoved the FileSystemWriter implementation from the SystemSettings to the LibraryParams interface
APIUnityRemoved the default CohtmlUISystem instance and the DefaultUISystem property
APIAdded CopyTextureToTexture method to the renoir::RendererBackend interface
APIChanged the UpdateTexture method of the renoir::RendererBackend to allow to clear regions of the texture
APIChanged the minimum allowed text atlas texture size to 1024px
APIUnreal EngineEnabled the GPU tessellator for SVGs by default
FeatureAdded support for $0 - $4 to the inspector
FeatureAdded support for enabling external profiling systems to receive events about internal profile markers
FeatureAdded support for Webpack HMR and React Hot Loader
FeatureUnreal EngineIntroduced LLM Scope tags for CPU memory tracking via the LLM Tracker
EnhancementChanges to the the text children of a style element now change CSS
EnhancementAdded the property name and stack trace when accessing objects marked as destroyed with DestroyExposedObject from JavaScript
EnhancementAdded support for media query media types all, print and screen
EnhancementImproved the performance of the Web Animation API implementation in cases when CSS animations animate more than one CSS property
EnhancementImproved the performance of the the CSS animations when animating multiple properties with the same value type
EnhancementAdded two factor authentication sample UI
EnhancementAdded two factor authentication to the multiplayer UI sample
EnhancementAdded login and friends list sample UI
EnhancementUnityAdded ability to modify the SystemSettings with the OnSystemCreate delegate
EnhancementUnityAdded API reference documentation for the functions exposed by the Unity3D integration
EnhancementUnreal EngineMade the Unreal Editor Live Reload feature to be enabled by default
EnhancementUnreal EngineAdded ICohtmlPlugin delegate for overriding the default FCohtmlInputPreprocessor
FixUse TextureBatchingHint to ensure correct calculation of GetUserGPUMemoryStats total and peak values
FixReplaced assert with JavaScript exception when ES6 module fails to load
FixFixed stack-overflow crash when loading ES6 modules with very deep dependency tree
FixFixed accumulating memory when videos are hidden or unloaded
FixFixed calling audio stream pause callback on non-playing streams
FixFixed incorrect drawing of SVGs used as background, border or mask image
FixFixed mutation observer assert on document disposal
FixFixed a crash due to missing temporary allocator when triggering events from worker threads
FixFixed Linux samples compilation, linking and post-build steps
FixAdded packaging of the missing ICU libraries for Linux
FixFixed a race condition during textures destruction
FixFixed the anti-aliasing artifacts for scaled circles and ellipses
FixFixed WebSocket race condition during disconnecting
FixUnityFixed not being able to connect the Dev Tools Inspector on every second play in the Unity3D editor
FixUnityFixed resource loading issue on MacOS and iOS caused by white space in the StreamingAssets path
FixUnreal EngineFixed colors of textures imported with the Unreal Editor texture import menu
FixUnityFixed propagating the input with multiple Canvas On-Screen views

Version 1.56.0.3


Released 19 Aug 2024
FixFixed wrong layout, missing elements and potential crashes when using position:fixed
FixFixed untagged memory allocations on non-Windows platforms

Version 1.56.0


Released 05 Aug 2024
APIThe OnMonotonicallyIncreasingTimeRequest callback can now also be called on a worker thread when using GIF animations
APIUnreal EngineRemoved the deprecated option for the Cohtml HUD to respect or ignore TitleSafeZone and Letterboxing, leaving the default behavior of respecting both
FeatureAdded support for unloading CSS
FeatureAdded support for dynamically ordering stylesheets by moving their corresponding dom elements
FeatureAdded support for tvOS platform (Native only)
FeatureAdded support for element.append() JS DOM API
FeatureAdded support for position: fixed
FeatureUnreal EngineAdded a default FileWriter implementation for performance markers support
FeatureUnreal EngineIntroduced an API for JavaScript pre-compilation and pre-loading
FeatureUnreal EngineAdded documentation on precompiled JavaScript resources usage
FeatureAdded a mobile controls sample
EnhancementStyle elements take children text nodes into consideration when parsing CSS
EnhancementCapped the size of the textures allocated for rendering backdrop filter
EnhancementImproved the backdrop filter blur performance by allowing the blurred content to be downsampled first
EnhancementEnhanced the warning messages when attempting to call an empty value/function
EnhancementUnityThe logs from the Unity integration code now respect the logging severity of cohtml
EnhancementUnreal EngineChanged the Cohtml SDK configuration to match the UnrealTargetConfiguration unless there is an override
EnhancementUnreal EngineExpanded the SDK configuration documentation, explaining Cohtml Development configuration in a greater detail
EnhancementUnreal EngineAdded Cohtml texture memory stats via the Unreal Stats system
FixFixed a failing assert in debug configuration related to overflow visual AABB caused by floating point precision errors
FixFixed a failing assert in debug configuration when using animated GIFs
FixFixed a GC crash related to mouse events
FixFixed a crash when adding attributes in the inspector
FixFixed setProperty throwing type errors when used with non-string arguments
FixFixed Renoir for Android, Linux and iOS to exclude debug checks in release configuration
FixStop triggering attributeChangedCallback for unobserved attributes on custom element registration
FixFixed custom effects rendering when multiple filters are chained
FixUnreal EngineFix CohtmlMaterial HLSL compilation for SM6
FixUnreal EngineMade the SciFi sample to work with the latest version of the Prysm exporter

Version 1.55.2


Released 23 Jul 2024
EnhancementUnreal EngineEnhanced handling of render target RHI textures
FixFixed a debug assert failing when setting virtual resolution with async style-solving
FixFixed a regression caused by async style solving that caused a delay for receiving the latest layout data in JS
FixFixed the --force-resource-requests-on-the-dom-thread option not working for SVG images
FixFixed a crash caused by a race condition with text atlases when using multiple views with the ExecuteCommandProcessingWithLayout option enabled
FixUnreal EngineFixed a crash or potentially invalid data in uniform buffers with Vulkan RHI
FixUnreal EngineFixed crashes due to invalidated render target RHI textures
FixUnreal EngineFixed user textures stats reporting for Unreal Engine 5

Version 1.55.0


Released 15 Jul 2024
FeatureMoved 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.
FeatureAllow precise updates for collections inside data-binding models
EnhancementAllow SynchronizeModels to run during DOM building
EnhancementEnhanced the font-fit feature with the ability to explicitly set minimum and maximum resulting font size
EnhancementEnhanced the low-level GPU memory info API with extended information about the page resources and their usage
EnhancementUnreal EngineEnhanced the Editor texture statistics reporting to include all GPU resource types
EnhancementAdded optional compositorId argument to elementFromPoint DOM API to allow querying for the topmost element from composited hierarchies
EnhancementUnityAdded a new ‘JavaScript Event Binding’ sample to the Unity3D UPM package
EnhancementUnityImproved the Unity3D Integration and Plugin API Reference documentation
EnhancementUnityImproved the ‘JavaScript Binding’ page in the Unity3D documentation
EnhancementUnityAdded preloaded images support for the NGGC rendering backend
EnhancementUnityAdded support for Unity InputSystem version 1.8
EnhancementAdded Development configuration for samples for Microsoft Windows and game consoles
EnhancementOptimize drawing of duplicate command buffers
EnhancementAdded a sample to showcase how to use emojis in a chat input
EnhancementUse a single MSAA texture for the GPU tessellation
EnhancementMultiple improvements of GPU tessellator (Lower CB usage, better batching, fixed 32-bit indexing, single atlas resolve)
APIAnimation end events are fired 1 frame later now, due to animations being ticked asynchronously on the thread executing styling work.
APICompositor API is now called on the thread executing styling work instead on the DOM thread during the Advance call.
APISynchronous resource requests can now be invoked from the thread executing styling work as well and not only from the thread calling Advance.
APIAbort notifications can now come from the thread executing styling work.
APIClients 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.
APIDeprecated 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.
APIRemoved the deprecated font-fit-mode CSS property in favor of coh-font-fit-mode
APIAdded a shorthand CSS property coh-font-fit that allows to set the mode and the limits with a single declaration
APIUnityDeprecated the Library.Initialize overload with the device model as parameter.
APIUnityAdded DisableRestoringUniformBuffers property to LibraryParams for the Unity integration to be used instead of the device model
APIRemoved deprecated constructors for the Renoir rendering backends
FixFixed crash when the HTTPStreamResponse module receives empty response
FixUnityFixed a crash that occurred when typing a backtick key while using the Input System
FixFixed potentially wrong string representation of when using RGBA values in canvas fillStyle
FixUnityFixed audio synchronization warnings when quickly playing and stopping a video
FixUnityFixed an issue with accessing the device model and causing an infinite recursion during Unity initialization
FixVideo 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.
FixUnityFixed support for multiple video audio streams in a CohtmlView
FixUnityFixed input errors when launching the Unity 3D integration sample on console or mobile platforms.
FixFixed errors caused by sending inspector data to closed inspector sessions
FixFixed a crash when calling focus() on an element not attached to the DOM
FixUnityFixed hang on Xbox with Unity3D
FixFixed a crash when the transform attribute is removed from an SVG element
FixFixed a crash when using pseudo elements and absolutely positioned children in cohinline elements
FixUnityFixed materials in Unity samples to transition correctly from standard to URP shaders using the Render Pipeline Converter in a URP project
FixFixed crash when the cache for command processors is used
FixFixed GPU tessellator wrong calculation of bounding box
FixFixed batching of paths rendered with CPU tessellator
FixFixed negative scaling handling in GPU tessellator
FixUnreal EngineFixed assert in DestroyTexture caused by occasional early execution of Game Thread tasks
FixUnreal EngineFixed map tiling in the Starter Guide sample
FixUnreal EngineFixed a stale URL value inside UCohtmlWidget when changing URLs via UCohtmlWidget::Load
FixFixed potential crashes due to integer underflow when calculating text layout
FixFixed the native dropdown sample and resolved a warning when choosing options
FixFixed potential crash during GC when using the CSSOM API document.styleSheets

Version 1.54.0


Released 06 Jun 2024
APIUnreal EngineReplaced Debug binaries with Development in Unreal Engine installers and archives
APIUnreal EngineUpdated Unreal packages to PlayStation 4 SDK 11.500
APIUnreal EngineUpdated Unreal packages to PlayStation 5 SDK 9.000
APIUnityUpdated Unity packages for PlayStation 5 to SDK 9.000
APIUnityUpdated Unity packages for PlayStation 4 to SDK 11.500
APIIntroduced a new API for profiling the internals of Gameface
FeatureAdded support for clientTop, clientLeft, clientWidth, clientHeight and getClientRects() DOM APIs
EnhancementUnreal EngineAdded support for Unreal Engine 5.4
EnhancementAdded support for Microsoft GDK 2023 October Update 3
EnhancementAdded support for Sony PlayStation 5 SDK 9.000
EnhancementAdded support for Sony PlayStation 4 SDK 11.500
EnhancementSVG specific styles can now be set via the JS DOM API
EnhancementUnityRemoved the deprecated CohtmlCanvasRenderer component
EnhancementUnreal EngineDeprecated HUD Respect Safe Zone and Respect Letterboxing settings, leaving them to be always Enabled, until removed
EnhancementUnreal EngineUpdated RHI Texture caching to fix lifetime issues with CohTexture objects
EnhancementAdded a sample demonstrating how to create charts using D3.js
FixUnreal EngineFixed User Background resize for multiple World contexts
FixUnreal EngineFixed shader compilation for Metal in Unreal Engine 5.4
FixFixed missing texture assertions
FixUnityFixed flickering issue when using Unity NGGC backend
FixUnityFixed rendering artefacts with Unity NGGC backend on PS5
FixFixed support for Microsoft Windows 7 without Service Pack 3
FixFixed a crash when destroying and reloading views with the inspector attached
FixUnityFixed Unity crash on Windows Win32 builds with Direct X 12
FixFixed passing invalid command to the backend if image is missing
FixFixed scissor bounds for the GPU tesselation implementation
FixFixed leaking event handlers when using the engine.off API

Version 1.53.0


Released 15 May 2024
APIAdded mipsCount member to IAsyncResourceResponse to mark how much mips a preloaded texture has
APIAltered GPUMemoryInfo structure to make it more compact
APIAdded the TextureObject in IUserResourcesListener callbacks
FeatureAdded support for tessellating SVGs on the GPU
EnhancementAdded support for HTML preloading for XmlHttpRequests and innerHTML
EnhancementAdded documentation for the View::MouseLeave API
EnhancementAdded support for the 'loadedmetadata' event to html media elements
EnhancementUnityUpdated quick start documentation with examples of how to add a view to the scene
EnhancementUnityAdded a step by step guide for localization
EnhancementAdded API to retrieve GPU memory usage information
EnhancementUnityImproved input handling for CohtmlView rendered inside a UI Canvas
EnhancementAdded support in desktop renderers (DirectX 11, DirectX12, OpenGL, Vulkan) for preloading mipmap textures
EnhancementUnityThe Unity package uses the Sony PlayStation 5 SDK 8.0
EnhancementUnityThe Unity package uses the Sony PlayStation 4 SDK 11.0
EnhancementAdded documentation for the canvas API support
EnhancementAdded origin information to warnings and errors when it is available
FixUnityFixed setting the HTTP response headers from UnityWebRequest
FixUnreal EngineFixed plugin loading issue on Linux due to a missing renoir library dependency
FixUnityFixed crash on Xbox in HDRP mode due to synchronization issue
FixFixed ascent and descent for preloaded fonts
FixFixed a crash when using the API for custom media features on different threads
FixFixed setting the prototype on custom elements getting upgraded when their class is defined
FixFixed getAnimations to return only active animations
FixFixed classList property to return the same object when available and avoid generating garbage
FixUnityFixed a crash on exit in Unity3D editor when a WebSocket connection is still active
FixFixed wrongly transitioned properties for discrete animations
FixFixed getAnimations returning animations per property instead of per animation name
FixFixed a crash when using SVG as background-image on an element with transform
FixFixed transitions with negative delay incorrectly firing transition events
FixFixed a crash if a texture for drawing is missing
FixFixed rendering of textures in samples with OpenGL when filtering is set to FilterLinear
FixFixed drawing of simple inline SVGs in cohinline paragraphs
FixFixed image resources not getting unloaded after reducing the background images count
FixFixed artifacts when using border-image with SVG
FixFixed a leak when using transitions which could have caused crashes after garbage collection
FixFixed a wrongly triggered debug assert when detaching elements with pending images
FixFixed a crash when using elementsFromPoint over pseudo elements

Version 1.52.3.1


Released 22 Apr 2024
FixFixed possible race condition in scene’s gpu memory info
FixFixed drop-shadow when it’s drawn through simple sublayers flow
FixFixed incorrect filter rendering caused by simple sublayers
FixUnreal EngineFixed assert when playing video in UMG and closing application
FixFixed compilation errors in case <bit> header is not available
FixFixed undefined RENOIR_PLATFORM_WIN preprocessor in the Renoir header files
FixFixed a crash encountered when batching rendering commands with a missing texture

Version 1.52.1


Released 04 Apr 2024
APIRemoved support for the experimental custom elements V0 API
FeatureAdded support for full-color bitmap fonts
FeatureUnityAdded support for the native plug-in profiler in Unity
EnhancementHTMLCollection returned by getElementsByTagName and getElementsByClassName are now live
EnhancementEnhance text rendering and luminance smoothing in different color spaces
EnhancementApply gradient dithering evenly in linear color space
EnhancementUnityAdded UI Surface Partitioning support when using CohtmlView inside UnityUI Canvas
EnhancementUnityAdded Backdrop Filter when using CohtmlView inside UnityUI Canvas
EnhancementUnityAdded default gamepad mapping for common gamepad models for Unity InputManager
EnhancementUnreal EngineImprove the reporting of used textures inside the UI
EnhancementUnreal EngineAdded support for Surface partitioning feature in Concurrent Advance mode
EnhancementUnreal EngineAdded support for Custom Effects feature in Concurrent Advance mode
FixFixed string values for CSS properties for border, margins and padding
FixFixed wrongly reported scroll values in some cases
FixFixed border image property equality comparison bug caused by uninitialized memory
FixFixed calling attribute related JavaScript handlers before the attribute on the element is updated
FixFixed infinite recursion when setting attributes to their current values in MutationObserver callback
FixFixed a crash when using SVG border images with zero sized border sides
FixFixed a case with a wrong draw order of SVG elements after using an InsertBefore operation
FixFixed a crash when an InsertBefore operation used for SVG elements fails
FixFixed wrongly removing the element from the DOM when an InsertBefore used as a move operation fails
FixFixed a crash when descriptors for constant buffers are not enough for Vulkan
FixFixed bleeding of big glyphs generated with SDF on the CPU algorithm
FixUnityFixed the import/compilation warnings caused by obsolete CohtmlCanvasRenderer invocations internally
FixUnityFixed loading of plugin libraries for Unity on Linux
FixFixed a crash when making an inspector connection with Visual Studio Code
FixFixed Address Sanitizer error on Sony PlayStation when doing Array.shift in JavaScript
FixFixed using memcpy for overlapping regions on Nintendo Switch
FixUnreal EngineFixed rendering artifacts on Sony PlayStation 5

Version 1.51.2


Released 22 Mar 2024
FixFixed crash when using GetAttribute for non-existing attribute on a NodeProxy
FixFixed crash when registering model with subobjects in already loaded page
FixUnreal EngineFixed race condition when discarding invalid frame states of ICompositorInterfaceUnreal
FixUnreal EngineFixed crash when the virtual keyboard tries to use missing attributes of cohtml::IInputProxy
FixUnreal EngineFixed crash when destroying the view
FixUnreal EngineFixed setting response headers for HTTP requests
FixUnreal EngineFixed crash on exit when cancelling pending HTTP requests

Version 1.51.0


Released 07 Mar 2024
APIRemoved support for Arm architecture on the Microsoft Universal Windows Platform
APIUnityAdded a WebSocket state changed event.
APIUnityAdded a WebSocket state changed callback
FeatureAdded support the CSS Typed Object Model
FeatureAdded support for custom media features
FeatureUnityAdded support for NGGC for Sony PlayStation 5
FeatureUnreal EngineIntroduced a way to run update the views on a worker thread
EnhancementAdded support for animating stroke-dasharray
EnhancementAdded a warning when setting properties without units
EnhancementImproved 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
EnhancementUnityImproved support for CohtmlView inside a UICanvas hierarchy
EnhancementUnityAdded support for adding CohtmlView with the context menu when an object is selected and that object has a Canvas as a parent
FixFixed a memory leak when animating SVG attribute values
FixFixed a floating point precision error causing texts to wrap spuriously
FixFixed issuing out of bounds HTTP requests for videos and added documentation about handling end of stream
FixFixed Touch Up/End event being fired with the wrong target element in some cases
FixFixed history.replaceState failing with relative URLs throwing an origin error
FixFixed an incorrect message about unsupported box-sizing CSS property with value border-box
FixAdded a missing changelog entry for flex longhand support in version 1.48
FixFixed a crash when SVG elements are appended to the DOM in event handling functions
FixFixed createElementNS to correctly work with a null namespace argument
FixFixed generating wrong URLs for the views in the inspector with multiple views
FixFixed a crash during the mouse event firing when GC collects elements that are part of the event path
FixFixed multiple crashes and undefined behaviors related to objects being wrongly collected by GC
FixFixed the !important CSS flag not working in custom expressions and properties with URL
FixFixed custom elements not getting upgraded when define is called after creating the element
FixFixed an infinite recursion with mask and clipPath SVG elements which are self-referencing themselves
FixFixed aliasing on the border edges of transformed elements
FixFixed applying rules from @media rules that fail to be parsed
FixFixed setting textContent or innerHtml to null or undefined not clearing the content of the element
FixFixed parsing HTML comments properly with innerHtml
FixFixed Element.closest method failing to return the element on which was called as a match
FixFixed an uninitialized value for angle in linear gradients which was causing the comparison of two gradients to always return different
FixFixed Player crashing on Mac OS X when allocating executable memory for V8
FixFixed support for Mac OS 10.12 in the samples
FixFixed HDR sample being darker in evaluation packages
FixUnityWorked around Unity restriction to let textures be reused with different sampler states in the same frame for all graphics APIs except OpenGL
FixUnityRemoving the mouse event skip logic causing lag in the Cohtml API
FixUnreal EngineFix path rendering with RHI implementations which don’t support first instance
FixUnreal EngineFix crash on Android with GLES3 in UE

Version 1.50.0


Released 02 Feb 2024
APIRegenerated the license keys used for initialization of the library
APIThe window.load event no longer waits for images loaded through CSS
APISamples for Microsoft UWP and GDK platforms now use the Microsoft Visual Studio 2022 toolset
APIPrebuilt Renoir rendering backends now use Microsoft Windows SDK 10 and the Microsoft Visual Studio 2022 toolset
APIUnityDeprecated View in favor of NativeView property of the CohtmlView component
APIRemoved the PreferCPUWorkload option from backend’s capabilities
APIRemoved the GLES2 support
APIRemoved the Shape Morphing support
APIChanged rendering backend’s capabilities to fit for the new command batching flow. Read more in the migration guide.
APIChanged shaders' vertex layout to fit for the new command batching flow. Read more in the migration guide.
APIAdded new commands in the rendering backend which need to be handled for the new command batching flow. Read more in the migration guide.
APIChanged constant buffers in the rendering backends to fit for the new command batching flow. Read more in the migration guide.
APIRemoved support for Microsoft XDK (aka Durango) SDK for Microsoft Xbox One consoles
FeatureAdded support for Touch and TouchEvent constructors for all platforms except UWP arm
FeatureAdded support for capturing a screenshot in the inspector and through the dev tools protocol
FeatureEnhanced batching of the rendering commands which combines the CPU and GPU workload and improves the efficiency. Check the migration guide.
FeatureTouchEvent.touches now contains information about all touches
FeatureThe Player application can now receive touch events on Microsoft Windows
EnhancementAdded resize logic for all samples using UI Composition, Surface Partitioning, and Backdrop Filter features
EnhancementAdded support for backface-visibility CSS style
EnhancementAdded support for GPOS kerning for fonts
EnhancementAdded partial support for SVG transform, width, height, and viewbox JavaScript properties
EnhancementUnreal EngineImproved the sample hub UI
EnhancementUpdated FreeType to version 2.13.2
EnhancementAdded GPU memory tracking to profiling output
EnhancementOptimized performance of border-image with SVG
EnhancementAdded support for sending input events to composited surfaces
FixFixed a deadlock when scratch textures caches are being cleared
FixFixed incorrect marking of scratch textures as not usable
FixFixed a crash when try to read an invalid FreeType face
FixFixed incorrect SVG clipping with clip-path and mask elements when using them in user space
FixFixed positioning of nested elements when using cohinline
FixFixed mouse events not firing correctly for cohinline elements
FixUnityFixed rendering problems with OpenGL and C# Backend in Unity
FixFixed leaking transformations when scaling SVGs to sizes smaller than 1 pixel
FixFixed a crash in the Player with HTTP requests on quit
FixFixed text nodes being 1 pixel larger then necessary that led to incorrect positioning when using right alignment
FixFixed missing texture when an image is used for only one frame
FixUnityFixed the errors encountered when the Samples were removed from the package
FixUnityFixed the backdrop filter texture format type in HDR mode
FixFixed requestAnimationFrame callbacks executing on the same frame
FixUnityFixed the OnGUI events input regression caused by the latest input performance upgrades in Input Manager mode.
FixPassing an empty string to textContent property won’t create empty text nodes
FixFixed cases where event listeners are not fired when other unrelated event listeners are removed
FixFixed excessive character vertical offset with certain fonts
FixFixed a crash caused by improper use of GIFs as background images
FixFixed a warning when setting the animation shorthand property to none
FixUnreal EngineFixed safe zone and letter boxing on the Apple iPhone devices
FixUnreal EngineRemoved forgotten experimental mentions from the documentation regarding Android and iOS platforms
FixUnreal EngineAddress accumulation of frames for painting when UMG Widgets are hidden or minimized
FixUnreal EngineFixed PlayerOverrides build issues
FixUnreal EngineFixed UE package unzipping issue with the native Windows File Explorer manager
FixFixed composition with custom effects
FixUnityFixed crashes when rapidly starting and stopping the Player in the Unity3D Editor
FixUnityFixed order of touch events in Unity3D when Input Manager is used
FixRemoved forgotten experimental mentions from the documentation regarding inline layout, complex text, and SDF on GPU features
FixUnityRemoved forgotten experimental mentions from the documentation regarding the C# backend feature
FixFixed a bug with upgrading cloned custom elements that prevented their lifetime callbacks to be invoked
FixThe inspector now shows the views for inspection only when they have a valid document loaded
FixFixed CSS calc functions failing when running with locale settings where the decimal symbol is not a dot
FixFixed a crash when clearing SVG surfaces caches
FixFixed invoking newly added event listeners during the dispatching of the event

Version 1.49.0


Released 20 Dec 2023
EnhancementImproved inline RTL text positioning and punctuation wrapping
EnhancementMade the inspector show an empty style object for elements without inline styles that can be used to easily add new styles
EnhancementAdded finish, cancel and commitStyles from the WAAPI
EnhancementUnity plugin is now compiled against .Net Standard 2.0 to ensure cross-platform .Net profile support
EnhancementAdjusted the Switch sample renderer to work with the latest (18.0.1) SDK
EnhancementTrimmed trailing zeros from stringified property values
EnhancementImproved the warning message when using fonts that weren’t loaded
EnhancementUnreal EngineAdd abort resource request handling
FixFixed RTL text being drawn a bit to the right making it stick out of its element bounding box
FixFixed font-fit not working correctly when using preserve whitespace mode
FixFixed wrongly rendered newline characters as spaces when using preserve whitespace mode
FixFixed visual artifacts left over from drawing squares while the font isn’t loaded for complex text
FixFixed wrongly positioned background-color when using cohinline with text-align
FixFixed words drawn in incorrect order when displaying right-to-left languages
FixFixed positioning of nested elements after wrapped text in cohinline
FixFixed RTL direction in cohinline for nested texts
FixFixed incorrect punctuation wrapping with cohinline
FixFixed text wrap when using a mix of languages and punctuation
FixFixed negative letter-spacing sometimes cutting text
FixFixed asserts during GC tracing
FixFixed support for paths with spaces in sony_strip_debug_symbols.bat
FixUnreal EngineRemove unused AtlasManager callbacks
FixUnreal EngineProcedural sound replay warning
APITrimmed trailing zeros from stringified property values. This may break code comparing style values as strings

Version 1.48.0


Released 07 Dec 2023
FeatureUpdate Nintendo Switch SDK to 16.2
FeatureSupport PlayStation 4 SDK 11.000
FeatureSupport PlayStation 5 SDK 8.000
EnhancementImplemented a faster memory allocator for PlayStation 5 samples
EnhancementOptimized performance of SVG images used as border-image
EnhancementAdded support for more font weights - book, demi, etc
EnhancementProvide the Error object as reason forunhandledrejection events
EnhancementDocumented the lifetime of media resources used in video elements
EnhancementDocumented GIF image format support
EnhancementUnityRemoved the need for different libraries for the different scripting backends and .Net versions
EnhancementAdded support for flex longhand
FixFixed crash when the unhandledrejection event handler adds an error handler to the promise object
FixFixed incorrect size of compositor textures when border-radius is applied
FixFixed rendering discrepancies on GLES3 caused by floating precision problems
FixFixed unnecessary redrawing of the area of hidden elements that have a backdrop filter applied
FixFixed composited elements with display: none not invoking OnCompositionRemoved
FixFixed elements with custom effects with display: none not invoking OnCustomEffectRemoved
FixFixed leaking surface partitioning data for elements with display: none
FixFixed redrawing of nested compositions
FixFixed Player not opening on Mac due to missing CFBundleExecutable variable
FixEnsured the garbage collector is triggered often enough to collect video related memory
FixFixed a crash when the DOM is modified in the event handlers of mouse input events
FixFixed a crash when there is more than one event handler attached to an element
FixFixed a crash from improper use of GIF images as background images
FixFixed pseudo elements background disappearing after content is changed
FixUnityFixed repeating certain touch events when InputManager is used on mobile devices
FixFixed cases in which positioned elements caused incorrectly calculated scroll size
FixUnreal EngineFixed a crash when cancelling resource requests
FixUnreal EngineFixed Microsoft Windows and Xbox builds when unity builds are used
FixUnreal EngineFixed a crash when destroying the View Wrapper’s texture
FixUnreal EngineFixed Unreal Editor hang when using surface partitioning with UMG
FixUnreal EngineSkip issuing a warning for missing viewport if the game world is tearing down
FixUnreal EngineFixed a crash on GDK platforms when Unreal memory trace is enabled
APIUnityRemoved the .IL2CPP. variants of the Unity plugin libraries

Version 1.47.0


Released 07 Nov 2023
FeatureImplemented ResizeObserver API
EnhancementImage-rendering support for border images
EnhancementAdded support for copy and paste in the Elements tab of the Inspector
EnhancementHTML preloading now ignores query parameters from URLs when storing and serving HTML files from the cache
EnhancementAdded support for the new rgb() functional notation syntax
EnhancementThe 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.
EnhancementAdded partial support for keyframe rules to the CSSStyleSheet.insertRule() API
EnhancementThe Player uses the system OpenAL.framework on Mac OS
EnhancementAdded documentation how mouse related behavior works when the mouse is idle
EnhancementUnityAdd IVirtualAllocator implementation for Sony PlayStation
EnhancementUnityAdd IVirtualAllocator implementation for Microsoft Windows and Xbox
EnhancementUnityAdd IVirtualAllocator implementation for Nintendo Switch
EnhancementUnityAdded support for binary messages in WebSocket implementation
EnhancementUnreal EngineRemoved legacy code for controlling OnAssetSaved callbacks for atlases
EnhancementUnreal EngineAdded IVirtualAllocator implementation for Microsoft Windows and Xbox
EnhancementUnreal EngineAdded IVirtualAllocator implementation for Sony PlayStation 5
EnhancementUnreal EngineAdded IVirtualAllocator implementation for Nintendo Switch
FixFixed broken surface partitioning in evaluation builds
FixFixed accumulating memory caused by requestAnimationFrame callbacks
FixFixed assert when trying to draw background image on 0 background size
FixFixed assert for SVG properties passed to style.setProperty
FixFixed parser errors due to HTML tags in CSS comments
FixFixed infinite recursion when specifying default font family as one of the generic font family keywords
FixFixed OnUserImageDropped being called after rendering resources are freed
FixUnityFixed crash when domain reloading is disabled in Unity
FixUnityFixed crash on Xbox when the project quality is set to ‘Very Low’''
FixUnityFixed horizontal scroll touch gestures
FixUnityFixed losing focus on input fields on platforms with virtual keyboards
FixUnityEnsure the proper disposal of the Library params object
FixUnreal EngineAdded low level guard to prevent hitting a potential assert when loading Atlas textures

Version 1.46.0.1


Released 06 Oct 2023
FeatureUnityAdded IME support for Japanese, Korean and Chinese
FeatureUnityExposed the ScriptCompiler API to Unity.
FeatureUnreal EngineSupport for Unreal Engine 5.3.1
EnhancementAllow 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.
EnhancementEnabled V8 pointer compression on Xbox family of game consoles
EnhancementAdded known issues to the compositor documentation
FixFixed wrongly triggered layout when changing properties on hidden elements
FixFixed making POST XmlHTTPRequests in the Player on Mac OS 13.5
FixUnityFixed switching Unity scripting backend when switching to consoles
FixUnityFixed Unity editor crash on script recompilation.
FixFixed wrongly calculated font size when using nested elements with ems
FixUnityAdded PlayerOverrides project dependencies.
FixUnityBlur the currently focused element in the UI when Unity player loses focus
FixUnityFixed UTF-8 handling for WebSocket text messages
FixFixed a crash when removing textarea attributes
FixFixed potential crashes and missing filters when using filters with no effect
FixFixed the inspector stalling the thread when errors occur
FixFixed button element not being able to have pseudo elements
FixFixed false positive unregistered font warnings
FixFixed a crash when view reload is called before loading an URL and attaching it to the inspector
FixFixed CSS adjacent sibling selector not working if there is a comment between the elements
FixFixed ElementFromPoint returning a text node instead of element node
FixFixed a crash when destroying the view renderer during layout
FixUnreal EngineAdded missing Plugin includes and fixed Include-What-You-Use compliance
FixUnreal EngineFixed the the custom effect sample on Switch
FixUnreal EngineFixed the Unreal Engine installer failure when no ‘clean’' option is selected'

Version 1.45.0


Released 05 Sep 2023
FeatureAdded support for SVG border image
FeatureImplemented the queueMicrotask JavaScript function for platforms using V8
FeatureUnreal EngineSupport for Unreal Engine 5.3.0 Preview 1
FeatureAdded support for Lottie animations
FeatureAdded support for conic gradients used as background-image
EnhancementChanged PlayStation 5 Renoir backend to use compute shaders for clearing render targets
EnhancementUnreal EngineReworked the CoherentSample levels showcasing the plugins features
EnhancementUnreal EngineReworked CoherentSample and the plugins includes so they can be compiled without precompiled headers
EnhancementUnreal EngineRefactored Content Browser and Raw Image Importer tool extension code
EnhancementUnreal EngineSimplified the cohtml::System initialization flow for the DedicatedUIThread map
FixFixed stylesheets not being applied in the frame in which the load event is fired
FixFixed link elements not applying styles when changing the href attribute
FixFixed race condition in resource changelogs
FixFixed wrong clipping which was causing missing elements
FixFixed crash during View initialization on iOS
FixFixed the CohtmlView rendering with CohtmlCanvasRenderer in HDRP and URP modes
FixFixed texts from sometimes disappearing when parent elements change display
FixFixed redrawing SVG shadows
FixFixed a crash when using animations and transitions with negative duration
FixFixed getPropertyValue to look for custom variables in the visible CSS declarations
FixFixed objectBoundingBox mask units when masking transformed content
FixUnreal EngineFixed evaluation copy installer fail when Engine installation is selected
FixUnreal EngineFixed plugins platform defines for platforms XboxOne, XboxOneGDK, and XB1 configurations
FixUnreal EngineFixed crash during OnUserImageDropped callback
FixUnreal EngineRemoved backward compatibility for pre-1.14.3 atlas metadata files
FixFixed potential creation of large textures for composited surfaces. This could be hit if using overflow:scroll on a composited container

Version 1.44.0


Released 10 Aug 2023
FeatureReplaced ChakraCore with V8 for Universal Windows Platform for x86
FeatureAdded remove method on DOM elements
FeatureUnityAdded support screen overlays with Unity UI Canvas
FeatureUnreal EngineAdded option for enabling the Linear Space Rendering Pipeline, enabling the support for textures in Linear sRGB Color space
FeatureUnreal EngineMade the plugin code compliant with Include-What-You-Use
EnhancementSetup memory allocators for the ICU library
EnhancementAllowed changes to the ImageOrigin for raw images
EnhancementUnityAdded events for Library and UISystem initialization
EnhancementAllowed using different samples for different texture slots in shaders
FixFixed lack of transitions with animation-fill-mode and style changes in a single frame
FixFixed crash when drawing canvas without commands
FixFixed visual artifacts of SVG paths with a stroke that is not a color
FixFixed a V8 crash on secondary Library initialization
FixFixed negative letter-spacing sometimes cutting text
FixUnityFixed allocating a new C# UnityPlugin instance on each access
FixUnityFixed possible artifacts caused by scratch texture reuse
FixUnityFixed crash Metal backend when there are multiple cameras with views
FixUnityFixed Unity Mac bundle package naming
FixUnityFixed running the Player with the scripts
FixUnreal EngineFixed crash when making profile capture with screenshots enabled for DirectX12
FixUnreal EngineRemoved mixed (game and engine) plugin installation

Version 1.43.0.1


Released 24 Jul 2023
FeatureAdded support for the HTML template element
EnhancementAdded CSSStyleDeclaration.removeProperty
EnhancementAdded compile time checks to stop creating data-binding models from unsupported types
EnhancementMade CSSStyleDeclaration.setProperty work with non-custom properties
EnhancementStopped creating layers for color matrix or blur filters that do not result in visual changes
EnhancementUnreal EngineAdded compile time checks to stop creating data-binding models from unsupported types
EnhancementUnreal EngineImproved resource handling of streaming textures
EnhancementUnreal EnginePrevent registering of BluePrint struct models received by copy
EnhancementUnreal EngineMoved update of the resource loading in the Game thread in a regular tick
EnhancementUnreal EngineMade the plugin installer report failures during installation
EnhancementUnreal EngineTransitioned the CoherentSample project to the Enhanced Input system
FixFixed objectBoundingBox masks for SVGs
FixUnreal EngineFixed first sampler being forced on all sampler slots for Vulkan
FixFixed a regression with getElementsByTagName('*'')'
FixFixed inline RTL text being displayed in the wrong order for right-to-left languages
FixFixed a case where a multiline text may get truncated at the bottom
FixFixed crash when using multiline bidirectional text
FixUnityAdded automatic switching between Mono and IL2CPP scripting backends
FixUnityAdded automatic detection for HDRP and URP rendering pipelines
FixUnityFixed WebSockets not being able to connect with slower networks
FixFixed possibly skipping notifications for Layout tasks with task based concurrency mode
FixUnityResolved the Unity3D integration samples CSS HTML and JS warnings.
FixUnityFixed rendering artifacts on iOS

Version 1.42.0.0


Released 22 Jun 2023
FeatureIntroduce support for linear rendering pipeline where the rendering library will linearize all color and will use SRGB texture as intermediate rendering targets
FeatureAdded support for the svg image element
FeatureReplaced JavaScriptCore with V8 for UWP on x64
FeatureEnabled PGO optimizations for GDK Xbox platforms
FeatureEnabled PGO optimizations on PlayStation 5
FeatureUnreal EngineIntegrated Surface Partitioning for HUD and UMG widgets
FeatureUnityIntegrated mimalloc inside UnityPlugin for Windows and MacOSX
FeatureUnreal EngineAdded support for Unreal Engine 5.2
EnhancementAdded mimalloc allocator as a module for Microsoft Windows and Mac OS X
EnhancementAdded the mimalloc allocator in the Player, Launcher, and Samples on Windows and MacOSX
EnhancementUnityAdd the PlayerOverrides project in the Player folder.
EnhancementUnityHide the entire Player folder from Unity3D editor package import process.
EnhancementNon-inline SVGs are now shared between DOM elements in order to avoid repainting for each individual element
EnhancementSupport for Microsoft GDK version 2023.03
EnhancementSupport for Sony PlayStation 4 SDK version 10.500
EnhancementSupport for Sony PlayStation 5 SDK version 7.000
EnhancementUnreal EngineAdded control over view update for UMG widgets
EnhancementUnreal EngineGuarded a crash when wrong argument type is being used when calling from Blueprints Update or Remove data model from struct
FixFixed SVG gradients to update when related properties change
FixFixed SVG clipping to not leave artefacts when clipped elements have 0 scale
FixFixed SVG clip paths to hide elements that are outside their AABB
FixFixed crash when dispatching transition and animation events
FixFixed a false-positive warning for ‘Model: X is not registered yet’' when using data-bind-for'
FixFixed a bug where some SVG might disappear when their parent element has an opacity other than 1.0
FixFixed text-overflow: ellipsis not showing text even when there is enough space
FixFixed memory leak when navigating between pages with custom elements
FixFixed innerHTML reordering comments and text
FixFixed potential wrong value in constant buffer passed to shader, usually resulting in white textures in the UI
FixMake pseudo elements with a width of 5px or less be impacted by border-radius
FixFixed wrongly requested 4GB allocation when using cohinline with font-fit shrink on very small containers
FixUnreal EngineAdd extra check if texture streaming is enabled when loading textures
FixUnreal EngineAdd missing CohtmlBackwardsCompatibility.h header inside CotmlUTypeBinder.h
FixFixed regression in the graphics clipping state, causing disappearing parts of elements

Version 1.40.0


Released 03 May 2023
FeatureTrack all V8 memory allocations
FeatureAdded ability to extract GPU memory information
FeatureUnreal EngineAdd Bink Video Player sample map
EnhancementAdded support for base64 images
EnhancementAdd the ability to control the rendering library caches in the inspector
EnhancementStart shipping the shaders' source code for the Sony PlayStation 4 and Sony PlayStation 5 platforms.
EnhancementUnitySupport for the GetBoundingRect of NodeProxy method
EnhancementUnreal EngineDocument how to order data binding and View::Advance order
FixFixed a potential crash after a view is destroyed with in-flight resource requests
FixFix a bug with backdrop-filter where the filtered content will continue to be displayed, even if the element has visibility:hidden
FixFix carriage return being wrongly rendered with some fonts
FixFixed text alignment with cohinline
FixFixed upgrading p elements with cohinline
FixFixed parsing of contain:none
FixFixed text sometimes failing to redraw with text-align
FixFixed memory accumulation when using elements with unresolved font
FixFix a potential double user texture wrap in the backend for the use background texture
FixUnityPackage all uiresources library files.
FixUnreal EngineFixed non-unity build compilation errors
FixUnreal EngineFix a DPI scaling of widgets when they are constructed without UUserWidget, but warn for possible improper creation
FixUnreal EngineDedicatedUIThreadHUD now creates it’s texture in PreInitializeComponents which ensures the texture UObject will happen on the appropriate thread

Version 1.39.0


Released 06 Apr 2023
FeatureUnloading of background/border/mask images of elements hidden with display:none
FeatureAdded a library option to expose a JavaScript API that can force garbage collection
FeatureUnreal EngineAdded integration with the Unreal Engine 5 Text-To-Speech plugin
FeatureUnreal EngineDelegate for OnNavigateTo
FeatureUnityUse C# controlled threads for layout and resource tasks
FeatureAdded full page capture to serialize a loaded page for debugging purposes
EnhancementImproved speed of creating custom elements
EnhancementOptimized string storage of script contents
EnhancementChanged engine.whenReady to be invoked before visual resources are loaded for more optimized initialization of the DOM
EnhancementReduced memory taken by layout styles
EnhancementDecreased memory consumption for SDF glyphs
EnhancementRemove additional memory allocation for texture update
EnhancementAllow elements with coh-composition-id to be rendered offscreen and not rerendered when only their transformation is changed
EnhancementAdd a AltGr key support and AltGraph modifier to EventModifierState
EnhancementAdded the animationiteration, animationcancel, transitionrun and transitioncancel events
EnhancementImplement support for nested clipPath elements in SVG elements
EnhancementEnhance stroke rounded rects to use geometry instead of paths
EnhancementUnreal EngineRemoved usages of AddToRoot and RemoveFromRoot
EnhancementUnreal EngineAdd AltGr key input handling
FixUnityFix the brightness correction when using Linear color space
FixBackground/border/mask images are now properly released when the style no longer requires them
FixUnityFixed the world views adding extra mesh component
FixFixed a crash when using complex text with bitmap font
FixFixed crash when parsing long URL
FixFixed double invoke of UserImageDropped callback during system destruction
FixFixed caret position with text-align right and center
FixFixed borders with border-radius sometimes having incorrect colors
FixFixed parentElement on html element not returning null
FixFixed a crash when firing events on elements with pseudo elements
FixFixed elementFromPoint behavior with pointer-events:none
FixFixed Date.now() precision on Nintendo Switch
FixFixed display: none sometimes causing redraw
FixFixed assert when SVG root is hidden with display: none
FixFixed text key shortcuts to work as expected with Control, Alt, AltGraph, and Shift modifiers.
FixFixed some letters being interpreted as the newline character in input fields
FixFixed SVG elements not redrawing correctly in some cases
FixFixed a crash when applying white-space property on input elements
FixFixed a deadlock that can occur during loading of images
FixBorders having width less than 1px and using images/gradients as border-image-source are no longer disappearing
FixFixed pausing animation with duration 0 rendering it at the beginning
FixFixed a crash in MediaProvider::OnSeekDataReceived
FixFixed potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option.
FixFixed submission validation errors for Sony PlayStation 5
FixFix a crash when nesting elements that use the clip-path property in an SVG
FixFixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option
APIRemoved OnIMEShouldCancelComposition legacy code

Version 1.38.0


Released 21 Feb 2023
FeatureIntroduce 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'
EnhancementAdded documentation for the coh-composition-id, coh-partitioned, and coh-rendering-options
EnhancementEnhanced stroke rounded rects to use geometry instead of Path for better performance
EnhancementImplemented a full page capture feature that can serialize a loaded page to a binary blob for easier debugging
EnhancementAdded support for null when setting style.[top|left|right|bottom]PX for unsetting the property
EnhancementUnreal EngineAdded a way to ignore the automatic binding of specific UFunctions
FixFixed a crash when applying white-space property on input elements
FixFixed a deadlock that can occur during loading of images
FixFixed a regression with user images that may have caused crashes
FixBorders having width less than 1px and using images/gradients as border-image-source are no longer disappearing
FixFix the disappearing of small border corners
FixFixed pausing animations with zero duration to render the correct state
FixFixed a potential crash when creating/destroying video elements or changing the src attribute
FixFixed a potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option
FixFixed a crash when nesting elements that use the clip-path property in an SVG
FixFixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option, leading to the missing texture errors
FixRemoved additional memory allocation for texture updates
FixFixed an assert in Debug configuration related to visual AABBs
FixFixed possible GPU hang due to failing Index buffer diagnostic check 16690 in the stock PS4 backend.
FixFixed wrong layout when using font-fit in a dynamically sized flex sub-tree
FixFixed inner HTML in localized content not displayed correctly unless wrapped in a single HTML element
FixFixed unnecessary request for an invalid texture from the backend in the Compositor sample
FixFixed incorrect handling of background-size single value extent and auto value
FixFixed possible assertion for a missing render target when having an element with both coh-composition-id and filter CSS properties
FixFix the occasional disappearing of SVGs used as masks
FixFixed SVGs not drawing correctly when using preserveAspectRatio="none"
FixUnityFixed submission validation errors for PlayStation 5
FixUnreal EngineFix retrieval of game viewport when multiple PIE processes exist

Version 1.37.0.1


Released 01 Feb 2023
FeatureAdded support for debugging with Visual Studio Code
FeatureAdded text-anchor property for SVGs
FeatureAdded movementX and movementY for mouse events
FeatureUnityAdd a window in Unity editor warning for known issues with specific Unity versions
FeatureUnityC# Rendering backend support for Android with Vulkan
FeatureUnityC# Rendering backend support for MacOS
EnhancementAdded more meaningful debug logs for the lifetime events of images
EnhancementProvided a callback for whenever a user image is dropped before being used
EnhancementReduced draws in SVGs when duplicate paths are present
EnhancementEach view can be inspected by multiple inspector instances
EnhancementclassList add and remove work with more than one argument
FixFixed getBoundingClientRect for transformed elements.
FixFixed multiple sources in background-image delimited by whitespace being valid
FixAddress potential COM warnings related to XInput usage in samples
FixHidden elements are no longer redrawn.
FixFix threading issues when compositor is used
FixFixed parsing of font families in SetAdditionalFontFallbacks function caused by whitespace
FixFixed leaking frame rendering data of discarded frames when using the multi-threaded paint option
FixFixed disappearing styles in the inspector styles tab on declarations edit
FixUnityRemoved GLES2 and GLES3 dependency for iOS.
FixFixed data-bind-style-transform swapped second and third matrix values
FixFixed possible artifact when drawing a background with semi-transparent color and overlapping border radius.
FixFixed issues when appending multiple HTML, HEAD and BODY elements to a document
FixFixed a crash when destroying a view while tracing in the inspector.
FixStop tracing when the inspector frontend disconnects.
FixFixed out-of-the-box launching the Player application on newer Mac OS versions

Version 1.36.2.1


Released 16 Jan 2023
EnhancementUnreal EngineSignificantly reduced the size of the Unreal Engine installers for consoles by removing the most of the binaries present in the regular installer
FixFixed data-bind-style-transform swapped second and third matrix values
FixFixed a crash during GC tracing of events
FixFixed a deadlock regression with user images
FixFixed potential “Called EndLayer to a command buffer which has … saved states to restore!” warning when using backdrop filter
FixFixed a precision error when calculating font-fit when given high precision numbers from CSS
FixFixed the rendering of nested SVG elements that use clip-path
FixFixed possible artifact when drawing a background with semi-transparent color and overlapping border radius.
FixUnreal EngineFixed installer logic that adds module dependency for Cohtml and CohtmlPlugin when installing over an existing game
FixUnreal EngineFix the crash when the inspector starts performance recording with screenshots enabled
FixUnreal EngineFix non-compiled shaders for Custom Effects because of Unreal Engine 5.1’s ODSC

Version 1.36.0.3


Released 19 Dec 2022
EnhancementSupport for Sony PlayStation 5 SDK version 6.000

Version 1.36.0.1


Released 16 Dec 2022
EnhancementImplement optimization that caches SVGs used in elements so that the SVGs are not redrawn every frame
EnhancementOptimized approximating cubic curves into quadratic ones when doing font rendering
EnhancementUnreal EngineMake custom effects to work with dedicated layout thread
FixFixed virtual list parsing when there is a function call in the expression
FixUnityFixed Unity 2022.2 HDRP rendering when using the native D3D12 backend
APIUnreal EngineRemoved support for old engines prior to Unreal Engine 4.27

Version 1.35.0.3


Released 05 Dec 2022
FeatureAdded mouse event type MouseLeave, which clears hover effects when the mouse leaves the view
FeatureImplemented import.meta.url for ES6 modules for platforms using V8
FeatureImplemented dynamic import for ES6 modules for platforms using V8
FeatureUnreal EngineSupport for Unreal Engine 5.1
EnhancementReduced the amount of log messages caused by unsupported CSS syntax
EnhancementNon-inline SVGs are now shared between DOM elements in order to avoid re-rendering for each individual element
EnhancementUnityMacOS bundles support all CPU architectures
EnhancementFixed 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.
EnhancementImproved error reporting of declaration parsing with custom variables
EnhancementImproved image decoding performance (sped up the automatic premultiplication of the alpha channel by 2x-3x depending on platform)
FixFixed a crash when modifying the DOM of an inline SVG
FixFixed a crash when using events outside of event handlers
FixFixed rem units not working with SVGs
FixFixed a leak when inspector network tab is disabled
Fixtransform: translate/font-size with non-pixel units on SVG elements no longer causes an assert/warning
FixUnityFixed code stripping removing classes or methods for the JIT aware scripting backends
FixFixed 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
FixUnityFixed a crash when not supported arguments are passed from JavaScript
FixUnityFixed a crash when using HDR on DirectX12 in Unity
FixFixed incorrect sampling of very thin elements using a large scale, that previously led to incorrect interpolation
FixFixed a crash when resolving calc expression with invalid parentheses
FixFixed elements to update their font after registered fonts without explicit font family are loaded
FixFixed scroll juddering when panning with touch or scrolling fast
FixFixed a crash during garbage collector tracing
FixFixed SVG used as masks being partially rendered sometimes
FixUnityRemoved GetNativeTexture call for Linux on each update loop
FixRemoved assert/log errors when an invalid url is provided to properties like background-image
FixThe getAnimations API now takes into account the display property of an element and its parents
FixFixed font family to be case insensitive
FixUnityRemoved redundant View`s BackdropFilter property
FixFixed parsing of inline styles containing various whitespace characters
FixFixed possibly incorrect gradient drawing on PlayStation platforms
FixFixed a crash when command processors are being reused
FixFixed em units to be calculated against the first parent with explicit font-size instead of the direct parent

Version 1.34.2.1


Released 17 Nov 2022
FeatureAdded support for text-decoration-line, text-decoration-color, text-decoration-thickness, text-underline-offset, text-underline-position and the text-decoration CSS properties
EnhancementUnityMac OS bundles support all CPU architectures
FixFixed linking of iOS ARM64 builds
FixFixed scroll juddering when panning with touch
FixFixed potential double trace and crash of objects during V8 garbage collector tracing

Version 1.34.0.4


Released 10 Nov 2022
FeatureAdded API to remove arrays exposed by reference from JavaScript
FeatureDispatch window Error event for platforms using V8
FeatureAdd cohtml::ScriptCompiler for compiling scripts before loading for platforms using V8
EnhancementNew documentation with improved usability and searching for Custom engines, Unreal Engine and Unity Engine
EnhancementClarified System API usage – System API must be called on the thread that initialized the System, unless explicitly stated otherwise
EnhancementSupport for PlayStation 4 SDK 10
EnhancementOptimized performance of font data preloading
EnhancementAdded new API for creation/destruction of custom effects
EnhancementGamepad events are now fired before JS timers execution on Advance
EnhancementAdded warnings for registering an already registered gamepad and unregistering a non-registered gamepad
EnhancementDocumented the new execution flow of resource commands through the rendering backends
EnhancementEnhance batching to check for older combinable commands
EnhancementAdded pdb files for the prebuilt Renoir backends
EnhancementInspector now accepts shorthand declarations
EnhancementStyle tags now display their content in the inspector
EnhancementAdded the event name to the warning message when trying to remove non-existent event listeners
EnhancementAbort execution of newly loaded scripts after document unloading has started
EnhancementUnreal EngineAdded support for Custom Effects in Unreal Engine 5
FixMoved invocation of RegisterGamepad and UnregisterGamepad on the System initializing thread in GDK XBox samples for thread-safety
FixFixed log spam when inspector is enabled without an available network connection
FixFixed assert on Linux with Vulkan backend caused by wrong texture layout
FixFixed a crash when reloading pages using canvases and not calling ViewRenderer::Paint on all advanced frames
FixFixed inspector taking up memory space when disabled
FixFixed a case where the client`s backend can receive a DestroyTexture command for a user image before the WrapUserImage command
FixFixed a crash with std::map reading from JavaScript and a numeric string is used as a key
FixFixed forward fill mode animations to retain animated value on end when animation direction is reversed
FixFixed C4100 warnings in public headers, modules and samples
FixFixed bottom and right properties percent values being calculated against the width of the parent element
FixFixed assert when opening the inspector with Chrome language default different than English
FixFixed a crash when parsing background shorthand
FixFixed a crash when there are several elements inside element in a SVG
FixFixed !important order when used with custom variables
FixFixed a crash when importing a module that contains syntax errors
FixFixed a crash when performance handler is not passed
FixFixed hover functionality for elements that are part of complex selectors
FixFixed a crash when registering and unregistering gamepads
FixFixed setting a gamepad object when creating GamepadEvent from JavaScript
FixFixed a crash when unregistering a gamepad twice
FixFixed a GamepadEvent related crash during garbage collector tracing
FixFixed a crash when parsing clip-path:ellipse with a single argument
FixFixed animations not playing when a new element is shown after immediately being hidden
FixFixed crash when there is no function handler in engine.on call
FixFixed border-radius not working until a certain proportion of width and radius
FixFixed style matching of CSS attribute selectors with empty value
FixFixed the crash when clipPath is used together with opacity in SVGs
FixFixed an assert on Vulkan when user texture layout is different from VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL

Version 1.33.3.1


Released 21 Oct 2022
FeatureExperimental support for inline layout background styles per row (color, images and gradients)
FixFixed elements leaving visual artifacts after being removed from the DOM
FixFixed a case where CSS variables will fail to be resolved
FixFixed a crash when certain SVGs have zero width/height

Version 1.33.1.2


Released 12 Oct 2022
FeatureAdded an interface for time zone support for Sony PlayStation and Nintendo Switch
EnhancementImplemented an optimization to reduce the number of render passes when rendering complex effects
EnhancementAdded functionality and API to capture backend command buffers
EnhancementUnitySupport for Android x64
EnhancementIntroduced new backend API for resource barriers (see the rendering migration guide)
EnhancementEnhance batching to check for older combinable commands
FixFixed the growth of the stroke width for elements in SVGs to be bidirectional
FixUnityFixed binding between C# and JavaScript
FixFixed typescript definition of registering binding attribute
FixFixed order of custom element reactions when content is added through insertAdjacentHTML
FixFixed wrong indexing arrays with literal numbers in data-binding expressions
FixFixed crash in data-binding with complex expression and literal numbers indexing arrays
FixFixed the Date.now() time on Nintendo Switch.
FixFixed clipped text shadows when using line height which is less that the character height.
FixFixed background/mask-position when using a gradient as an image
FixFixed mask-position property when the mask-image is a gradient.
FixFixed a crash when changing the html background before the body element is created.
FixUnreal EngineFixed assert when custom effects are enabled
FixUnreal EngineFixed safe zone calculation with multiple viewports
FixUnreal EngineFixed texture drawing in atlas crash in Unreal Engine 5 with DirectX12
FixFixed the default value of stop-color in gradients defined in SVGs

Version 1.32.1.2


Released 05 Sep 2022
FeatureAdded new interface for logging performance hints
FeatureUnreal EngineAdded Live Reload option for different directories
EnhancementChanged custom css float param for the custom effects to an array. Maximum of 16 values
EnhancementAdded a new API for the compositor for notification when composition is created
EnhancementUnitySupport Android Vulkan native rendering
EnhancementMoved AGC Shader library from include to lib folder in the native packages
EnhancementCommand buffers are pooled now, instead of reallocated every frame
EnhancementAutomatic disabling of constant buffer optimization if custom shader mapping is used in the backends
FixFixed a crash when modifying the DOM of an inline SVG
FixFixed a hang when using canvases with ExecuteCommandProcessingWithLayout option enabled and a dedicated layout thread
FixFixed early closing of renderer frames when doing layout on the DOM thread that was causing leaks
FixFixed failing transitions when combined with CSS animations
FixFixed a failing assert when the inspector is attached to a page with pseudo elements
FixFixed flickering of SVGs when the SVG element is moved.
FixFixed a crash when switching render target with processing rendering commands on the layout thread enabled
FixFixed binding objects with BaseClass in the CoherentBind function
FixFixed eager wrapping of multiple words caused by improper layout cache invalidation
FixFixed a crash when there are two wrap RenderTarget commands
FixFixed possible wrong positioning of element when using the –rescaleFontSizeWithMatrixScale developer option
FixFixed crash in CPU workload flow when trying to draw an image that wasn`t loaded successfully
FixFixed a crash when more than 65k vertices are requested during patterns/gradient drawing
APIAdded API for controlling the command buffer pool size (see cohtml::InternalCaches::ICACHE_GfxCommandBuffers / ICACHE_GfxCommandProcessors)

Version 1.31.2.2


Released 22 Aug 2022
FixFixed eager wrapping of multiple words caused by improper layout cache invalidation

Version 1.31.0.1


Released 03 Aug 2022
FeatureAbsolute positioned elements support for inline layout
EnhancementEnhance 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
EnhancementAdded rem and % setters for left, right, top, bottom, width, height, maxWidth and maxHeight
EnhancementAdded partial Float32Array setters for transform, filter, clip-path, transform-origin, mask-size and mask-position
EnhancementIncreased the duration of JavaScript CPU profiles in the Performance tab
EnhancementAdded support for transform-origin for SVG nodes
EnhancementAdded documentation about the Inspector`s new tracing capabilities
EnhancementUnityAdded support for Vulkan rendering on Android using the C# rendering backend
EnhancementUnreal EngineAdd option to propagate mouse wheel events through transparent CSS classes
FixFixed inconsistencies with nested elements in inline layout
FixFixed inline layout word wrapping when text is nested in elements
FixFixed minor issues with text wrapping in inline layout
FixFixed potential crashes when drawing glyphs and using the PreferCPUWorkload option
FixUnityFixed C# backend crash when the VB/IB buffer data is being set to the mesh
FixFixed a deadlock when the layout is processed on the DOM thread and rendering canvases
FixFixed a crash when detaching elements with animated pseudo elements
FixFixed 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
FixFixed possible race condition in ShaderGradientTextureCache when using command processing on the layout thread
FixFixed possible memory leak when displaying a path at a very low scale (less than ~0.01)
FixUnreal EngineFixed input propagation for in-world Views

Version 1.30.0.1


Released 06 Jul 2022
FeatureAdded View::TerminateScriptExecution to terminate long running scripts
EnhancementImproved the performance of the C++ character processing functions(tolower/toupper) in the internal code
EnhancementUpdated Nintendo Switch SDK to version 14
EnhancementSDF text with different size is now batched
EnhancementRenamed ICU libs with cohtml_ prefix
EnhancementUnityAdded support for binding long and ulong values
FixFixed wrong text direction with some RTL scripts
FixFixed preloading of unsupported formats in the instaload sample
FixReduced JS garbage memory from fired events
FixFixed hover not working for newly added elements styled by complex selectors
FixFixed incorrect layout when using flex subtrees with simple mode layout
FixFixed overlap of transparent borders when using border-radius
FixGuarded against drawing too small rectangles when using the inspector highlight, which could potentially trigger an assertion in the SDK
FixFixed possible excessive fullscreen draws to the stencil buffer when executing clipping commands
FixFixed load event not firing when using the same image as background and border or mask image
FixFixed load event firing before all images are loaded when using the same image source of an IMG tag as a background-image
FixFixed graphic artifacts when “transform-style: preserve-3d”” was missing between 3D transformed elements and elements with perspective”
FixUnreal EngineFixed hang when loading atlasses saved with previous version of the atlas medata
FixUnreal EngineFixed video decoding hang for console platforms in Unreal Engine 5

Version 1.29.2.1


Released 10 Jun 2022
FeatureAdded sample for using Google Protocol Buffers with data-binding
FeatureImplement custom property binding for protobuf::Message and protobuf::Field
FeatureAdded support to the Devtools to display the state of some internal caches
FeatureAdded support for GDK native rendering in Unity3D
FeatureUnreal EngineAdd delegate for controlling which properties are exposed with the automatic binding
EnhancementThe rendering library will automatically detect multithreaded usage and will set AllowMultithreadedCommandProcessing accordingly
EnhancementFixed iOS simulator by adding new metal shader library built specificly for simulator in the package. For Unity3D it`s embedded in the native plugin.
EnhancementThe CSS parser will try to continue parsing the stylesheet after encountering errors in rules and declarations
EnhancementIncreased the severity of CSS parsing errors
EnhancementAdded support for attributes on the HTML element
EnhancementEnable duplicate rendering command buffer checking by default. This saves the execution of potentially costly commands.
FixFixed possible artifact when a node is hidden with display:none without other layout changes
FixFixed crashes when parsing badly defined media queries
FixFixed broken layout when hiding and showing cohinline paragraph elements
FixFixed broken layout when using justify-content space-around with a single element
FixFixed a race condition when using XmlHTTPRequests with response headers and enabled inspector that might cause a crash
FixFixed an issue where styles won`t be applied to elements with transitions that have already been displayed once
FixFixed the artifacts when drawing repeated an image from a texture atlas
FixFixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation
FixFixed the library from crashing the process when the UISystem::Unitialize has not been called
FixFixed transform-origin being reset to a default value when changing a style through the inspector
FixUnreal EngineFixed deadlock issue with accessing a texture resource TSoftObjectPtr on worker threads
FixFixed possible artifact when tessellating the same path at different scales
FixFixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation
APIAdded means for destroying the user render target through the Scene`s DestroyRenderingResources method

Version 1.28.2.3


Released 06 Jun 2022
EnhancementUpdate Sony PlayStation 5 SDK to 5.000
EnhancementUpdate Sony PlayStation 4 SDK to 9.500
EnhancementUpdate Game Development Kit to March 2022
FixFixed incorrect generation of anti-aliased border geometry when drawing a gradient with perspective transformation
FixFixed an issue where styles won`t be applied to elements with transitions that have already been displayed once

Version 1.28.0.1


Released 18 May 2022
FeatureDevtools Add rendering trace markers
FeatureDevtools Add ability to record screenshots
FeatureDevtools Add support for tracking the creation, destruction, and count of GPU objects
FeatureDevtools Add support for tracking the GPU memory used by the rendering library
FeatureAdd 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.
EnhancementDevtools The rendering trace events in the inspector`s performance tab now have information about the DOM node which was rendered
EnhancementAdd support for “background-repeat: round” for background SVGs larger than 1024px
FixAdd support for changing the Window origin on Nintendo Switch. Note that you need to use the –disableSimpleSublayers developer option for full support
FixFixed V8 freeing memory on small GC collections
FixFixed a regression in absolute element size calculation when width and height weren`t specified margins were ignored
FixFixed wrongly positioned absolute flex items with percents when parent element had margins
FixUnreal EngineFixed CohtmlHUD Material compatibility with Unreal Engine 4

Version 1.27.0.2


Released 04 May 2022
FeatureImplemented the DOMContentLoaded event
FeatureThe page load event fires after all images are loaded, including images specified in styles
FeatureUnreal EnginePreview support for Unreal Engine 5. Known issues include rendering artifacts on Nintendo Switch and iOS and video playback on game consoles
FeatureUnityImplement Input event propagation handler
FeatureImplement an optimization for constant buffers to reduce number of updates and memory used.
EnhancementFixed increasing memory when changing the style attribute or its properties
EnhancementUnityAdd new sample to demonstrate the input events handling propagation
EnhancementDocumented how to avoid banding in gradients
EnhancementDocumented animation, chat and map JavaScript libraries support
EnhancementAdd different semantics for null and undefined in the C++ bindings
EnhancementImplemented the animationstart and transitionstart events.
EnhancementAdded propertyName to transition events.
EnhancementAdded animationName to animation events.
FixFixed 9-slice and wrong image repeat in some cases
FixFixed calling pushState and replaceState History APIs without URL
FixFixed possible frame delay when drawing a new image from an atlas
FixFixed firing animationend event more than once for certain animations
FixFixed flickering artifacts caused by negated scaling for path objects (used by clip-path, clip-polygon, etc.)
FixFixed a crash in ClipboardData::Set when called nullptr string or invalid length
FixFixed custom elements reaction callbacks invocation order
FixFixed deferred scripts execution order
FixFixed WebAnimations API to return current frame time instead of the previous frame time
FixFixed document.readyState to report the document state correctly no matter when it is queried
FixFixed leaking WebSocket connections in the Player app
FixFixed nodes ignoring scroll set via JavaScript on the first frame
FixFixed transitions not activating on elements with pseudo elements
FixFixed transition state breaking when cloning nodes with JavaScript
FixFixed duplicated Inspector and Mutation Observer events on element inlineStyle change
FixFixed absolute element positioning when size is defined
FixFixed the animationend event to be fired once per animation instead of per property.
FixFixed a race condition when multithreaded command processing was enabled.
FixFixed a crash when destroying GPU buffers (vertices & indices).
APIRemoved forceStyleResolve option from GetAnimationsOptions, getAnimations now works by standard
APIDeprecated ReadNull in favor of SkipValue in the cohtml::Binder

Version 1.26.4.1


Released 15 Apr 2022
EnhancementImproved performance of setting inline style in terms of CPU and memory usage.

Version 1.26.2.1


Released 07 Apr 2022
FixFixed InputManager gamepad null reference in Unity3d
FixFixed a regression of cohtml.js that made it unusable in a browser
FixFixed transitions not activating on elements with pseudo elements
FixFixed transition state breaking when cloning nodes with JS
FixFixed absolute element positioning when size is defined

Version 1.26.0.1


Released 04 Apr 2022
FeatureAdded public interface for a custom virtual allocator to the library
FeatureImplemented default public virtual allocators for PlayStation and Switch
FeatureAdded support for the clipPathUnits property for elements in SVGs
FeatureAdded support for the image-rendering CSS property
FeatureAdded support for the caret-color CSS property
FeatureImplemented the Inspector Search functionality in the Elements tab
FeatureAdded support for the InspectorDOM domain protocol function `DOM.describeNode which could be used for automation
FeatureAdded support for the InspectorDOM domain protocol functions – DOM.querySelector, DOM.querySelectorAll, and DOM.getAttributes
FeatureUnityUpdate ICU library to ICU v69 and provide InternationalizationManager and BreakIterator support for all platforms
EnhancementImplemented input caret navigation and selection for complex and RTL text
EnhancementUpdate V8 to 9.4 with latest security fixes
EnhancementLarge SVGs used for mask-image use less memory and won`t create temporary textures larger than 1024×1024
EnhancementAdded Player command line argument option for fullscreen borderless window
EnhancementImplemented promise rejection event for V8 as some JS frameworks require it
EnhancementUsing text measure cache more aggressively to improve text layout performance
EnhancementUpdate Nintendo Switch SDK to 13
EnhancementUpdate Microsoft GDK to October 2021 release
EnhancementUnityFixed performance regression from a Linux patch that is now behind a platform define
EnhancementUnreal EngineAdd backwards compatibility for Atlas metadata files created prior to 1.14.3
FixFixed crash when connecting the inspector to a page using lots of CSS variables
FixFixed binding unsigned integers greater than 2^31
FixFixed a crash with complex text when the fonts used are missing the glyphs for it
FixFixed constant redraw of text nodes that were selected at some point
FixFixed firing of ViewListener::OnNodeTouched for TouchMove events
FixFixed a memory leak caused by binder state leak
FixFixed artefacts when scrolling right or center aligned text
FixFixed trailing artefacts of elements with inherited filters
FixFixed complex text letter spacing which was wrongly applied on overmarks and undermarks
FixFixed attributeChangedCallback for custom elements to be called only for attributes listed in observedAttributes
FixFixed a crash on UWP when utilizing a specific symbol on the JavaScript side
FixFixed JS return value of the isolation property. Now properly returns “isolate” instead of “isolation”
FixUnreal EngineMoved UObject creations from the Render thread to the Game thread
FixUnreal EngineFixed Compositor errors for missing textures
FixUnreal EngineInitialize USTRUCT member variables that were not initialized at construction time
FixUnreal EngineFixed debug asserts due to improper usage of GWorld
FixUnreal EngineFixed soft locking when loading a streamable Texture
FixUnreal EngineAdded a mutex lock to prevent concurrent accessing of the internationalization manager`s resources

Version 1.25.1.2


Released 04 Mar 2022
FeatureSupport for Binary WebSockets in the Network panel in the inspector
FeatureSupport MQTT over WebSockets
FeatureBinary messages support for WebSockets
FeatureIntroduced support for anti-aliased clipping
FeatureUnreal EngineAdded option that enables the loading of UTextures instead of raw images if they exist inside an Atlas or can be located on disk
EnhancementExposed V8 Tracing events on Xbox, which show where V8 is spending time when executing JavaScript code
EnhancementIntroduced new member in Compositor`s DrawInfo structure to show which view owns the composition which has to be drawn
EnhancementReduced various internal classes memory footprint
EnhancementCache attributes NamedNodesMap instead of allocating a new one on each query for better performance and memory
EnhancementOptimized redrawing areas size and frequency
EnhancementReduced the HTMLParser memory usage
EnhancementOptimized the transitions performance to be not affected by using transition: all
EnhancementAdded support for render passes in the DirectX12 backend
FixFixed a crash when GC happens inside MutationObserver notification
FixFixed premature removal of data-bind nodes from the evaluation graph when they have mutators
FixFixed Player app gamepad swapped buttons 8 and 9
FixFixed possible graphics artifact (color bleeding) when using a SVG as repeated background image
FixFixed positioning of SVG elements when using the WAAPI
FixFixed the class, style and id attributes to be able to be empty
FixAdded missing mutation records when classes are changed through classList
FixHandle possible assertion for a degenerate triangle when handling glyphs that contain cubic curves
FixFix SVG clipping for background SVGs with viewBox attribute that has non-zero position
FixFixed mutation observers being garbage collected too early
FixFixed resized images being minified when drawing them onto CanvasRenderingContext2D
FixFixed possible null access crash in DrawShadowShape
FixFixed suffix attribute selector
FixFixed flex absolute children size calculation not respecting the direct parent
FixCalculate transform origin based on snapped to pixel size box
FixFixed ArrayBuffer type on JSC VM
FixAllow cohtml.js to be included multiple times without side effects
FixFixed a rare crash when profiling performance via the inspector
FixFixed stale stacking contexts which in certain cases improves memory consumption
FixFixed an assert failure when using the compositor feature in Debug configuration
FixFixed rare cases where elements would be missing their visual style during rendering leading to assert failures and crashes
FixFixed wrong AABB debug visualization when using ShowElementAABBs feature
FixFix dissappearing pseudo elements
FixFixed URL parsing for URLs that contain backslashes
FixTransitionend events are no longer fired when an element with a transition is shown
FixTransition property changes now correctly take effect when the active transition ends
FixFix incorrect display of preloaded images using non-premultiplied alpha
FixUnreal EngineFixed Video sample crash on Switch by disabling the Procedural sounds
APIModified the User fonts API so it takes the Ascent/Descent of a font instead of just the baseline
APIIntroduced new field in the RenderCaps structure of the backends – EndingRenderPassRequiresStateUpdate

Version 1.24.1.3


Released 15 Feb 2022
FixFixed MutationObservers being garbaged collected too early
FixFixed crash when DOM elements are created and destroyed during garbage collection
FixFixed assert for exposing garbage collected NodeList instances

Version 1.24.1.1


Released 04 Feb 2022
FeatureAdded polyfill for the form element
FeatureAdded JavaScript sampling profiler in the Inspector Performance Tab on Windows
FeatureUnreal EngineAdded possibility to specify different directory locations for UE Texture Atlases
FeatureUnreal EngineAdded callback which notifies when the input focus has changed
FeatureUnreal EngineAdded Starter Guide for Unreal Engine
EnhancementAdded ICU integration and BreakIterator support in GFP Player app and Samples on all platforms
EnhancementUnreal EngineAdded C++ API for CohtmlInputActor input setup
EnhancementUnreal EngineAdded ResizeRenderTarget API
FixFixed flaky wrapping of the elements when using flex wrap
FixFixed an issue in V8 that was blocking the use of the PlayStation Memory Analyzer tool
FixFixed SVG not being rendered in certain cases
FixFixed stroke width to be correctly computed on rescaling for SVG path elements with stroke-dasharray
FixFixed clipping artifact when layers with opacity and SVGs are present
FixFixed SVG elements inside a SVG hierarchy to correctly apply transformations at runtime
FixFixed crash due to unclamped negative size of image destination rectangles
FixFixed crash in the svg rendering when svg are displayed as images inside a backdrop filter
FixFixed playback of videos with low frame rate or gaps between frames
FixFixed looped videos playback
FixFixed the ::before pseudo element not showing in the inspector
FixFixed not matching pseudo elements with complex CSS selectors
FixFixed a crash when using null or undefined as an event listener.
FixFixed the DX12 Backdrop Sample crash during init and close.
FixFixed comments that were incorrectly displayed in the inspector Elements tab
FixFixed a crash with whitespace in text and RTL glyphs
FixFixed a crash when setting transform scale from JS
FixFixed tagName and nodeName to correctly return capitalized names for custom elements and unknown elements
FixFixed having duplicated nodes in the Inspector Elements Tab
FixFixed a V8 crash when using onpopstate event listener
FixUnreal EngineFixed a crash on CohtmlViewWrapper trying to access uninitialized FSlateApplication
FixUnreal EngineFixed a crash in CohtmlEditorPlugin::ShutdownModule when running applet commands
APIChanged media seeked event to be fired before a new frame has been shown
APIAdded decoder type getter method to the IDecoder interface

Version 1.23.0.2


Released 18 Jan 2022
EnhancementAllowed WebSocket constructor to also accept a single string as a protocol
EnhancementUpdated Sony PlayStation 4 SDK to 9.000
EnhancementUpdated Sony PlayStation 5 SDK to 4.000
FixFixed incorrect clipping of SVG elements when they are within a sublayer
FixUnity3D Fixed the backdrop filter support in HDRP projects in Unity3D
FixFixed some SVGs not being displayed inside an element with backdrop filter
FixFixed innerHTML to return the tag name of unknown elements.

Version 1.22.1.3


Released 13 Jan 2022
FeatureSupport for network requests in the Network panel in the inspector
FeatureSupport for WebSockets in the Network panel in the inspector
FeatureUnreal EngineAdd raw image to UTexture import feature
EnhancementUpdate distributed ICU module with libraries for all platforms. The ICU version is also updated from v67 to v69.
EnhancementStyle attribute updates dynamically as inline style changes in the inspector elements tab
EnhancementReduced the memory used by the JavaScript heap on Sony PlayStation 4 and Sony PlayStation 5
EnhancementReduced the memory used by the JavaScript heap on Nintendo Switch
EnhancementReduced HTMLElement memory footprint
EnhancementReduce memory spikes caused by JavaScript accessing temporary DOM objects
FixImplemented proper incremental garbage collection of the DOM objects
FixElements with backdrop filter now have the same size as the ones without
FixUnreal EngineFixed the backdrop filter for Unreal Engine
FixFixed data-bind-html sometimes not updating when nested in data-bind-if
FixUnity3D Fixed synchronization drawing Unity3D on Sony PlayStation 4 and Sony PlayStation 5 with the C# rendering backend
FixFixed a regression with the timing of firing internal media events when playing videos
FixUnity3D Fixed missing font symbols when C# backend was used for the first time in the project
FixFixed crash in the inspector, caused by elements with invalid computed value for border-width
FixRemoved the warning for unknown mime type when the inspector is not running
FixFixed paint flashing not displaying dirty rectangles when triggered through the inspector
FixFixed crash when accessing the style property on UWP x64 builds
FixFree video data memory when the source is removed from a video element
FixFixed a memory leak when calling GetElementsByClassName or GetElementsByTagName on detached elements
FixFixed a memory leak when making circular references using the mutation observer
FixFixed a memory leak when making circular references using event listeners
FixUnreal EngineFix post build step for earlier UE versions to copy libraries with correct build configuration
FixUnreal EngineFix issue with updating our UMG texture

Version 1.20.0.1


Released 03 Dec 2021
FeatureAdded CanvasRenderingContext2D.measureText
FeatureAdded sample a demonstrating how to use observable models feature
FeatureUnity3D Integrated audio playback with Unity3D audio system
FeatureEnhanced Inspector timeline to include events for matching elements
FeatureAdded initiators to the Inspector timeline that show the JavaScript code that invalidated styles and layout
FeatureAdd a way to receive the View and System when they are created for the CohtmlOverrides
FeatureAdd support for innerHTML and outerHTML getters
EnhancementEnhanced timeline events for RecordRendering, Layout, RecalculateStyles, BuildDOM to contain extra data
EnhancementUpdated the Inspector UI to the version used in Chromium 94
EnhancementAdded support for border-color: inherit
EnhancementImproved the Dynamically-typed object data binding documentation
EnhancementUnity3D Add logic to reassign LogHandler default log functionality
EnhancementUnity3D Exposed the low level rendering options to the plugin
EnhancementUnreal EngineOptimize memory tracking in Cohtml and CoherentRendering plugins
EnhancementSVGs used as background images with background-repeat mode set to “no-repeat” are now culled before reaching the GPU, netting a large performance improvement
FixFixed clip-path undefined behavior when CSS animations are present
FixFixed skipped custom element lifetime functions
FixFixed custom element lifetime callbacks not being called on synchronize models
FixFixed out-of-bounds memory access violation when using transform attribute with rotate value on SVG nodes
FixFixed not correctly scheduled canvas layout task which resulted in artifacts
FixFixed running transitions on elements with initially and dynamically hidden parents
FixFixed animations being activated on elements with initially hidden parent
FixFixed crash on certain iOS devices with complex regular expressions
FixFixed Inspector showing non-existing children after they were removed with removeAllChildren
FixFixed HTML preview in the Sources tab of the inspector when loading through HTTP
FixUnreal EngineFixed the loading of Streaming Textures that were looking blurry when not fully streamed
FixUnreal EngineFixed Resource loading of not yet fully initialized UTextures, that was sometimes resulting in crashes
FixUnreal EngineFixed a crash when loading UserImage with not yet initialized Texture Resource
FixUnreal EngineFixed HostLocation resolving when there is no slash (“/”) in the path
FixUnreal EngineFixed UE Editor viewport resize crash
FixUnreal EngineAdded ImageData width and height to ContentRect if a Texture doesn`t have an ImportedSize
FixFixed the calculation of the miter limit for SVG path elements (previously it could end up much larger than specified)
FixFixed possible issue when using mix-blend-mode (the blended area may be incorrect)
FixFixed percent units in SVGs

Version 1.19.0.4


Released 24 Nov 2021
FixFixed layout of inline SVGs when parent element size and position changes
FixFixed incorrect clipping of elements using linearGradient in SVGs
FixFixed subtree styles rematching when parent is being rematched
FixFixed incorrectly re-positioned cohinline paragraphs
FixFixed a crash on certain iOS devices with complex regular expressions
FixFixed a bug with complex selector matching with data attributes selectors
FixFixed a bug that caused pseudo classes to always match in complex selectors
FixUnityUpdated prebuilt ICU libraries to Sony PlayStation 4 SDK 8.500
FixUnityUpdated prebuilt ICU libraries to Sony PlayStation 5 SDK 3.000

Version 1.19.0.1


Released 04 Nov 2021
FeatureAdded support for pseudo elements before and after
FeatureAdded Text-to-speech sample for PlayStation 5 and GDK platforms
FeatureAdded synthesizers for PlayStation 5 and GDK platforms to the Text-to-speech module
FeatureAdded cohtml-speech-api JS library for interacting with Text-to-speech module from cohtml::View
FeatureAdded Text-to-speech module for speech synthesizing
FeatureUnreal EngineAdded SDK libraries for Release and Debug config
FeatureUnreal EngineAdded support for autobinding C-style arrays
FeatureUnreal EngineAdded support for binding 2D TArrays
FeatureAdded a sample for Virtual Lists with scrolling (horizontal/vertical)
EnhancementUpdated Nintendo SDK to version 12.3
EnhancementImproved the performance of the complex CSS selectors with classes and ids
EnhancementOptimized getting element attributes by 10%
EnhancementImproved the performance of AudioPlayer::ReceivePCMData
EnhancementAdded IsPlaying method for AudioPlayer
EnhancementImproved the performance of Structural Mutators
EnhancementUnreal EngineExpanded Virtual Keyboard documentation regarding VK Layout and how it depends on HTML input field types
EnhancementUnreal EngineAdded documentation regarding the settings of the individual UTextures that are part of a texture atlas
EnhancementUnreal EngineAdded documentation for autobound UFUNCTION
FixFixed incorrect layout of inline text
FixFixed leaking transitions that caused Advance calls to become progressively slow
FixFixed mutation record NodeList properties to return empty NodeList instead of null
FixFixed CSS not loading when selectors with CSS keywords are preloaded
FixUnity3D Fixed ResourceHandler.HostLocations handling of URLs that cause NullRefference when is not found in the first location.
FixFixed cohtml::ByRef binding not updating std::vectors when their size has changed.
APIDeprecated TryBindArrayByRef(void* arr, size_t size, ArrayElementBinder elementBinder, ArrayElementReader elementReader)
FixFixed an assert failure about active mutation observers on document disposal
FixFixed a potential crash during HTML parsing when using with the HTML preloading feature
FixFixed deprecated font-fit-mode property
FixFixed inspector crash due to invalid read data
FixFixed a crash when passing console methods to async JS methods like setTimeout
FixUnreal EngineFixed trimming of autobound properties with double underscores
FixFixed incorrect sizing of images that could cause “squashing” into the visible area instead of clipping
FixFixed missing rendering for user images that use NonPremultipliedAlpha alpha mode when simple sublayers are enabled
FixFixed a crash in the Caching Manager when a source of an image was being removed from the DOM
FixFixed a race condition when Path`s GPU data is being used and copied
FixFixed incorrect clipping for elements with transform style

Version 1.18.2.8


Released 12 Oct 2021
FeatureAdded universal ICU library working natively on Mac OS X with M1 processors
FeatureMade UnityPlugin for Mac an universal library working natively on Mac OS X with M1 processors
FeatureAdd support for tree-structural pseudo class selectors – first-child, last-child, only-child, nth-child
FeatureAdded support for the backdrop-filter CSS property for Native and Unity3D
EnhancementAdded CSSStyleDeclaration.cssText support
EnhancementUnreal EngineAdded an option to install cohtml libraries in the game directory for Unreal Engine
EnhancementAdded a new sample demonstrating an example implementation for the ISubLayerCompositor and its integration into an application
EnhancementImplemented BigInt binding and data binding for numbers representable with 64 bits.
EnhancementUnreal EngineAdded documentation about how individual Texture settings affects Atlas generation and which are the settings that may be ignored
EnhancementApplied several security vulnerability fixes in V8
EnhancementAllowed iteration with for…of for DOM collections
EnhancementImplemented an optimization so that parts of some index buffers are reused and less GPU memory is needed. Read the rendering migration guide.
FixFixed a crash when passing console methods to async JS methods like setTimeout
FixFixed the HTML Parser to not throw warnings on commented code with CSS variables inside
FixFixed |= attribute selector matching elements that should not be matched
FixFixed incorrect sampling coordinates for elements that are partly outside of the viewport, causing “squashing of the image into the visible portion
FixFixed incorrect clipping for elements creating sublayers (e.g. opacity, mix-blend-mode, etc.) that may cause elements disappearing
FixFixed rare occurence of an assert for trying to destroy a missing texture
FixFixed incorrect passing of options for the rendering library needed for multithreaded awareness. Read the rendering migration guide.
APIRemoved support for ARMv7 processors for iOS

Version 1.17.0.1


Released 10 Sep 2021
EnhancementThe Player now supports Mac M1 natively
EnhancementAdded support for vw, vh, em, rem size units for inline images
EnhancementAdded an option for setting virtual keyboard layout for text to AlphaNumeric in Unreal Engine
EnhancementUnreal Engine4.27 support
EnhancementAdded support for fill-rule attribute in SVGs.
EnhancementAllow usage of element within a element in an SVG.
EnhancementImproved the HTML parser error logging to include better error descriptions
EnhancementUnity3D: Integrate request`s method, body and headers
EnhancementUnity3D: Virtual keyboards for GDK Xbox and Playstation 4/5 consoles.
EnhancementPrevent atlas modifications and show message on screen when Atlas meta-data file is read-only in Unreal Engine
EnhancementAdd a way to load UI from different predefined locations (resource hosts) in Unreal Engine
EnhancementAdd a way to override and reimplement all input processing in Unreal Engine via the Input Preprocessor feature
EnhancementUpdated the Components sample to use the latest version of the coherent-gameface-components
FixFixed occasional video freezes and playback issues
FixFixed a crash when handling JavaScript events
FixFixed asserts when View methods on ChakraCore are called on multiple views.
FixFixed showing nodes after changing their styles while they were hidden using display:none
FixFixed using heading tags with data-bind-for
FixFixed converting JavaScript numbers to integer and unsigned according to ECMA-262.
FixFixed baseline offset for inline images with floating point height
FixFixed cohtml crash for data binding expressions bound to null values.
FixUnreal EngineFixed a crash when UCohtmlWidget::SetReadyForBindings is called with invalid SWidget and View
FixUnreal EngineMade the contained textures inside the Atlas to be Editor only data as they may not be packaged in a Client
FixUnreal EngineFixed DedicatedUIThread map OpenSSL module loading check fail in Debug configs on Sony platforms
FixUnreal EngineUpdate deprecated Shader Platform API Getter
FixUnreal EngineFixed TArray crashes when exposed by cohtml::byRef
FixUnreal EngineFixed failing rebuild of the Cohtml Texture Atlas
FixFixed a crash when an inline SVG node is removed from the DOM and then added again.
FixFix rare crash when parsing inline SVG content.
FixFix broken display of SVG elements when they are added, removed and then readded in the DOM.
FixFixed passing float arrays to CoherentToTransformMatrix2D when using the properties.
FixUnity3D: Fixed gamepad events regression from version 1.15.3.1
FixUnity3D: Input manager Enter key char code fixed to 13.
FixUnity3D: Fixed CohtmlTouchKeyboard and TextInputHandler code flaws
FixUnity3D: Change system`s resource request calls to be Synchronous
APIUnifed 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.
APIUnified 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.

Version 1.16.5.2


Released 30 Aug 2021
FixFixed a crash on document unload related to the unified garbage collection
FixFixed video playback freeze when video errors are present
FixFixed a crash when a sublayer ends up with zero size
FixFixed linking errors when delay loading renoir library with LTCG enabled

Version 1.16.5.1


Released 19 Aug 2021
FeatureExperimentalUnified garbage collection for JavaScript and C++ DOM objects for V8
FeatureImplemented video element “preload” attribute which now preloads video data for faster seeking
FeatureIntroduced an example JS library for handling videos with states “coh-state.js”
EnhancementJavaScript garbage collection runs in more incremental steps for V8
EnhancementInitialize virtual keyboard with the data from HTML input elements attributes in Unity3D
EnhancementAdded more native JS array methods to the CoherentArrayProxy
EnhancementMade CSS animations to stop on display:none and restart on showing the element
FixFixed text shadows on multiline inline text
FixFixed enormous memory allocation when letter spacing is negative
FixFixed images drawn with incorrect size when CSS filter is applied
FixFixed a regression that failed to parse background shorthand without image/color
FixFixed a leak during video playback when the Inspector is enabled
FixFixed resource request spam when a video reaches its end
FixFixed rare video stalls during playback

Version 1.16.0.1


Released 05 Aug 2021
FeatureSupport for Unreal Engine 5 early access
FeatureSupport for Apple M1
FeatureMoved all GDK platforms to using V8 for JavaScript virtual machine
FeatureAdded API for setting additional fallback font families for all elements
EnhancementUpdated PlayStation 4 SDK to version 8.5
EnhancementUpdated PlayStation 5 SDK to version 3.0
EnhancementAdded json based configuration file for the Player
EnhancementAllowed to automatically bind UFUNCTION methods that have parameters in Unreal Engine
EnhancementEnhanced video API for seek performance
EnhancementMade XHRs not delaying the document load event
EnhancementImproved experimental inline layout support – better layout and input handling
FixFixed issue with unnecessary creation of textures (caused by improper clipping of texture based on the parent element)
FixFixed styles rematching crash on removing nested data-bind elements
FixFixed packaging and running of the Player for Mac OS X for Unity3D
FixFixed css rules matching for custom elements not defined in the registry
FixFixed missing mutation observer notification on document unloading
FixFixed wrong layout when setting explicit 0 dimensions of elements
FixFixed scrolling size of elements not accounting for children margins
FixFixed accessing delayed stylesheets in scripts
FixFixed XHR asserts caused by synchronously finished resource job due to invalidated job id
FixReduced an error message severity related to the CaretPositionFromPoint API
FixFixed developer options disabling on library re-initialization
FixFixed CohtmlTMapBinder.h compililing with non-MSVC compilers
FixFix sanitization of URL`s containing hashtag symbols in Unreal Engine
FixFix crash with Standalone net mode with more than 1 Player when using a UMG widget with a Cohtml component in Unreal Engine

Version 1.15.3.2


Released 08 Jul 2021
EnhancementMade the C# backend to be able to fill Renoir`s Rendering capabilites
EnhancementEnabled SDF GPU text algorithm for PlayStation 4 and PlayStation 5 with the C# backend
FixFixed memory leak on V8 platforms when navigating to another page
FixFixed linking of iOS samples
FixFixed running Unity3D editor in game console mode
FixFixed texture destruction in the Unity3D C# backend

Version 1.15.3.1


Released 02 Jul 2021
FeatureAdded Coherent texture stats and texture stats page In Unreal Engine 4
FeatureAdded a new capturing mode for the .rend captures that obfuscates the used image assets
FeatureAdded Xbox One GDK support for Unity3D
FeatureReplaced ChakraCore with V8 for JavaScript engine for Xbox One with the XDK
FeatureReplaced ChakraCore with V8 for JavaScript engine for PlayStation 4
FeatureReplaced ChakraCore with V8 for JavaScript engine for PlayStation 5
EnhancementAdded launching the Dev Tools from Unity3D editor on Mac OS X
EnhancementAdded support for Android arm64 and x86_64 in Unreal Engine 4
EnhancementAdded new Unreal Engine 4 console command (cohtml.setmipbias N) for setting the mip bias for all textures used by the SDK
EnhancementImproved performance 3x of the C# backend in Unity3D
EnhancementReact based samples now provide npm scripts for production and development builds
EnhancementUpdated Webpack version to 5.39.0 for React based samples
FixFixed crash during compound selector matching due to uninitialized simple selector
FixFixed invalid return value of IInputProxy::GetTextPositions for empty input elements
FixFixed input duplication with multiple Systems in Unity3D
Fixcohtml.js`s Universal Module Definition now propperly accepts the global window object
FixFixed warning logs when C# backend in Unity3D is used
FixFixed resource loading in Unity3D for Android

Version 1.15.1.8


Released 16 Jun 2021
FeatureAdded support for SVG clip path
FixFixed resource loading error when playing video in a loop
FixFixed crash when dynamically adding inline SVG images
FixFixed drawing of inline SVG images when scrolling
FixFixed a crash on Mac OS X in Unity3D with Metal rendering backend
FixFixed a crash in style resolving with inline SVG images
FixFixed a crash on top-level exception in JavaScript event handler

Version 1.15.0.1


Released 04 Jun 2021
FeatureInline SVG support
EnhancementExtended support for the SVG Tiny 1.2 Specification

Version 1.14.3.1


Released 04 Jun 2021
FeatureAdded an HTML linter that detects spelling errors in Gameface`s data binding attributes
FeatureAdded support for multiple images in the CSS background shorthand
FeatureExposed Blueprint API for object model removal in Unreal Engine 4
FeatureAdded example input forwarding implementation using the Unreal Engine 4 input preprocessor
EnhancementAdded V8 for iOS for arm64 and x64 architectures
EnhancementAdded documentation about how to run Unreal Engine 4 Editor as a server
EnhancementPackage additional UI samples and resources for Unreal Engine 4
EnhancementUpdated GDK support to the 2021 April release
EnhancementSupport for Nintendo Switch for Unity3D 2019.4
EnhancementOptimized setting numeric values to style from JavaScript
EnhancementOptimized matching complex CSS rules without pseudo classes
EnhancementAllow getAnimations to return animations added in the current frame to an element with the forceStylesResolving option
EnhancementAllow intercepting of XmlHttpRequest requests
EnhancementOptimized data-binding-for for often changing collections
EnhancementAdded protected virtual onEnable and OnDisable methods in CohtmlView in Unity3D
EnhancementExtended Unity3D documentation with sections about Localization, HDRP/URP, Memory Tracking, Web sockets, DefaultUISystem Devtools
FixFixed crash when destroying the view with never updated data-binding expressions
FixFixed crashes when stringifying CSS values to JavaScript or the Inspector
FixFixed support for shuffled keywords in background position CSS properties
FixFixed wrongly reported background position shorthand value in JavaScript
FixChange the ImageData.ContentRect to match Texture`s imported size in Unreal Engine 4
FixFix asserts and issues with dedicated UI thread HUD in Unreal Engine 4
FixFixed warnings for missing images in certain cases
FixFixed auto switch IL2CPP/Mono dll search in UPM package in Unity3D
FixAlways use the C# rendering backend for Xbox One Series X and Nintendo Switch in Unity3D
FixFixed NullReference exception when force shutdown on C# recompile triggered in Unity3D
FixFixed a possible crash when unitializing RenderingLibrary in Unreal Engine 4
FixFixed automatic binding always overriding manual CoherentBind in Unreal Engine 4
FixFixed crash in UCohtmlHUD constructor when creating the HUD on a worker thread in Unreal Engine 4
FixFixed wrongly reported errors and warnings in data binding.
FixFixed warnings in InternalizationManager and IBreakIterator when building Cohtml plugin for Unreal Engine 4 without UnityBuild
FixFixed animation instability that could result in drawing elements and styles with off-by-one pixel error
APIarm64 and x64 requires linking with v8_monolith library
APINintendo Switch now links with a static V8 library

Version 1.14.1.2


Released 10 May 2021
FeatureAdded support for rotate3d and translate3d transform functions
FeatureAdded HUD, GameMode and Map, showing how to use actorless UI on dedicated UI thread in Unreal Engine 4
FeatureAdded optional memory allocation tracking for the Unity3D plugin
FeaturePreview support for V8 on PlayStation 4
FeatureVisual Studio code extension providing autocomplete support for data-binding
FeatureSupport for clip-path property
EnhancementSupport for multiple background images for background-position and background-size
FixFixed transform-origin parsing for Y X values like top left
FixFixed race conditions in user images in Unreal Engine 4
FixFixed marshaling exceptions on C# Rendering Backend when HDRP or URP is enabled in the Unity3D plugin
FixFixed asserts about wrong threads when destroying a system in the Unity3D plugin
FixFixed crash during quit of the Unity3D editor
FixFixed asserts for missing images
FixFixed artefacts when an element is clipped and parent has blur
FixFixed DX12 backend to clear user images propertly
FixFixed a rare crash upon applying CSS filters

Version 1.14.0.7


Released 02 Apr 2021
FeatureSupport for loading a page in single frame
FeatureAdded HTML preloading and caching API
FeatureAdded Stylesheet preloading and caching API
FeatureSupport for HDR rendering
FeatureAdded support for position: fixed
FeatureAdded InstaLoad sample for Windows
FeatureUpdate V8 to 8.8.278.14 for Mac OS X, Linux, Stadia
FeatureAdded TexturePreloading API in the Cohtml HUD BaseComponent and UWidget
FeatureAdded support for wide color render targets with 16/32 bits per channel
FeatureAdded new CSS color definition — color(coh-scrgb float float float float) — that can be used to define color values above 1.0
FeatureAdded support for enabling the wide color render targets in Unreal Engine 4
FeatureAdded support for enabling the wide color render targets in Unity
FeatureAdded a new sample that demostrates the HDR rendering
FeatureAdded new View::SetResolutionForRendering API that controls the output render target resolution.
FeatureAdded support for Nintendo Switch for Unity3D
EnhancementAdded support for whenDefined in the custom elements API
EnhancementTrigger load event on image elements before the image is uploaded on the GPU
EnhancementRemoved AsyncStream requests for textures already loaded in Unreal Engine 4
EnhancementAdd UE4 Editor synchronous resource requests option
EnhancementAdd support for data-binding TPair and TMap in Unreal Engine 4
EnhancementReduced task scheduling delays for resources when responses are performed synchronously
FixFixed expandable objects in the Inspector
FixFixed missing vcruntime140_1.dll required by V8 8.8
FixFixed memory leak on Nintendo Switch with V8
FixFixed prototype of upgraded custom elements on V8 platforms
FixFixed the console and debugger in the Inspector on Linux and Mac OS X
FixFixed a regression that caused a crash when using engine.off during event execution on V8 platforms
FixFixed missing installation files with “Add to existing Game” option
FixFixed potential crash in SCohtmlWidget when running windowless
FixFixed missing shared libraries for Unreal Engine 4 Stadia packages
FixFixed graphics artifacts where an element with a drop-shadow effect left trails when its parent element was the same size and was being animated.
APIDeprecate duplicate Trigger JS Event Blueprint function
APIAdded Decoded image state in ImageCacheStats
APIBreaking ChangeRemoved static data binder. Developer option “–use-static-binding” will not have effect.
APIThe API for setting the scene`s rendering target also specifies its format

Version 1.13.1.3


Released 03 Mar 2021
FeatureImproved text rendering
FeatureUpdated V8 to version 8.8.278 for Microsoft Windows
FeaturePrecise text layout and positioning
FeatureEmbedded a last resort fallback font
FeatureImplemented font preloading to avoid reading fonts from disk in time critical threads
FeatureNintendo Switch uses V8 for JavaScript execution
EnhancementOptimized matching of complex selectors against DOM elements
EnhancementAdd support for automatic binding of UFunctions without parameters in Unreal Engine 4
EnhancementAdded option in Unreal Engine 4 plugin for setting the default font
EnhancementChanged the Unreal Engine 4 plugin modules to be ClientOnly
FixFixed growing memory usage when data-bind-for is used inside data-bind-if
FixFixed advancing a View without a document
FixFixed a layout issue with aligned inline text
FixFixed a freeze when using font-fit mode fit
FixFix a crash in UMG Editor after saving UMG widgets with Cohtml and GT Widget in Unreal Engine 4.26
APINew font API for preloading fonts with specific font description
APIDeprecated the AddFontsFromFolder API
APIDeprecated the SetDefaultFallbackFontName API

Version 1.12.4.2


Released 08 Feb 2021
FeatureAdded clipboard support in Cohtml Player for Mac OS X
FeatureAdded support for font-weight CSS property support
FeatureAdded clipboard support for CohtmlPlugin in Unreal Engine 4
FeatureAdded support for media decoders and inspector for UnrealEngine 4 on Nintendo Switch
FeatureAdded WebSocket support for Unity3D
EnhancementAdded support XMLHttpRequest timeout
EnhancementAdded support for Unreal Engine 4.26
EnhancementAdded support for Universal Rendering Pipeline for Unity3D
EnhancementAllowed OnEnabled and OnDisabled to be overridden in Unity3D
FixFixed exposing the INodeProxy to C# code in Unity3D
FixFixed redrawing SVG images every frame
FixFixed complex text shaping issues when mixing different languages
FixFixed Cohtml Player not working with –root cmd argument on Mac OS X
FixFixed freeze when running the video playback sample on a machine without audio devices
FixFixed missing context when using mutation observers
FixFixed issues with parsing @font-face URL declarations
FixFixed parsing of multiple CSS selectors followed by selection pseudo selector
FixFixed crash on closing the Player with open Websocket connections
FixFixed reversed Ctrl and Command/Meta modifiers on Mac OS X
FixFixed crash on Xbox One with Unity3D
FixFixed missing JavaScript context during destruction of canvas elements
FixFixed layout of flexbox items after changing their text content
FixRemoved usage of Unity3D APIs in static constructors on PlayStation 4
FixFixed clashes between renoir float2 and client float2 types
FixFixed parsing of fonts specified with url() without quotes
FixFixed mixing of files in a single folder from Unity3D packages for different platforms
APIChanged the logging severity of assert failures to be CriticalError and above the current Error level
APIThe load event is fired after the fonts from the stylesheets have been loaded

Version 1.12.2.1


Released 18 Dec 2020
FeatureAdd aspect ratio media feature support
FeatureAdded support for the change event listener for input and textarea elements
EnhancementSupport VW/VH suffices in scrollTop and scrollLeft element properties
EnhancementgetModifierState support for Keyboard and Mouse events
EnhancementUpdate PlayStation 4 to SDK 8.0
EnhancementUpdate PlayStation 5 to SDK 2.0
FixFix image alignment with coh-inline paragraphs
FixFixed CohtmlToTransformMatrix2D to handle invalid inputs
FixFixed text-transformation styles sticking to detached nodes
FixAdded I18NManager in Unity3D for PlayStation 4 and PlayStation 5
FixFixed View flicking when creating multiple views
FixFixed a crash in FInternationalizationManager class
FixFixed crash when passing null for custom data-binding attribute state
FixFixed mouse cursor notification for input fields without explicit type
FixFixed event.target.selection indices for input elements
FixFixed the timestamp for gamepad events in Unreal Engine 4

Version 1.12.0.1


Released 30 Nov 2020
FeatureSupport for CSS property text-stroke
FeatureSupport for layout and display of text in complex scripts
FeatureSupport CSS transitions for shorthand properties
FeatureAdd a way to pick the primitive that the Gameface component attaches to by specifying its name in Unreal Engine 4
FeatureExperimental] New Unity C# backend. It is supported for Unity 2019.3 or newer and for every platform except MacOSX, iOS and Androd.
FeatureSupport for Xbox Series X in Unity. The platform is supported only with C# rendering backend.
EnhancementAdded Gameface Mac Player and Launcher to the UE4 packages
EnhancementAdded mechanism for reusing ViewStates between HUD/UWidget recreations in Unreal Engine 4
EnhancementAdded vw, vh suffices for scrollHeight and scrollWidth properties
EnhancementAdded HTTP support for the Player on Mac OS X
FixFixed crash when binding JavaScript models with null value
FixFixed a crash when invoking innerHTML inside custom element callbacks
FixFixed wrongly calculated dimensions when using dynamically sized flex containers
FixFixed performance regression caused by allowing multiple paint rectangles
FixFixed XHR response status code propagating to JavaScript
FixFixed event.target.selection index values on input events
FixTrigger video onerror for unsupported codecs and errors during decoding
FixFixed document loading after image loading has been canceled
FixFixed custom event attributes handling on cloned elements
FixFixed suffixed properties like right[PX|VH|VW] in computed styles
FixFixed potential crash during initialization on Mac OS X
FixFixed default input element cursor
FixIgnore unsupported CSS selectors and continue parsing the stylesheet
FixFixed allocations without tags in MediaPlayerSourceBuffer
FixFixed accumulating unresolved promises for engine.call invocations with missing C++ handlers
FixFixed setting timestamp value when updating the gamepad data in Unreal Engine 4
FixFixed user image request leaks that caused deadlocks
FixFix possible broken state of ClickThroughQuery after resize
FixFix crash when game starts with Korean language
FixFix crash in break-iterators due to incorrect string conversion in Unreal Engine 4
FixAdd proper handling of overlapping border radii when clipping with rounded rectangle and filling and stroking rounded rectangle
APIAdd API for setting rendering resolution, independent from the HTML resolution Render sublayers that are transformed with the correct scaling as well
APIExpose methods for setting all the caches
APICalls to engine.call without C++ handler bound, will reject the returned promise objects
APIModify the Renoir backends initialization so that all constructors take a single settings object

Version 1.11.0.1


Released 09 Nov 2020
FeatureAdded experimental generation of text atlases on GPU
EnhancementIncreased maximum allowed blur radius for blur effects from 24px to 95px.
EnhancementAdded PlayStation 5 CommonGame and samples
EnhancementAdded XboxSeriesX CommonGame and samples
EnhancementAdded XboxOneGDK CommonGame and samples
FixFixed Player failing to start in evaluation packages
FixFixed crash when updating and unregistering a model in the same SynchronizeModels
FixFixed keeping unresolved promises for engine.call calls without a C++ handler registered for the call
FixFixed crash when calling UnloadDocument explicitly before destroying a view or navigating to another URL
FixFixed ES6 modules crash and assert failure in Debug configuration
FixFixed parsing CSS stylesheets containing unsupported media queries
FixFixed evaluation of data-binding expression after unregistering and registering model for a second time
FixFixed ChakraCore crashes and possible memory leaks due to missing context
FixReduced video buffer size to reduce memory consumption
FixFixed performance regression of finished animations with fill mode forwards/both
FixFixed PlayStation 4 and XboxOne assembly definitions in Unity3D UPM package.
FixFixed using the inspector with Unity3D UPM packages
APICalls to engine.call without a C++ handler registered and no failure callback for the promise will trigger error messages

Version 1.10.0.2


Released 06 Oct 2020
FeatureAdded support for custom elements upgrading (V1 API)
FeatureAdded support for drawing and styling all HTML tags
FeatureAdded support for break-iterator for Asian text in UnrealEngine 4
EnhancementGPU timing for Nintendo Switch is now available when doing a performance trace in the Inspector
EnhancementAdded packaging of V8 libraries with separated debug symbols for Unix based platforms in UnrealEngine 4
FixFixed a crash in V8 due to double exposing of the same C++ objects
FixFixed a crash when reloading a view with JavaScript breakpoint set at file level
FixFixed color interpolation between semi-transparent colors
FixFixed a rare issue causing nesting of events in the inspector performance timeline
FixFixed frontend and backend inspector performance events not appearing in the timeline
FixFixed disappearing elements when using gradients as masks
FixFixed wrong pending image counter causing an assert failure in Debug
FixFixed the scroll of Computed style panel in Inspector`s Elements tab
FixFix assertion caused by std::function on PlayStation 4
FixFixed crash when game starts with Korean language in UnrealEngine 4
FixFixed crash in Cohtml break-iterators due to incorrect string conversion in UnrealEngine 4

Version 1.9.9.8


Released 16 Sep 2020
FixFixed crash when calling FreeRenderingResources on views with SVG images
FixFixed possible leak of SVG tessellated data

Version 1.9.9.5


Released 10 Sep 2020
FixFixed possible deadlock when advancing the views

Version 1.9.9.2


Released 02 Sep 2020
EnhancementAdded support for the background-position-x and background-position-y CSS properties
EnhancementImproved Dualshock 4 contoller support for Unity3D
FixFixed wrongly fired resource abort notifications for already completed requests
FixFixed race issues when executing layout tasks in parallel
FixFixed linker issues when the library is delay loaded with certain compiler options
FixFixed a crash which was occuring during event dispatching
FixFixed an error about missing context argument in engine.off
FixFixed a bug causing rare failures to load style sheets
FixImproved tagging of memory allocations to better reflect its usage
FixFixed chaining CSS animations on the same CSS property
FixFixed by ref binding of empty std::vector collections
FixRemoved requirement for Vulkan runtime on Windows for Unity3D plugin
FixFixed scrolling on Linux in Unity3D with the new InputSystem
FixFixed Unity3D editor deadlocks when stopping the game
FixFixed checkout issues for Perforce users in the Unreal Engine 4 plugin
FixFixed memory allignment issue in VirtualAllocators on PS5 and Switch
APIAdded option to disable internal allocators that retain memory
APIAdded “pixels per scroll” to set the speed of the scrolling in Unity3D
APIIncreased the version of cohmtl.js – update all your copies

Version 1.9.7.2


Released 17 Aug 2020
FeatureSupport for WebSockets in Unreal Engine 4
FixFixed disappearing elements with certain style changes
FixFixed crash when registering new engine.on handers during execution of a handler
FixFixed crash when locking vertex or index buffers fails
FixRenamed internal rapidjson and rapidxml libraries to avoid clashes

Version 1.9.5.4


Released 06 Aug 2020
FeatureAdded line break iterator API to aid text wrapping
FeatureEnabled saving profile from Inspector`s Performance tab
FeatureAdded support for aborting of resource requests when the view is destroyed or navigate to another page
FeatureUpdate PlayStation 4 SDK to version 7.5
FeatureAdded setting for converting property names to lower case in Unreal Engine 4 when using the automatic UType binder
FeatureAdded a special CSS property “coh-composition-id” which allows users to compose the element with a custom renderer
FeatureAdded special CSS properties “coh-custom-effect-name” along with several custom animatable parameters that allow users to apply a custom shader to the element
FeatureAdded new RendererCaps members which allow customizing the maximum allowed texture size. These new properties must be filled in the RendererBackend::FillCaps method.
FeatureSupport for Live Views in Unity3D
EnhancementIncreased the maximum allowed paint rectangles
EnhancementPaint rectangles now leave a short trail
EnhancementMade CohtmlView and CohtmlUISystem Unity3D specific methods virtual
EnhancementAdded customizing the Library configuration in Unity3D
FixFixed getPropertyValue for the transform CSS property
FixFixed crash when using toLocaleLowerCase on Xbox
FixFixed FInputGesture deprecated warnings in Unreal Engine 4
FixFixed History feature minor memory retention on reload
FixFixed capital letters, spaces and special characters in Unity3D with the new Input System
FixFixed multiple view srendering and overlaying in HDRP mode for Unity3D
FixFixed crash in the CSS parser for malformed calc expressions
FixFixed crash when toggling view visibility in Unreal Engine 4
FixFixed crash when responding to resource requests after destroying the library in Unreal Engine 4
APIAdded an API for an external break iterator implementation
APIAdd View::SetCustomSceneCompositor method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface
APIAdd View::SetSceneCustomEffectRenderer method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface
APIAdded API for clearing the navigation history of a given cohtml::View
APIAdded an option to receive resource request calls on the main thread

Version 1.9.2.4


Released 20 Jul 2020
FeatureSupport for PlayStation 4 SDK 7.5

Version 1.9.2.2


Released 14 Jul 2020
FeaturePaint rectangles can be toggled by the Inspector rendering panel
EnhancementAdded support for percent values in SVG images
EnhancementReduced per-frame allocations for transformations
EnhancementExtended the performance timeline of the Inspector with additional events
EnhancementMade the destruction of the UCohtmlWidget non-blocking in the Unreal Engine 4 plugin
FixQuerySelectorAll returns elements in the correct depth-first-search order
FixFixed crash when dispatching events during document unloading
FixFixed crash when starting a XmlHTTPRequest during document unloading
FixFixed elements disappearing during scrolling
APIDeprecated the Android builds with the gnustl standard library. They are moved to the *_gnustl folders
FixFixed lifetime of the AudioWrapper objects in the Unreal Engine 4 plugin
FixFixed the plugin unload order in the Unreal Engine 4
FixCrash when responding to XmlHTTPRequests after the plugin has been uninitialized in Unreal Engine 4

Version 1.9.0.12


Released 18 Jun 2020
FeatureSupport for Unreal Engine 4 4.25
APIThis version is not compatible with versions of Unreal Engine 4 different that 4.25

Version 1.9.0.11


Released 17 Jun 2020
FeatureUnity3D Package Manager packages for console platforms
FeatureAdded custom memory allocator support to Renoir backends
FeatureAdded callbacks for resources lifetime in Renoir backends
EnhancementImproved the performance of loading font collections
EnhancementReduced the repaint area when a small part of the view is changed
EnhancementImproved error messages when binding map-like objects with non-string keys
EnhancementImproved using custom SystemSettings in Unity3D
EnhancementAdded engine.off information to the Documentation
EnhancementUpdated support for Unity3D HDRP to the latest rendering pipeline API changes
FixText wrapping properly respects
FixQuery selectors and CSS selectors work with data- attributes
FixFixed crash when multiple gradient definitions are parsed in parallel
FixFixed assert on view destruction for ChakraCore platforms with multiple views and data-binding are used
FixFixed degrading performance when using hover on complex selectors
FixFixed updated layout styles depending on rem or em units when the unit changes
FixFixed flex properties that continued to be in effect after removing their CSS declarations
FixFixed loading resources with a backslash in the URL for Unity3D
FixFixed gamma-correctness for Unity3D HDRP
FixFixed handling of events by the TextInputHandler when Advance() is not called on the System
FixFixed crash caused by updating of the pointed/hovered elements after scrolling.
APIDeprecated handled flag for input events

Version 1.8.2.10


Released 5 Jun 2020
FixFixed crash with scrolling and moving the mouse outside of the view

Version 1.8.2.5


Released 5 May 2020
FeatureAdded support for images that have non-premultiplied alpha
EnhancementUpdated Unity3D HDRP rendering support to new Unity3D 2019.3
EnhancementMouse pointer events are handled during scrolling
EnhancementAdded localization sample with React
FixFixed border color when top side of the border is missing
FixFixed pointer-events for HTML elements when the parent is clipped or creates a stacking context
FixFixed typing into text input fields when text transform is used
FixFixed Unity3D warning about package version using more than 3 numbers

Version 1.8.1.4


Released 27 April 2020
APIChanged Unity3D license keys – please download your new key from the developer portal
FeatureAdded support for multiple UISystem instances in Unity3D
APIRefactored the Unity3D plugin to be based on the vanilla C++ API
EnhancementLocalization works for elements that are added dynamically to the DOM
EnhancementAdded support for DirectX 12 to the Unity3D plugin
FixFixed running Unity3D with Vulkan on Linux
FixFixed text transformation on dynamically created elements
FixReintroduced the scrolling optimization with fixes for the artifacts and input issues.

Version 1.8.0.11


Released 16 April 2020
FeatureAdded experimental inline layout for text
EnhancementAllowed registering models with complex sub-model as a first member (on the same address)
FixFixed array-like behavior of NodeList collections for platforms using ChakraCore
FixImproved rendering of SVGs when background-repeat with transformations is used
FixFixed crash when destroying the view or navigating to a different URL with XML HTTP Requests in flight

Version 1.7.4.1


Released 24 April 2020
FixReintroduced the scrolling optimization with fixes for the artifacts and input issues.

Version 1.7.3.1


Released 15 April 2020
EnhancementAdded sample with polyfill for
    ,
      lists and
EnhancementAdded sample for using subtitles for videos
EnhancementMoved text case transformations to the DOM thread
FixFix turned off the scrolling optimization, because it can break the input in certain cases
FixFix layout overwriting the scroll position set on the DOM thread
FixFix crash when element change parents with overflow: hidden
FixFix some animations not running to complete 100%
FixFix crashes due to missing temporary allocator in TriggerEvent when calling it from fibers or different threads
FixFix scrollWidth for text with overflow
FixFix coordinated for scroll event in Unity3D packaged games
FixFix Unity3D reloading when TextTransformationManager is used
FixFix scrolling coordinates with the new Unity3D input system

Version 1.7.0.15


Released 16 March 2020
FixReintroduced the scrolling optimization with fixes for the artifacts and input issues.

Version 1.7.0.14


Released 11 March 2020
FixReverted scrolling optimization due to causing artifacts and input issues.

Version 1.7.0.12


Released 09 March 2020
EnhancementImprove performance of scrolling and hit tests
EnhancementImprove performance of reading font files
EnhancementAdd virtual list scrolling sample
EnhancementAdd support gamepad with Input Manager in Unity3D
EnhancementImplement gamepad editor tool to insert gamepad controls in Unity3D
EnhancementAdd units support for flex basis
EnhancementAdd support for preloaded images in Unity3D with DirectX 12
EnhancementSupport building the PlayerOverrides project in Unreal Engine 4
FixFix crash in video when there are multiple layout threads and views are not updated every frame
FixFix scrolling in elements with dynamically changed content and size
FixFix crash when using data-bind-for for a string value
FixFix crash when converting a non-boolean value to boolean for data-binding
FixFix undefined behavior when binding empty arrays and vectors
FixFix clearing of canvas textures in certain cases
FixAdd missing temp allocator for IME related methods of cohtml::View
FixFix scrolling and panning when it is performed very slowly
FixFix triggering events with null objects from C# to JavaScript in Unity3D
FixFix changing styles in the inspector in Chrome 80 and later
FixFix submission warnings for debug symbols on Stadia
APIC++ standard library to libc++ on Stadia
APIC++ standard library to libc++ on Linux
APIAdd developer option for controlling whether to snap the display boxes before transforming. Warning: Enabling this option results in more repainting.

Version 1.6.1.1


Released 20 Feb 2020
FeatureSupport for WebSockets (see the documentation how to use them)
FeatureSupport for Android x86_64
FeatureMoved Unity3D packages to use the Unity3D Package Manager
EnhancementImproved support for nullable types in Unity3D
APIMoved COHTML_BUILD_VERSION and COHTML_SDK_VER to <cohtml/Revision.h> header

Version 1.6.0.4


Released 11 Feb 2020
FixFixed running the inspector in Google Chrome version 80.

Version 1.6.0.1


Released 04 Feb 2020
EnhancementSignificantly reduced memory usage of SVG images
EnhancementExposed the image cache inspection API to Unity3D
EnhancementAdded support for DateTime struct in Unity3D
EnhancementAdded support for read-only List in Unity3D
FeatureSupport for Unreal Engine 4 4.24
FixFixed drawing order for combinations of elements with z-index and positioning
FixFixed several issues with stroking paths in SVG images
FixFixed clipping child elements when parent has border-radius
FixFixed text selection and caret placement on transformed text
FixFiring events on wrong elements in certain cases
FixFixed text alignment with text-overflow
FixFixed parsing floating point numbers in stylesheets on non-US locale POSIX based platforms
FixExposed UnbindCall and UnregisterEvent to Unity3D
FixExposed ITextTransformationManager to Unity3D
FixFixed exposing FString on POSIX based platforms

Version 1.5.0.1


Released 19 Dec 2019
APIImproved anti-aliasing
FeatureAdded a dropdown (
FeatureAdded new input sample using the text entry API
FeatureSupport for Unity3D new InputSystem
EnhancementFixed pathological memory usage with better GC heuristics
EnhancementVertex and index buffers for SVGs are properly reused
EnhancementAdded rotate-around-point for SVG
FixFixed various issues with scaling SVGs
FixFixed assert when using box-shadow on an element with width 0
FixFixed bitmap fonts reloading after FreeRenderingResources
FixFixed support for SVGs with transform and gradients
FixFixed crash when seeking a paused video

Version 1.4.2.2


Released 13 Dec 2019
FixFixed video playback freezing with certain videos

Version 1.4.2.1


Released 09 Dec 2019
FixFixed regression in rendering certain SVGs with applied transformation
FixFixed text-shadow being rendered when the text is not visible

Version 1.4.2.0


Released 05 Dec 2019
FeatureUnity3D support for Linux
FeatureUnity3D support for PlayStation 4
EnhancementMade async and defer scripts work according to the standard
EnhancementEnhanced the Player to support DPI on Mac OS X
FixFixed styling of elements affected by attribute based CSS selectors
FixFixed using preloaded images in Unity3D on Xbox One
FixFixed [] of dom collections to return undefined for invalid indices
FixFixed using sampler filtering for bitmap fonts
FixFixed detecting mouse events on elements with certain transformations
FixExposed the ILocalizationManager to Unity3D
FixFixed SVGs disappearing with certain transformations
APIFixed gamepad indices to work as specified by the standard. Read more about the changes

Version 1.4.1.0


Released 05 Nov 2019
FeatureDynamic data-binding is available as an experimental option
FeatureSupport for gamepad in Unity3D
FeatureSupport for custom plugins in the Player
FeatureSupport for localization in the Player
FeatureAdded the document.elementFromPoint and document.elementsFromPoint methods
EnhancementSupport for the text-overflow CSS property
EnhancementSupport for the white-space CSS property
EnhancementReduced memory consumption of CSS variables
EnhancementAdded support for BC7 compressed textures
EnhancementImproved performance of dash stroke paths
EnhancementEnhanced new text entry API
EnhancementAdded option for controlling vertex and index buffer ring size
EnhancementAdded option for controlling the SDF character size for font rendering
EnhancementImproved layout for text with different alignment
EnhancementAdded relatedTarget to JavaScript events
EnhancementAdded support for HTTP(S) resources in Unity3D
EnhancementAdded location for keyboard events in Unreal Engine 4
EnhancementAdded location and isRepeat for keyboard events in Unity3D
FixFixed drawing of positioned elements below non-positioned elements
FixFixed GC triggered crash in Unreal Engine 4 with preloaded images
FixFixed borders when border-radius is used

Version 1.4.0.3


Released 10 Oct 2019
APINew License Keys have been generated!
FeatureSupport for Google Stadia for native and Unreal Engine 4
FeatureSupport for Linux for native and Unreal Engine 4
FeatureSupport for Unreal Engine 4.23
EnhancementData-binding attribute for mask-image
EnhancementMoved shaders inside the plugin for Unreal Engine 4
EnhancementUpdated Preact sample and documentation
EnhancementAdded first tier of a more powerful text entry API
EnhancementGamepad support for the Player on Mac OS X
EnhancementAdded API to control which resources can be loaded from a view
FixFixed issues with using the IME and changing focus
FixFixed the order of applying transformations and filters to elements
FixFixed box shadows visible for non-visible elements
FixFixed adding visible children to non-visible elements
FixFixed video playback in Unreal Engine 4 on Mac OS X
FixFixed setting relative URL using the history API
FixFixed crash when calling C++ method from JavaScript inside engine.on events
FixScaling SVG`s no longer results in wrong transformations
FixFixed mouse buttons for MouseEvent in Unreal Engine 4

Version 1.3.2.1


Released 05 Sep 2019
EnhancementAdded support for five button mouse events
EnhancementAdded support for scroll events for textarea
EnhancementSupport for pre tags
EnhancementAdded support for the change event for input elements
EnhancementAdded UserIndex for virtual keyboard support in Unreal Engine 4
APIAdded API to customize the resource loading in Unreal Engine 4
FixFixed controller indices when connecting and disconnecting multiple controllers
FixFixed the garbage collector on PlayStation4 to collect more aggresively on certain loads
FixFixed several JavaScript engine crashes on PlayStation4 and Xbox One
FixFixed crash when calling C++ methods with wrong number of arguments from JavaScript
FixFixed reversed mouse scroll in Unreal Engine 4

Version 1.3.1.4


Released 22 Aug 2019
FixFixed rendering artifacts related to text without specified width.
FixFixed memory corruption on PlayStation 4, XBox One, iOS, UWP.

Version 1.3.1.1


Released 23 Jul 2019
FeatureSupport for mixing languages and fonts in a single text.
EnhancementUpdated Android samples projects to support ARM64
EnhancementUpdated Android samples projects to Android Studio 3.4
EnhancementAdded support for optional RequireJS modules with error event for script and link elements
FixFixed the offsetWidth and offsetHeight functions for hidden elements
FixFixed using custom-element-tag as selector in CSS stylesheets
FixEnabled ARC for the metal backend library
FixFixed cooking game on the fly with Unreal Engine4
FixFixed crash when removing DOM elements with data-binding attributes

Version 1.3.0.2


Released 28 Jun 2019
FeatureAdded ability to define Custom data-binding attributes
FeatureVulkan backend Windows implementation for the native SDK
FeatureExperimental Unreal Engine 4 Switch support. Video and inspector arenot supported yet.
FeatureExperimental support for libc++ for Android
FeatureExperimental support for Android ARM64
FeatureAdded support for CSS cursors in Unreal Engine 4
FeatureAdded text-transform for Unreal Engine 4
FeatureAdded an API to advance a view, without it rendering anything
FeatureAdded support for overflow-wrap CSS property
EnhancementAdded DPI scaling to the player application
EnhancementAdded data-bind-font-size
EnhancementEnhanced virtual keyboard support for Unreal Engine 4
EnhancementAdded engine.whenReady promise object, equivalent toengine.on(‘Ready’)
EnhancementAdded support for mipmaps in DDS textures
EnhancementAdded support for the touchmove event
EnhancementAdded controller support in the PlayStation 4, Nintendo Switch andUWP samples
APIAdded API to control the size of the text atlas texture
FixFixed assert when creating input elements in multiple views
FixFixed missing invocations to the finish callback of animations
FixFixed restarting an animation inside the finish callback
FixFixed logging warnings in cohtml.js

Version 1.2.3.1


Released 24 Jun 2019
FixFixed crash when using by-value getters in data-binding
FixFixed crash when recreating views on PlayStation 4
FixFixed missing text on the UMG widget on PlayStation 4
FixFixed broken gradients on the UMG widget on PlayStation 4
FixFixed rendering uninitialized textures with the UMG widget on Xbox One

Version 1.2.2.3


Released 13 May 2019
FeatureAdded the :active pseudo selector
FeatureAdded the visibility CSS property
FeatureAdded the KeyboardEvent.repeat property
EnhancementAdded data-bind-html, which allows to set innerHTML with data-binding
EnhancementAllowed the localization texts to contain html tags
EnhancementAdded the load event to script and stylesheet elements
EnhancementEnhanced log messages for wrong property names used for data-binding
Enhancementmodel}} (without property) can be used for data-binding
EnhancementScrolling works correctly with nested scrollable elements
EnhancementAutomatically casting enum types to int for iOS and Switch for binding
EnhancementBinding supports long numbers
EnhancementRegular on event handlers work with data-bind-for
EnhancementNot handled promise rejections are logged
EnhancementAdded engine.unregisterModel API to unregister a model from JavaScript
EnhancementAdded an API to set the ILocalizationManager in Unreal Engine 4 integration
EnhancementAdded support for exposing UDataTable to JavaScript
EnhancementAdded ability to customize the automatic binding in Unreal Engine 4
FixFixed disappearing SVG images when background-image property is changed
FixPositioning of text caret in text inputs with aligment
FixFixed text selection when text has CSS transform
FixFixed crash in Unreal Engine 4 when chaining multiple property accesses in data-binding
FixFixed the gamepaddisconnected event to contain which gamepad has been disconnected
FixFixed cloneNode to clone attached event listeners

Version 1.2.1.1


Released 24 Apr 2019
FeatureUpdated Unreal Engine to 4.22
FixFixed crash when using View::UnloadDocument
FixFixed support for React v16.5
FixFixed using iterator names that are prefix of other iterator namesin data-binding
FixFixed using {{model}} in data-binding expressions for C++ models.
FixFixed indexOf and slice for arrays exposed by-ref on ChakraCoreplatforms

Version 1.2.0.4


Released 09 Apr 2019
FeatureAdded support for CSS transitions
FeatureAdded support for pointer-events CSS property
FeatureEnhanced the flex CSS property to support setting grow and shrink
FeatureAdded support for CSS cursors
FeatureAdded support for the console tab and script debugging on Mac OS X
FeatureAdded support for mix-blend-mode: add
FeatureAdded support for KeyboardEvent.location
FeatureAdded support for copy and paste
FeatureAdded support for Home and End keys
FeatureAdded automatic sizing for text fields
FeatureAdded API to get the Nodes attributes from cohtml::INodeProxy
FeatureAdded text selection to all elements
EnhancementRefactored Renoir backend API to work better with low-level rendering APIs like Metal
EnhancementReplaced JavaScriptCore with ChakraCore on Xbox One and PlayStation 4
EnhancementReplaced JavaScriptCore with V8 on Mac OS X
EnhancementThe inspector no longer disconnects when the view is reloaded
EnhancementSignificantly improved inspector loading speed for pages with lots of elements
EnhancementData-binding attributes are visible in the inspector
EnhancementReduced thread-local variables count to allow running on more Android devices
EnhancementAndroid uses the Android NDK r15b
EnhancementAdded gestures support in Unity3D
EnhancementAdded range requests support in Unity3D
EnhancementAdded gamepad support to PlayStation4 samples
EnhancementImproved performance for drawing polylines in canvas
EnhancementAllowed loading stylesheets encoded in UTF-8 with BOM
EnhancementMoved V8 background tasks to worker threads tasks
EnhancementAdded GPU debug metadata in Unreal Engine 4
EnhancementImplemented animation shorthand CSS property
EnhancementAdded 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.
EnhancementSeeking paused videos now shows a preview of the seeked position
EnhancementAdded non-standard property to the CanvasRenderingContext2D “enableFastLineSegmentDrawing” which can allows much faster drawing in a canvas if the image consists of line segments only
FixFixed assert when calling bound C++ methods with incorrect arguments from JavaScript
FixFixed assert when removing the src attribute of an img and reloading the view
FixFixed using the skewX property in animations
FixFixed leaking some GPU resources on reloading the view
FixFixed calling the connectedCallback on custom elements in appendChild
FixFixed calling bound methods on objects that have been removed with View::DestroyExposedInstance
FixFixed using unsigned numbers for specifying a color in data-binding
FixFixed possible memory leak of ParseHTML when the system is destroyed before the load has finished.
FixFixed crash when using canvas stroke with gradient
FixFixed Inspector to show all transformations on an element with multiple transformations.
FixFixed currentTime attribute when the animation is paused
FixFixed onBlur, onFocus events on input elements when using React
APIChanged Renoir API to allow simultaneous usage from Coherent GT and Gameface
APISplit Renoir backend in UnrealEngine 4 to a separate module
APIAdded virtual destructors to pure virtual classes and structs
APIAdded default implementation to ViewListener`s methods
APIRenamed Renoir library files to start with lib
APIMoved enable color writes to the PSO instead of SetRenderTarget paramThis is part of a breaking change in Renoir backends. For more information, see the migration guide
APIMoved MSAA to the PSOThis is part of a breaking change in Renoir backends. For more information, see the migration guide
APIAdded upload buffer (constant buffers) management in RenoirThis is part of a breaking change in Renoir backends. For more information, see the migration guide
APIMoved auxiliary constant buffers from the Renoir backend to Renoir core libraryThis is part of a breaking change in Renoir backends. For more information, see the migration guide
APIStarted doing ClearQuad instead of ClearRenderTarget based on new backend capabilityThis is part of a breaking change in Renoir backends. See the For more information, see the migration guide
APIAdded BeginRenderPass and EndRenderPass backend commands to RenoirThis is part of a breaking change in Renoir backends. See the For more information, see the migration guide

Version 1.1.0.4


Released 08 Feb 2019
FeatureAdded default rendering backend implementation for the Metal graphics API
FeatureAdded support for CSS Custom properties (variables)
FeatureAdded support for CSS “!important” rule
FeatureAdded support for multiple values in the CSS background-image property
FeatureAdded support for the CSS calc() function. Currently, mixing percentages with other value types is not supported.
FeatureSelection API for input and textarea
FeatureAdded support for CSS ::selection pseudo element
FeatureAdded support for CSS :root pseudo-class
FeatureAdded cache control API for clearing and setting sizes of caches
FeatureAdded JavaScript capturing event phase processing
EnhancementAdded support for the letter-spacing CSS property for inputs, buttons and textareas
EnhancementAdded default styles for input, button and textarea
EnhancementAdded text-align support for input, button and textarea
EnhancementImproved support for SVGs without viewBox
EnhancementCohtml.js can be used in a standard web browser. Significantly increases the compatibility of pages testing in web browsers.
EnhancementAdded samples for workflows based on WebPack and Redux
EnhancementAdd support for multiple data models in data-bind expressions
EnhancementUpgraded 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
EnhancementReduced the count of dynamic TLS slots allocation for Nintendo Switch
EnhancementAdded support for Unreal Engine 4.21
EnhancementImplemented path stroking/filling with gradients in canvas elements
FixAdded CloneNode for CustomElements
FixFixed CustomElements callback invocations (they werent always fired)
FixFixed canvas element resize behavior (canvas context state is now correctly reset)
FixAdded missing ICU library to the Nintendo Switch package
FixFixed animations` currentTime in Web Animations API (it was reported incorrectly when the animation is paused)
FixFixed crash on Nintendo Switch when not passing a custom log handler
APIInput elements no longer inherit the font related styles of their parents
APIAdded GPU debug metadata emission useful for graphics debugging.Enable with View::EmitRenderingMetadata and handle the BC_PushMetadata, BC_PopMetadata commands in your RendererBackend implementation.

Version 1.0.0.6


Released 05 Dec 2018
FeatureUWP Added support for UWP ARM.
FeatureUWP 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.
FeatureAPI 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.
FeatureJavaScript can now modify objects exposed by C++. This allows the UI to update game state directly without invoking functions.
FeatureAdded 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.
FeatureAPI 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.
FeatureAdded support for the line-height CSS property.
FeatureAdded support for exposing objects containing std::pair, std::map and std::unordered_map to the UI.
EnhancementAPI Added support for the window.onresize event.
FixFixed a bug in the Player application which would fail to load files whose paths contained non-ASCII characters.
FixFixed a crash in the Player application when using the –height= parameter.
FixFixed a bunch of minor memory leaks across the scripting sybsystem.
FixAnimations on elements with display: none will now be properly paused and resumed when display: none is removed.
FixAdded virtual destructors to the cohtml::DebugDump and cohtml::FrameCapture structs.
FixFixed rendering of SVG gradients which were misplaced when under the effects of a transformation (translation, rotation, etc.).
FixFixed 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.
FixErrors thrown inside event handlers of engine.on are now properly logged across all platforms. Previously, these errors would be silently ignored.
FixInvoking 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.
FixFixed a crash when calling cohtml::System::Uninitialize while a video was still playing.
FixFixed a bug which would cause videos to sometimes stop spuriously.
FixFixed a bug which would cause some SVGs to be rendered incorrectly.
FixFixed a bug which would cause elements whose background is a linear-gradient to not update when another linear gradient is applied.
FixFixed rendering artefacts caused when the current value of box-shadow and only box-shadow was changed on an element.
FixFixed an issue which would cause hover effects on images to not appear every other time.
FixFixed a bug which caused playFromTo from the WebAnimations API to not play correctly after an animation has ended.
FixFixed an assert in Debug that was being hit when calculating new styles for some elements that have both box-shadow and transform applied.
FixFixed a crash on Nintendo Switch when destroying rendering resources.
FixYou no longer have to define COHERENT_HORIZON manually to build for Nintendo Switch.
FixFixed a bug which would cause the SDK to throw an error whenever you accessed window.history.state on iOS.
FixFixed a crash caused when using regular expressions while the garbage collector is running.
FixMacOS Some debug features were disabled in debug builds on MacOS and iOS (e.g asserts). They are now available on all platforms in Debug.
FixUnreal EngineDisplaying a Gameface UMG widget inside a ScaleBox widget will now preserve scaling properly.