Repository navigation
Zenium v0.3.0
Highlights
Zen is now Zenium (#29). Same browser, new name everywhere it carries identity: packages are zenium-…, the app id is io.github.benitbuhner.zenium, the Windows executable is zenium.exe. Your profile comes along.
Upgrading from Zen (v0.2.0 and earlier)
- Windows and Linux upgrade from Zen automatically, with profile migration. The Windows installer removes the old Zen installation and its shortcuts; the
.debreplaces thezen-chromiumpackage and the AppImage replaces the old file. Zen 0.2.0's in-app updater applies this release on its own. On first launch Zenium takes over the Zen user data – spaces, tabs, settings, history, extensions. - macOS: delete the old Zen.app manually after Zenium has started once (drag Zenium into Applications first; the profile migrates on first launch).
- Android: Zenium is a new app. Install the APK, then uninstall the old Zen build (its data cannot move between package ids). From now on updates install in place: every release from 0.3.0 onward is signed with the same key (#21), and the in-app updater installs new APKs over the existing one.
What else is new
- Site information sheet (#22) – tap the site icon in the URL pill: connection and certificate, mixed-content warning, cookies, storage and per-site permissions; a bottom sheet on Android, a panel on desktop.
- Android tabs present as a browser (#23) – Chrome-shaped user agent and client hints instead of the WebView tell, Chrome's typographic defaults and text-size behaviour, so pages render as they do in Chrome.
- Extensions groundwork (#28) – a shared CRX3 store-install core (download, signature verification, unpack, manifest, update checks) for Chrome Web Store / Edge Add-ons installs on desktop and Android; the install UI follows.
- Stable Android signer (#21) – debug-keyed releases share one key, so they upgrade each other in place.
- Release notes generation fix (#20).
Zenium 0.3.0 for Windows, macOS, Linux and Android. Pick the package for your device below.
Downloads
| Platform | Architecture | Download | Size |
|---|---|---|---|
| Windows 10 / 11 | x64 | zenium-0.3.0-x64-setup.exe | 109 MB |
| Windows 11 on ARM | arm64 | zenium-0.3.0-arm64-setup.exe | 103 MB |
| macOS (Apple Silicon) | arm64 | zenium-0.3.0-arm64.dmg | 125 MB |
| macOS (Intel) | x64 | zenium-0.3.0-x64.dmg | 129 MB |
| Linux (AppImage) | x64 | zenium-0.3.0-x86_64.AppImage | 123 MB |
| Linux (AppImage) | arm64 | zenium-0.3.0-arm64.AppImage | 124 MB |
| Debian / Ubuntu (.deb) | x64 | zenium_0.3.0_amd64.deb | 97 MB |
| Debian / Ubuntu (.deb) | arm64 | zenium_0.3.0_arm64.deb | 92 MB |
| Android 8.0+ | universal | zenium-0.3.0.apk | 2 MB |
Installing
Windows
Run the installer; it installs Zenium for the current user and creates a desktop shortcut. Pick the arm64 installer on a Windows-on-ARM device (Snapdragon X and similar), otherwise x64.
The installer is not code-signed yet, so SmartScreen shows "Windows protected your PC" on first run: choose More info → Run anyway.
macOS
Open the disk image and drag Zenium into Applications. Apple Silicon Macs (M1 and later) use the arm64 image, Intel Macs the x64 image.
This build is not signed or notarized by Apple, so macOS blocks the first launch ("Apple could not verify…"). Choose Open Anyway under System Settings → Privacy & Security, or run xattr -dr com.apple.quarantine /Applications/Zenium.app once.
Linux
AppImage (any distribution):
chmod +x zenium-0.3.0-x86_64.AppImage
./zenium-0.3.0-x86_64.AppImageAppImages need FUSE 2 (sudo apt install libfuse2 on Ubuntu 22.04+). Debian / Ubuntu:
sudo apt install ./zenium_0.3.0_amd64.debAndroid
Download the APK on the device and open it; allow installs from your browser when Android asks. Requires Android 8.0 or newer; containers need a WebView from Chrome 111 or newer.
Upgrades from 0.3.0 onward install in place – open the new APK over the installed app, or let the in-app updater apply it (Settings → Updates). Every release since 0.3.0 is signed with the repository's CI debug key (android/ci-debug.keystore, the same key on every build); Android treats it like any debug-signed app. Only when coming from 0.2.0 or earlier does the old build have to be uninstalled once. Switching to the project release key later will need one more uninstall.
Coming from Zen (v0.2.0 and earlier)
The browser is now called Zenium, and its packages, app id (io.github.benitbuhner.zenium) and install locations carry the new name. Your profile moves with you: on first launch Zenium takes over the Zen user-data directory (tabs, spaces, settings, cookies), and a zen-sync folder becomes zenium-sync.
- Windows: the installer removes the Zen installation (and its shortcuts) for you; the in-app updater of Zen 0.2.0 does the same when it installs this release.
- macOS: drag Zenium into Applications and delete the old Zen.app yourself once Zenium has started.
- Linux: the
.debreplaces thezen-chromiumpackage (apt install ./…debordpkg -i); the AppImage simply replaces the old file, and the in-app updater does so on its own. The oldzen-chromiumcommand keeps working as an alias ofzeniumfor this release. - Android: Zenium is a new app and installs alongside Zen; nothing can move the old app’s data. Uninstall Zen once Zenium is installed.
Verifying a download
Every file is listed in SHA256SUMS.txt and has a signed build provenance attestation that ties it to the commit and workflow run that produced it.
sha256sum --check --ignore-missing SHA256SUMS.txt
gh attestation verify zenium-0.3.0-x64-setup.exe --repo BenItBuhner/ZeniumAutomatic updates
Zenium checks this release's update-manifest.json (version, per-package download URL, size and SHA-256) on startup and every few hours – see Settings → Updates.
- Windows and Linux (AppImage, deb) download the update in the background and install it when Zenium restarts.
- macOS: this build is not signed by Apple, so macOS cannot swap it in place; Zenium downloads the disk image, verifies it and opens it for you to drag over the old app.
- Android downloads the APK, verifies it and hands it to the package installer, which upgrades the installed app in place (every release from 0.3.0 onward carries the same signing key). Only installs of 0.2.0 or earlier need to be uninstalled once.
- The manifest is not signed yet (no
UPDATE_MANIFEST_SIGNING_KEYconfigured); the app relies on HTTPS and the per-file SHA-256. - electron-updater feeds:
latest-arm64.yml,latest-linux-arm64.yml,latest-linux.yml,latest-mac.yml,latest.yml.
What's changed
Other changes
- Release notes: drop the duplicate "What's Changed" heading from the generated changelog by @BenItBuhner in #20
- Android: committed CI debug keystore so debug-keyed APKs keep one signer across releases by @BenItBuhner in #21
- Site information sheet: connection, cookies, storage and permissions from the pill's site icon by @BenItBuhner in #22
- Extensions: shared CRX3 store-install core (download, verify, unpack, manifest, updates) by @BenItBuhner in #28
- Rename the product to Zenium, with upgrade paths for existing Zen installs by @BenItBuhner in #29
- Android tabs: present as a browser (UA + client hints), Chrome's typographic defaults, render-fidelity workflow by @BenItBuhner in #23
Full Changelog: v0.2.0...v0.3.0