Release of the Servo 0.1.0 browser engine, which is now available as a crate package

The release of the Servo 0.1.0 browser engine and its accompanying demo browser, ServoShell, developed in Rust, has been published. Ready builds are available for Linux, Android, macOS, and Windows. In addition to separate builds, Servo is now also available in the form of a crate package, which allows the engine to be used as a library.

Servo 0.1.0 is the first release to ensure a long-term support cycle (LTS). New LTS branches will be released every 6 months based on the latest interim release. LTS releases will be supported for 9 months (with a 3-month transition period to the new LTS branch). Unlike regular releases, the LTS branch will receive updates with security fixes for the Servo library, JavaScript engine, and dependencies. The LTS branch is expected to be useful for developers integrating Servo into their projects who do not wish to switch to the latest interim release each month, which may include API changes.

The Servo 0.1.0 LTS release is built on the recently formed interim version 0.0.6, which implemented the following new features:

  • The HTML
  • The CSS selector ":modal" has been added, allowing you to define that a dialog created via the element is modal.
  • The CSS rule @property has been implemented, allowing custom CSS properties to be registered.
  • CSS properties "alignment-baseline" and "baseline-shift" have been added for vertical text alignment.
  • Support has been added for the header "Content-Security-Policy: base-uri", which restricts the URLs that can be used in the HTML element.
  • Partial support for lazy loading of iframe blocks has been added, where content outside the visible area is not loaded until the user scrolls the page to a position just before the element. Lazy loading of pages is enabled through the attribute "loading=lazy" in the iframe tag ().
  • Partial support for the CSS property "transform-style: preserve-3d" has been added for positioning child elements in 3D space.
  • Pointer events such as pointermove, pointerdown, pointerup, and pointercancel have been implemented.
  • Image rotation based on EXIF metadata has been ensured.
  • Support for the LANG environment variable has been provided to select the default language for the 'Accept-Language' header and the navigator.language property.
  • Pointer Events and UserActivation APIs have been added.
  • Methods import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex(), and index() have been implemented.
  • In the ServoShell demonstration browser, pages servo:preferences (GUI configurator) and servo:config (changing individual parameters in the style of about:config) have been implemented for changing settings. Support for page reload upon pressing F5 has been added.
    Release of the Servo 0.1.0 browser engine, which is now available as a crate package
  • In the developer tools, support for editing DOM attributes in inspection mode has been added. The web console now provides a preview of objects passed through console.log(), and the debugger has the capability to pause and resume script execution.
  • The API for embedding the browser engine into applications has been expanded.

The Servo engine was originally developed by Mozilla but later came under the auspices of the Linux Foundation. Servo is characterized by its support for multithreaded rendering of web pages, parallelizing DOM (Document Object Model) operations, and utilizing safe programming mechanisms provided by the Rust language. Servo was initially designed to support splitting DOM code and rendering into smaller subtasks that can be executed in parallel and make more efficient use of multi-core CPU resources. Parts of Servo, such as the multithreaded CSS engine and the WebRender rendering system, have already been integrated into Firefox.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster