Skip to content

2.0.0-rc.1 - 2026-05-13

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 May 22:11

Neon v2.0.0-rc.1 — Rust rewrite

Release candidate. Please file issues if you hit anything on the v1→v2 migration path before this promotes to v2.0.0.

What changed

v2 is a complete rewrite. The bash scripts (install.sh, fix-drm.sh, download-widevine.sh) and the Go/Swift tray apps are replaced by a single Rust binary (neon) with a structured CLI and a system tray daemon.

cargo install neon
# or grab a release artifact for your platform
neon setup           # non-interactive install
# or: neon init      # interactive wizard

Breaking changes

  • CLI surface: bash install.shneon setup. bash fix-drm.shneon patch. neon-trayneon (daemon mode auto-started by the user systemd unit).
  • Install layout: /usr/lib/neon/ is no longer used by the new binary — it lives wherever cargo install or your package manager places it (typically ~/.cargo/bin or /usr/bin).
  • Daemon: replaces v1's system-wide neon-fix-drm.{path,service} units with a per-user ~/.config/systemd/user/neon.service that also serves the tray.
  • Tray: speaks SNI directly over D-Bus via ksni (Linux). No libayatana-appindicator3 runtime dep. Native support on KDE Plasma, sway/Hyprland + waybar, Quickshell-based shells (noctalia, Caelestia), Cinnamon. Vanilla GNOME still needs the AppIndicator extension.

v1 → v2 migration

neon setup automatically detects a legacy v1 install and surfaces the correct uninstall command for your distro:

  • Arch (AUR): pacman -R neon-drm (or paru -R neon-drm / yay -R neon-drm).
  • Debian / Ubuntu: dpkg -r neon-drm (or apt remove neon-drm).
  • Fedora / RHEL: rpm -e neon-drm (or dnf remove neon-drm).

Run the suggested command, then re-run neon doctor — the legacy warning should clear.

Raw bash install (install.sh)? neon setup cleans it up automatically.

V3 streaming bridge (experimental, opt-in)

A new neon stream subcommand provisions a Windows IoT LTSC VM with GPU + TPM passthrough and streams the desktop back via Looking Glass for premium 4K HDR playback. Default builds don't include any V3 code; enable with:

cargo install neon --features experimental-bridge

Limitations: dual-GPU required (the passthrough GPU is unavailable to the host while V3 runs); HDR is tone-mapped to SDR for the Looking Glass copy. See ROADMAP.md.

Supported platforms

  • Linux: tested on Arch (CachyOS). Debian and Fedora users — your feedback on the migration path is especially welcome; please open an issue if neon setup doesn't cleanly handle your v1 install.
  • macOS: build + smoke-tested. The v1 xattr quirk that surfaced in #1 is moot under the new binary path.

Rolling back to v1

If v2 misbehaves and you need to fall back:

  1. neon uninstall — removes the v2 daemon + config; leaves browsers patched.
  2. Re-install v1 via your package manager (paru -S neon-drm, apt install neon-drm, etc.) or run bash install.sh from the v1.0.0 source tarball.
  3. Open an issue with the neon doctor output (from before uninstalling, ideally) so we can fix the rc.

Credits

  • @bfayers (#1) — caught the Mozilla widevine URL rotation + xattr -r regression in the v1 bash scripts.

Full machine-readable changelog: CHANGELOG.md.