The release of browser engine Servo 0.0.5 and the accompanying experimental browser ServoShell, developed in Rust, has been published. Ready builds are available for Linux, Android, macOS, and Windows.
The engine was originally developed by Mozilla but later came under the auspices of the Linux Foundation. Servo is distinguished by its support for multi-threaded rendering of web pages, parallelization of DOM (Document Object Model) operations, and the utilization of Rust's programming safety mechanisms. Servo was originally designed to support the splitting of DOM code and rendering into smaller subtasks that can be executed in parallel, making more efficient use of multi-core CPU resources. Some parts of Servo, such as the multi-threaded CSS engine and the WebRender rendering system, have already been integrated into Firefox.

Key Changes:
- Support for playing files in the OGG format has been added to the HTML element
- Support for preloading resources using the tag has been added, allowing resources to be loaded before they are requested; for example, specific CSS files, scripts, videos, and images can be preloaded.
- Support for the 'blocking' property has been implemented in the HTML 'style' and 'link' elements to pause page rendering until resource loading is complete.
- Support for the 'align' property has been added to the HTML element 'img' to control image alignment.
- Support for the 'disabled' property has been added to the HTML element 'select' to deactivate the dropdown list.
- Support for the 'cursor-color' property has been added to change the cursor color in input fields.
- Support for applying the CSS 'content' property to replace any HTML element with an image has been added.
- Support for the pseudo-element '::details-content' has been added to change the style of content set through the HTML element .
- Support for the pseudo-class ':open' has been added to the HTML element , which triggers when the dialog is opened.
- Support for the pseudo-class ':active' has been implemented for the HTML element , effective from the moment the button is pressed until it is released.
- The Origin API has been added to retrieve information about the source of content at the level of the 'protocol + domain + port.'
- The MouseEvent.detail property has been implemented to provide information about the nature of the click (single, double).
- The Request object has been updated to include the "keepalive" property to determine if the connection is in a keepalive state.
- Support has been added for loading modules through JSON import expressions.
- The ability to specify attributes indicating the content type when importing via import expressions has been added.
- Support for circular imports of JavaScript modules has been added.
- Support for the navigator.sendBeacon interface is enabled by default for asynchronously transmitting small amounts of data from the browser to server.
- Added https_proxy configuration, as well as the HTTPS_PROXY and NO_PROXY environment variables for working through HTTPS proxies.
- Support for the ML-KEM, ML-DSA, and AES-OCB algorithms has been added to the Crypto API.
- Cross-compilation support has been added, using the Windows platform as the host.
- The network_connection_timeout setting has been added to set the timeout for establishing a network connection (default is 15 seconds).
Source: opennet.ru
