Shani OS 2026.04.15 — Release Notes

Note: A newer release (2026.05.18) is available from shani.dev/download. This post documents the 2026.04.15 release.

Shani OS 2026.04.15 is now available — two refreshed ISO images, a fixed UEFI installer, and significantly improved shani-deploy reliability across interrupted downloads and edge-case boot sequences.

🗓️ Release Date: April 15, 2026 🧱 Base: Arch Linux (rolling) with a read-only root filesystem 🔁 Update model: Atomic blue/green updates via shani-deploy

New to Shani OS? Start with Why Your OS Update Should Never Break Your Computer for context on the design philosophy, then The Architecture Behind Shani OS for the technical detail. For everyday usage and use-case guidance, see Shani OS for Everyone. Full documentation lives at docs.shani.dev.


Available Images

EditionSizeBest for
🟢 GNOME Edition~5.4 GBWork, study, Windows/macOS switchers, OEM deployments
🔵 KDE Plasma Edition~7.6 GBGaming, power users — full gaming stack pre-installed

Both ISOs are SHA256 checksummed and GPG signed with key 7B927BFFD4A9EAAA8B666B77DE217F3DA8014792. See the installation instructions at docs.shani.dev for the full verification walkthrough.


What Changed in This Release

Installer

The most significant fix in this release is a corrected UEFI installation flow. Previous releases had inconsistent behaviour on certain UEFI implementations — particularly around ESP partition detection and Shim enrollment on some OEM firmware. This release resolves those issues across the tested hardware matrix.

Installation time is now approximately 10–15 minutes from USB boot to first login. The installer creates all Btrfs subvolumes, extracts the system image into @blue, snapshots it to @green, builds both Unified Kernel Images via gen-efi, and registers the UEFI boot entry — all without requiring any post-install configuration.

shani-deploy

Several reliability issues in the update and rollback pipeline have been resolved:

  • Interrupted downloads now resume correctly via aria2c rather than restarting from zero
  • The boot-count verification step — which confirms a new slot booted successfully before committing it as default — is more robust against edge-case timing
  • --rollback path handles the case where the inactive slot has no prior snapshot more gracefully
  • shani-health --storage-info now reports accurate compressed sizes using compsize
  • shani-update background notification service (user-level systemd service) now more reliably detects new images and sends desktop notifications

shani-health

  • shani-health new CLI for checking the health of a running Shani OS system — slot state, subvolume storage, service status, and filesystem integrity. Full reference: shani-health Reference.

Hardware Support

Firmware packages updated to 20260309-1 (AMD and Intel microcode included). GPU compatibility improvements cover recent AMD RDNA 3 and Intel Arc cards. Bluetooth and audio handling improvements target common laptop hardware — specifically Intel DSP audio via updated sof-firmware.


Core System Versions

Base

ComponentVersion
Linux Kernel6.19.11.arch1-1
systemd260.1-1
glibc2.43+r5+g856c426a7534-1
Linux Firmware20260309-1
AMD Microcode20260309-1
Intel Microcode20260227-1

GNOME Edition

ComponentVersion
GNOME Shell50.1-1
GTK 44.22.2-1
libadwaita1.9.0-1
Nautilus50.1-1
GDM50.0-1

KDE Plasma Edition

ComponentVersion
KDE Plasma6.6.4-1
KDE Frameworks6.25.0-1
Qt 66.11.0-2
KWin6.6.4-1
Dolphin25.12.3-1

Application Runtimes

Shani OS uses a multi-runtime model. Applications run entirely outside the base OS in dedicated Btrfs subvolumes, so they survive every update and rollback untouched. The @nix subvolume is shared between both OS slots — Nix packages installed while running @blue are equally available when running @green.

RuntimeVersionPurpose
Flatpak1.16.6-1Primary GUI apps — auto-updates every 12 hours
Snap2.74.1-2Optional sandboxed apps
Nix2.34.6-1Reproducible dev environments (@nix subvolume, shared across slots)
Distrobox1.8.2.4-1Full mutable Linux containers (Ubuntu, Arch, Fedora)
Podman5.8.1-2Rootless containers — Docker-compatible
AppImage-Portable apps via Gear Lever

Shani OS Core Packages

PackageVersionRole
shani-core1.2-13Core system integration layer (systemd units, group management, base paths)
shani-deploy0.0.1-54Atomic update and rollback tool with GUI/CLI interface
shani-settings0.0.5-37Default system configuration (/etc and /usr overlays)
shani-desktop-gnome1.2-23GNOME edition metapackage
shani-desktop-plasma1.0-25KDE Plasma edition metapackage
shani-desktop-cosmic1.0-1COSMIC edition metapackage
shani-keyring1.0-5pacman signing trust root (GPG key + trust/revocation files)
shani-network1.0-12NetworkManager, firewalld, fail2ban, VPN stack
shani-tools1.1-8System maintenance and management utilities
shani-tools-network1.0-3Headless networking tools (systemd-networkd, cloud-init)
shani-tools-extra1.0-2Additional system utilities
shani-multimedia1.0-6Audio/video codecs, GStreamer plugins, PipeWire extras
shani-video1.0-4GPU and video drivers (Mesa, Vulkan drivers, NVIDIA, VA-API/VDPAU)
shani-video-guest1.0-1Minimal video playback for VMs and containers
shani-fonts1.0-3Font configuration and Indian language support
shani-accessibility1.0-2Orca, espeakup, brltty, IBus input methods
shani-bluetooth1.0-4BlueZ stack, CUPS printing over Bluetooth
shani-peripherals1.0-2Input devices, webcam, printer/scanner group management
shani-printer1.0-5CUPS, printer drivers (HP, Canon, Brother), driverless printing
shani-scanner1.0-2SANE scanning with sane-airscan
shani-storage1.0-3Btrfs tools, NFS, Samba, SSHFS
shani-health0.0.1-20System health, security, and diagnostics reporter
shani-reset0.0.1-8Factory reset and clean reinstall tool
shani-builder1.0-2Docker build environment for image/ISO creation
os-installer1.0-1Graphical installer (libadwaita-based)
os-installer-config1.0-1Installer configuration and default settings

Pre-Installed Flatpaks

GNOME Edition

The GNOME edition ships with a focused set of apps covering everyday computing needs:

Productivity & Utilities: Vivaldi Browser, OnlyOffice Desktop Editors, GNOME Text Editor, GNOME Calculator, GNOME Calendar, GNOME Clocks, GNOME Maps, GNOME Contacts, Gnote, Papers (PDF viewer), Loupe (image viewer), Snapshot (camera), Simple Scan, Sound Recorder, Font Viewer, Characters, Weather

Media: Decibels (audio player), Showtime (video player)

System Tools: Warehouse (Flatpak manager), Flatseal (Flatpak permissions), Pods (Podman GUI), BoxBuddy (Distrobox GUI), Gear Lever (AppImage manager), Impression (USB writer), Extension Manager, Seahorse (key manager), Secrets (password manager), GNOME Boxes (VM management)

Connectivity: GNOME Connections (remote desktop client), Network Displays, Meld (diff tool)

Games: Nibbles, Mahjongg, Chess, Aisleriot, Quadrapassel, Sudoku

Graphics: Drawing (simple drawing app), Fragments (torrent client), Shortwave (internet radio)

KDE Plasma Edition

The KDE Plasma edition ships the GNOME system tools (Warehouse, Flatseal, Pods, BoxBuddy, Gear Lever) plus a complete gaming and productivity stack:

Gaming: Steam, Heroic Games Launcher (Epic/GOG/Amazon), Lutris, RetroArch, Bottles (Windows apps), GOverlay (MangoHud configurator), Oversteer (racing wheel configuration), AntiMicroX (gamepad mapper), OpenRGB (RGB lighting), Piper (gaming mouse configuration)

KDE Apps: Okular (documents), Gwenview (images), Elisa (music), Haruna (video), Kate (text editor), KolourPaint, Kamoso (camera), KRDC (remote desktop), ISO Image Writer, KGet, KTorrent, KCalc, Skanlite (scanner)

Games: KPatience, Knights (chess), KBlocks, KSnakeDuel, KMahjongg, Kapman, KSudoku

VM Tools: virt-manager, QEMU extension

Theming: Kvantum style engine

Vivaldi Browser and OnlyOffice Desktop Editors are included on both editions.


Security Stack

All of the following are active from first boot, by default:

  • Six simultaneous Linux Security Modules: landlock, lockdown, yama, integrity (IMA/EVM), apparmor, bpf
  • LUKS2 full-disk encryption with argon2id key derivation — opt-in at install
  • TPM2 auto-unlock — enroll with sudo gen-efi enroll-tpm2 on first boot
  • Secure Boot via Shim + MOK-signed Unified Kernel Images, one per slot
  • Signed system images — SHA256 + GPG verified before every deployment
  • Zero telemetry — no usage data, crash reports, or analytics
  • Intel ME disabled by default (mei, mei_me kernel modules blacklisted)
  • firewalld active from first boot

Atomic Update Model

Shani OS always maintains two complete, independently bootable system images:

shanios-blue  → @blue subvolume   (active slot)
shanios-green → @green subvolume  (standby slot)

Update flow: download to inactive slot → verify checksum + signature → snapshot old slot → extract new image → generate signed UKI → switch bootloader default → reboot → 15-second startup check confirms success. If the new slot fails to boot three times, systemd-boot automatically falls back.


Download

Or visit shani.dev for links, torrent files, and verification instructions.


Verify

# 1. Verify checksum
sha256sum -c signed_shanios-gnome-2026.04.15-x86_64.iso.sha256

# 2. Import the Shani OS signing key (once)
gpg --keyserver keys.openpgp.org --recv-keys 7B927BFFD4A9EAAA8B666B77DE217F3DA8014792

# 3. Verify GPG signature
gpg --verify signed_shanios-gnome-2026.04.15-x86_64.iso.asc signed_shanios-gnome-2026.04.15-x86_64.iso

Write the ISO to a USB drive (minimum 8 GB) using Balena Etcher or Rufus (DD mode). Do not use Ventoy — it conflicts with the Shani OS bootloader.


First Steps After Install

# Firmware updates (BIOS, Thunderbolt, storage peripherals)
fwupdmgr refresh && fwupdmgr update

# Add a Nix channel before installing any Nix packages (once, on fresh install)
nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
nix-channel --update

# Enroll TPM2 for automatic LUKS unlock (if you enabled encryption)
sudo gen-efi enroll-tpm2

# Update the system
sudo shani-deploy

# Check which slot you're running
cat /data/current-slot

Documentation & Community


Resources


Built in India 🇮🇳 · Immutable · Atomic · Zero Telemetry Shani OS 2026.04.15 — Reliable by design, consistent by default.