Release notes

Changelog

Version 1.55.0


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