Skip to content

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 19 Aug 15:38
· 123 commits to main since this release

Installing

Apple Silicon only (M1 or later), macOS 11 or newer. This build will not run on Intel Macs.

  1. Download the .dmg below and open it.

  2. Drag Zervo onto the Applications folder.

  3. Open Terminal and run:

    xattr -dr com.apple.quarantine /Applications/Zervo.app
    
  4. Open Zervo.

If you would rather not use a terminal: open Zervo, let macOS refuse it, then go to System
Settings → Privacy & Security
, where an Open Anyway button will have appeared. Do not bother
Control-clicking → Open; Apple removed that in
macOS Sequoia.

Step 3 is not optional and it is not a workaround for something broken. macOS quarantines
everything downloaded from the internet and refuses to open a quarantined app unless it is signed
with a paid Apple Developer ID ($99/year) and notarised. Zervo is neither, so macOS reports that
the app "is damaged and can't be opened", which is untrue — it means only that nobody has paid
Apple to vouch for it. The command clears the download flag and changes nothing about the app.

The disk image contains the same instructions, in case you find this later.

What this build is

A browser. The interface is sidebar-first: no toolbar, tabs grouped into workspaces, everything in
one collapsible sidebar. Underneath is Servo, the independent web engine
written in Rust — not Chromium, not Gecko.

Servo is not a finished engine. Expect sites to render badly, refuse to load, or break in ways that
have nothing to do with Zervo. This is something to try, not something to depend on.

What's new in 0.3.1

Sites no longer render as though on a phone. window.screen was 0x0, because Zervo never
implemented screen_geometry and the engine's fallback gives nothing. Anything that sizes itself
against the screen rather than the viewport concluded it was on a tiny device — Google served its
mobile layout into a desktop window. outerWidth, outerHeight, screenX and screenY were
wrong for the same reason and are right now.

The disk image explains how to open the app, rather than leaving people with "Zervo is
damaged".

Still in from 0.3.0

  • Pages can ask you things. <select> dropdowns, alert/confirm/prompt, file uploads,
    <input type=color>, right-click menus and input methods all did nothing at all before 0.3.0.
  • It remembers you. Cookies, logins and localStorage survive a restart.
  • Audio and video play for local and progressive files, with GStreamer bundled in.
  • Downloads work, using a patched build of the engine.
  • Local files openfile:// URLs were impossible before.

Known not to work

Streaming video. YouTube, Netflix and Twitch report that the browser cannot play video, and
they are right: Servo has no Media Source Extensions, which all adaptive streaming is built on. It
also reports no H.264 support to canPlayType, so sites that feature-detect will not offer it —
even though the bundled GStreamer decodes H.264 perfectly well from a local file. Both are
engine-side.

Full detail in CHANGELOG.md, and what is
still missing is written down in
docs/PARITY.md.

Contributing

The gap list in docs/PARITY.md is in the order the gaps hurt, with where in the code each one
lives. Most of it is embedder work rather than engine work, so it is more approachable than
"contribute to a browser" sounds. A Linux port is wanted — only the vibrancy, the Dock icon and the
bundling script are macOS-specific.