Changelog
On this page
- Version 1.60.0
- Version 1.59.0
- Version 1.58.0
- Version 1.57.2
- Version 1.57.0.2
- Version 1.56.0.3
- Version 1.56.0
- Version 1.55.2
- Version 1.55.0
- Version 1.54.0
- Version 1.53.0
- Version 1.52.3.1
- Version 1.52.1
- Version 1.51.2
- Version 1.51.0
- Version 1.50.0
- Version 1.49.0
- Version 1.48.0
- Version 1.47.0
- Version 1.46.0.1
- Version 1.45.0
- Version 1.44.0
- Version 1.43.0.1
- Version 1.42.0.0
- Version 1.40.0
- Version 1.39.0
- Version 1.38.0
- Version 1.37.0.1
- Version 1.36.2.1
- Version 1.36.0.3
- Version 1.36.0.1
- Version 1.35.0.3
- Version 1.34.2.1
- Version 1.34.0.4
- Version 1.33.3.1
- Version 1.33.1.2
- Version 1.32.1.2
- Version 1.31.2.2
- Version 1.31.0.1
- Version 1.30.0.1
- Version 1.29.2.1
- Version 1.28.2.3
- Version 1.28.0.1
- Version 1.27.0.2
- Version 1.26.4.1
- Version 1.26.2.1
- Version 1.26.0.1
- Version 1.25.1.2
- Version 1.24.1.3
- Version 1.24.1.1
- Version 1.23.0.2
- Version 1.22.1.3
- Version 1.20.0.1
- Version 1.19.0.4
- Version 1.19.0.1
- Version 1.18.2.8
- Version 1.17.0.1
- Version 1.16.5.2
- Version 1.16.5.1
- Version 1.16.0.1
- Version 1.15.3.2
- Version 1.15.3.1
- Version 1.15.1.8
- Version 1.15.0.1
- Version 1.14.3.1
- Version 1.14.1.2
- Version 1.14.0.7
- Version 1.13.1.3
- Version 1.12.4.2
- Version 1.12.2.1
- Version 1.12.0.1
- Version 1.11.0.1
- Version 1.10.0.2
- Version 1.9.9.8
- Version 1.9.9.5
- Version 1.9.9.2
- Version 1.9.7.2
- Version 1.9.5.4
- Version 1.9.2.4
- Version 1.9.2.2
- Version 1.9.0.12
- Version 1.9.0.11
- Version 1.8.2.10
- Version 1.8.2.5
- Version 1.8.1.4
- Version 1.8.0.11
- Version 1.7.4.1
- Version 1.7.3.1
- Version 1.7.0.15
- Version 1.7.0.14
- Version 1.7.0.12
- Version 1.6.1.1
- Version 1.6.0.4
- Version 1.6.0.1
- Version 1.5.0.1
- Version 1.4.2.2
- Version 1.4.2.1
- Version 1.4.2.0
- Version 1.4.1.0
- Version 1.4.0.3
- Version 1.3.2.1
- Version 1.3.1.4
- Version 1.3.1.1
- Version 1.3.0.2
- Version 1.2.3.1
- Version 1.2.2.3
- Version 1.2.1.1
- Version 1.2.0.4
- Version 1.1.0.4
- Version 1.0.0.6
Version 1.60.0
Released 07 Nov 2024
API | Added several new shader types to reduce stencil usage. For more information, see the Rendering Migration guide |
API | At-rules now support ordering. This mostly affects existing media at-rules that were previously position independent and were always overriding regular rules. Such stylesheets need to be reworked according to the standard behavior respecting cascade order. |
APIUnity | Moved the Unity3D-specific log handling functionality within the LogWriter class |
APIUnity | Renamed the LogHandler class to CohtmlLogHandler |
Feature | Persistent local storage for the Player on Windows Desktop and Mac OS |
FeatureUnity | Add Performance logging support |
FeatureUnity | Added sample hub for easier access to all samples |
FeatureUnreal Engine | Added profiling scopes for Unreal insights |
Enhancement | Added conversion to linear colorspace when sampling from textures. For more information, see the Rendering Migration guide |
Enhancement | Added a library option to set the scripting engine (V8) flags |
Enhancement | Improved error messages when loading ES6 modules with syntax errors |
Enhancement | Added inventory to the Multiplayer UI sample |
Enhancement | Added marketplace to the Multiplayer UI sample |
Enhancement | Allow passing view specific developer options in the command line arguments of the Player |
Enhancement | Added tutorial for creating a 3D compass |
Enhancement | Improved the performance of drawing repeated images |
Enhancement | Added a dialogue tree sample |
EnhancementUnity | Added a new UI Surface Partitioning sample to the Unity3D package |
EnhancementUnity | Added a new Localization sample to the Unity3D package |
EnhancementUnity | Added a new in-world view sample to the Unity3D package |
EnhancementUnity | Added a new View in Canvas UI sample to the Unity3D package |
EnhancementUnity | Configured the correct color space in the rendering library based on the active color space in Unity3D |
EnhancementUnreal Engine | Add extra guards when accessing RHI Textures |
EnhancementUnreal Engine | Improved the flow of freeing rendering resources owned by the cohtml::System object |
EnhancementUnreal Engine | Added texture pool for Custom Effect textures preventing memory accumulation between GC intervals |
Fix | Fixed MinimalHelloCohtml sample resource handler crash when trying to load missing resources |
Fix | Fixed fonts with GPOS kerning rendering composed glyphs incorrectly |
Fix | Fixed missing timeline when making performance captures on Android |
Fix | Fixed crash when capturing a screenshot for the Inspector on Sony PlayStation 5 |
Fix | Fixed setRangeText preserving incorrect selection |
Fix | Fixed an issue with position: fixed when used within inline layout |
Fix | Fixed a possible crash when calling UpdateWholeModel() |
Fix | Fixed caret position when changing <input> /<textarea> value from JavaScript |
Fix | Fixed potential crashes when using custom variables inside of @keyframes declarations |
Fix | Fixed custom effect sample with OpenGL |
Fix | Fixed samples linking with Vulkan on Windows ARM64 |
Fix | Fixed elements not being re-rendered when a valid font for weight fallback becomes available |
Fix | Fixed detection of base64 URLs that was causing warnings for exceeding URL size limits and failures to parse |
Fix | Fixed a wrong debug assert failure when unloading base64 images stating that the image was not found in the pending images collection |
Fix | Fixed a wrong debug assert failure when using a defer attribute on inline scripts |
Fix | Fixed setRangeText to throw an error when an invalid selection mode is provided |
Fix | Fixed memory accumulation in the InspectorPageAgent when reloading resources |
Fix | At-rules are now accessible through cssRules , making rule order correct |
Fix | Styles in link elements are now accessible through stylesheets API |
Fix | Media attribute of link elements can now contain 'or' and ',' |
Fix | Fixed wrong style in some cases when using insertrule and deleterule |
Fix | Fixed nested media rules with non-absolute URLs |
Fix | Fixed using insertrule with rules that have properties with non-absolute URLs |
Fix | Link elements with now respond correctly to removing, adding or changing the media attribute |
Fix | Fixed sometimes applying wrong styles when using complex selectors inside media rules |
Fix | Fixed holding resources of inactive font-face rules in memory |
Fix | Fixed sometimes applying wrong font-face rules when using multiple ones with the same font description but different URLs |
Fix | Added the ability to use insertrule and deleterule with media and font-face rules |
Fix | Fixed a wrong debug assert failure in the DOM Builder |
Fix | Fixed a bug with the CSS transitions when transitioning more than one property of the same value type |
Fix | Removed dead code triggering cast-align warnings in Renoir backends |
FixUnity | Fixed surface partitioning in Unity3D Integration after changing the scene |
Fix | Fixed a possible crash when calling UpdateWholeModel every frame |
FixUnity | Add data URL requests support |
FixUnreal Engine | Fixed crash when capturing the backend buffer through the Inspector |
FixUnreal Engine | Fixed Unreal Engine 4.27 Linux and Android compilation issues |
FixUnreal Engine | Fixed rendering artifacts caused by wrongly calculated scissor rect |
FixUnreal Engine | Fixed custom effects texture memory accumulation |
Version 1.59.0
Released 30 Sep 2024
Feature | Added support for Microsoft Windows ARM64 architecture (without Unity and Unreal Engine integrations) |
Enhancement | Support for Sony PlayStation 4 SDK 12.000 |
Enhancement | Support for Sony PlayStation 5 SDK 10.000 |
Enhancement | Added a 9-slice animated modal sample |
EnhancementUnreal Engine | Added logging of performance-specific warnings |
EnhancementUnreal Engine | Improved View render target and depth stencil texture lifetime management |
EnhancementUnreal Engine | Stopped caching the RHICmdList to ensure it is valid in all cases |
Fix | Fixed elements not being re-rendered when a valid font for weight fallback becomes available |
Fix | Fixed a failing assert when unloading fonts with invalid URLs or font descriptions |
Fix | Fixed potential crashes caused by race conditions when using multiple views with the ExecuteCommandProcessingWithLayout option enabled |
Fix | Fixed a crash in Development config on Library::Uninititialize when using external tracer |
Fix | Fixed missing font resources after destroying a SystemRenderer when using multiple systems with processing on the layout thread |
FixUnreal Engine | Fix crash in CopyTextureToTexture call that can be triggered without a valid cached CmdList |
API | Removed support for Sony PlayStation SDK 11.000 |
API | Removed support for Sony PlayStation 5 SDK 7.000 |
Version 1.58.0
Released 19 Sep 2024
Feature | Introduced a Simple Opacity feature that allows non-standard but optimized rendering of elements with CSS opacity . For more details, see the documentation for Simple Opacity |
Feature | Added support for font unloading |
Feature | Added support for the auxclick mouse event |
Feature | Enabled the GPU path tesselator by default |
Enhancement | Added support for media queries that contain at-rules |
Enhancement | Added support for boolean media query expressions |
Enhancement | Added support for the not keyword in media query expressions in a Media Query Level 3 compliant way, negating the whole query expression |
Enhancement | Unified mentions of Main/Game/DOM thread to UI thread in the native multithreading documentation |
Enhancement | Updated Windows Redist libraries included in the package |
Enhancement | Resource abort notifications are sent for streaming requests now as fonts can be unloaded |
Enhancement | Refactored the default profiling library so that flushing the profiling events to disk does not block other threads in the Development configuration. There’s also an explicit FlushProfiling L1 event for clarity |
Fix | Fixed potential memory corruption when using SVG style elements |
Fix | Reduced the size of the tvOS libraries by stripping most of the debug information |
Fix | Fixed a crash when using the internal profiling feature in long sessions running with L1 profiling level |
Fix | Fixed rare cases where the background color of the html and the body won’t be reset after removing their styles |
Fix | Fixed hover not working after toggling media rules with hover selectors |
Fix | Fixed leaking inactive resize observers, ones that are left without elements to observe or were disconnected |
Fix | Fixed race conditions related to loading glyphs, updating text atlas textures and managing pipeline state objects |
Fix | Fixed running debug Linux builds on distributions with libc++ 15+ |
Fix | Fixed a regression causing transitions to malfunction when multiple transitions are used on a single element, but only some of the transitioned properties are changed |
Fix | Fixed a crash when delivering notifications to a disconnected MutationObserver |
Version 1.57.2
Released 09 Sep 2024
Fix | Fixed crash when a style element in a SVG is removed from the DOM |
Version 1.57.0.2
Released 02 Sep 2024
API | Bumped the minimum required MacOSX version to 10.13+ |
API | Moved the EnableProfiling method from the System to the Library interface |
API | Moved the FileSystemWriter implementation from the SystemSettings to the LibraryParams interface |
API | Added CopyTextureToTexture method to the renoir::RendererBackend interface |
API | Changed the UpdateTexture method of the renoir::RendererBackend to allow to clear regions of the texture |
API | Changed the minimum allowed text atlas texture size to 1024px |
APIUnreal Engine | Enabled the GPU tessellator for SVGs by default |
Feature | Added support for $0 - $4 to the inspector |
Feature | Added support for enabling external profiling systems to receive events about internal profile markers |
Feature | Added support for Webpack HMR and React Hot Loader |
FeatureUnreal Engine | Introduced LLM Scope tags for CPU memory tracking via the LLM Tracker |
Enhancement | Changes to the the text children of a style element now change CSS |
Enhancement | Added the property name and stack trace when accessing objects marked as destroyed with DestroyExposedObject from JavaScript |
Enhancement | Added support for media query media types all , print and screen |
Enhancement | Improved the performance of the Web Animation API implementation in cases when CSS animations animate more than one CSS property |
Enhancement | Improved the performance of the the CSS animations when animating multiple properties with the same value type |
Enhancement | Added two factor authentication sample UI |
Enhancement | Added two factor authentication to the multiplayer UI sample |
Enhancement | Added login and friends list sample UI |
EnhancementUnity | Added ability to modify the SystemSettings with the OnSystemCreate delegate |
EnhancementUnity | Added API reference documentation for the functions exposed by the Unity3D integration |
EnhancementUnreal Engine | Made the Unreal Editor Live Reload feature to be enabled by default |
EnhancementUnreal Engine | Added ICohtmlPlugin delegate for overriding the default FCohtmlInputPreprocessor |
Fix | Use TextureBatchingHint to ensure correct calculation of GetUserGPUMemoryStats total and peak values |
Fix | Replaced assert with JavaScript exception when ES6 module fails to load |
Fix | Fixed stack-overflow crash when loading ES6 modules with very deep dependency tree |
Fix | Fixed accumulating memory when videos are hidden or unloaded |
Fix | Fixed calling audio stream pause callback on non-playing streams |
Fix | Fixed incorrect drawing of SVGs used as background, border or mask image |
Fix | Fixed mutation observer assert on document disposal |
Fix | Fixed a crash due to missing temporary allocator when triggering events from worker threads |
Fix | Fixed Linux samples compilation, linking and post-build steps |
Fix | Added packaging of the missing ICU libraries for Linux |
Fix | Fixed a race condition during textures destruction |
Fix | Fixed the anti-aliasing artifacts for scaled circles and ellipses |
Fix | Fixed WebSocket race condition during disconnecting |
FixUnity | Fixed not being able to connect the Dev Tools Inspector on every second play in the Unity3D editor |
FixUnity | Fixed resource loading issue on MacOS and iOS caused by white space in the StreamingAssets path |
FixUnreal Engine | Fixed colors of textures imported with the Unreal Editor texture import menu |
FixUnity | Fixed propagating the input with multiple Canvas On-Screen views |
Version 1.56.0.3
Released 19 Aug 2024
Fix | Fixed wrong layout, missing elements and potential crashes when using position:fixed |
Fix | Fixed untagged memory allocations on non-Windows platforms |
Version 1.56.0
Released 05 Aug 2024
API | The OnMonotonicallyIncreasingTimeRequest callback can now also be called on a worker thread when using GIF animations |
APIUnreal Engine | Removed the deprecated option for the Cohtml HUD to respect or ignore TitleSafeZone and Letterboxing, leaving the default behavior of respecting both |
Feature | Added support for unloading CSS |
Feature | Added support for dynamically ordering stylesheets by moving their corresponding dom elements |
Feature | Added support for tvOS platform (Native only) |
Feature | Added support for element.append() JS DOM API |
Feature | Added support for position: fixed |
FeatureUnreal Engine | Added a default FileWriter implementation for performance markers support |
FeatureUnreal Engine | Introduced an API for JavaScript pre-compilation and pre-loading |
FeatureUnreal Engine | Added documentation on precompiled JavaScript resources usage |
Feature | Added a mobile controls sample |
Enhancement | Style elements take children text nodes into consideration when parsing CSS |
Enhancement | Capped the size of the textures allocated for rendering backdrop filter |
Enhancement | Improved the backdrop filter blur performance by allowing the blurred content to be downsampled first |
Enhancement | Enhanced the warning messages when attempting to call an empty value/function |
EnhancementUnity | The logs from the Unity integration code now respect the logging severity of cohtml |
EnhancementUnreal Engine | Changed the Cohtml SDK configuration to match the UnrealTargetConfiguration unless there is an override |
EnhancementUnreal Engine | Expanded the SDK configuration documentation, explaining Cohtml Development configuration in a greater detail |
EnhancementUnreal Engine | Added Cohtml texture memory stats via the Unreal Stats system |
Fix | Fixed a failing assert in debug configuration related to overflow visual AABB caused by floating point precision errors |
Fix | Fixed a failing assert in debug configuration when using animated GIFs |
Fix | Fixed a GC crash related to mouse events |
Fix | Fixed a crash when adding attributes in the inspector |
Fix | Fixed setProperty throwing type errors when used with non-string arguments |
Fix | Fixed Renoir for Android, Linux and iOS to exclude debug checks in release configuration |
Fix | Stop triggering attributeChangedCallback for unobserved attributes on custom element registration |
Fix | Fixed custom effects rendering when multiple filters are chained |
FixUnreal Engine | Fix CohtmlMaterial HLSL compilation for SM6 |
FixUnreal Engine | Made the SciFi sample to work with the latest version of the Prysm exporter |
Version 1.55.2
Released 23 Jul 2024
EnhancementUnreal Engine | Enhanced handling of render target RHI textures |
Fix | Fixed a debug assert failing when setting virtual resolution with async style-solving |
Fix | Fixed a regression caused by async style solving that caused a delay for receiving the latest layout data in JS |
Fix | Fixed the --force-resource-requests-on-the-dom-thread option not working for SVG images |
Fix | Fixed a crash caused by a race condition with text atlases when using multiple views with the ExecuteCommandProcessingWithLayout option enabled |
FixUnreal Engine | Fixed a crash or potentially invalid data in uniform buffers with Vulkan RHI |
FixUnreal Engine | Fixed crashes due to invalidated render target RHI textures |
FixUnreal Engine | Fixed user textures stats reporting for Unreal Engine 5 |
Version 1.55.0
Released 15 Jul 2024
Feature | Moved style resolving off the Advance call into a task. This will allow parallel style resolving of multiple views. Until completion of the style task, all View APIs that modify the DOM will block to prevent race issues. The block will be removed when the style resolving is further enhanced to become asynchronous and thread-safe. If you experience any issue due to the change, you can use the --synchronous-style-solving view developer option to revert to the old behavior. |
Feature | Allow precise updates for collections inside data-binding models |
Enhancement | Allow SynchronizeModels to run during DOM building |
Enhancement | Enhanced the font-fit feature with the ability to explicitly set minimum and maximum resulting font size |
Enhancement | Enhanced the low-level GPU memory info API with extended information about the page resources and their usage |
EnhancementUnreal Engine | Enhanced the Editor texture statistics reporting to include all GPU resource types |
Enhancement | Added optional compositorId argument to elementFromPoint DOM API to allow querying for the topmost element from composited hierarchies |
EnhancementUnity | Added a new ‘JavaScript Event Binding’ sample to the Unity3D UPM package |
EnhancementUnity | Improved the Unity3D Integration and Plugin API Reference documentation |
EnhancementUnity | Improved the ‘JavaScript Binding’ page in the Unity3D documentation |
EnhancementUnity | Added preloaded images support for the NGGC rendering backend |
EnhancementUnity | Added support for Unity InputSystem version 1.8 |
Enhancement | Added Development configuration for samples for Microsoft Windows and game consoles |
Enhancement | Optimize drawing of duplicate command buffers |
Enhancement | Added a sample to showcase how to use emojis in a chat input |
Enhancement | Use a single MSAA texture for the GPU tessellation |
Enhancement | Multiple improvements of GPU tessellator (Lower CB usage, better batching, fixed 32-bit indexing, single atlas resolve) |
API | Animation end events are fired 1 frame later now, due to animations being ticked asynchronously on the thread executing styling work. |
API | Compositor API is now called on the thread executing styling work instead on the DOM thread during the Advance call. |
API | Synchronous resource requests can now be invoked from the thread executing styling work as well and not only from the thread calling Advance. |
API | Abort notifications can now come from the thread executing styling work. |
API | Clients can force resource requests on the Advance calling thread via a view developer option --force-resource-requests-on-the-dom-thread until their resource handlers become thread-safe. Keep in mind that this delays resource loading until the next Advance call. |
API | Deprecated SynchronizeModels happening on DOMContentLoaded . Before SynchronizeModels during loading was delaying the synchronization to happen just before the DOMContentLoaded event. The new behavior is to synchronize the models immediately and queue a synchronization on DOMContentLoaded . Future versions will only do the immediate synchronization. |
API | Removed the deprecated font-fit-mode CSS property in favor of coh-font-fit-mode |
API | Added a shorthand CSS property coh-font-fit that allows to set the mode and the limits with a single declaration |
APIUnity | Deprecated the Library.Initialize overload with the device model as parameter. |
APIUnity | Added DisableRestoringUniformBuffers property to LibraryParams for the Unity integration to be used instead of the device model |
API | Removed deprecated constructors for the Renoir rendering backends |
Fix | Fixed crash when the HTTPStreamResponse module receives empty response |
FixUnity | Fixed a crash that occurred when typing a backtick key while using the Input System |
Fix | Fixed potentially wrong string representation of when using RGBA values in canvas fillStyle |
FixUnity | Fixed audio synchronization warnings when quickly playing and stopping a video |
FixUnity | Fixed an issue with accessing the device model and causing an infinite recursion during Unity initialization |
Fix | Video decoders now schedule tasks through their owning system instead of the last created one. This was causing a crash when playing a video in another system and the last created one was destroyed. |
FixUnity | Fixed support for multiple video audio streams in a CohtmlView |
FixUnity | Fixed input errors when launching the Unity 3D integration sample on console or mobile platforms. |
Fix | Fixed errors caused by sending inspector data to closed inspector sessions |
Fix | Fixed a crash when calling focus() on an element not attached to the DOM |
FixUnity | Fixed hang on Xbox with Unity3D |
Fix | Fixed a crash when the transform attribute is removed from an SVG element |
Fix | Fixed a crash when using pseudo elements and absolutely positioned children in cohinline elements |
FixUnity | Fixed materials in Unity samples to transition correctly from standard to URP shaders using the Render Pipeline Converter in a URP project |
Fix | Fixed crash when the cache for command processors is used |
Fix | Fixed GPU tessellator wrong calculation of bounding box |
Fix | Fixed batching of paths rendered with CPU tessellator |
Fix | Fixed negative scaling handling in GPU tessellator |
FixUnreal Engine | Fixed assert in DestroyTexture caused by occasional early execution of Game Thread tasks |
FixUnreal Engine | Fixed map tiling in the Starter Guide sample |
FixUnreal Engine | Fixed a stale URL value inside UCohtmlWidget when changing URLs via UCohtmlWidget::Load |
Fix | Fixed potential crashes due to integer underflow when calculating text layout |
Fix | Fixed the native dropdown sample and resolved a warning when choosing options |
Fix | Fixed potential crash during GC when using the CSSOM API document.styleSheets |
Version 1.54.0
Released 06 Jun 2024
APIUnreal Engine | Replaced Debug binaries with Development in Unreal Engine installers and archives |
APIUnreal Engine | Updated Unreal packages to PlayStation 4 SDK 11.500 |
APIUnreal Engine | Updated Unreal packages to PlayStation 5 SDK 9.000 |
APIUnity | Updated Unity packages for PlayStation 5 to SDK 9.000 |
APIUnity | Updated Unity packages for PlayStation 4 to SDK 11.500 |
API | Introduced a new API for profiling the internals of Prysm |
Feature | Added support for clientTop , clientLeft , clientWidth , clientHeight and getClientRects() DOM APIs |
Feature | Introduced a new development configuration, intended to be used during game UI development. |
EnhancementUnreal Engine | Added support for Unreal Engine 5.4 |
Enhancement | Added support for Microsoft GDK 2023 October Update 3 |
Enhancement | Added support for Sony PlayStation 5 SDK 9.000 |
Enhancement | Added support for Sony PlayStation 4 SDK 11.500 |
Enhancement | SVG specific styles can now be set via the JS DOM API |
EnhancementUnity | Removed the deprecated CohtmlCanvasRenderer component |
EnhancementUnreal Engine | Deprecated HUD Respect Safe Zone and Respect Letterboxing settings, leaving them to be always Enabled, until removed |
EnhancementUnreal Engine | Updated RHI Texture caching to fix lifetime issues with CohTexture objects |
Enhancement | Added a sample demonstrating how to create charts using D3.js |
FixUnreal Engine | Fixed User Background resize for multiple World contexts |
FixUnreal Engine | Fixed shader compilation for Metal in Unreal Engine 5.4 |
Fix | Fixed missing texture assertions |
FixUnity | Fixed flickering issue when using Unity NGGC backend |
FixUnity | Fixed rendering artefacts with Unity NGGC backend on PS5 |
Fix | Fixed support for Microsoft Windows 7 without Service Pack 3 |
Fix | Fixed a crash when destroying and reloading views with the inspector attached |
FixUnity | Fixed Unity crash on Windows Win32 builds with Direct X 12 |
Fix | Fixed passing invalid command to the backend if image is missing |
Fix | Fixed scissor bounds for the GPU tesselation implementation |
Fix | Fixed leaking event handlers when using the engine.off API |
Version 1.53.0
Released 15 May 2024
API | Added mipsCount member to IAsyncResourceResponse to mark how much mips a preloaded texture has |
API | Altered GPUMemoryInfo structure to make it more compact |
API | Added the TextureObject in IUserResourcesListener callbacks |
Feature | Added support for tessellating SVGs on the GPU |
Enhancement | Added support for HTML preloading for XmlHttpRequests and innerHTML |
Enhancement | Added documentation for the View::MouseLeave API |
Enhancement | Added support for the 'loadedmetadata' event to html media elements |
EnhancementUnity | Updated quick start documentation with examples of how to add a view to the scene |
EnhancementUnity | Added a step by step guide for localization |
Enhancement | Added API to retrieve GPU memory usage information |
EnhancementUnity | Improved input handling for CohtmlView rendered inside a UI Canvas |
Enhancement | Added support in desktop renderers (DirectX 11, DirectX12, OpenGL, Vulkan) for preloading mipmap textures |
EnhancementUnity | The Unity package uses the Sony PlayStation 5 SDK 8.0 |
EnhancementUnity | The Unity package uses the Sony PlayStation 4 SDK 11.0 |
Enhancement | Added documentation for the canvas API support |
Enhancement | Added origin information to warnings and errors when it is available |
FixUnity | Fixed setting the HTTP response headers from UnityWebRequest |
FixUnreal Engine | Fixed plugin loading issue on Linux due to a missing renoir library dependency |
FixUnity | Fixed crash on Xbox in HDRP mode due to synchronization issue |
Fix | Fixed ascent and descent for preloaded fonts |
Fix | Fixed a crash when using the API for custom media features on different threads |
Fix | Fixed setting the prototype on custom elements getting upgraded when their class is defined |
Fix | Fixed getAnimations to return only active animations |
Fix | Fixed classList property to return the same object when available and avoid generating garbage |
FixUnity | Fixed a crash on exit in Unity3D editor when a WebSocket connection is still active |
Fix | Fixed wrongly transitioned properties for discrete animations |
Fix | Fixed getAnimations returning animations per property instead of per animation name |
Fix | Fixed a crash when using SVG as background-image on an element with transform |
Fix | Fixed transitions with negative delay incorrectly firing transition events |
Fix | Fixed a crash if a texture for drawing is missing |
Fix | Fixed rendering of textures in samples with OpenGL when filtering is set to FilterLinear |
Fix | Fixed drawing of simple inline SVGs in cohinline paragraphs |
Fix | Fixed image resources not getting unloaded after reducing the background images count |
Fix | Fixed artifacts when using border-image with SVG |
Fix | Fixed a leak when using transitions which could have caused crashes after garbage collection |
Fix | Fixed a wrongly triggered debug assert when detaching elements with pending images |
Fix | Fixed a crash when using elementsFromPoint over pseudo elements |
Version 1.52.3.1
Released 22 Apr 2024
Fix | Fixed possible race condition in scene’s gpu memory info |
Fix | Fixed drop-shadow when it’s drawn through simple sublayers flow |
Fix | Fixed incorrect filter rendering caused by simple sublayers |
FixUnreal Engine | Fixed assert when playing video in UMG and closing application |
Fix | Fixed compilation errors in case <bit> header is not available |
Fix | Fixed undefined RENOIR_PLATFORM_WIN preprocessor in the Renoir header files |
Fix | Fixed a crash encountered when batching rendering commands with a missing texture |
Version 1.52.1
Released 04 Apr 2024
API | Removed support for the experimental custom elements V0 API |
Feature | Added support for full-color bitmap fonts |
FeatureUnity | Added support for the native plug-in profiler in Unity |
Feature | Allowed Precise Data Binding Updates of data-binding models |
Enhancement | HTMLCollection returned by getElementsByTagName and getElementsByClassName are now live |
Enhancement | Enhance text rendering and luminance smoothing in different color spaces |
Enhancement | Apply gradient dithering evenly in linear color space |
EnhancementUnity | Added UI Surface Partitioning support when using CohtmlView inside UnityUI Canvas |
EnhancementUnity | Added Backdrop Filter when using CohtmlView inside UnityUI Canvas |
EnhancementUnity | Added default gamepad mapping for common gamepad models for Unity InputManager |
EnhancementUnreal Engine | Improve the reporting of used textures inside the UI |
EnhancementUnreal Engine | Added support for Surface partitioning feature in Concurrent Advance mode |
EnhancementUnreal Engine | Added support for Custom Effects feature in Concurrent Advance mode |
Fix | Fixed string values for CSS properties for border, margins and padding |
Fix | Fixed wrongly reported scroll values in some cases |
Fix | Fixed border image property equality comparison bug caused by uninitialized memory |
Fix | Fixed calling attribute related JavaScript handlers before the attribute on the element is updated |
Fix | Fixed infinite recursion when setting attributes to their current values in MutationObserver callback |
Fix | Fixed a crash when using SVG border images with zero sized border sides |
Fix | Fixed a case with a wrong draw order of SVG elements after using an InsertBefore operation |
Fix | Fixed a crash when an InsertBefore operation used for SVG elements fails |
Fix | Fixed wrongly removing the element from the DOM when an InsertBefore used as a move operation fails |
Fix | Fixed a crash when descriptors for constant buffers are not enough for Vulkan |
Fix | Fixed bleeding of big glyphs generated with SDF on the CPU algorithm |
FixUnity | Fixed the import/compilation warnings caused by obsolete CohtmlCanvasRenderer invocations internally |
FixUnity | Fixed loading of plugin libraries for Unity on Linux |
Fix | Fixed a crash when making an inspector connection with Visual Studio Code |
Fix | Fixed Address Sanitizer error on Sony PlayStation when doing Array.shift in JavaScript |
Fix | Fixed using memcpy for overlapping regions on Nintendo Switch |
FixUnreal Engine | Fixed rendering artifacts on Sony PlayStation 5 |
Version 1.51.2
Released 22 Mar 2024
Fix | Fixed crash when using GetAttribute for non-existing attribute on a NodeProxy |
Fix | Fixed crash when registering model with subobjects in already loaded page |
FixUnreal Engine | Fixed race condition when discarding invalid frame states of ICompositorInterfaceUnreal |
FixUnreal Engine | Fixed crash when the virtual keyboard tries to use missing attributes of cohtml::IInputProxy |
FixUnreal Engine | Fixed crash when destroying the view |
FixUnreal Engine | Fixed setting response headers for HTTP requests |
FixUnreal Engine | Fixed crash on exit when cancelling pending HTTP requests |
Version 1.51.0
Released 07 Mar 2024
API | Removed support for Arm architecture on the Microsoft Universal Windows Platform |
APIUnity | Added a WebSocket state changed event. |
APIUnity | Added a WebSocket state changed callback |
Feature | Added support the CSS Typed Object Model |
Feature | Added support for custom media features |
FeatureUnity | Added support for NGGC for Sony PlayStation 5 |
FeatureUnreal Engine | Introduced a way to run update the views on a worker thread |
Enhancement | Added support for animating stroke-dasharray |
Enhancement | Added a warning when setting properties without units |
Enhancement | Improved the inspector performance recording capture by allowing the selection of subsystem to be traced and a giving control over the amount of traced markers through a trace level selection |
EnhancementUnity | Improved support for CohtmlView inside a UICanvas hierarchy |
EnhancementUnity | Added support for adding CohtmlView with the context menu when an object is selected and that object has a Canvas as a parent |
Fix | Fixed a memory leak when animating SVG attribute values |
Fix | Fixed a floating point precision error causing texts to wrap spuriously |
Fix | Fixed issuing out of bounds HTTP requests for videos and added documentation about handling end of stream |
Fix | Fixed Touch Up/End event being fired with the wrong target element in some cases |
Fix | Fixed history.replaceState failing with relative URLs throwing an origin error |
Fix | Fixed an incorrect message about unsupported box-sizing CSS property with value border-box |
Fix | Added a missing changelog entry for flex longhand support in version 1.48 |
Fix | Fixed a crash when SVG elements are appended to the DOM in event handling functions |
Fix | Fixed createElementNS to correctly work with a null namespace argument |
Fix | Fixed generating wrong URLs for the views in the inspector with multiple views |
Fix | Fixed a crash during the mouse event firing when GC collects elements that are part of the event path |
Fix | Fixed multiple crashes and undefined behaviors related to objects being wrongly collected by GC |
Fix | Fixed the !important CSS flag not working in custom expressions and properties with URL |
Fix | Fixed custom elements not getting upgraded when define is called after creating the element |
Fix | Fixed an infinite recursion with mask and clipPath SVG elements which are self-referencing themselves |
Fix | Fixed aliasing on the border edges of transformed elements |
Fix | Fixed applying rules from @media rules that fail to be parsed |
Fix | Fixed setting textContent or innerHtml to null or undefined not clearing the content of the element |
Fix | Fixed parsing HTML comments properly with innerHtml |
Fix | Fixed Element.closest method failing to return the element on which was called as a match |
Fix | Fixed an uninitialized value for angle in linear gradients which was causing the comparison of two gradients to always return different |
Fix | Fixed Player crashing on Mac OS X when allocating executable memory for V8 |
Fix | Fixed support for Mac OS 10.12 in the samples |
Fix | Fixed HDR sample being darker in evaluation packages |
FixUnity | Worked around Unity restriction to let textures be reused with different sampler states in the same frame for all graphics APIs except OpenGL |
FixUnity | Removing the mouse event skip logic causing lag in the Cohtml API |
FixUnreal Engine | Fix path rendering with RHI implementations which don’t support first instance |
FixUnreal Engine | Fix crash on Android with GLES3 in UE |
Version 1.50.0
Released 02 Feb 2024
API | Regenerated the license keys used for initialization of the library |
API | The window.load event no longer waits for images loaded through CSS |
API | Samples for Microsoft UWP and GDK platforms now use the Microsoft Visual Studio 2022 toolset |
API | Prebuilt Renoir rendering backends now use Microsoft Windows SDK 10 and the Microsoft Visual Studio 2022 toolset |
APIUnity | Deprecated View in favor of NativeView property of the CohtmlView component |
API | Removed the PreferCPUWorkload option from backend’s capabilities |
API | Removed the GLES2 support |
API | Removed the Shape Morphing support |
API | Changed rendering backend’s capabilities to fit for the new command batching flow. Read more in the migration guide. |
API | Changed shaders' vertex layout to fit for the new command batching flow. Read more in the migration guide. |
API | Added new commands in the rendering backend which need to be handled for the new command batching flow. Read more in the migration guide. |
API | Changed constant buffers in the rendering backends to fit for the new command batching flow. Read more in the migration guide. |
API | Removed support for Microsoft XDK (aka Durango) SDK for Microsoft Xbox One consoles |
Feature | Added support for Touch and TouchEvent constructors for all platforms except UWP arm |
Feature | Added support for capturing a screenshot in the inspector and through the dev tools protocol |
Feature | Enhanced batching of the rendering commands which combines the CPU and GPU workload and improves the efficiency. Check the migration guide. |
Feature | TouchEvent.touches now contains information about all touches |
Feature | The Player application can now receive touch events on Microsoft Windows |
Enhancement | Added resize logic for all samples using UI Composition, Surface Partitioning, and Backdrop Filter features |
Enhancement | Added support for backface-visibility CSS style |
Enhancement | Added support for GPOS kerning for fonts |
Enhancement | Added partial support for SVG transform, width, height, and viewbox JavaScript properties |
EnhancementUnreal Engine | Improved the sample hub UI |
Enhancement | Updated FreeType to version 2.13.2 |
Enhancement | Added GPU memory tracking to profiling output |
Enhancement | Optimized performance of border-image with SVG |
Enhancement | Added support for sending input events to composited surfaces |
Fix | Fixed a deadlock when scratch textures caches are being cleared |
Fix | Fixed incorrect marking of scratch textures as not usable |
Fix | Fixed a crash when try to read an invalid FreeType face |
Fix | Fixed incorrect SVG clipping with clip-path and mask elements when using them in user space |
Fix | Fixed positioning of nested elements when using cohinline |
Fix | Fixed mouse events not firing correctly for cohinline elements |
FixUnity | Fixed rendering problems with OpenGL and C# Backend in Unity |
Fix | Fixed leaking transformations when scaling SVGs to sizes smaller than 1 pixel |
Fix | Fixed a crash in the Player with HTTP requests on quit |
Fix | Fixed text nodes being 1 pixel larger then necessary that led to incorrect positioning when using right alignment |
Fix | Fixed missing texture when an image is used for only one frame |
FixUnity | Fixed the errors encountered when the Samples were removed from the package |
FixUnity | Fixed the backdrop filter texture format type in HDR mode |
Fix | Fixed requestAnimationFrame callbacks executing on the same frame |
FixUnity | Fixed the OnGUI events input regression caused by the latest input performance upgrades in Input Manager mode. |
Fix | Passing an empty string to textContent property won’t create empty text nodes |
Fix | Fixed cases where event listeners are not fired when other unrelated event listeners are removed |
Fix | Fixed excessive character vertical offset with certain fonts |
Fix | Fixed a crash caused by improper use of GIFs as background images |
Fix | Fixed a warning when setting the animation shorthand property to none |
FixUnreal Engine | Fixed safe zone and letter boxing on the Apple iPhone devices |
FixUnreal Engine | Removed forgotten experimental mentions from the documentation regarding Android and iOS platforms |
FixUnreal Engine | Address accumulation of frames for painting when UMG Widgets are hidden or minimized |
FixUnreal Engine | Fixed PlayerOverrides build issues |
FixUnreal Engine | Fixed UE package unzipping issue with the native Windows File Explorer manager |
Fix | Fixed composition with custom effects |
FixUnity | Fixed crashes when rapidly starting and stopping the Player in the Unity3D Editor |
FixUnity | Fixed order of touch events in Unity3D when Input Manager is used |
Fix | Removed forgotten experimental mentions from the documentation regarding inline layout, complex text, and SDF on GPU features |
FixUnity | Removed forgotten experimental mentions from the documentation regarding the C# backend feature |
Fix | Fixed a bug with upgrading cloned custom elements that prevented their lifetime callbacks to be invoked |
Fix | The inspector now shows the views for inspection only when they have a valid document loaded |
Fix | Fixed CSS calc functions failing when running with locale settings where the decimal symbol is not a dot |
Fix | Fixed a crash when clearing SVG surfaces caches |
Fix | Fixed invoking newly added event listeners during the dispatching of the event |
Version 1.49.0
Released 20 Dec 2023
Enhancement | Improved inline RTL text positioning and punctuation wrapping |
Enhancement | Made the inspector show an empty style object for elements without inline styles that can be used to easily add new styles |
Enhancement | Added finish , cancel and commitStyles from the WAAPI |
Enhancement | Unity plugin is now compiled against .Net Standard 2.0 to ensure cross-platform .Net profile support |
Enhancement | Adjusted the Switch sample renderer to work with the latest (18.0.1) SDK |
Enhancement | Trimmed trailing zeros from stringified property values |
Enhancement | Improved the warning message when using fonts that weren’t loaded |
EnhancementUnreal Engine | Add abort resource request handling |
Fix | Fixed RTL text being drawn a bit to the right making it stick out of its element bounding box |
Fix | Fixed font-fit not working correctly when using preserve whitespace mode |
Fix | Fixed wrongly rendered newline characters as spaces when using preserve whitespace mode |
Fix | Fixed visual artifacts left over from drawing squares while the font isn’t loaded for complex text |
Fix | Fixed wrongly positioned background-color when using cohinline with text-align |
Fix | Fixed words drawn in incorrect order when displaying right-to-left languages |
Fix | Fixed positioning of nested elements after wrapped text in cohinline |
Fix | Fixed RTL direction in cohinline for nested texts |
Fix | Fixed incorrect punctuation wrapping with cohinline |
Fix | Fixed text wrap when using a mix of languages and punctuation |
Fix | Fixed negative letter-spacing sometimes cutting text |
Fix | Fixed asserts during GC tracing |
Fix | Fixed support for paths with spaces in sony_strip_debug_symbols.bat |
FixUnreal Engine | Remove unused AtlasManager callbacks |
FixUnreal Engine | Procedural sound replay warning |
API | Trimmed trailing zeros from stringified property values. This may break code comparing style values as strings |
Version 1.48.0
Released 07 Dec 2023
Feature | Update Nintendo Switch SDK to 16.2 |
Feature | Support PlayStation 4 SDK 11.000 |
Feature | Support PlayStation 5 SDK 8.000 |
Enhancement | Implemented a faster memory allocator for PlayStation 5 samples |
Enhancement | Optimized performance of SVG images used as border-image |
Enhancement | Added support for more font weights - book , demi , etc |
Enhancement | Provide the Error object as reason forunhandledrejection events |
Enhancement | Documented the lifetime of media resources used in video elements |
Enhancement | Documented GIF image format support |
EnhancementUnity | Removed the need for different libraries for the different scripting backends and .Net versions |
Enhancement | Added support for flex longhand |
Fix | Fixed crash when the unhandledrejection event handler adds an error handler to the promise object |
Fix | Fixed incorrect size of compositor textures when border-radius is applied |
Fix | Fixed rendering discrepancies on GLES3 caused by floating precision problems |
Fix | Fixed unnecessary redrawing of the area of hidden elements that have a backdrop filter applied |
Fix | Fixed composited elements with display: none not invoking OnCompositionRemoved |
Fix | Fixed elements with custom effects with display: none not invoking OnCustomEffectRemoved |
Fix | Fixed leaking surface partitioning data for elements with display: none |
Fix | Fixed redrawing of nested compositions |
Fix | Fixed Player not opening on Mac due to missing CFBundleExecutable variable |
Fix | Ensured the garbage collector is triggered often enough to collect video related memory |
Fix | Fixed a crash when the DOM is modified in the event handlers of mouse input events |
Fix | Fixed a crash when there is more than one event handler attached to an element |
Fix | Fixed a crash from improper use of GIF images as background images |
Fix | Fixed pseudo elements background disappearing after content is changed |
FixUnity | Fixed repeating certain touch events when InputManager is used on mobile devices |
Fix | Fixed cases in which positioned elements caused incorrectly calculated scroll size |
FixUnreal Engine | Fixed a crash when cancelling resource requests |
FixUnreal Engine | Fixed Microsoft Windows and Xbox builds when unity builds are used |
FixUnreal Engine | Fixed a crash when destroying the View Wrapper’s texture |
FixUnreal Engine | Fixed Unreal Editor hang when using surface partitioning with UMG |
FixUnreal Engine | Skip issuing a warning for missing viewport if the game world is tearing down |
FixUnreal Engine | Fixed a crash on GDK platforms when Unreal memory trace is enabled |
APIUnity | Removed the .IL2CPP. variants of the Unity plugin libraries |
Version 1.47.0
Released 07 Nov 2023
Feature | Implemented ResizeObserver API |
Enhancement | Image-rendering support for border images |
Enhancement | Added support for copy and paste in the Elements tab of the Inspector |
Enhancement | HTML preloading now ignores query parameters from URLs when storing and serving HTML files from the cache |
Enhancement | Added support for the new rgb() functional notation syntax |
Enhancement | The maximum number of initiators for Recalculate Styles/Layout events defaults to 0 now. That’s because getting the initiators can skew the Inspector performance profiling results. Clients can set the maximum count manually by using the JavaScript engine.setInspectorInitatorsUpperBound(count) function. |
Enhancement | Added partial support for keyframe rules to the CSSStyleSheet.insertRule() API |
Enhancement | The Player uses the system OpenAL.framework on Mac OS |
Enhancement | Added documentation how mouse related behavior works when the mouse is idle |
EnhancementUnity | Add IVirtualAllocator implementation for Sony PlayStation |
EnhancementUnity | Add IVirtualAllocator implementation for Microsoft Windows and Xbox |
EnhancementUnity | Add IVirtualAllocator implementation for Nintendo Switch |
EnhancementUnity | Added support for binary messages in WebSocket implementation |
EnhancementUnreal Engine | Removed legacy code for controlling OnAssetSaved callbacks for atlases |
EnhancementUnreal Engine | Added IVirtualAllocator implementation for Microsoft Windows and Xbox |
EnhancementUnreal Engine | Added IVirtualAllocator implementation for Sony PlayStation 5 |
EnhancementUnreal Engine | Added IVirtualAllocator implementation for Nintendo Switch |
Fix | Fixed broken surface partitioning in evaluation builds |
Fix | Fixed accumulating memory caused by requestAnimationFrame callbacks |
Fix | Fixed assert when trying to draw background image on 0 background size |
Fix | Fixed assert for SVG properties passed to style.setProperty |
Fix | Fixed parser errors due to HTML tags in CSS comments |
Fix | Fixed infinite recursion when specifying default font family as one of the generic font family keywords |
Fix | Fixed OnUserImageDropped being called after rendering resources are freed |
FixUnity | Fixed crash when domain reloading is disabled in Unity |
FixUnity | Fixed crash on Xbox when the project quality is set to ‘Very Low’'' |
FixUnity | Fixed horizontal scroll touch gestures |
FixUnity | Fixed losing focus on input fields on platforms with virtual keyboards |
FixUnity | Ensure the proper disposal of the Library params object |
FixUnreal Engine | Added low level guard to prevent hitting a potential assert when loading Atlas textures |
Version 1.46.0.1
Released 06 Oct 2023
FeatureUnity | Added IME support for Japanese, Korean and Chinese |
FeatureUnity | Exposed the ScriptCompiler API to Unity. |
FeatureUnreal Engine | Support for Unreal Engine 5.3.1 |
Enhancement | Allow invalidating of the textures used to draw SVGs. This allows user code to force Cohtml to recreate the textures in the proper texture format if the user render target has changed its format. |
Enhancement | Enabled V8 pointer compression on Xbox family of game consoles |
Enhancement | Added known issues to the compositor documentation |
Fix | Fixed wrongly triggered layout when changing properties on hidden elements |
Fix | Fixed making POST XmlHTTPRequests in the Player on Mac OS 13.5 |
FixUnity | Fixed switching Unity scripting backend when switching to consoles |
FixUnity | Fixed Unity editor crash on script recompilation. |
Fix | Fixed wrongly calculated font size when using nested elements with em s |
FixUnity | Added PlayerOverrides project dependencies. |
FixUnity | Blur the currently focused element in the UI when Unity player loses focus |
FixUnity | Fixed UTF-8 handling for WebSocket text messages |
Fix | Fixed a crash when removing textarea attributes |
Fix | Fixed potential crashes and missing filters when using filters with no effect |
Fix | Fixed the inspector stalling the thread when errors occur |
Fix | Fixed button element not being able to have pseudo elements |
Fix | Fixed false positive unregistered font warnings |
Fix | Fixed a crash when view reload is called before loading an URL and attaching it to the inspector |
Fix | Fixed CSS adjacent sibling selector not working if there is a comment between the elements |
Fix | Fixed ElementFromPoint returning a text node instead of element node |
Fix | Fixed a crash when destroying the view renderer during layout |
FixUnreal Engine | Added missing Plugin includes and fixed Include-What-You-Use compliance |
FixUnreal Engine | Fixed the the custom effect sample on Switch |
FixUnreal Engine | Fixed the Unreal Engine installer failure when no ‘clean’' option is selected' |
Version 1.45.0
Released 05 Sep 2023
Feature | Added support for SVG border image |
Feature | Implemented the queueMicrotask JavaScript function for platforms using V8 |
FeatureUnreal Engine | Support for Unreal Engine 5.3.0 Preview 1 |
Feature | Added support for Lottie animations |
Feature | Added support for conic gradients used as background-image |
Enhancement | Changed PlayStation 5 Renoir backend to use compute shaders for clearing render targets |
EnhancementUnreal Engine | Reworked the CoherentSample levels showcasing the plugins features |
EnhancementUnreal Engine | Reworked CoherentSample and the plugins includes so they can be compiled without precompiled headers |
EnhancementUnreal Engine | Refactored Content Browser and Raw Image Importer tool extension code |
EnhancementUnreal Engine | Simplified the cohtml::System initialization flow for the DedicatedUIThread map |
Fix | Fixed stylesheets not being applied in the frame in which the load event is fired |
Fix | Fixed link elements not applying styles when changing the href attribute |
Fix | Fixed race condition in resource changelogs |
Fix | Fixed wrong clipping which was causing missing elements |
Fix | Fixed crash during View initialization on iOS |
Fix | Fixed the CohtmlView rendering with CohtmlCanvasRenderer in HDRP and URP modes |
Fix | Fixed texts from sometimes disappearing when parent elements change display |
Fix | Fixed redrawing SVG shadows |
Fix | Fixed a crash when using animations and transitions with negative duration |
Fix | Fixed getPropertyValue to look for custom variables in the visible CSS declarations |
Fix | Fixed objectBoundingBox mask units when masking transformed content |
FixUnreal Engine | Fixed evaluation copy installer fail when Engine installation is selected |
FixUnreal Engine | Fixed plugins platform defines for platforms XboxOne, XboxOneGDK, and XB1 configurations |
FixUnreal Engine | Fixed crash during OnUserImageDropped callback |
FixUnreal Engine | Removed backward compatibility for pre-1.14.3 atlas metadata files |
Fix | Fixed potential creation of large textures for composited surfaces. This could be hit if using overflow:scroll on a composited container |
Version 1.44.0
Released 10 Aug 2023
Feature | Replaced ChakraCore with V8 for Universal Windows Platform for x86 |
Feature | Added remove method on DOM elements |
FeatureUnity | Added support screen overlays with Unity UI Canvas |
FeatureUnreal Engine | Added option for enabling the Linear Space Rendering Pipeline, enabling the support for textures in Linear sRGB Color space |
FeatureUnreal Engine | Made the plugin code compliant with Include-What-You-Use |
Enhancement | Setup memory allocators for the ICU library |
Enhancement | Allowed changes to the ImageOrigin for raw images |
EnhancementUnity | Added events for Library and UISystem initialization |
Enhancement | Allowed using different samples for different texture slots in shaders |
Fix | Fixed lack of transitions with animation-fill-mode and style changes in a single frame |
Fix | Fixed crash when drawing canvas without commands |
Fix | Fixed visual artifacts of SVG paths with a stroke that is not a color |
Fix | Fixed a V8 crash on secondary Library initialization |
Fix | Fixed negative letter-spacing sometimes cutting text |
FixUnity | Fixed allocating a new C# UnityPlugin instance on each access |
FixUnity | Fixed possible artifacts caused by scratch texture reuse |
FixUnity | Fixed crash Metal backend when there are multiple cameras with views |
FixUnity | Fixed Unity Mac bundle package naming |
FixUnity | Fixed running the Player with the scripts |
FixUnreal Engine | Fixed crash when making profile capture with screenshots enabled for DirectX12 |
FixUnreal Engine | Removed mixed (game and engine) plugin installation |
Version 1.43.0.1
Released 24 Jul 2023
Feature | Added support for the HTML template element |
Enhancement | Added CSSStyleDeclaration.removeProperty |
Enhancement | Added compile time checks to stop creating data-binding models from unsupported types |
Enhancement | Made CSSStyleDeclaration.setProperty work with non-custom properties |
Enhancement | Stopped creating layers for color matrix or blur filters that do not result in visual changes |
EnhancementUnreal Engine | Added compile time checks to stop creating data-binding models from unsupported types |
EnhancementUnreal Engine | Improved resource handling of streaming textures |
EnhancementUnreal Engine | Prevent registering of BluePrint struct models received by copy |
EnhancementUnreal Engine | Moved update of the resource loading in the Game thread in a regular tick |
EnhancementUnreal Engine | Made the plugin installer report failures during installation |
EnhancementUnreal Engine | Transitioned the CoherentSample project to the Enhanced Input system |
Fix | Fixed objectBoundingBox masks for SVGs |
FixUnreal Engine | Fixed first sampler being forced on all sampler slots for Vulkan |
Fix | Fixed a regression with getElementsByTagName('*'') ' |
Fix | Fixed inline RTL text being displayed in the wrong order for right-to-left languages |
Fix | Fixed a case where a multiline text may get truncated at the bottom |
Fix | Fixed crash when using multiline bidirectional text |
FixUnity | Added automatic switching between Mono and IL2CPP scripting backends |
FixUnity | Added automatic detection for HDRP and URP rendering pipelines |
FixUnity | Fixed WebSockets not being able to connect with slower networks |
Fix | Fixed possibly skipping notifications for Layout tasks with task based concurrency mode |
FixUnity | Resolved the Unity3D integration samples CSS HTML and JS warnings. |
FixUnity | Fixed rendering artifacts on iOS |
Version 1.42.0.0
Released 22 Jun 2023
Feature | Introduce support for linear rendering pipeline where the rendering library will linearize all color and will use SRGB texture as intermediate rendering targets |
Feature | Added support for the svg image element |
Feature | Replaced JavaScriptCore with V8 for UWP on x64 |
Feature | Enabled PGO optimizations for GDK Xbox platforms |
Feature | Enabled PGO optimizations on PlayStation 5 |
FeatureUnreal Engine | Integrated Surface Partitioning for HUD and UMG widgets |
FeatureUnity | Integrated mimalloc inside UnityPlugin for Windows and MacOSX |
FeatureUnreal Engine | Added support for Unreal Engine 5.2 |
Enhancement | Added mimalloc allocator as a module for Microsoft Windows and Mac OS X |
Enhancement | Added the mimalloc allocator in the Player, Launcher, and Samples on Windows and MacOSX |
EnhancementUnity | Add the PlayerOverrides project in the Player folder. |
EnhancementUnity | Hide the entire Player folder from Unity3D editor package import process. |
Enhancement | Non-inline SVGs are now shared between DOM elements in order to avoid repainting for each individual element |
Enhancement | Support for Microsoft GDK version 2023.03 |
Enhancement | Support for Sony PlayStation 4 SDK version 10.500 |
Enhancement | Support for Sony PlayStation 5 SDK version 7.000 |
EnhancementUnreal Engine | Added control over view update for UMG widgets |
EnhancementUnreal Engine | Guarded a crash when wrong argument type is being used when calling from Blueprints Update or Remove data model from struct |
Fix | Fixed SVG gradients to update when related properties change |
Fix | Fixed SVG clipping to not leave artefacts when clipped elements have 0 scale |
Fix | Fixed SVG clip paths to hide elements that are outside their AABB |
Fix | Fixed crash when dispatching transition and animation events |
Fix | Fixed a false-positive warning for ‘Model: X is not registered yet’' when using data-bind-for' |
Fix | Fixed a bug where some SVG might disappear when their parent element has an opacity other than 1.0 |
Fix | Fixed text-overflow: ellipsis not showing text even when there is enough space |
Fix | Fixed memory leak when navigating between pages with custom elements |
Fix | Fixed innerHTML reordering comments and text |
Fix | Fixed potential wrong value in constant buffer passed to shader, usually resulting in white textures in the UI |
Fix | Make pseudo elements with a width of 5px or less be impacted by border-radius |
Fix | Fixed wrongly requested 4GB allocation when using cohinline with font-fit shrink on very small containers |
FixUnreal Engine | Add extra check if texture streaming is enabled when loading textures |
FixUnreal Engine | Add missing CohtmlBackwardsCompatibility.h header inside CotmlUTypeBinder.h |
Fix | Fixed regression in the graphics clipping state, causing disappearing parts of elements |
Version 1.40.0
Released 03 May 2023
Feature | Track all V8 memory allocations |
Feature | Added ability to extract GPU memory information |
FeatureUnreal Engine | Add Bink Video Player sample map |
Enhancement | Added support for base64 images |
Enhancement | Add the ability to control the rendering library caches in the inspector |
Enhancement | Start shipping the shaders' source code for the Sony PlayStation 4 and Sony PlayStation 5 platforms. |
EnhancementUnity | Support for the GetBoundingRect of NodeProxy method |
EnhancementUnreal Engine | Document how to order data binding and View::Advance order |
Fix | Fixed a potential crash after a view is destroyed with in-flight resource requests |
Fix | Fix a bug with backdrop-filter where the filtered content will continue to be displayed, even if the element has visibility:hidden |
Fix | Fix carriage return being wrongly rendered with some fonts |
Fix | Fixed text alignment with cohinline |
Fix | Fixed upgrading p elements with cohinline |
Fix | Fixed parsing of contain:none |
Fix | Fixed text sometimes failing to redraw with text-align |
Fix | Fixed memory accumulation when using elements with unresolved font |
Fix | Fix a potential double user texture wrap in the backend for the use background texture |
FixUnity | Package all uiresources library files. |
FixUnreal Engine | Fixed non-unity build compilation errors |
FixUnreal Engine | Fix a DPI scaling of widgets when they are constructed without UUserWidget , but warn for possible improper creation |
FixUnreal Engine | DedicatedUIThreadHUD 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
Feature | Unloading of background/border/mask images of elements hidden with display:none |
Feature | Added a library option to expose a JavaScript API that can force garbage collection |
FeatureUnreal Engine | Added integration with the Unreal Engine 5 Text-To-Speech plugin |
FeatureUnreal Engine | Delegate for OnNavigateTo |
FeatureUnity | Use C# controlled threads for layout and resource tasks |
Feature | Added full page capture to serialize a loaded page for debugging purposes |
Enhancement | Improved speed of creating custom elements |
Enhancement | Optimized string storage of script contents |
Enhancement | Changed engine.whenReady to be invoked before visual resources are loaded for more optimized initialization of the DOM |
Enhancement | Reduced memory taken by layout styles |
Enhancement | Decreased memory consumption for SDF glyphs |
Enhancement | Remove additional memory allocation for texture update |
Enhancement | Allow elements with coh-composition-id to be rendered offscreen and not rerendered when only their transformation is changed |
Enhancement | Add a AltGr key support and AltGraph modifier to EventModifierState |
Enhancement | Added the animationiteration , animationcancel , transitionrun and transitioncancel events |
Enhancement | Implement support for nested clipPath elements in SVG elements |
Enhancement | Enhance stroke rounded rects to use geometry instead of paths |
EnhancementUnreal Engine | Removed usages of AddToRoot and RemoveFromRoot |
EnhancementUnreal Engine | Add AltGr key input handling |
FixUnity | Fix the brightness correction when using Linear color space |
Fix | Background/border/mask images are now properly released when the style no longer requires them |
FixUnity | Fixed the world views adding extra mesh component |
Fix | Fixed a crash when using complex text with bitmap font |
Fix | Fixed crash when parsing long URL |
Fix | Fixed double invoke of UserImageDropped callback during system destruction |
Fix | Fixed caret position with text-align right and center |
Fix | Fixed borders with border-radius sometimes having incorrect colors |
Fix | Fixed parentElement on html element not returning null |
Fix | Fixed a crash when firing events on elements with pseudo elements |
Fix | Fixed elementFromPoint behavior with pointer-events:none |
Fix | Fixed Date.now() precision on Nintendo Switch |
Fix | Fixed display: none sometimes causing redraw |
Fix | Fixed assert when SVG root is hidden with display: none |
Fix | Fixed text key shortcuts to work as expected with Control, Alt, AltGraph, and Shift modifiers. |
Fix | Fixed some letters being interpreted as the newline character in input fields |
Fix | Fixed SVG elements not redrawing correctly in some cases |
Fix | Fixed a crash when applying white-space property on input elements |
Fix | Fixed a deadlock that can occur during loading of images |
Fix | Borders having width less than 1px and using images/gradients as border-image-source are no longer disappearing |
Fix | Fixed pausing animation with duration 0 rendering it at the beginning |
Fix | Fixed a crash in MediaProvider::OnSeekDataReceived |
Fix | Fixed potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option. |
Fix | Fixed submission validation errors for Sony PlayStation 5 |
Fix | Fix a crash when nesting elements that use the clip-path property in an SVG |
Fix | Fixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option |
API | Removed OnIMEShouldCancelComposition legacy code |
Version 1.38.0
Released 21 Feb 2023
Feature | Introduce a new ‘UI Surface Partitioning’' feature that gives the ability to split the UI in parts that will be rendered in separate textures. See the documentation for more details' |
Enhancement | Added documentation for the coh-composition-id, coh-partitioned, and coh-rendering-options |
Enhancement | Enhanced stroke rounded rects to use geometry instead of Path for better performance |
Enhancement | Implemented a full page capture feature that can serialize a loaded page to a binary blob for easier debugging |
Enhancement | Added support for null when setting style.[top|left|right|bottom]PX for unsetting the property |
EnhancementUnreal Engine | Added a way to ignore the automatic binding of specific UFunctions |
Fix | Fixed a crash when applying white-space property on input elements |
Fix | Fixed a deadlock that can occur during loading of images |
Fix | Fixed a regression with user images that may have caused crashes |
Fix | Borders having width less than 1px and using images/gradients as border-image-source are no longer disappearing |
Fix | Fix the disappearing of small border corners |
Fix | Fixed pausing animations with zero duration to render the correct state |
Fix | Fixed a potential crash when creating/destroying video elements or changing the src attribute |
Fix | Fixed a potential crash when destroying Vertex/Index buffers in the backend when using the ViewSettings::ExecuteCommandProcessingWithLayout option |
Fix | Fixed a crash when nesting elements that use the clip-path property in an SVG |
Fix | Fixed potential threading issue when using multiple views along with the ViewSettings::ExecuteCommandProcessingWithLayout option, leading to the missing texture errors |
Fix | Removed additional memory allocation for texture updates |
Fix | Fixed an assert in Debug configuration related to visual AABBs |
Fix | Fixed possible GPU hang due to failing Index buffer diagnostic check 16690 in the stock PS4 backend. |
Fix | Fixed wrong layout when using font-fit in a dynamically sized flex sub-tree |
Fix | Fixed inner HTML in localized content not displayed correctly unless wrapped in a single HTML element |
Fix | Fixed unnecessary request for an invalid texture from the backend in the Compositor sample |
Fix | Fixed incorrect handling of background-size single value extent and auto value |
Fix | Fixed possible assertion for a missing render target when having an element with both coh-composition-id and filter CSS properties |
Fix | Fix the occasional disappearing of SVGs used as masks |
Fix | Fixed SVGs not drawing correctly when using preserveAspectRatio="none" |
FixUnity | Fixed submission validation errors for PlayStation 5 |
FixUnreal Engine | Fix retrieval of game viewport when multiple PIE processes exist |
Version 1.37.0.1
Released 01 Feb 2023
Feature | Added support for debugging with Visual Studio Code |
Feature | Added text-anchor property for SVGs |
Feature | Added movementX and movementY for mouse events |
FeatureUnity | Add a window in Unity editor warning for known issues with specific Unity versions |
FeatureUnity | C# Rendering backend support for Android with Vulkan |
FeatureUnity | C# Rendering backend support for MacOS |
Enhancement | Added more meaningful debug logs for the lifetime events of images |
Enhancement | Provided a callback for whenever a user image is dropped before being used |
Enhancement | Reduced draws in SVGs when duplicate paths are present |
Enhancement | Each view can be inspected by multiple inspector instances |
Enhancement | classList add and remove work with more than one argument |
Fix | Fixed getBoundingClientRect for transformed elements. |
Fix | Fixed multiple sources in background-image delimited by whitespace being valid |
Fix | Address potential COM warnings related to XInput usage in samples |
Fix | Hidden elements are no longer redrawn. |
Fix | Fix threading issues when compositor is used |
Fix | Fixed parsing of font families in SetAdditionalFontFallbacks function caused by whitespace |
Fix | Fixed leaking frame rendering data of discarded frames when using the multi-threaded paint option |
Fix | Fixed disappearing styles in the inspector styles tab on declarations edit |
FixUnity | Removed GLES2 and GLES3 dependency for iOS. |
Fix | Fixed data-bind-style-transform swapped second and third matrix values |
Fix | Fixed possible artifact when drawing a background with semi-transparent color and overlapping border radius. |
Fix | Fixed issues when appending multiple HTML, HEAD and BODY elements to a document |
Fix | Fixed a crash when destroying a view while tracing in the inspector. |
Fix | Stop tracing when the inspector frontend disconnects. |
Fix | Fixed out-of-the-box launching the Player application on newer Mac OS versions |
Version 1.36.2.1
Released 16 Jan 2023
EnhancementUnreal Engine | Significantly reduced the size of the Unreal Engine installers for consoles by removing the most of the binaries present in the regular installer |
Fix | Fixed data-bind-style-transform swapped second and third matrix values |
Fix | Fixed a crash during GC tracing of events |
Fix | Fixed a deadlock regression with user images |
Fix | Fixed potential “Called EndLayer to a command buffer which has … saved states to restore!” warning when using backdrop filter |
Fix | Fixed a precision error when calculating font-fit when given high precision numbers from CSS |
Fix | Fixed the rendering of nested SVG elements that use clip-path |
Fix | Fixed possible artifact when drawing a background with semi-transparent color and overlapping border radius. |
FixUnreal Engine | Fixed installer logic that adds module dependency for Cohtml and CohtmlPlugin when installing over an existing game |
FixUnreal Engine | Fix the crash when the inspector starts performance recording with screenshots enabled |
FixUnreal Engine | Fix non-compiled shaders for Custom Effects because of Unreal Engine 5.1’s ODSC |
Version 1.36.0.3
Released 19 Dec 2022
Enhancement | Support for Sony PlayStation 5 SDK version 6.000 |
Version 1.36.0.1
Released 16 Dec 2022
Enhancement | Implement optimization that caches SVGs used in elements so that the SVGs are not redrawn every frame |
Enhancement | Optimized approximating cubic curves into quadratic ones when doing font rendering |
EnhancementUnreal Engine | Make custom effects to work with dedicated layout thread |
Fix | Fixed virtual list parsing when there is a function call in the expression |
FixUnity | Fixed Unity 2022.2 HDRP rendering when using the native D3D12 backend |
APIUnreal Engine | Removed support for old engines prior to Unreal Engine 4.27 |
Version 1.35.0.3
Released 05 Dec 2022
Feature | Added mouse event type MouseLeave, which clears hover effects when the mouse leaves the view |
Feature | Implemented import.meta.url for ES6 modules for platforms using V8 |
Feature | Implemented dynamic import for ES6 modules for platforms using V8 |
FeatureUnreal Engine | Support for Unreal Engine 5.1 |
Enhancement | Reduced the amount of log messages caused by unsupported CSS syntax |
Enhancement | Non-inline SVGs are now shared between DOM elements in order to avoid re-rendering for each individual element |
EnhancementUnity | MacOS bundles support all CPU architectures |
Enhancement | Fixed possible incorrect generation of “streaks” when tessellating a path for filling. Note that this changes the tessellation result slightly, most noticeable when rasterizing thin fills. |
Enhancement | Improved error reporting of declaration parsing with custom variables |
Enhancement | Improved image decoding performance (sped up the automatic premultiplication of the alpha channel by 2x-3x depending on platform) |
Fix | Fixed a crash when modifying the DOM of an inline SVG |
Fix | Fixed a crash when using events outside of event handlers |
Fix | Fixed rem units not working with SVGs |
Fix | Fixed a leak when inspector network tab is disabled |
Fix | transform: translate/font-size with non-pixel units on SVG elements no longer causes an assert/warning |
FixUnity | Fixed code stripping removing classes or methods for the JIT aware scripting backends |
Fix | Fixed a bug where part of the viewport gets clipped when the rendering resolution API is used and the size of the view`s render target is changed |
FixUnity | Fixed a crash when not supported arguments are passed from JavaScript |
FixUnity | Fixed a crash when using HDR on DirectX12 in Unity |
Fix | Fixed incorrect sampling of very thin elements using a large scale, that previously led to incorrect interpolation |
Fix | Fixed a crash when resolving calc expression with invalid parentheses |
Fix | Fixed elements to update their font after registered fonts without explicit font family are loaded |
Fix | Fixed scroll juddering when panning with touch or scrolling fast |
Fix | Fixed a crash during garbage collector tracing |
Fix | Fixed SVG used as masks being partially rendered sometimes |
FixUnity | Removed GetNativeTexture call for Linux on each update loop |
Fix | Removed assert/log errors when an invalid url is provided to properties like background-image |
Fix | The getAnimations API now takes into account the display property of an element and its parents |
Fix | Fixed font family to be case insensitive |
FixUnity | Removed redundant View`s BackdropFilter property |
Fix | Fixed parsing of inline styles containing various whitespace characters |
Fix | Fixed possibly incorrect gradient drawing on PlayStation platforms |
Fix | Fixed a crash when command processors are being reused |
Fix | Fixed em units to be calculated against the first parent with explicit font-size instead of the direct parent |
Version 1.34.2.1
Released 17 Nov 2022
Feature | Added support for text-decoration-line, text-decoration-color, text-decoration-thickness, text-underline-offset, text-underline-position and the text-decoration CSS properties |
EnhancementUnity | Mac OS bundles support all CPU architectures |
Fix | Fixed linking of iOS ARM64 builds |
Fix | Fixed scroll juddering when panning with touch |
Fix | Fixed potential double trace and crash of objects during V8 garbage collector tracing |
Version 1.34.0.4
Released 10 Nov 2022
Feature | Added API to remove arrays exposed by reference from JavaScript |
Feature | Dispatch window Error event for platforms using V8 |
Feature | Add cohtml::ScriptCompiler for compiling scripts before loading for platforms using V8 |
Enhancement | New documentation with improved usability and searching for Custom engines, Unreal Engine and Unity Engine |
Enhancement | Clarified System API usage – System API must be called on the thread that initialized the System, unless explicitly stated otherwise |
Enhancement | Support for PlayStation 4 SDK 10 |
Enhancement | Optimized performance of font data preloading |
Enhancement | Added new API for creation/destruction of custom effects |
Enhancement | Gamepad events are now fired before JS timers execution on Advance |
Enhancement | Added warnings for registering an already registered gamepad and unregistering a non-registered gamepad |
Enhancement | Documented the new execution flow of resource commands through the rendering backends |
Enhancement | Enhance batching to check for older combinable commands |
Enhancement | Added pdb files for the prebuilt Renoir backends |
Enhancement | Inspector now accepts shorthand declarations |
Enhancement | Style tags now display their content in the inspector |
Enhancement | Added the event name to the warning message when trying to remove non-existent event listeners |
Enhancement | Abort execution of newly loaded scripts after document unloading has started |
EnhancementUnreal Engine | Added support for Custom Effects in Unreal Engine 5 |
Fix | Moved invocation of RegisterGamepad and UnregisterGamepad on the System initializing thread in GDK XBox samples for thread-safety |
Fix | Fixed log spam when inspector is enabled without an available network connection |
Fix | Fixed assert on Linux with Vulkan backend caused by wrong texture layout |
Fix | Fixed a crash when reloading pages using canvases and not calling ViewRenderer::Paint on all advanced frames |
Fix | Fixed inspector taking up memory space when disabled |
Fix | Fixed a case where the client`s backend can receive a DestroyTexture command for a user image before the WrapUserImage command |
Fix | Fixed a crash with std::map reading from JavaScript and a numeric string is used as a key |
Fix | Fixed forward fill mode animations to retain animated value on end when animation direction is reversed |
Fix | Fixed C4100 warnings in public headers, modules and samples |
Fix | Fixed bottom and right properties percent values being calculated against the width of the parent element |
Fix | Fixed assert when opening the inspector with Chrome language default different than English |
Fix | Fixed a crash when parsing background shorthand |
Fix | Fixed a crash when there are several elements inside element in a SVG |
Fix | Fixed !important order when used with custom variables |
Fix | Fixed a crash when importing a module that contains syntax errors |
Fix | Fixed a crash when performance handler is not passed |
Fix | Fixed hover functionality for elements that are part of complex selectors |
Fix | Fixed a crash when registering and unregistering gamepads |
Fix | Fixed setting a gamepad object when creating GamepadEvent from JavaScript |
Fix | Fixed a crash when unregistering a gamepad twice |
Fix | Fixed a GamepadEvent related crash during garbage collector tracing |
Fix | Fixed a crash when parsing clip-path:ellipse with a single argument |
Fix | Fixed animations not playing when a new element is shown after immediately being hidden |
Fix | Fixed crash when there is no function handler in engine.on call |
Fix | Fixed border-radius not working until a certain proportion of width and radius |
Fix | Fixed style matching of CSS attribute selectors with empty value |
Fix | Fixed the crash when clipPath is used together with opacity in SVGs |
Fix | Fixed an assert on Vulkan when user texture layout is different from VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL |
Version 1.33.3.1
Released 21 Oct 2022
Feature | Experimental support for inline layout background styles per row (color, images and gradients) |
Fix | Fixed elements leaving visual artifacts after being removed from the DOM |
Fix | Fixed a case where CSS variables will fail to be resolved |
Fix | Fixed a crash when certain SVGs have zero width/height |
Version 1.33.1.2
Released 12 Oct 2022
Feature | Added an interface for time zone support for Sony PlayStation and Nintendo Switch |
Enhancement | Implemented an optimization to reduce the number of render passes when rendering complex effects |
Enhancement | Added functionality and API to capture backend command buffers |
EnhancementUnity | Support for Android x64 |
Enhancement | Introduced new backend API for resource barriers (see the rendering migration guide) |
Enhancement | Enhance batching to check for older combinable commands |
Fix | Fixed the growth of the stroke width for elements in SVGs to be bidirectional |
FixUnity | Fixed binding between C# and JavaScript |
Fix | Fixed typescript definition of registering binding attribute |
Fix | Fixed order of custom element reactions when content is added through insertAdjacentHTML |
Fix | Fixed wrong indexing arrays with literal numbers in data-binding expressions |
Fix | Fixed crash in data-binding with complex expression and literal numbers indexing arrays |
Fix | Fixed the Date.now() time on Nintendo Switch. |
Fix | Fixed clipped text shadows when using line height which is less that the character height. |
Fix | Fixed background/mask-position when using a gradient as an image |
Fix | Fixed mask-position property when the mask-image is a gradient. |
Fix | Fixed a crash when changing the html background before the body element is created. |
FixUnreal Engine | Fixed assert when custom effects are enabled |
FixUnreal Engine | Fixed safe zone calculation with multiple viewports |
FixUnreal Engine | Fixed texture drawing in atlas crash in Unreal Engine 5 with DirectX12 |
Fix | Fixed the default value of stop-color in gradients defined in SVGs |
Version 1.32.1.2
Released 05 Sep 2022
Feature | Added new interface for logging performance hints |
FeatureUnreal Engine | Added Live Reload option for different directories |
Enhancement | Changed custom css float param for the custom effects to an array. Maximum of 16 values |
Enhancement | Added a new API for the compositor for notification when composition is created |
EnhancementUnity | Support Android Vulkan native rendering |
Enhancement | Moved AGC Shader library from include to lib folder in the native packages |
Enhancement | Command buffers are pooled now, instead of reallocated every frame |
Enhancement | Automatic disabling of constant buffer optimization if custom shader mapping is used in the backends |
Fix | Fixed a crash when modifying the DOM of an inline SVG |
Fix | Fixed a hang when using canvases with ExecuteCommandProcessingWithLayout option enabled and a dedicated layout thread |
Fix | Fixed early closing of renderer frames when doing layout on the DOM thread that was causing leaks |
Fix | Fixed failing transitions when combined with CSS animations |
Fix | Fixed a failing assert when the inspector is attached to a page with pseudo elements |
Fix | Fixed flickering of SVGs when the SVG element is moved. |
Fix | Fixed a crash when switching render target with processing rendering commands on the layout thread enabled |
Fix | Fixed binding objects with BaseClass in the CoherentBind function |
Fix | Fixed eager wrapping of multiple words caused by improper layout cache invalidation |
Fix | Fixed a crash when there are two wrap RenderTarget commands |
Fix | Fixed possible wrong positioning of element when using the –rescaleFontSizeWithMatrixScale developer option |
Fix | Fixed crash in CPU workload flow when trying to draw an image that wasn`t loaded successfully |
Fix | Fixed a crash when more than 65k vertices are requested during patterns/gradient drawing |
API | Added API for controlling the command buffer pool size (see cohtml::InternalCaches::ICACHE_GfxCommandBuffers / ICACHE_GfxCommandProcessors) |
Version 1.31.2.2
Released 22 Aug 2022
Fix | Fixed eager wrapping of multiple words caused by improper layout cache invalidation |
Version 1.31.0.1
Released 03 Aug 2022
Feature | Absolute positioned elements support for inline layout |
Enhancement | Enhance objects logging in the Inspector console for platforms using V8 for JavaScript execution. Objects are now properly expandable in the console log messages with captured callstack |
Enhancement | Added rem and % setters for left, right, top, bottom, width, height, maxWidth and maxHeight |
Enhancement | Added partial Float32Array setters for transform, filter, clip-path, transform-origin, mask-size and mask-position |
Enhancement | Increased the duration of JavaScript CPU profiles in the Performance tab |
Enhancement | Added support for transform-origin for SVG nodes |
Enhancement | Added documentation about the Inspector`s new tracing capabilities |
EnhancementUnity | Added support for Vulkan rendering on Android using the C# rendering backend |
EnhancementUnreal Engine | Add option to propagate mouse wheel events through transparent CSS classes |
Fix | Fixed inconsistencies with nested elements in inline layout |
Fix | Fixed inline layout word wrapping when text is nested in elements |
Fix | Fixed minor issues with text wrapping in inline layout |
Fix | Fixed potential crashes when drawing glyphs and using the PreferCPUWorkload option |
FixUnity | Fixed C# backend crash when the VB/IB buffer data is being set to the mesh |
Fix | Fixed a deadlock when the layout is processed on the DOM thread and rendering canvases |
Fix | Fixed a crash when detaching elements with animated pseudo elements |
Fix | Fixed artifacts from text not properly clearing in cases when the used font-size and line-height made the text get outside of the line`s visual dimension |
Fix | Fixed possible race condition in ShaderGradientTextureCache when using command processing on the layout thread |
Fix | Fixed possible memory leak when displaying a path at a very low scale (less than ~0.01) |
FixUnreal Engine | Fixed input propagation for in-world Views |
Version 1.30.0.1
Released 06 Jul 2022
Feature | Added View::TerminateScriptExecution to terminate long running scripts |
Enhancement | Improved the performance of the C++ character processing functions(tolower/toupper) in the internal code |
Enhancement | Updated Nintendo Switch SDK to version 14 |
Enhancement | SDF text with different size is now batched |
Enhancement | Renamed ICU libs with cohtml_ prefix |
EnhancementUnity | Added support for binding long and ulong values |
Fix | Fixed wrong text direction with some RTL scripts |
Fix | Fixed preloading of unsupported formats in the instaload sample |
Fix | Reduced JS garbage memory from fired events |
Fix | Fixed hover not working for newly added elements styled by complex selectors |
Fix | Fixed incorrect layout when using flex subtrees with simple mode layout |
Fix | Fixed overlap of transparent borders when using border-radius |
Fix | Guarded against drawing too small rectangles when using the inspector highlight, which could potentially trigger an assertion in the SDK |
Fix | Fixed possible excessive fullscreen draws to the stencil buffer when executing clipping commands |
Fix | Fixed load event not firing when using the same image as background and border or mask image |
Fix | Fixed load event firing before all images are loaded when using the same image source of an IMG tag as a background-image |
Fix | Fixed graphic artifacts when “transform-style: preserve-3d”” was missing between 3D transformed elements and elements with perspective” |
FixUnreal Engine | Fixed hang when loading atlasses saved with previous version of the atlas medata |
FixUnreal Engine | Fixed video decoding hang for console platforms in Unreal Engine 5 |
Version 1.29.2.1
Released 10 Jun 2022
Feature | Added sample for using Google Protocol Buffers with data-binding |
Feature | Implement custom property binding for protobuf::Message and protobuf::Field |
Feature | Added support to the Devtools to display the state of some internal caches |
Feature | Added support for GDK native rendering in Unity3D |
FeatureUnreal Engine | Add delegate for controlling which properties are exposed with the automatic binding |
Enhancement | The rendering library will automatically detect multithreaded usage and will set AllowMultithreadedCommandProcessing accordingly |
Enhancement | Fixed iOS simulator by adding new metal shader library built specificly for simulator in the package. For Unity3D it`s embedded in the native plugin. |
Enhancement | The CSS parser will try to continue parsing the stylesheet after encountering errors in rules and declarations |
Enhancement | Increased the severity of CSS parsing errors |
Enhancement | Added support for attributes on the HTML element |
Enhancement | Enable duplicate rendering command buffer checking by default. This saves the execution of potentially costly commands. |
Fix | Fixed possible artifact when a node is hidden with display:none without other layout changes |
Fix | Fixed crashes when parsing badly defined media queries |
Fix | Fixed broken layout when hiding and showing cohinline paragraph elements |
Fix | Fixed broken layout when using justify-content space-around with a single element |
Fix | Fixed a race condition when using XmlHTTPRequests with response headers and enabled inspector that might cause a crash |
Fix | Fixed an issue where styles won`t be applied to elements with transitions that have already been displayed once |
Fix | Fixed the artifacts when drawing repeated an image from a texture atlas |
Fix | Fixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation |
Fix | Fixed the library from crashing the process when the UISystem::Unitialize has not been called |
Fix | Fixed transform-origin being reset to a default value when changing a style through the inspector |
FixUnreal Engine | Fixed deadlock issue with accessing a texture resource TSoftObjectPtr on worker threads |
Fix | Fixed possible artifact when tessellating the same path at different scales |
Fix | Fixed incorrect generation of antialiased border geometry when drawing a gradient with perspective transformation |
API | Added means for destroying the user render target through the Scene`s DestroyRenderingResources method |
Version 1.28.2.3
Released 06 Jun 2022
Enhancement | Update Sony PlayStation 5 SDK to 5.000 |
Enhancement | Update Sony PlayStation 4 SDK to 9.500 |
Enhancement | Update Game Development Kit to March 2022 |
Fix | Fixed incorrect generation of anti-aliased border geometry when drawing a gradient with perspective transformation |
Fix | Fixed an issue where styles won`t be applied to elements with transitions that have already been displayed once |
Version 1.28.0.1
Released 18 May 2022
Feature | Devtools Add rendering trace markers |
Feature | Devtools Add ability to record screenshots |
Feature | Devtools Add support for tracking the creation, destruction, and count of GPU objects |
Feature | Devtools Add support for tracking the GPU memory used by the rendering library |
Feature | Add custom CSS property coh-use-aa-geometry to enable control over AA of specific element. By default it`s enabled and it can be used for disabling AA of an element. |
Enhancement | Devtools The rendering trace events in the inspector`s performance tab now have information about the DOM node which was rendered |
Enhancement | Add support for “background-repeat: round” for background SVGs larger than 1024px |
Fix | Add support for changing the Window origin on Nintendo Switch. Note that you need to use the –disableSimpleSublayers developer option for full support |
Fix | Fixed V8 freeing memory on small GC collections |
Fix | Fixed a regression in absolute element size calculation when width and height weren`t specified margins were ignored |
Fix | Fixed wrongly positioned absolute flex items with percents when parent element had margins |
FixUnreal Engine | Fixed CohtmlHUD Material compatibility with Unreal Engine 4 |
Version 1.27.0.2
Released 04 May 2022
Feature | Implemented the DOMContentLoaded event |
Feature | The page load event fires after all images are loaded, including images specified in styles |
FeatureUnreal Engine | Preview support for Unreal Engine 5. Known issues include rendering artifacts on Nintendo Switch and iOS and video playback on game consoles |
FeatureUnity | Implement Input event propagation handler |
Feature | Implement an optimization for constant buffers to reduce number of updates and memory used. |
Enhancement | Fixed increasing memory when changing the style attribute or its properties |
EnhancementUnity | Add new sample to demonstrate the input events handling propagation |
Enhancement | Documented how to avoid banding in gradients |
Enhancement | Documented animation, chat and map JavaScript libraries support |
Enhancement | Add different semantics for null and undefined in the C++ bindings |
Enhancement | Implemented the animationstart and transitionstart events. |
Enhancement | Added propertyName to transition events. |
Enhancement | Added animationName to animation events. |
Fix | Fixed 9-slice and wrong image repeat in some cases |
Fix | Fixed calling pushState and replaceState History APIs without URL |
Fix | Fixed possible frame delay when drawing a new image from an atlas |
Fix | Fixed firing animationend event more than once for certain animations |
Fix | Fixed flickering artifacts caused by negated scaling for path objects (used by clip-path, clip-polygon, etc.) |
Fix | Fixed a crash in ClipboardData::Set when called nullptr string or invalid length |
Fix | Fixed custom elements reaction callbacks invocation order |
Fix | Fixed deferred scripts execution order |
Fix | Fixed WebAnimations API to return current frame time instead of the previous frame time |
Fix | Fixed document.readyState to report the document state correctly no matter when it is queried |
Fix | Fixed leaking WebSocket connections in the Player app |
Fix | Fixed nodes ignoring scroll set via JavaScript on the first frame |
Fix | Fixed transitions not activating on elements with pseudo elements |
Fix | Fixed transition state breaking when cloning nodes with JavaScript |
Fix | Fixed duplicated Inspector and Mutation Observer events on element inlineStyle change |
Fix | Fixed absolute element positioning when size is defined |
Fix | Fixed the animationend event to be fired once per animation instead of per property. |
Fix | Fixed a race condition when multithreaded command processing was enabled. |
Fix | Fixed a crash when destroying GPU buffers (vertices & indices). |
API | Removed forceStyleResolve option from GetAnimationsOptions, getAnimations now works by standard |
API | Deprecated ReadNull in favor of SkipValue in the cohtml::Binder |
Version 1.26.4.1
Released 15 Apr 2022
Enhancement | Improved performance of setting inline style in terms of CPU and memory usage. |
Version 1.26.2.1
Released 07 Apr 2022
Fix | Fixed InputManager gamepad null reference in Unity3d |
Fix | Fixed a regression of cohtml.js that made it unusable in a browser |
Fix | Fixed transitions not activating on elements with pseudo elements |
Fix | Fixed transition state breaking when cloning nodes with JS |
Fix | Fixed absolute element positioning when size is defined |
Version 1.26.0.1
Released 04 Apr 2022
Feature | Added public interface for a custom virtual allocator to the library |
Feature | Implemented default public virtual allocators for PlayStation and Switch |
Feature | Added support for the clipPathUnits property for elements in SVGs |
Feature | Added support for the image-rendering CSS property |
Feature | Added support for the caret-color CSS property |
Feature | Implemented the Inspector Search functionality in the Elements tab |
Feature | Added support for the InspectorDOM domain protocol function `DOM.describeNode which could be used for automation |
Feature | Added support for the InspectorDOM domain protocol functions – DOM.querySelector, DOM.querySelectorAll, and DOM.getAttributes |
FeatureUnity | Update ICU library to ICU v69 and provide InternationalizationManager and BreakIterator support for all platforms |
Enhancement | Implemented input caret navigation and selection for complex and RTL text |
Enhancement | Update V8 to 9.4 with latest security fixes |
Enhancement | Large SVGs used for mask-image use less memory and won`t create temporary textures larger than 1024×1024 |
Enhancement | Added Player command line argument option for fullscreen borderless window |
Enhancement | Implemented promise rejection event for V8 as some JS frameworks require it |
Enhancement | Using text measure cache more aggressively to improve text layout performance |
Enhancement | Update Nintendo Switch SDK to 13 |
Enhancement | Update Microsoft GDK to October 2021 release |
EnhancementUnity | Fixed performance regression from a Linux patch that is now behind a platform define |
EnhancementUnreal Engine | Add backwards compatibility for Atlas metadata files created prior to 1.14.3 |
Fix | Fixed crash when connecting the inspector to a page using lots of CSS variables |
Fix | Fixed binding unsigned integers greater than 2^31 |
Fix | Fixed a crash with complex text when the fonts used are missing the glyphs for it |
Fix | Fixed constant redraw of text nodes that were selected at some point |
Fix | Fixed firing of ViewListener::OnNodeTouched for TouchMove events |
Fix | Fixed a memory leak caused by binder state leak |
Fix | Fixed artefacts when scrolling right or center aligned text |
Fix | Fixed trailing artefacts of elements with inherited filters |
Fix | Fixed complex text letter spacing which was wrongly applied on overmarks and undermarks |
Fix | Fixed attributeChangedCallback for custom elements to be called only for attributes listed in observedAttributes |
Fix | Fixed a crash on UWP when utilizing a specific symbol on the JavaScript side |
Fix | Fixed JS return value of the isolation property. Now properly returns “isolate” instead of “isolation” |
FixUnreal Engine | Moved UObject creations from the Render thread to the Game thread |
FixUnreal Engine | Fixed Compositor errors for missing textures |
FixUnreal Engine | Initialize USTRUCT member variables that were not initialized at construction time |
FixUnreal Engine | Fixed debug asserts due to improper usage of GWorld |
FixUnreal Engine | Fixed soft locking when loading a streamable Texture |
FixUnreal Engine | Added a mutex lock to prevent concurrent accessing of the internationalization manager`s resources |
Version 1.25.1.2
Released 04 Mar 2022
Feature | Support for Binary WebSockets in the Network panel in the inspector |
Feature | Support MQTT over WebSockets |
Feature | Binary messages support for WebSockets |
Feature | Introduced support for anti-aliased clipping |
FeatureUnreal Engine | Added option that enables the loading of UTextures instead of raw images if they exist inside an Atlas or can be located on disk |
Enhancement | Exposed V8 Tracing events on Xbox, which show where V8 is spending time when executing JavaScript code |
Enhancement | Introduced new member in Compositor`s DrawInfo structure to show which view owns the composition which has to be drawn |
Enhancement | Reduced various internal classes memory footprint |
Enhancement | Cache attributes NamedNodesMap instead of allocating a new one on each query for better performance and memory |
Enhancement | Optimized redrawing areas size and frequency |
Enhancement | Reduced the HTMLParser memory usage |
Enhancement | Optimized the transitions performance to be not affected by using transition: all |
Enhancement | Added support for render passes in the DirectX12 backend |
Fix | Fixed a crash when GC happens inside MutationObserver notification |
Fix | Fixed premature removal of data-bind nodes from the evaluation graph when they have mutators |
Fix | Fixed Player app gamepad swapped buttons 8 and 9 |
Fix | Fixed possible graphics artifact (color bleeding) when using a SVG as repeated background image |
Fix | Fixed positioning of SVG |
Fix | Fixed the class, style and id attributes to be able to be empty |
Fix | Added missing mutation records when classes are changed through classList |
Fix | Handle possible assertion for a degenerate triangle when handling glyphs that contain cubic curves |
Fix | Fix SVG clipping for background SVGs with viewBox attribute that has non-zero position |
Fix | Fixed mutation observers being garbage collected too early |
Fix | Fixed resized images being minified when drawing them onto CanvasRenderingContext2D |
Fix | Fixed possible null access crash in DrawShadowShape |
Fix | Fixed suffix attribute selector |
Fix | Fixed flex absolute children size calculation not respecting the direct parent |
Fix | Calculate transform origin based on snapped to pixel size box |
Fix | Fixed ArrayBuffer type on JSC VM |
Fix | Allow cohtml.js to be included multiple times without side effects |
Fix | Fixed a rare crash when profiling performance via the inspector |
Fix | Fixed stale stacking contexts which in certain cases improves memory consumption |
Fix | Fixed an assert failure when using the compositor feature in Debug configuration |
Fix | Fixed rare cases where elements would be missing their visual style during rendering leading to assert failures and crashes |
Fix | Fixed wrong AABB debug visualization when using ShowElementAABBs feature |
Fix | Fix dissappearing pseudo elements |
Fix | Fixed URL parsing for URLs that contain backslashes |
Fix | Transitionend events are no longer fired when an element with a transition is shown |
Fix | Transition property changes now correctly take effect when the active transition ends |
Fix | Fix incorrect display of preloaded images using non-premultiplied alpha |
FixUnreal Engine | Fixed Video sample crash on Switch by disabling the Procedural sounds |
API | Modified the User fonts API so it takes the Ascent/Descent of a font instead of just the baseline |
API | Introduced new field in the RenderCaps structure of the backends – EndingRenderPassRequiresStateUpdate |
Version 1.24.1.3
Released 15 Feb 2022
Fix | Fixed MutationObservers being garbaged collected too early |
Fix | Fixed crash when DOM elements are created and destroyed during garbage collection |
Fix | Fixed assert for exposing garbage collected NodeList instances |
Version 1.24.1.1
Released 04 Feb 2022
Feature | Added polyfill for the form element |
Feature | Added JavaScript sampling profiler in the Inspector Performance Tab on Windows |
FeatureUnreal Engine | Added possibility to specify different directory locations for UE Texture Atlases |
FeatureUnreal Engine | Added callback which notifies when the input focus has changed |
FeatureUnreal Engine | Added Starter Guide for Unreal Engine |
Enhancement | Added ICU integration and BreakIterator support in GFP Player app and Samples on all platforms |
EnhancementUnreal Engine | Added C++ API for CohtmlInputActor input setup |
EnhancementUnreal Engine | Added ResizeRenderTarget API |
Fix | Fixed flaky wrapping of the elements when using flex wrap |
Fix | Fixed an issue in V8 that was blocking the use of the PlayStation Memory Analyzer tool |
Fix | Fixed SVG not being rendered in certain cases |
Fix | Fixed stroke width to be correctly computed on rescaling for SVG path elements with stroke-dasharray |
Fix | Fixed clipping artifact when layers with opacity and SVGs are present |
Fix | Fixed SVG elements inside a SVG hierarchy to correctly apply transformations at runtime |
Fix | Fixed crash due to unclamped negative size of image destination rectangles |
Fix | Fixed crash in the svg rendering when svg are displayed as images inside a backdrop filter |
Fix | Fixed playback of videos with low frame rate or gaps between frames |
Fix | Fixed looped videos playback |
Fix | Fixed the ::before pseudo element not showing in the inspector |
Fix | Fixed not matching pseudo elements with complex CSS selectors |
Fix | Fixed a crash when using null or undefined as an event listener. |
Fix | Fixed the DX12 Backdrop Sample crash during init and close. |
Fix | Fixed comments that were incorrectly displayed in the inspector Elements tab |
Fix | Fixed a crash with whitespace in text and RTL glyphs |
Fix | Fixed a crash when setting transform scale from JS |
Fix | Fixed tagName and nodeName to correctly return capitalized names for custom elements and unknown elements |
Fix | Fixed having duplicated nodes in the Inspector Elements Tab |
Fix | Fixed a V8 crash when using onpopstate event listener |
FixUnreal Engine | Fixed a crash on CohtmlViewWrapper trying to access uninitialized FSlateApplication |
FixUnreal Engine | Fixed a crash in CohtmlEditorPlugin::ShutdownModule when running applet commands |
API | Changed media seeked event to be fired before a new frame has been shown |
API | Added decoder type getter method to the IDecoder interface |
Version 1.23.0.2
Released 18 Jan 2022
Enhancement | Allowed WebSocket constructor to also accept a single string as a protocol |
Enhancement | Updated Sony PlayStation 4 SDK to 9.000 |
Enhancement | Updated Sony PlayStation 5 SDK to 4.000 |
Fix | Fixed incorrect clipping of SVG elements when they are within a sublayer |
Fix | Unity3D Fixed the backdrop filter support in HDRP projects in Unity3D |
Fix | Fixed some SVGs not being displayed inside an element with backdrop filter |
Fix | Fixed innerHTML to return the tag name of unknown elements. |
Version 1.22.1.3
Released 13 Jan 2022
Feature | Support for network requests in the Network panel in the inspector |
Feature | Support for WebSockets in the Network panel in the inspector |
FeatureUnreal Engine | Add raw image to UTexture import feature |
Enhancement | Update distributed ICU module with libraries for all platforms. The ICU version is also updated from v67 to v69. |
Enhancement | Style attribute updates dynamically as inline style changes in the inspector elements tab |
Enhancement | Reduced the memory used by the JavaScript heap on Sony PlayStation 4 and Sony PlayStation 5 |
Enhancement | Reduced the memory used by the JavaScript heap on Nintendo Switch |
Enhancement | Reduced HTMLElement memory footprint |
Enhancement | Reduce memory spikes caused by JavaScript accessing temporary DOM objects |
Fix | Implemented proper incremental garbage collection of the DOM objects |
Fix | Elements with backdrop filter now have the same size as the ones without |
FixUnreal Engine | Fixed the backdrop filter for Unreal Engine |
Fix | Fixed data-bind-html sometimes not updating when nested in data-bind-if |
Fix | Unity3D Fixed synchronization drawing Unity3D on Sony PlayStation 4 and Sony PlayStation 5 with the C# rendering backend |
Fix | Fixed a regression with the timing of firing internal media events when playing videos |
Fix | Unity3D Fixed missing font symbols when C# backend was used for the first time in the project |
Fix | Fixed crash in the inspector, caused by elements with invalid computed value for border-width |
Fix | Removed the warning for unknown mime type when the inspector is not running |
Fix | Fixed paint flashing not displaying dirty rectangles when triggered through the inspector |
Fix | Fixed crash when accessing the style property on UWP x64 builds |
Fix | Free video data memory when the source is removed from a video element |
Fix | Fixed a memory leak when calling GetElementsByClassName or GetElementsByTagName on detached elements |
Fix | Fixed a memory leak when making circular references using the mutation observer |
Fix | Fixed a memory leak when making circular references using event listeners |
FixUnreal Engine | Fix post build step for earlier UE versions to copy libraries with correct build configuration |
FixUnreal Engine | Fix issue with updating our UMG texture |
Version 1.20.0.1
Released 03 Dec 2021
Feature | Added CanvasRenderingContext2D.measureText |
Feature | Added sample a demonstrating how to use observable models feature |
Feature | Unity3D Integrated audio playback with Unity3D audio system |
Feature | Enhanced Inspector timeline to include events for matching elements |
Feature | Added initiators to the Inspector timeline that show the JavaScript code that invalidated styles and layout |
Feature | Add a way to receive the View and System when they are created for the CohtmlOverrides |
Feature | Add support for innerHTML and outerHTML getters |
Enhancement | Enhanced timeline events for RecordRendering, Layout, RecalculateStyles, BuildDOM to contain extra data |
Enhancement | Updated the Inspector UI to the version used in Chromium 94 |
Enhancement | Added support for border-color: inherit |
Enhancement | Improved the Dynamically-typed object data binding documentation |
Enhancement | Unity3D Add logic to reassign LogHandler default log functionality |
Enhancement | Unity3D Exposed the low level rendering options to the plugin |
EnhancementUnreal Engine | Optimize memory tracking in Cohtml and CoherentRendering plugins |
Enhancement | SVGs used as background images with background-repeat mode set to “no-repeat” are now culled before reaching the GPU, netting a large performance improvement |
Fix | Fixed clip-path undefined behavior when CSS animations are present |
Fix | Fixed skipped custom element lifetime functions |
Fix | Fixed custom element lifetime callbacks not being called on synchronize models |
Fix | Fixed out-of-bounds memory access violation when using transform attribute with rotate value on SVG nodes |
Fix | Fixed not correctly scheduled canvas layout task which resulted in artifacts |
Fix | Fixed running transitions on elements with initially and dynamically hidden parents |
Fix | Fixed animations being activated on elements with initially hidden parent |
Fix | Fixed crash on certain iOS devices with complex regular expressions |
Fix | Fixed Inspector showing non-existing children after they were removed with removeAllChildren |
Fix | Fixed HTML preview in the Sources tab of the inspector when loading through HTTP |
FixUnreal Engine | Fixed the loading of Streaming Textures that were looking blurry when not fully streamed |
FixUnreal Engine | Fixed Resource loading of not yet fully initialized UTextures, that was sometimes resulting in crashes |
FixUnreal Engine | Fixed a crash when loading UserImage with not yet initialized Texture Resource |
FixUnreal Engine | Fixed HostLocation resolving when there is no slash (“/”) in the path |
FixUnreal Engine | Fixed UE Editor viewport resize crash |
FixUnreal Engine | Added ImageData width and height to ContentRect if a Texture doesn`t have an ImportedSize |
Fix | Fixed the calculation of the miter limit for SVG path elements (previously it could end up much larger than specified) |
Fix | Fixed possible issue when using mix-blend-mode (the blended area may be incorrect) |
Fix | Fixed percent units in SVGs |
Version 1.19.0.4
Released 24 Nov 2021
Fix | Fixed layout of inline SVGs when parent element size and position changes |
Fix | Fixed incorrect clipping of elements using linearGradient in SVGs |
Fix | Fixed subtree styles rematching when parent is being rematched |
Fix | Fixed incorrectly re-positioned cohinline paragraphs |
Fix | Fixed a crash on certain iOS devices with complex regular expressions |
Fix | Fixed a bug with complex selector matching with data attributes selectors |
Fix | Fixed a bug that caused pseudo classes to always match in complex selectors |
FixUnity | Updated prebuilt ICU libraries to Sony PlayStation 4 SDK 8.500 |
FixUnity | Updated prebuilt ICU libraries to Sony PlayStation 5 SDK 3.000 |
Version 1.19.0.1
Released 04 Nov 2021
Feature | Added support for pseudo elements before and after |
Feature | Added Text-to-speech sample for PlayStation 5 and GDK platforms |
Feature | Added synthesizers for PlayStation 5 and GDK platforms to the Text-to-speech module |
Feature | Added cohtml-speech-api JS library for interacting with Text-to-speech module from cohtml::View |
Feature | Added Text-to-speech module for speech synthesizing |
FeatureUnreal Engine | Added SDK libraries for Release and Debug config |
FeatureUnreal Engine | Added support for autobinding C-style arrays |
FeatureUnreal Engine | Added support for binding 2D TArrays |
Feature | Added a sample for Virtual Lists with scrolling (horizontal/vertical) |
Enhancement | Updated Nintendo SDK to version 12.3 |
Enhancement | Improved the performance of the complex CSS selectors with classes and ids |
Enhancement | Optimized getting element attributes by 10% |
Enhancement | Improved the performance of AudioPlayer::ReceivePCMData |
Enhancement | Added IsPlaying method for AudioPlayer |
Enhancement | Improved the performance of Structural Mutators |
EnhancementUnreal Engine | Expanded Virtual Keyboard documentation regarding VK Layout and how it depends on HTML input field types |
EnhancementUnreal Engine | Added documentation regarding the settings of the individual UTextures that are part of a texture atlas |
EnhancementUnreal Engine | Added documentation for autobound UFUNCTION |
Fix | Fixed incorrect layout of inline text |
Fix | Fixed leaking transitions that caused Advance calls to become progressively slow |
Fix | Fixed mutation record NodeList properties to return empty NodeList instead of null |
Fix | Fixed CSS not loading when selectors with CSS keywords are preloaded |
Fix | Unity3D Fixed ResourceHandler.HostLocations handling of URLs that cause NullRefference when is not found in the first location. |
Fix | Fixed cohtml::ByRef binding not updating std::vectors when their size has changed. |
API | Deprecated TryBindArrayByRef(void* arr, size_t size, ArrayElementBinder elementBinder, ArrayElementReader elementReader) |
Fix | Fixed an assert failure about active mutation observers on document disposal |
Fix | Fixed a potential crash during HTML parsing when using with the HTML preloading feature |
Fix | Fixed deprecated font-fit-mode property |
Fix | Fixed inspector crash due to invalid read data |
Fix | Fixed a crash when passing console methods to async JS methods like setTimeout |
FixUnreal Engine | Fixed trimming of autobound properties with double underscores |
Fix | Fixed incorrect sizing of images that could cause “squashing” into the visible area instead of clipping |
Fix | Fixed missing rendering for user images that use NonPremultipliedAlpha alpha mode when simple sublayers are enabled |
Fix | Fixed a crash in the Caching Manager when a source of an image was being removed from the DOM |
Fix | Fixed a race condition when Path`s GPU data is being used and copied |
Fix | Fixed incorrect clipping for elements with transform style |
Version 1.18.2.8
Released 12 Oct 2021
Feature | Added universal ICU library working natively on Mac OS X with M1 processors |
Feature | Made UnityPlugin for Mac an universal library working natively on Mac OS X with M1 processors |
Feature | Add support for tree-structural pseudo class selectors – first-child, last-child, only-child, nth-child |
Feature | Added support for the backdrop-filter CSS property for Native and Unity3D |
Enhancement | Added CSSStyleDeclaration.cssText support |
EnhancementUnreal Engine | Added an option to install cohtml libraries in the game directory for Unreal Engine |
Enhancement | Added a new sample demonstrating an example implementation for the ISubLayerCompositor and its integration into an application |
Enhancement | Implemented BigInt binding and data binding for numbers representable with 64 bits. |
EnhancementUnreal Engine | Added documentation about how individual Texture settings affects Atlas generation and which are the settings that may be ignored |
Enhancement | Applied several security vulnerability fixes in V8 |
Enhancement | Allowed iteration with for…of for DOM collections |
Enhancement | Implemented an optimization so that parts of some index buffers are reused and less GPU memory is needed. Read the rendering migration guide. |
Fix | Fixed a crash when passing console methods to async JS methods like setTimeout |
Fix | Fixed the HTML Parser to not throw warnings on commented code with CSS variables inside |
Fix | Fixed |= attribute selector matching elements that should not be matched |
Fix | Fixed incorrect sampling coordinates for elements that are partly outside of the viewport, causing “squashing of the image into the visible portion |
Fix | Fixed incorrect clipping for elements creating sublayers (e.g. opacity, mix-blend-mode, etc.) that may cause elements disappearing |
Fix | Fixed rare occurence of an assert for trying to destroy a missing texture |
Fix | Fixed incorrect passing of options for the rendering library needed for multithreaded awareness. Read the rendering migration guide. |
API | Removed support for ARMv7 processors for iOS |
Version 1.17.0.1
Released 10 Sep 2021
Enhancement | The Player now supports Mac M1 natively |
Enhancement | Added support for vw, vh, em, rem size units for inline images |
Enhancement | Added an option for setting virtual keyboard layout for text to AlphaNumeric in Unreal Engine |
EnhancementUnreal Engine | 4.27 support |
Enhancement | Added support for fill-rule attribute in SVGs. |
Enhancement | Allow usage of element within a element in an SVG. |
Enhancement | Improved the HTML parser error logging to include better error descriptions |
Enhancement | Unity3D: Integrate request`s method, body and headers |
Enhancement | Unity3D: Virtual keyboards for GDK Xbox and Playstation 4/5 consoles. |
Enhancement | Prevent atlas modifications and show message on screen when Atlas meta-data file is read-only in Unreal Engine |
Enhancement | Add a way to load UI from different predefined locations (resource hosts) in Unreal Engine |
Enhancement | Add a way to override and reimplement all input processing in Unreal Engine via the Input Preprocessor feature |
Enhancement | Updated the Components sample to use the latest version of the coherent-gameface-components |
Fix | Fixed occasional video freezes and playback issues |
Fix | Fixed a crash when handling JavaScript events |
Fix | Fixed asserts when View methods on ChakraCore are called on multiple views. |
Fix | Fixed showing nodes after changing their styles while they were hidden using display:none |
Fix | Fixed using heading tags with data-bind-for |
Fix | Fixed converting JavaScript numbers to integer and unsigned according to ECMA-262. |
Fix | Fixed baseline offset for inline images with floating point height |
Fix | Fixed cohtml crash for data binding expressions bound to null values. |
FixUnreal Engine | Fixed a crash when UCohtmlWidget::SetReadyForBindings is called with invalid SWidget and View |
FixUnreal Engine | Made the contained textures inside the Atlas to be Editor only data as they may not be packaged in a Client |
FixUnreal Engine | Fixed DedicatedUIThread map OpenSSL module loading check fail in Debug configs on Sony platforms |
FixUnreal Engine | Update deprecated Shader Platform API Getter |
FixUnreal Engine | Fixed TArray crashes when exposed by cohtml::byRef |
FixUnreal Engine | Fixed failing rebuild of the Cohtml Texture Atlas |
Fix | Fixed a crash when an inline SVG node is removed from the DOM and then added again. |
Fix | Fix rare crash when parsing inline SVG content. |
Fix | Fix broken display of SVG elements when they are added, removed and then readded in the DOM. |
Fix | Fixed passing float arrays to CoherentToTransformMatrix2D when using the properties. |
Fix | Unity3D: Fixed gamepad events regression from version 1.15.3.1 |
Fix | Unity3D: Input manager Enter key char code fixed to 13. |
Fix | Unity3D: Fixed CohtmlTouchKeyboard and TextInputHandler code flaws |
Fix | Unity3D: Change system`s resource request calls to be Synchronous |
API | Unifed the custom CSS properties to have a coh- prefix. font-fit-mode is changed to coh-font-fit-mode. The old names are working, but are deprecated. |
API | Unified the custom attributes to have a coh prefix. caretblinkinterval is changed to cohcaretblinkinterval; coh-inline to cohinline; coh-fastseek to cohfastseek. The old names are working, but are deprecated. |
Version 1.16.5.2
Released 30 Aug 2021
Fix | Fixed a crash on document unload related to the unified garbage collection |
Fix | Fixed video playback freeze when video errors are present |
Fix | Fixed a crash when a sublayer ends up with zero size |
Fix | Fixed linking errors when delay loading renoir library with LTCG enabled |
Version 1.16.5.1
Released 19 Aug 2021
Feature | ExperimentalUnified garbage collection for JavaScript and C++ DOM objects for V8 |
Feature | Implemented video element “preload” attribute which now preloads video data for faster seeking |
Feature | Introduced an example JS library for handling videos with states “coh-state.js” |
Enhancement | JavaScript garbage collection runs in more incremental steps for V8 |
Enhancement | Initialize virtual keyboard with the data from HTML input elements attributes in Unity3D |
Enhancement | Added more native JS array methods to the CoherentArrayProxy |
Enhancement | Made CSS animations to stop on display:none and restart on showing the element |
Fix | Fixed text shadows on multiline inline text |
Fix | Fixed enormous memory allocation when letter spacing is negative |
Fix | Fixed images drawn with incorrect size when CSS filter is applied |
Fix | Fixed a regression that failed to parse background shorthand without image/color |
Fix | Fixed a leak during video playback when the Inspector is enabled |
Fix | Fixed resource request spam when a video reaches its end |
Fix | Fixed rare video stalls during playback |
Version 1.16.0.1
Released 05 Aug 2021
Feature | Support for Unreal Engine 5 early access |
Feature | Support for Apple M1 |
Feature | Moved all GDK platforms to using V8 for JavaScript virtual machine |
Feature | Added API for setting additional fallback font families for all elements |
Enhancement | Updated PlayStation 4 SDK to version 8.5 |
Enhancement | Updated PlayStation 5 SDK to version 3.0 |
Enhancement | Added json based configuration file for the Player |
Enhancement | Allowed to automatically bind UFUNCTION methods that have parameters in Unreal Engine |
Enhancement | Enhanced video API for seek performance |
Enhancement | Made XHRs not delaying the document load event |
Enhancement | Improved experimental inline layout support – better layout and input handling |
Fix | Fixed issue with unnecessary creation of textures (caused by improper clipping of texture based on the parent element) |
Fix | Fixed styles rematching crash on removing nested data-bind elements |
Fix | Fixed packaging and running of the Player for Mac OS X for Unity3D |
Fix | Fixed css rules matching for custom elements not defined in the registry |
Fix | Fixed missing mutation observer notification on document unloading |
Fix | Fixed wrong layout when setting explicit 0 dimensions of elements |
Fix | Fixed scrolling size of elements not accounting for children margins |
Fix | Fixed accessing delayed stylesheets in scripts |
Fix | Fixed XHR asserts caused by synchronously finished resource job due to invalidated job id |
Fix | Reduced an error message severity related to the CaretPositionFromPoint API |
Fix | Fixed developer options disabling on library re-initialization |
Fix | Fixed CohtmlTMapBinder.h compililing with non-MSVC compilers |
Fix | Fix sanitization of URL`s containing hashtag symbols in Unreal Engine |
Fix | Fix crash with Standalone net mode with more than 1 Player when using a UMG widget with a Cohtml component in Unreal Engine |
Version 1.15.3.2
Released 08 Jul 2021
Enhancement | Made the C# backend to be able to fill Renoir`s Rendering capabilites |
Enhancement | Enabled SDF GPU text algorithm for PlayStation 4 and PlayStation 5 with the C# backend |
Fix | Fixed memory leak on V8 platforms when navigating to another page |
Fix | Fixed linking of iOS samples |
Fix | Fixed running Unity3D editor in game console mode |
Fix | Fixed texture destruction in the Unity3D C# backend |
Version 1.15.3.1
Released 02 Jul 2021
Feature | Added Coherent texture stats and texture stats page In Unreal Engine 4 |
Feature | Added a new capturing mode for the .rend captures that obfuscates the used image assets |
Feature | Added Xbox One GDK support for Unity3D |
Feature | Replaced ChakraCore with V8 for JavaScript engine for Xbox One with the XDK |
Feature | Replaced ChakraCore with V8 for JavaScript engine for PlayStation 4 |
Feature | Replaced ChakraCore with V8 for JavaScript engine for PlayStation 5 |
Enhancement | Added launching the Dev Tools from Unity3D editor on Mac OS X |
Enhancement | Added support for Android arm64 and x86_64 in Unreal Engine 4 |
Enhancement | Added new Unreal Engine 4 console command (cohtml.setmipbias N) for setting the mip bias for all textures used by the SDK |
Enhancement | Improved performance 3x of the C# backend in Unity3D |
Enhancement | React based samples now provide npm scripts for production and development builds |
Enhancement | Updated Webpack version to 5.39.0 for React based samples |
Fix | Fixed crash during compound selector matching due to uninitialized simple selector |
Fix | Fixed invalid return value of IInputProxy::GetTextPositions for empty input elements |
Fix | Fixed input duplication with multiple Systems in Unity3D |
Fix | cohtml.js`s Universal Module Definition now propperly accepts the global window object |
Fix | Fixed warning logs when C# backend in Unity3D is used |
Fix | Fixed resource loading in Unity3D for Android |
Version 1.15.1.8
Released 16 Jun 2021
Feature | Added support for SVG clip path |
Fix | Fixed resource loading error when playing video in a loop |
Fix | Fixed crash when dynamically adding inline SVG images |
Fix | Fixed drawing of inline SVG images when scrolling |
Fix | Fixed a crash on Mac OS X in Unity3D with Metal rendering backend |
Fix | Fixed a crash in style resolving with inline SVG images |
Fix | Fixed a crash on top-level exception in JavaScript event handler |
Version 1.15.0.1
Released 04 Jun 2021
Feature | Inline SVG support |
Enhancement | Extended support for the SVG Tiny 1.2 Specification |
Version 1.14.3.1
Released 04 Jun 2021
Feature | Added an HTML linter that detects spelling errors in Gameface`s data binding attributes |
Feature | Added support for multiple images in the CSS background shorthand |
Feature | Exposed Blueprint API for object model removal in Unreal Engine 4 |
Feature | Added example input forwarding implementation using the Unreal Engine 4 input preprocessor |
Enhancement | Added V8 for iOS for arm64 and x64 architectures |
Enhancement | Added documentation about how to run Unreal Engine 4 Editor as a server |
Enhancement | Package additional UI samples and resources for Unreal Engine 4 |
Enhancement | Updated GDK support to the 2021 April release |
Enhancement | Support for Nintendo Switch for Unity3D 2019.4 |
Enhancement | Optimized setting numeric values to style from JavaScript |
Enhancement | Optimized matching complex CSS rules without pseudo classes |
Enhancement | Allow getAnimations to return animations added in the current frame to an element with the forceStylesResolving option |
Enhancement | Allow intercepting of XmlHttpRequest requests |
Enhancement | Optimized data-binding-for for often changing collections |
Enhancement | Added protected virtual onEnable and OnDisable methods in CohtmlView in Unity3D |
Enhancement | Extended Unity3D documentation with sections about Localization, HDRP/URP, Memory Tracking, Web sockets, DefaultUISystem Devtools |
Fix | Fixed crash when destroying the view with never updated data-binding expressions |
Fix | Fixed crashes when stringifying CSS values to JavaScript or the Inspector |
Fix | Fixed support for shuffled keywords in background position CSS properties |
Fix | Fixed wrongly reported background position shorthand value in JavaScript |
Fix | Change the ImageData.ContentRect to match Texture`s imported size in Unreal Engine 4 |
Fix | Fix asserts and issues with dedicated UI thread HUD in Unreal Engine 4 |
Fix | Fixed warnings for missing images in certain cases |
Fix | Fixed auto switch IL2CPP/Mono dll search in UPM package in Unity3D |
Fix | Always use the C# rendering backend for Xbox One Series X and Nintendo Switch in Unity3D |
Fix | Fixed NullReference exception when force shutdown on C# recompile triggered in Unity3D |
Fix | Fixed a possible crash when unitializing RenderingLibrary in Unreal Engine 4 |
Fix | Fixed automatic binding always overriding manual CoherentBind in Unreal Engine 4 |
Fix | Fixed crash in UCohtmlHUD constructor when creating the HUD on a worker thread in Unreal Engine 4 |
Fix | Fixed wrongly reported errors and warnings in data binding. |
Fix | Fixed warnings in InternalizationManager and IBreakIterator when building Cohtml plugin for Unreal Engine 4 without UnityBuild |
Fix | Fixed animation instability that could result in drawing elements and styles with off-by-one pixel error |
API | arm64 and x64 requires linking with v8_monolith library |
API | Nintendo Switch now links with a static V8 library |
Version 1.14.1.2
Released 10 May 2021
Feature | Added support for rotate3d and translate3d transform functions |
Feature | Added HUD, GameMode and Map, showing how to use actorless UI on dedicated UI thread in Unreal Engine 4 |
Feature | Added optional memory allocation tracking for the Unity3D plugin |
Feature | Preview support for V8 on PlayStation 4 |
Feature | Visual Studio code extension providing autocomplete support for data-binding |
Feature | Support for clip-path property |
Enhancement | Support for multiple background images for background-position and background-size |
Fix | Fixed transform-origin parsing for Y X values like top left |
Fix | Fixed race conditions in user images in Unreal Engine 4 |
Fix | Fixed marshaling exceptions on C# Rendering Backend when HDRP or URP is enabled in the Unity3D plugin |
Fix | Fixed asserts about wrong threads when destroying a system in the Unity3D plugin |
Fix | Fixed crash during quit of the Unity3D editor |
Fix | Fixed asserts for missing images |
Fix | Fixed artefacts when an element is clipped and parent has blur |
Fix | Fixed DX12 backend to clear user images propertly |
Fix | Fixed a rare crash upon applying CSS filters |
Version 1.14.0.7
Released 02 Apr 2021
Feature | Support for loading a page in single frame |
Feature | Added HTML preloading and caching API |
Feature | Added Stylesheet preloading and caching API |
Feature | Support for HDR rendering |
Feature | Added support for position: fixed |
Feature | Added InstaLoad sample for Windows |
Feature | Update V8 to 8.8.278.14 for Mac OS X, Linux, Stadia |
Feature | Added TexturePreloading API in the Cohtml HUD BaseComponent and UWidget |
Feature | Added support for wide color render targets with 16/32 bits per channel |
Feature | Added new CSS color definition — color(coh-scrgb float float float float) — that can be used to define color values above 1.0 |
Feature | Added support for enabling the wide color render targets in Unreal Engine 4 |
Feature | Added support for enabling the wide color render targets in Unity |
Feature | Added a new sample that demostrates the HDR rendering |
Feature | Added new View::SetResolutionForRendering API that controls the output render target resolution. |
Feature | Added support for Nintendo Switch for Unity3D |
Enhancement | Added support for whenDefined in the custom elements API |
Enhancement | Trigger load event on image elements before the image is uploaded on the GPU |
Enhancement | Removed AsyncStream requests for textures already loaded in Unreal Engine 4 |
Enhancement | Add UE4 Editor synchronous resource requests option |
Enhancement | Add support for data-binding TPair and TMap in Unreal Engine 4 |
Enhancement | Reduced task scheduling delays for resources when responses are performed synchronously |
Fix | Fixed expandable objects in the Inspector |
Fix | Fixed missing vcruntime140_1.dll required by V8 8.8 |
Fix | Fixed memory leak on Nintendo Switch with V8 |
Fix | Fixed prototype of upgraded custom elements on V8 platforms |
Fix | Fixed the console and debugger in the Inspector on Linux and Mac OS X |
Fix | Fixed a regression that caused a crash when using engine.off during event execution on V8 platforms |
Fix | Fixed missing installation files with “Add to existing Game” option |
Fix | Fixed potential crash in SCohtmlWidget when running windowless |
Fix | Fixed missing shared libraries for Unreal Engine 4 Stadia packages |
Fix | Fixed graphics artifacts where an element with a drop-shadow effect left trails when its parent element was the same size and was being animated. |
API | Deprecate duplicate Trigger JS Event Blueprint function |
API | Added Decoded image state in ImageCacheStats |
API | Breaking ChangeRemoved static data binder. Developer option “–use-static-binding” will not have effect. |
API | The API for setting the scene`s rendering target also specifies its format |
Version 1.13.1.3
Released 03 Mar 2021
Feature | Improved text rendering |
Feature | Updated V8 to version 8.8.278 for Microsoft Windows |
Feature | Precise text layout and positioning |
Feature | Embedded a last resort fallback font |
Feature | Implemented font preloading to avoid reading fonts from disk in time critical threads |
Feature | Nintendo Switch uses V8 for JavaScript execution |
Enhancement | Optimized matching of complex selectors against DOM elements |
Enhancement | Add support for automatic binding of UFunctions without parameters in Unreal Engine 4 |
Enhancement | Added option in Unreal Engine 4 plugin for setting the default font |
Enhancement | Changed the Unreal Engine 4 plugin modules to be ClientOnly |
Fix | Fixed growing memory usage when data-bind-for is used inside data-bind-if |
Fix | Fixed advancing a View without a document |
Fix | Fixed a layout issue with aligned inline text |
Fix | Fixed a freeze when using font-fit mode fit |
Fix | Fix a crash in UMG Editor after saving UMG widgets with Cohtml and GT Widget in Unreal Engine 4.26 |
API | New font API for preloading fonts with specific font description |
API | Deprecated the AddFontsFromFolder API |
API | Deprecated the SetDefaultFallbackFontName API |
Version 1.12.4.2
Released 08 Feb 2021
Feature | Added clipboard support in Cohtml Player for Mac OS X |
Feature | Added support for font-weight CSS property support |
Feature | Added clipboard support for CohtmlPlugin in Unreal Engine 4 |
Feature | Added support for media decoders and inspector for UnrealEngine 4 on Nintendo Switch |
Feature | Added WebSocket support for Unity3D |
Enhancement | Added support XMLHttpRequest timeout |
Enhancement | Added support for Unreal Engine 4.26 |
Enhancement | Added support for Universal Rendering Pipeline for Unity3D |
Enhancement | Allowed OnEnabled and OnDisabled to be overridden in Unity3D |
Fix | Fixed exposing the INodeProxy to C# code in Unity3D |
Fix | Fixed redrawing SVG images every frame |
Fix | Fixed complex text shaping issues when mixing different languages |
Fix | Fixed Cohtml Player not working with –root cmd argument on Mac OS X |
Fix | Fixed freeze when running the video playback sample on a machine without audio devices |
Fix | Fixed missing context when using mutation observers |
Fix | Fixed issues with parsing @font-face URL declarations |
Fix | Fixed parsing of multiple CSS selectors followed by selection pseudo selector |
Fix | Fixed crash on closing the Player with open Websocket connections |
Fix | Fixed reversed Ctrl and Command/Meta modifiers on Mac OS X |
Fix | Fixed crash on Xbox One with Unity3D |
Fix | Fixed missing JavaScript context during destruction of canvas elements |
Fix | Fixed layout of flexbox items after changing their text content |
Fix | Removed usage of Unity3D APIs in static constructors on PlayStation 4 |
Fix | Fixed clashes between renoir float2 and client float2 types |
Fix | Fixed parsing of fonts specified with url() without quotes |
Fix | Fixed mixing of files in a single folder from Unity3D packages for different platforms |
API | Changed the logging severity of assert failures to be CriticalError and above the current Error level |
API | The load event is fired after the fonts from the stylesheets have been loaded |
Version 1.12.2.1
Released 18 Dec 2020
Feature | Add aspect ratio media feature support |
Feature | Added support for the change event listener for input and textarea elements |
Enhancement | Support VW/VH suffices in scrollTop and scrollLeft element properties |
Enhancement | getModifierState support for Keyboard and Mouse events |
Enhancement | Update PlayStation 4 to SDK 8.0 |
Enhancement | Update PlayStation 5 to SDK 2.0 |
Fix | Fix image alignment with coh-inline paragraphs |
Fix | Fixed CohtmlToTransformMatrix2D to handle invalid inputs |
Fix | Fixed text-transformation styles sticking to detached nodes |
Fix | Added I18NManager in Unity3D for PlayStation 4 and PlayStation 5 |
Fix | Fixed View flicking when creating multiple views |
Fix | Fixed a crash in FInternationalizationManager class |
Fix | Fixed crash when passing null for custom data-binding attribute state |
Fix | Fixed mouse cursor notification for input fields without explicit type |
Fix | Fixed event.target.selection indices for input elements |
Fix | Fixed the timestamp for gamepad events in Unreal Engine 4 |
Version 1.12.0.1
Released 30 Nov 2020
Feature | Support for CSS property text-stroke |
Feature | Support for layout and display of text in complex scripts |
Feature | Support CSS transitions for shorthand properties |
Feature | Add a way to pick the primitive that the Gameface component attaches to by specifying its name in Unreal Engine 4 |
Feature | Experimental] New Unity C# backend. It is supported for Unity 2019.3 or newer and for every platform except MacOSX, iOS and Androd. |
Feature | Support for Xbox Series X in Unity. The platform is supported only with C# rendering backend. |
Enhancement | Added Gameface Mac Player and Launcher to the UE4 packages |
Enhancement | Added mechanism for reusing ViewStates between HUD/UWidget recreations in Unreal Engine 4 |
Enhancement | Added vw, vh suffices for scrollHeight and scrollWidth properties |
Enhancement | Added HTTP support for the Player on Mac OS X |
Fix | Fixed crash when binding JavaScript models with null value |
Fix | Fixed a crash when invoking innerHTML inside custom element callbacks |
Fix | Fixed wrongly calculated dimensions when using dynamically sized flex containers |
Fix | Fixed performance regression caused by allowing multiple paint rectangles |
Fix | Fixed XHR response status code propagating to JavaScript |
Fix | Fixed event.target.selection index values on input events |
Fix | Trigger video onerror for unsupported codecs and errors during decoding |
Fix | Fixed document loading after image loading has been canceled |
Fix | Fixed custom event attributes handling on cloned elements |
Fix | Fixed suffixed properties like right[PX|VH|VW] in computed styles |
Fix | Fixed potential crash during initialization on Mac OS X |
Fix | Fixed default input element cursor |
Fix | Ignore unsupported CSS selectors and continue parsing the stylesheet |
Fix | Fixed allocations without tags in MediaPlayerSourceBuffer |
Fix | Fixed accumulating unresolved promises for engine.call invocations with missing C++ handlers |
Fix | Fixed setting timestamp value when updating the gamepad data in Unreal Engine 4 |
Fix | Fixed user image request leaks that caused deadlocks |
Fix | Fix possible broken state of ClickThroughQuery after resize |
Fix | Fix crash when game starts with Korean language |
Fix | Fix crash in break-iterators due to incorrect string conversion in Unreal Engine 4 |
Fix | Add proper handling of overlapping border radii when clipping with rounded rectangle and filling and stroking rounded rectangle |
API | Add API for setting rendering resolution, independent from the HTML resolution Render sublayers that are transformed with the correct scaling as well |
API | Expose methods for setting all the caches |
API | Calls to engine.call without C++ handler bound, will reject the returned promise objects |
API | Modify the Renoir backends initialization so that all constructors take a single settings object |
Version 1.11.0.1
Released 09 Nov 2020
Feature | Added experimental generation of text atlases on GPU |
Enhancement | Increased maximum allowed blur radius for blur effects from 24px to 95px. |
Enhancement | Added PlayStation 5 CommonGame and samples |
Enhancement | Added XboxSeriesX CommonGame and samples |
Enhancement | Added XboxOneGDK CommonGame and samples |
Fix | Fixed Player failing to start in evaluation packages |
Fix | Fixed crash when updating and unregistering a model in the same SynchronizeModels |
Fix | Fixed keeping unresolved promises for engine.call calls without a C++ handler registered for the call |
Fix | Fixed crash when calling UnloadDocument explicitly before destroying a view or navigating to another URL |
Fix | Fixed ES6 modules crash and assert failure in Debug configuration |
Fix | Fixed parsing CSS stylesheets containing unsupported media queries |
Fix | Fixed evaluation of data-binding expression after unregistering and registering model for a second time |
Fix | Fixed ChakraCore crashes and possible memory leaks due to missing context |
Fix | Reduced video buffer size to reduce memory consumption |
Fix | Fixed performance regression of finished animations with fill mode forwards/both |
Fix | Fixed PlayStation 4 and XboxOne assembly definitions in Unity3D UPM package. |
Fix | Fixed using the inspector with Unity3D UPM packages |
API | Calls to engine.call without a C++ handler registered and no failure callback for the promise will trigger error messages |
Version 1.10.0.2
Released 06 Oct 2020
Feature | Added support for custom elements upgrading (V1 API) |
Feature | Added support for drawing and styling all HTML tags |
Feature | Added support for break-iterator for Asian text in UnrealEngine 4 |
Enhancement | GPU timing for Nintendo Switch is now available when doing a performance trace in the Inspector |
Enhancement | Added packaging of V8 libraries with separated debug symbols for Unix based platforms in UnrealEngine 4 |
Fix | Fixed a crash in V8 due to double exposing of the same C++ objects |
Fix | Fixed a crash when reloading a view with JavaScript breakpoint set at file level |
Fix | Fixed color interpolation between semi-transparent colors |
Fix | Fixed a rare issue causing nesting of events in the inspector performance timeline |
Fix | Fixed frontend and backend inspector performance events not appearing in the timeline |
Fix | Fixed disappearing elements when using gradients as masks |
Fix | Fixed wrong pending image counter causing an assert failure in Debug |
Fix | Fixed the scroll of Computed style panel in Inspector`s Elements tab |
Fix | Fix assertion caused by std::function on PlayStation 4 |
Fix | Fixed crash when game starts with Korean language in UnrealEngine 4 |
Fix | Fixed crash in Cohtml break-iterators due to incorrect string conversion in UnrealEngine 4 |
Version 1.9.9.8
Released 16 Sep 2020
Fix | Fixed crash when calling FreeRenderingResources on views with SVG images |
Fix | Fixed possible leak of SVG tessellated data |
Version 1.9.9.5
Released 10 Sep 2020
Fix | Fixed possible deadlock when advancing the views |
Version 1.9.9.2
Released 02 Sep 2020
Enhancement | Added support for the background-position-x and background-position-y CSS properties |
Enhancement | Improved Dualshock 4 contoller support for Unity3D |
Fix | Fixed wrongly fired resource abort notifications for already completed requests |
Fix | Fixed race issues when executing layout tasks in parallel |
Fix | Fixed linker issues when the library is delay loaded with certain compiler options |
Fix | Fixed a crash which was occuring during event dispatching |
Fix | Fixed an error about missing context argument in engine.off |
Fix | Fixed a bug causing rare failures to load style sheets |
Fix | Improved tagging of memory allocations to better reflect its usage |
Fix | Fixed chaining CSS animations on the same CSS property |
Fix | Fixed by ref binding of empty std::vector collections |
Fix | Removed requirement for Vulkan runtime on Windows for Unity3D plugin |
Fix | Fixed scrolling on Linux in Unity3D with the new InputSystem |
Fix | Fixed Unity3D editor deadlocks when stopping the game |
Fix | Fixed checkout issues for Perforce users in the Unreal Engine 4 plugin |
Fix | Fixed memory allignment issue in VirtualAllocators on PS5 and Switch |
API | Added option to disable internal allocators that retain memory |
API | Added “pixels per scroll” to set the speed of the scrolling in Unity3D |
API | Increased the version of cohmtl.js – update all your copies |
Version 1.9.7.2
Released 17 Aug 2020
Feature | Support for WebSockets in Unreal Engine 4 |
Fix | Fixed disappearing elements with certain style changes |
Fix | Fixed crash when registering new engine.on handers during execution of a handler |
Fix | Fixed crash when locking vertex or index buffers fails |
Fix | Renamed internal rapidjson and rapidxml libraries to avoid clashes |
Version 1.9.5.4
Released 06 Aug 2020
Feature | Added line break iterator API to aid text wrapping |
Feature | Enabled saving profile from Inspector`s Performance tab |
Feature | Added support for aborting of resource requests when the view is destroyed or navigate to another page |
Feature | Update PlayStation 4 SDK to version 7.5 |
Feature | Added setting for converting property names to lower case in Unreal Engine 4 when using the automatic UType binder |
Feature | Added a special CSS property “coh-composition-id” which allows users to compose the element with a custom renderer |
Feature | Added special CSS properties “coh-custom-effect-name” along with several custom animatable parameters that allow users to apply a custom shader to the element |
Feature | Added new RendererCaps members which allow customizing the maximum allowed texture size. These new properties must be filled in the RendererBackend::FillCaps method. |
Feature | Support for Live Views in Unity3D |
Enhancement | Increased the maximum allowed paint rectangles |
Enhancement | Paint rectangles now leave a short trail |
Enhancement | Made CohtmlView and CohtmlUISystem Unity3D specific methods virtual |
Enhancement | Added customizing the Library configuration in Unity3D |
Fix | Fixed getPropertyValue for the transform CSS property |
Fix | Fixed crash when using toLocaleLowerCase on Xbox |
Fix | Fixed FInputGesture deprecated warnings in Unreal Engine 4 |
Fix | Fixed History feature minor memory retention on reload |
Fix | Fixed capital letters, spaces and special characters in Unity3D with the new Input System |
Fix | Fixed multiple view srendering and overlaying in HDRP mode for Unity3D |
Fix | Fixed crash in the CSS parser for malformed calc expressions |
Fix | Fixed crash when toggling view visibility in Unreal Engine 4 |
Fix | Fixed crash when responding to resource requests after destroying the library in Unreal Engine 4 |
API | Added an API for an external break iterator implementation |
API | Add View::SetCustomSceneCompositor method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface |
API | Add View::SetSceneCustomEffectRenderer method that forwards the passed arguments the Renoir scene, which fires callbacks on the interface |
API | Added API for clearing the navigation history of a given cohtml::View |
API | Added an option to receive resource request calls on the main thread |
Version 1.9.2.4
Released 20 Jul 2020
Feature | Support for PlayStation 4 SDK 7.5 |
Version 1.9.2.2
Released 14 Jul 2020
Feature | Paint rectangles can be toggled by the Inspector rendering panel |
Enhancement | Added support for percent values in SVG images |
Enhancement | Reduced per-frame allocations for transformations |
Enhancement | Extended the performance timeline of the Inspector with additional events |
Enhancement | Made the destruction of the UCohtmlWidget non-blocking in the Unreal Engine 4 plugin |
Fix | QuerySelectorAll returns elements in the correct depth-first-search order |
Fix | Fixed crash when dispatching events during document unloading |
Fix | Fixed crash when starting a XmlHTTPRequest during document unloading |
Fix | Fixed elements disappearing during scrolling |
API | Deprecated the Android builds with the gnustl standard library. They are moved to the *_gnustl folders |
Fix | Fixed lifetime of the AudioWrapper objects in the Unreal Engine 4 plugin |
Fix | Fixed the plugin unload order in the Unreal Engine 4 |
Fix | Crash when responding to XmlHTTPRequests after the plugin has been uninitialized in Unreal Engine 4 |
Version 1.9.0.12
Released 18 Jun 2020
Feature | Support for Unreal Engine 4 4.25 |
API | This version is not compatible with versions of Unreal Engine 4 different that 4.25 |
Version 1.9.0.11
Released 17 Jun 2020
Feature | Unity3D Package Manager packages for console platforms |
Feature | Added custom memory allocator support to Renoir backends |
Feature | Added callbacks for resources lifetime in Renoir backends |
Enhancement | Improved the performance of loading font collections |
Enhancement | Reduced the repaint area when a small part of the view is changed |
Enhancement | Improved error messages when binding map-like objects with non-string keys |
Enhancement | Improved using custom SystemSettings in Unity3D |
Enhancement | Added engine.off information to the Documentation |
Enhancement | Updated support for Unity3D HDRP to the latest rendering pipeline API changes |
Fix | Text wrapping properly respects |
Fix | Query selectors and CSS selectors work with data- attributes |
Fix | Fixed crash when multiple gradient definitions are parsed in parallel |
Fix | Fixed assert on view destruction for ChakraCore platforms with multiple views and data-binding are used |
Fix | Fixed degrading performance when using hover on complex selectors |
Fix | Fixed updated layout styles depending on rem or em units when the unit changes |
Fix | Fixed flex properties that continued to be in effect after removing their CSS declarations |
Fix | Fixed loading resources with a backslash in the URL for Unity3D |
Fix | Fixed gamma-correctness for Unity3D HDRP |
Fix | Fixed handling of events by the TextInputHandler when Advance() is not called on the System |
Fix | Fixed crash caused by updating of the pointed/hovered elements after scrolling. |
API | Deprecated handled flag for input events |
Version 1.8.2.10
Released 5 Jun 2020
Fix | Fixed crash with scrolling and moving the mouse outside of the view |
Version 1.8.2.5
Released 5 May 2020
Feature | Added support for images that have non-premultiplied alpha |
Enhancement | Updated Unity3D HDRP rendering support to new Unity3D 2019.3 |
Enhancement | Mouse pointer events are handled during scrolling |
Enhancement | Added localization sample with React |
Fix | Fixed border color when top side of the border is missing |
Fix | Fixed pointer-events for HTML elements when the parent is clipped or creates a stacking context |
Fix | Fixed typing into text input fields when text transform is used |
Fix | Fixed Unity3D warning about package version using more than 3 numbers |
Version 1.8.1.4
Released 27 April 2020
API | Changed Unity3D license keys – please download your new key from the developer portal |
Feature | Added support for multiple UISystem instances in Unity3D |
API | Refactored the Unity3D plugin to be based on the vanilla C++ API |
Enhancement | Localization works for elements that are added dynamically to the DOM |
Enhancement | Added support for DirectX 12 to the Unity3D plugin |
Fix | Fixed running Unity3D with Vulkan on Linux |
Fix | Fixed text transformation on dynamically created elements |
Fix | Reintroduced the scrolling optimization with fixes for the artifacts and input issues. |
Version 1.8.0.11
Released 16 April 2020
Feature | Added experimental inline layout for text |
Enhancement | Allowed registering models with complex sub-model as a first member (on the same address) |
Fix | Fixed array-like behavior of NodeList collections for platforms using ChakraCore |
Fix | Improved rendering of SVGs when background-repeat with transformations is used |
Fix | Fixed crash when destroying the view or navigating to a different URL with XML HTTP Requests in flight |
Version 1.7.4.1
Released 24 April 2020
Fix | Reintroduced the scrolling optimization with fixes for the artifacts and input issues. |
Version 1.7.3.1
Released 15 April 2020
Enhancement | Added sample with polyfill for
|
Enhancement | Added sample for using subtitles for videos |
Enhancement | Moved text case transformations to the DOM thread |
Fix | Fix turned off the scrolling optimization, because it can break the input in certain cases |
Fix | Fix layout overwriting the scroll position set on the DOM thread |
Fix | Fix crash when element change parents with overflow: hidden |
Fix | Fix some animations not running to complete 100% |
Fix | Fix crashes due to missing temporary allocator in TriggerEvent when calling it from fibers or different threads |
Fix | Fix scrollWidth for text with overflow |
Fix | Fix coordinated for scroll event in Unity3D packaged games |
Fix | Fix Unity3D reloading when TextTransformationManager is used |
Fix | Fix scrolling coordinates with the new Unity3D input system |
Version 1.7.0.15
Released 16 March 2020
Fix | Reintroduced the scrolling optimization with fixes for the artifacts and input issues. |
Version 1.7.0.14
Released 11 March 2020
Fix | Reverted scrolling optimization due to causing artifacts and input issues. |
Version 1.7.0.12
Released 09 March 2020
Enhancement | Improve performance of scrolling and hit tests |
Enhancement | Improve performance of reading font files |
Enhancement | Add virtual list scrolling sample |
Enhancement | Add support gamepad with Input Manager in Unity3D |
Enhancement | Implement gamepad editor tool to insert gamepad controls in Unity3D |
Enhancement | Add units support for flex basis |
Enhancement | Add support for preloaded images in Unity3D with DirectX 12 |
Enhancement | Support building the PlayerOverrides project in Unreal Engine 4 |
Fix | Fix crash in video when there are multiple layout threads and views are not updated every frame |
Fix | Fix scrolling in elements with dynamically changed content and size |
Fix | Fix crash when using data-bind-for for a string value |
Fix | Fix crash when converting a non-boolean value to boolean for data-binding |
Fix | Fix undefined behavior when binding empty arrays and vectors |
Fix | Fix clearing of canvas textures in certain cases |
Fix | Add missing temp allocator for IME related methods of cohtml::View |
Fix | Fix scrolling and panning when it is performed very slowly |
Fix | Fix triggering events with null objects from C# to JavaScript in Unity3D |
Fix | Fix changing styles in the inspector in Chrome 80 and later |
Fix | Fix submission warnings for debug symbols on Stadia |
API | C++ standard library to libc++ on Stadia |
API | C++ standard library to libc++ on Linux |
API | Add developer option for controlling whether to snap the display boxes before transforming. Warning: Enabling this option results in more repainting. |
Version 1.6.1.1
Released 20 Feb 2020
Feature | Support for WebSockets (see the documentation how to use them) |
Feature | Support for Android x86_64 |
Feature | Moved Unity3D packages to use the Unity3D Package Manager |
Enhancement | Improved support for nullable types in Unity3D |
API | Moved COHTML_BUILD_VERSION and COHTML_SDK_VER to <cohtml/Revision.h> header |
Version 1.6.0.4
Released 11 Feb 2020
Fix | Fixed running the inspector in Google Chrome version 80. |
Version 1.6.0.1
Released 04 Feb 2020
Enhancement | Significantly reduced memory usage of SVG images |
Enhancement | Exposed the image cache inspection API to Unity3D |
Enhancement | Added support for DateTime struct in Unity3D |
Enhancement | Added support for read-only List in Unity3D |
Feature | Support for Unreal Engine 4 4.24 |
Fix | Fixed drawing order for combinations of elements with z-index and positioning |
Fix | Fixed several issues with stroking paths in SVG images |
Fix | Fixed clipping child elements when parent has border-radius |
Fix | Fixed text selection and caret placement on transformed text |
Fix | Firing events on wrong elements in certain cases |
Fix | Fixed text alignment with text-overflow |
Fix | Fixed parsing floating point numbers in stylesheets on non-US locale POSIX based platforms |
Fix | Exposed UnbindCall and UnregisterEvent to Unity3D |
Fix | Exposed ITextTransformationManager to Unity3D |
Fix | Fixed exposing FString on POSIX based platforms |
Version 1.5.0.1
Released 19 Dec 2019
API | Improved anti-aliasing |
Feature | Added a dropdown ( |
Feature | Added new input sample using the text entry API |
Feature | Support for Unity3D new InputSystem |
Enhancement | Fixed pathological memory usage with better GC heuristics |
Enhancement | Vertex and index buffers for SVGs are properly reused |
Enhancement | Added rotate-around-point for SVG |
Fix | Fixed various issues with scaling SVGs |
Fix | Fixed assert when using box-shadow on an element with width 0 |
Fix | Fixed bitmap fonts reloading after FreeRenderingResources |
Fix | Fixed support for SVGs with transform and gradients |
Fix | Fixed crash when seeking a paused video |
Version 1.4.2.2
Released 13 Dec 2019
Fix | Fixed video playback freezing with certain videos |
Version 1.4.2.1
Released 09 Dec 2019
Fix | Fixed regression in rendering certain SVGs with applied transformation |
Fix | Fixed text-shadow being rendered when the text is not visible |
Version 1.4.2.0
Released 05 Dec 2019
Feature | Unity3D support for Linux |
Feature | Unity3D support for PlayStation 4 |
Enhancement | Made async and defer scripts work according to the standard |
Enhancement | Enhanced the Player to support DPI on Mac OS X |
Fix | Fixed styling of elements affected by attribute based CSS selectors |
Fix | Fixed using preloaded images in Unity3D on Xbox One |
Fix | Fixed [] of dom collections to return undefined for invalid indices |
Fix | Fixed using sampler filtering for bitmap fonts |
Fix | Fixed detecting mouse events on elements with certain transformations |
Fix | Exposed the ILocalizationManager to Unity3D |
Fix | Fixed SVGs disappearing with certain transformations |
API | Fixed gamepad indices to work as specified by the standard. Read more about the changes |
Version 1.4.1.0
Released 05 Nov 2019
Feature | Dynamic data-binding is available as an experimental option |
Feature | Support for gamepad in Unity3D |
Feature | Support for custom plugins in the Player |
Feature | Support for localization in the Player |
Feature | Added the document.elementFromPoint and document.elementsFromPoint methods |
Enhancement | Support for the text-overflow CSS property |
Enhancement | Support for the white-space CSS property |
Enhancement | Reduced memory consumption of CSS variables |
Enhancement | Added support for BC7 compressed textures |
Enhancement | Improved performance of dash stroke paths |
Enhancement | Enhanced new text entry API |
Enhancement | Added option for controlling vertex and index buffer ring size |
Enhancement | Added option for controlling the SDF character size for font rendering |
Enhancement | Improved layout for text with different alignment |
Enhancement | Added relatedTarget to JavaScript events |
Enhancement | Added support for HTTP(S) resources in Unity3D |
Enhancement | Added location for keyboard events in Unreal Engine 4 |
Enhancement | Added location and isRepeat for keyboard events in Unity3D |
Fix | Fixed drawing of positioned elements below non-positioned elements |
Fix | Fixed GC triggered crash in Unreal Engine 4 with preloaded images |
Fix | Fixed borders when border-radius is used |
Version 1.4.0.3
Released 10 Oct 2019
API | New License Keys have been generated! |
Feature | Support for Google Stadia for native and Unreal Engine 4 |
Feature | Support for Linux for native and Unreal Engine 4 |
Feature | Support for Unreal Engine 4.23 |
Enhancement | Data-binding attribute for mask-image |
Enhancement | Moved shaders inside the plugin for Unreal Engine 4 |
Enhancement | Updated Preact sample and documentation |
Enhancement | Added first tier of a more powerful text entry API |
Enhancement | Gamepad support for the Player on Mac OS X |
Enhancement | Added API to control which resources can be loaded from a view |
Fix | Fixed issues with using the IME and changing focus |
Fix | Fixed the order of applying transformations and filters to elements |
Fix | Fixed box shadows visible for non-visible elements |
Fix | Fixed adding visible children to non-visible elements |
Fix | Fixed video playback in Unreal Engine 4 on Mac OS X |
Fix | Fixed setting relative URL using the history API |
Fix | Fixed crash when calling C++ method from JavaScript inside engine.on events |
Fix | Scaling SVG`s no longer results in wrong transformations |
Fix | Fixed mouse buttons for MouseEvent in Unreal Engine 4 |
Version 1.3.2.1
Released 05 Sep 2019
Enhancement | Added support for five button mouse events |
Enhancement | Added support for scroll events for textarea |
Enhancement | Support for pre tags |
Enhancement | Added support for the change event for input elements |
Enhancement | Added UserIndex for virtual keyboard support in Unreal Engine 4 |
API | Added API to customize the resource loading in Unreal Engine 4 |
Fix | Fixed controller indices when connecting and disconnecting multiple controllers |
Fix | Fixed the garbage collector on PlayStation4 to collect more aggresively on certain loads |
Fix | Fixed several JavaScript engine crashes on PlayStation4 and Xbox One |
Fix | Fixed crash when calling C++ methods with wrong number of arguments from JavaScript |
Fix | Fixed reversed mouse scroll in Unreal Engine 4 |
Version 1.3.1.4
Released 22 Aug 2019
Fix | Fixed rendering artifacts related to text without specified width. |
Fix | Fixed memory corruption on PlayStation 4, XBox One, iOS, UWP. |
Version 1.3.1.1
Released 23 Jul 2019
Feature | Support for mixing languages and fonts in a single text. |
Enhancement | Updated Android samples projects to support ARM64 |
Enhancement | Updated Android samples projects to Android Studio 3.4 |
Enhancement | Added support for optional RequireJS modules with error event for script and link elements |
Fix | Fixed the offsetWidth and offsetHeight functions for hidden elements |
Fix | Fixed using custom-element-tag as selector in CSS stylesheets |
Fix | Enabled ARC for the metal backend library |
Fix | Fixed cooking game on the fly with Unreal Engine4 |
Fix | Fixed crash when removing DOM elements with data-binding attributes |
Version 1.3.0.2
Released 28 Jun 2019
Feature | Added ability to define Custom data-binding attributes |
Feature | Vulkan backend Windows implementation for the native SDK |
Feature | Experimental Unreal Engine 4 Switch support. Video and inspector arenot supported yet. |
Feature | Experimental support for libc++ for Android |
Feature | Experimental support for Android ARM64 |
Feature | Added support for CSS cursors in Unreal Engine 4 |
Feature | Added text-transform for Unreal Engine 4 |
Feature | Added an API to advance a view, without it rendering anything |
Feature | Added support for overflow-wrap CSS property |
Enhancement | Added DPI scaling to the player application |
Enhancement | Added data-bind-font-size |
Enhancement | Enhanced virtual keyboard support for Unreal Engine 4 |
Enhancement | Added engine.whenReady promise object, equivalent toengine.on(‘Ready’) |
Enhancement | Added support for mipmaps in DDS textures |
Enhancement | Added support for the touchmove event |
Enhancement | Added controller support in the PlayStation 4, Nintendo Switch andUWP samples |
API | Added API to control the size of the text atlas texture |
Fix | Fixed assert when creating input elements in multiple views |
Fix | Fixed missing invocations to the finish callback of animations |
Fix | Fixed restarting an animation inside the finish callback |
Fix | Fixed logging warnings in cohtml.js |
Version 1.2.3.1
Released 24 Jun 2019
Fix | Fixed crash when using by-value getters in data-binding |
Fix | Fixed crash when recreating views on PlayStation 4 |
Fix | Fixed missing text on the UMG widget on PlayStation 4 |
Fix | Fixed broken gradients on the UMG widget on PlayStation 4 |
Fix | Fixed rendering uninitialized textures with the UMG widget on Xbox One |
Version 1.2.2.3
Released 13 May 2019
Feature | Added the :active pseudo selector |
Feature | Added the visibility CSS property |
Feature | Added the KeyboardEvent.repeat property |
Enhancement | Added data-bind-html, which allows to set innerHTML with data-binding |
Enhancement | Allowed the localization texts to contain html tags |
Enhancement | Added the load event to script and stylesheet elements |
Enhancement | Enhanced log messages for wrong property names used for data-binding |
Enhancement | model}} (without property) can be used for data-binding |
Enhancement | Scrolling works correctly with nested scrollable elements |
Enhancement | Automatically casting enum types to int for iOS and Switch for binding |
Enhancement | Binding supports long numbers |
Enhancement | Regular on event handlers work with data-bind-for |
Enhancement | Not handled promise rejections are logged |
Enhancement | Added engine.unregisterModel API to unregister a model from JavaScript |
Enhancement | Added an API to set the ILocalizationManager in Unreal Engine 4 integration |
Enhancement | Added support for exposing UDataTable to JavaScript |
Enhancement | Added ability to customize the automatic binding in Unreal Engine 4 |
Fix | Fixed disappearing SVG images when background-image property is changed |
Fix | Positioning of text caret in text inputs with aligment |
Fix | Fixed text selection when text has CSS transform |
Fix | Fixed crash in Unreal Engine 4 when chaining multiple property accesses in data-binding |
Fix | Fixed the gamepaddisconnected event to contain which gamepad has been disconnected |
Fix | Fixed cloneNode to clone attached event listeners |
Version 1.2.1.1
Released 24 Apr 2019
Feature | Updated Unreal Engine to 4.22 |
Fix | Fixed crash when using View::UnloadDocument |
Fix | Fixed support for React v16.5 |
Fix | Fixed using iterator names that are prefix of other iterator namesin data-binding |
Fix | Fixed using {{model}} in data-binding expressions for C++ models. |
Fix | Fixed indexOf and slice for arrays exposed by-ref on ChakraCoreplatforms |
Version 1.2.0.4
Released 09 Apr 2019
Feature | Added support for CSS transitions |
Feature | Added support for pointer-events CSS property |
Feature | Enhanced the flex CSS property to support setting grow and shrink |
Feature | Added support for CSS cursors |
Feature | Added support for the console tab and script debugging on Mac OS X |
Feature | Added support for mix-blend-mode: add |
Feature | Added support for KeyboardEvent.location |
Feature | Added support for copy and paste |
Feature | Added support for Home and End keys |
Feature | Added automatic sizing for text fields |
Feature | Added API to get the Nodes attributes from cohtml::INodeProxy |
Feature | Added text selection to all elements |
Enhancement | Refactored Renoir backend API to work better with low-level rendering APIs like Metal |
Enhancement | Replaced JavaScriptCore with ChakraCore on Xbox One and PlayStation 4 |
Enhancement | Replaced JavaScriptCore with V8 on Mac OS X |
Enhancement | The inspector no longer disconnects when the view is reloaded |
Enhancement | Significantly improved inspector loading speed for pages with lots of elements |
Enhancement | Data-binding attributes are visible in the inspector |
Enhancement | Reduced thread-local variables count to allow running on more Android devices |
Enhancement | Android uses the Android NDK r15b |
Enhancement | Added gestures support in Unity3D |
Enhancement | Added range requests support in Unity3D |
Enhancement | Added gamepad support to PlayStation4 samples |
Enhancement | Improved performance for drawing polylines in canvas |
Enhancement | Allowed loading stylesheets encoded in UTF-8 with BOM |
Enhancement | Moved V8 background tasks to worker threads tasks |
Enhancement | Added GPU debug metadata in Unreal Engine 4 |
Enhancement | Implemented animation shorthand CSS property |
Enhancement | Added custom HTMLMediaElement events signaling when a decoder cannot keep up (cohplaybackstalled) and when it catches up (cohplaybackresumed). These events can be used to synchronize other animations with the video playback. |
Enhancement | Seeking paused videos now shows a preview of the seeked position |
Enhancement | Added non-standard property to the CanvasRenderingContext2D “enableFastLineSegmentDrawing” which can allows much faster drawing in a canvas if the image consists of line segments only |
Fix | Fixed assert when calling bound C++ methods with incorrect arguments from JavaScript |
Fix | Fixed assert when removing the src attribute of an img and reloading the view |
Fix | Fixed using the skewX property in animations |
Fix | Fixed leaking some GPU resources on reloading the view |
Fix | Fixed calling the connectedCallback on custom elements in appendChild |
Fix | Fixed calling bound methods on objects that have been removed with View::DestroyExposedInstance |
Fix | Fixed using unsigned numbers for specifying a color in data-binding |
Fix | Fixed possible memory leak of ParseHTML when the system is destroyed before the load has finished. |
Fix | Fixed crash when using canvas stroke with gradient |
Fix | Fixed Inspector to show all transformations on an element with multiple transformations. |
Fix | Fixed currentTime attribute when the animation is paused |
Fix | Fixed onBlur, onFocus events on input elements when using React |
API | Changed Renoir API to allow simultaneous usage from Coherent GT and Gameface |
API | Split Renoir backend in UnrealEngine 4 to a separate module |
API | Added virtual destructors to pure virtual classes and structs |
API | Added default implementation to ViewListener`s methods |
API | Renamed Renoir library files to start with lib |
API | Moved enable color writes to the PSO instead of SetRenderTarget paramThis is part of a breaking change in Renoir backends. For more information, see the migration guide |
API | Moved MSAA to the PSOThis is part of a breaking change in Renoir backends. For more information, see the migration guide |
API | Added upload buffer (constant buffers) management in RenoirThis is part of a breaking change in Renoir backends. For more information, see the migration guide |
API | Moved auxiliary constant buffers from the Renoir backend to Renoir core libraryThis is part of a breaking change in Renoir backends. For more information, see the migration guide |
API | Started doing ClearQuad instead of ClearRenderTarget based on new backend capabilityThis is part of a breaking change in Renoir backends. See the For more information, see the migration guide |
API | Added BeginRenderPass and EndRenderPass backend commands to 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
Feature | Added default rendering backend implementation for the Metal graphics API |
Feature | Added support for CSS Custom properties (variables) |
Feature | Added support for CSS “!important” rule |
Feature | Added support for multiple values in the CSS background-image property |
Feature | Added support for the CSS calc() function. Currently, mixing percentages with other value types is not supported. |
Feature | Selection API for input and textarea |
Feature | Added support for CSS ::selection pseudo element |
Feature | Added support for CSS :root pseudo-class |
Feature | Added cache control API for clearing and setting sizes of caches |
Feature | Added JavaScript capturing event phase processing |
Enhancement | Added support for the letter-spacing CSS property for inputs, buttons and textareas |
Enhancement | Added default styles for input, button and textarea |
Enhancement | Added text-align support for input, button and textarea |
Enhancement | Improved support for SVGs without viewBox |
Enhancement | Cohtml.js can be used in a standard web browser. Significantly increases the compatibility of pages testing in web browsers. |
Enhancement | Added samples for workflows based on WebPack and Redux |
Enhancement | Add support for multiple data models in data-bind expressions |
Enhancement | Upgraded the JavaScript VM on Windows and Android to V8 6.9.427The Debug configuration now uses V8 build in Debug, so there will be more error checking at the cost of some performance |
Enhancement | Reduced the count of dynamic TLS slots allocation for Nintendo Switch |
Enhancement | Added support for Unreal Engine 4.21 |
Enhancement | Implemented path stroking/filling with gradients in canvas elements |
Fix | Added CloneNode for CustomElements |
Fix | Fixed CustomElements callback invocations (they weren t always fired) |
Fix | Fixed canvas element resize behavior (canvas context state is now correctly reset) |
Fix | Added missing ICU library to the Nintendo Switch package |
Fix | Fixed animations` currentTime in Web Animations API (it was reported incorrectly when the animation is paused) |
Fix | Fixed crash on Nintendo Switch when not passing a custom log handler |
API | Input elements no longer inherit the font related styles of their parents |
API | Added GPU debug metadata emission useful for graphics debugging.Enable with View::EmitRenderingMetadata and handle the
BC_PushMetadata, BC_PopMetadata commands in your RendererBackend implementation. |
Version 1.0.0.6
Released 05 Dec 2018
Feature | UWP Added support for UWP ARM. |
Feature | UWP The SDK will now use ChakraCore as JavaScript VM on UWP x86. JavaScriptCore is still the JSVM for UWP x64. This nets about 30% performance increase in JavaScript execution. ChakraCore on UWP x64 will be available in a later release. |
Feature | API Added initial support for virtual lists to the data binding system. Virtual lists allow users to work on sections of some lists of data instead of the full data. For example, you might want to display only the first 5 items of your in-game store instead of all items. See the docs for engine.makeVirtualList. This release brings support for pagination i.e. splitting your list into pages. Future improvements will add support for predicate filtering and sorting. |
Feature | JavaScript can now modify objects exposed by C++. This allows the UI to update game state directly without invoking functions. |
Feature | Added partial support for custom elements across all platforms. Custom elements provide a way for JavaScript devs to create their own HTML elements. Support is partial because new classes can only be derived from HTMLElement. |
Feature | API Added the ability to dump all currently used images in the UI. This is useful when you want to know which files to package, preload or generate atlases for. See the new method cohtml::View::GetUsedImagesList . |
Feature | Added support for the line-height CSS property. |
Feature | Added support for exposing objects containing std::pair , std::map and std::unordered_map to the UI. |
Enhancement | API Added support for the window.onresize event. |
Fix | Fixed a bug in the Player application which would fail to load files whose paths contained non-ASCII characters. |
Fix | Fixed a crash in the Player application when using the –height= parameter. |
Fix | Fixed a bunch of minor memory leaks across the scripting sybsystem. |
Fix | Animations on elements with display: none will now be properly paused and resumed when display: none is removed. |
Fix | Added virtual destructors to the cohtml::DebugDump and cohtml::FrameCapture structs. |
Fix | Fixed rendering of SVG gradients which were misplaced when under the effects of a transformation (translation, rotation, etc.). |
Fix | Fixed a bug which would cause some SVG files no never be loaded if a lot of SVGs were loaded simultaneously at the start of the application. |
Fix | Errors thrown inside event handlers of engine.on are now properly logged across all platforms. Previously, these errors would be silently ignored. |
Fix | Invoking console.log with null or undefined will now produce the same behaviour across all platforms. Previously, some would throw errors, others would log empty strings or empty objects. |
Fix | Fixed a crash when calling cohtml::System::Uninitialize while a video was still playing. |
Fix | Fixed a bug which would cause videos to sometimes stop spuriously. |
Fix | Fixed a bug which would cause some SVGs to be rendered incorrectly. |
Fix | Fixed a bug which would cause elements whose background is a linear-gradient to not update when another linear gradient is applied. |
Fix | Fixed rendering artefacts caused when the current value of box-shadow and only box-shadow was changed on an element. |
Fix | Fixed an issue which would cause hover effects on images to not appear every other time. |
Fix | Fixed a bug which caused playFromTo from the WebAnimations API to not play correctly after an animation has ended. |
Fix | Fixed an assert in Debug that was being hit when calculating new styles for some elements that have both box-shadow and transform applied. |
Fix | Fixed a crash on Nintendo Switch when destroying rendering resources. |
Fix | You no longer have to define COHERENT_HORIZON manually to build for Nintendo Switch. |
Fix | Fixed a bug which would cause the SDK to throw an error whenever you accessed window.history.state on iOS. |
Fix | Fixed a crash caused when using regular expressions while the garbage collector is running. |
Fix | MacOS Some debug features were disabled in debug builds on MacOS and iOS (e.g asserts). They are now available on all platforms in Debug. |
FixUnreal Engine | Displaying a Gameface UMG widget inside a ScaleBox widget will now preserve scaling properly. |