Skip to content
SiteEmail

Feature

Implemented the DOMContentLoaded event

Feature

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

Feature Unreal Engine

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

Feature Unity

Implement Input event propagation handler

Feature

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

Enhancement

Fixed increasing memory when changing the style attribute or its properties

Enhancement Unity

Add new sample to demonstrate the input events handling propagation

Enhancement

Documented how to avoid banding in gradients

Enhancement

Documented animation, chat and map JavaScript libraries support

Enhancement

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

Enhancement

Implemented the animationstart and transitionstart events.

Enhancement

Added propertyName to transition events.

Enhancement

Added animationName to animation events.

Fix

Fixed 9-slice and wrong image repeat in some cases

Fix

Fixed calling pushState and replaceState History APIs without URL

Fix

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

Fix

Fixed firing animationend event more than once for certain animations

Fix

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

Fix

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

Fix

Fixed custom elements reaction callbacks invocation order

Fix

Fixed deferred scripts execution order

Fix

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

Fix

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

Fix

Fixed leaking WebSocket connections in the Player app

Fix

Fixed nodes ignoring scroll set via JavaScript on the first frame

Fix

Fixed transitions not activating on elements with pseudo elements

Fix

Fixed transition state breaking when cloning nodes with JavaScript

Fix

Fixed duplicated Inspector and Mutation Observer events on element inlineStyle change

Fix

Fixed absolute element positioning when size is defined

Fix

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

Fix

Fixed a race condition when multithreaded command processing was enabled.

Fix

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

API

Removed forceStyleResolve option from GetAnimationsOptions, getAnimations now works by standard

API

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

In this version to add more consistency in naming between shaders and C++ code, we made some changes in CBType (for available Constant Buffers) and ShaderType (for available shaders) enumerations.

In CBType:

// Vertex constant buffers
CB_Transforms -> CB_TransformVS
CB_RenoirShaderVS -> CB_RenoirShaderParamsVS
// Pixel constant buffers
CB_GlobalPixel -> CB_GlobalDataPS
CB_StandardPrimitivePixel -> CB_StandardPrimitivePS
CB_StandardPrimitiveAdditionalPixel -> CB_StandardPrimitiveAdditionalPS
CB_EffectsPixel -> CB_EffectsPS
CB_RenoirShaderPS -> CB_RenoirShaderParamsPS

In ShaderType

ST_BatchedStandard -> ST_StandardBatched
ST_BatchedStandardTexture -> ST_StandardBatchedTexture
ST_TexturesWithColorMix -> ST_ColorMixing
ST_GenerateSDFOutline -> ST_GenerateSDF
ST_Clipping -> ST_ClipMask

We have changed the naming of the constant buffers in the shaders in order to be consistent with the enumerations, so you should get the latest shaders to run the latest backend.

Sometimes before some draws there might be constant buffer updates which actually are not used at all in the current draw. We wanted to optimize those cases, so we've implemented a feature which updates the constant buffer only if it exists in the shader in the next draw.