Ultralight 1.4a Now Available

An experimental release of Ultralight 1.4 is now available!

Download the SDK

You can download the free SDK here;

What’s New

This release updates the engine to latest WebKit, adds support for macOS Apple Silicon (ARM64), and adds CSS filter support.

This alpha release is intended to gather feedback and offer users early access to new features. Come chat about this build in our Discord channel, we love to hear from you!


  • Builds for Linux (x64 / ARM64) and macOS (x64) will be released in a future update.
  • HTML5 Video / Audio is disabled in this build (we’re currently rewriting the GStreamer integration).
  • The GPU renderer is still in progress (clipping issues), AppCore always uses the CPU renderer in this build.
  • This build does not have the allocator overrides (Allocator API) or HTML5 Video/Audio enabled.
  • Remote inspector is not yet enabled.
  • CSS backdrop-filter is only available when using the CPU renderer with experimental compositor enabled (see ViewConfig to enable it)

Full Changelog

Major Changes:

  • Synchronize with upstream WebKit (Safari 16.4.1 / WebKit 615.
  • Update to cURL 7.88.1
  • Add macOS ARM64 (Apple Silicon) support
  • Add CSS Filter support (blurs, saturation, sepia, etc.)
  • Add API to manage threads created by the library.
  • Add API to handle memory allocations made by the library (not enabled in this build)
  • Add support for downloads (see View::set_download_listener)
  • Add support for network whitelist/blacklist (see View::set_network_listener)
  • Animation events are now driven by Renderer::RefreshDisplay (if you’re managing your own renderer, you should call this API each time the display refreshes otherwise animations / scrolling won’t work correctly)


  • Fix bug where cookies weren’t being applied to subdomains.
  • Fix bug where hard reloads weren’t sending no-cache headers with request.
  • Fix various crash bugs at shutdown.