Skip to content

Releases: TuxOfValhalla/debian-update

# 🚀 debian-update v1.0.0 LTS — Official Release

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 31 Aug 16:41

We are proud to announce the official v1.0.0 LTS release of debian-update! This milestone release marks the transition to full production stability, introducing a refined desktop integration, automated Secure Boot & DKMS module verification, and streamlined multi-package management tailored for Debian GNU/Linux (Testing, Sid, and Trixie / Debian 13).

🌟 Key Highlights & What's New

  • 🖥️ High-Definition System Tray Applet & Wayland Integration:
    • Native Freedesktop StatusNotifierItem applet with full KDE Plasma 6 & Wayland support.
    • Multi-resolution rendering with subpixel antialiasing ensures crystal-clear icons across all panel sizes and HiDPI displays.
    • Smooth 30 FPS pulse animation (0.6 Hz, 6 cycles) cleanly alerts you to pending updates and resets precisely to full scale.
  • ⚙️ Seamless Full-Stack Autostart:
    • Standards-compliant XDG autostart (/etc/xdg/autostart/debian-update-tray.desktop) and user systemd service generator.
    • Systemd timer (debian-update-check.timer) automatically enables and starts in background upon installation.
  • 📦 Unified Multi-Ecosystem Package Management:
    • APT Integration: Interactive simulation and safe execution conforming to Debian Policy.
    • Flatpak Management: Background AppStream metadata refresh ensures all Flathub updates are captured.
    • Snap Support: Automatically detects and includes Snap package refreshes when snapd is present.
    • Service Health: Integrated needrestart checks to safely inspect and restart outdated running daemons.
  • 🔐 100% Passive Secure Boot & NVIDIA Verification:
    • Passive UEFI sysfs inspection (/sys/firmware/efi/efivars/) with zero intrusive commands.
    • Automatically signs new kernels (sbsign) and DKMS/NVIDIA modules (sign-file/kmodsign) with system MOK keys.
    • Intelligent signature caching for instantaneous background checks.
  • 🌐 20 Native Locales (i18n):
    • English, Norwegian (Bokmål & Nynorsk), Northern Sami, Danish, Swedish, Finnish, Icelandic, German, French, Spanish, Portuguese, Italian, Dutch, Polish, Russian, Chinese, Japanese, Korean, and Hindi.
    • Full alias resolution ensuring fallback to native system locale.

Refinements

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 29 Aug 19:27

debian-update v0.11.5 (RC3) - Refinements & Hardening

Release Candidate 3 (v0.11.5) brings major stability hardening, codebase cleanup, and strict Debian Policy compliance as the final candidate milestone towards the v1.0 LTS release.

🚀 What's New & Changed

1. Robust & Non-Intrusive Secure Boot Engine

  • 100% Passive Status Detection: Reads UEFI state directly from Linux sysfs (/sys/firmware/efi/efivars/), avoiding external binaries or intrusive privileged checks during background polling.
  • Intelligent Signature Verification: Checks existing module signatures (modinfo -F signer) and kernel signatures (sbverify). If all modules and kernels are already signed (e.g. by DKMS during APT operations), the signing process completes silently in milliseconds without redundant re-signing.
  • Strict Standard Key Scoping: Key discovery is strictly restricted to official system paths (/var/lib/dkms/, /var/lib/shim-signed/mok/), preventing accidental access to foreign disks or external keys.
  • Zero Overhead on Non-SB Systems: The signing subsystem remains completely silent and inactive on systems without Secure Boot enabled.

2. Predictable Debian APT Workflow

  • Eliminated Experimental Held-Back Interventions: Removed custom package solver logic to prevent unintended package removals during Debian Sid/Testing library transitions.
  • 1:1 Status Sync: Switched backend background checking from dist-upgrade to upgrade simulation, ensuring the system tray applet accurately reflects only packages that standard apt upgrade will install without false positives.
  • Safe, Interactive Execution: Respects standard Debian package management prompts and policy safeguards.

3. Architecture & Codebase Cleanup

  • Complete Removal of deb-get and AppImages: Removed all legacy binaries, background subshells, dependencies, and menu entries to keep the application lean and native.
  • Debian Policy Compliance: Package metadata in DEBIAN/control has been strictly restructured according to the Debian Policy Manual:
    • Depends: python3:any, python3-pyqt5, python3-pyqt5.qtsvg
    • Recommends: needrestart, flatpak, apt-listbugs, sbsigntool
    • Suggests: snapd
  • Modern Terminal Support: Expanded terminal emulator auto-detection across desktop environments (ptyxis, kgx, gnome-console, kitty, alacritty, foot, cosmic-term, konsole, xfce4-terminal, etc.).

4. UI & Localization

  • Periodic Ko-fi Support Option: Added an optional Ko-fi menu action in the system tray applet that is visible for the first 24 hours after install, and then appears for 24 hours every 30 days.
  • Full i18n Synchronization: All 20 supported languages (Nordic, European, Asian) are 100% synchronized with 65 identical translation keys.
  • Documentation: Overhauled README.md with sober, clear, and professional technical documentation.

V0.11.2 RC2 fixes to languages and timer

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 19 Aug 14:58

This is the second release candidate. It was originally planned to run to friday august 21, but I rushed it to today since I wanted the timer to not delay boot up and I noticed some languages were not properly synced with english.

Everything should be okay now, and if there are no issues with the app, it will be tagged release V1.0 next friday. If there is stil some bugs etc, there will be an RC3.

Hope you enjoy the app.

debian-update v0.11.1 RC1 - "Wax on, wax off" 🧹✨

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 13 Aug 21:49

This release focuses on source code cleanup, enhanced package manager isolation, and refined safety checks for Debian Testing and Sid environments.

🌟 Key Changes & Polish

  • Codebase Cleanup ("Wax on, wax off"):

    • Stripped outdated developer notes and debug chatter across all binaries and scripts.
    • Standardized source code section dividers (# --- [ Section Name ] ---) for cleaner code audits.
    • Streamlined docstrings to focus purely on functional clarity.
  • Smarter Held-Back Package Management:

    • Fixed an issue where standard APT upgrades were mistakenly categorized as held-back packages.
    • Implemented an accurate awk-based parser targeting explicitly kept-back packages and apt-mark hold items.
    • Pre-upgrade simulation filter automatically skips held packages if installing them would trigger removals or unmet dependencies.
    • Prompts now default to [Y/n] for verified safe packages.
  • Targeted deb-get Upgrades:

    • Prevented deb-get from triggering full system APT upgrades in the background.
    • deb-get now quietly checks its index and target-installs only third-party packages that have active updates.
    • Added full localization support (PROMPT_UPGRADE_DEBGET) across all 15 supported languages.
  • System Safety:

    • Preserved standard apt upgrade routines to protect core desktop environments (such as KDE Plasma on Debian Sid) from accidental removal.
    • Maintained seamless, automated NVIDIA Flatpak GL runtime background synchronization.

Full Changelog: v0.10.1...v0.11.1

v0.10.1 Shield Wall

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 13 Aug 13:59

debian-update v0.10.1 "Shield Wall" 🛡️

Major feature update introducing full 20-language internationalization, CPU-light NVIDIA GL runtime synchronization, passwordless Polkit integration, and Plasma 6/Wayland desktop tray stabilization.

🌐 1. Full Internationalization (i18n Engine)
*20 Languages Supported: Complete translation coverage across all 93 UI keys for English, Norwegian, Danish, Portuguese, Polish, Italian, German, French, Spanish, Dutch, Swedish, Finnish, Czech, Romanian, Hungarian, Turkish, Ukrainian, Russian, Japanese, and Simplified Chinese.
*Dynamic System & Manual Override: Auto-detects system locale or allows manual persistent language selection via the system tray menu.

🎮 2. CPU-Light NVIDIA Detection & Flatpak GL Sync

  • 0 ms CPU Overhead: Hardware detection directly inspects /sys/module/nvidia/version without spawning heavy CLI commands.
  • Flatpak Verification: Verifies matching GL.nvidia runtimes against active kernel modules before triggering sync attempts, eliminating false positives.
  • State Persistence: Remembers synced versions in /var/cache/debian-update/nvidia_state.json.

🔑 3. Polkit Integration & Desktop Safety

  • Plasma 6 / Wayland Stability: Context menu lock prevents plasmashell segmentation faults caused by background menu redraws while browsing language submenus.
  • Animated Tray Overlay: Real-time pulse animation and warning badges for system action required.

💻 4. Held-Back Dry-Run Filter Engine (CLI)

  • Safe Upgrade Inspection: Automatic simulation of held-back APT packages to prevent accidental removal of system dependencies.

v0.9.4 Tower of Babel

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 13 Aug 10:29

🌍 Release Highlights - v0.9.4 'Tower of Babel'

✨ Major Features

  • Full i18n Framework:** Built-in, lightweight JSON-based internationalization module shared between PyQt5 system tray and Bash CLI.

  • 16 Supported Languages:**

    • Nordic:** Norwegian Bokmål (`nb`), Norwegian Nynorsk (`nn`), North Sami (`se`), Swedish (`sv`), Danish (`da`), Finnish (`fi`), Icelandic (`is`).
    • European:** German (`de`), French (`fr`), Spanish (`es`), Portuguese (`pt`), Dutch (`nl`).
    • Global:** Russian (`ru`), Chinese (`zh`), Japanese (`ja`), Korean (`ko`), Hindi (`hi`).
  • Manual Language Switcher:** Right-click tray menu toggle to override system `$LANG`. Selection persists across sessions via `~/.config/debian-update/config.json`.

🛠️ Fixes & Stability

  • Fixed Plasma Shell `SIGSEGV` crash by isolating menu re-construction from active mouse click events.
  • Full Unicode / UTF-8 character support across all terminal layouts and tray tooltips."

v0.8.17 oh, snap!

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 12 Aug 12:32

debian-update v0.8.17 — "Oh Snap!" 🚀

Optional Snap Integration

  • Parallel Background Checks: Integrated non-blocking snap refresh --list checks directly into the background systemd service.
  • Full Ecosystem Visibility: Live Snap update counts feed seamlessly into the JSON status cache, system tray applet, and CLI overview.
  • Zero Forced Bloat: snapd is defined as a Suggests dependency to keep system installations completely optional and clean.

Unified Upgrade Pipeline

  • Standardized Sequence: Synchronized execution across CLI, background worker, and system tray menu:
    1. APT Packages
    2. Flatpak Applications
    3. Snap Packages
    4. AppImages
    5. Third-Party .deb Packages (deb-get)

Dynamic Display & UI Polish

  • Conditional UI Execution: Uninstalled package managers are automatically detected and omitted from CLI steps and tray submenus.

Codebase Polish

  • Standardized Source: Cleaned up code structure and commentary using standardized English block separators.

This patch release marks the status of the app as feature complete, and future patches will have performance, bug fixes and under the hood improvements in focus.
The path to version 1.0.0 has support for more languages in the works, and will probably be released within a couple of weeks. There will probably be a couple more patches before 1.0.0 but no major changes are planned from this point on.

V0.7.6 - More under the hood impovements and optimizations

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 11 Aug 14:00

🚀 What's Changed in v0.7.6

⚡ Performance & Parallelization

  • Parallel Background Checks: APT, deb-get, Flatpak, and AppImage checks now execute concurrently in subshells. Total check runtime greatly reduced
  • Disk I/O Optimization: Replaced nested directory loops with a depth-limited find command (-maxdepth 3) for AppImage detection, significantly reducing disk read activity.
  • Non-blocking Execution: build_deb.sh and CLI trigger background checks asynchronously (--no-block), preventing terminal hangs during installation or upgrades.

🛠️ System Tray & Reliability

  • Dynamic Menu Refresh: Connected Qt's aboutToShow signal directly to UI updates, ensuring "Time since last check" and update counts refresh instantly when clicking the tray icon.
  • Epoch-Based Time Tracking: Switched time calculations to raw Unix timestamps (last_check_ts) in status.json, eliminating timezone parsing edge cases and frozen "Just now" states.

🧹 Codebase Refactoring & Audit Readiness

  • Purged Code Bloat: Removed redundant helper functions, simplified shell constructs, and consolidated build directory creation.

v0.6.7 - under the hood improvements

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 11 Aug 05:13

🚀 What's Changed in v0.6.7

⚡ CLI & User Flow

  • Prompt-First Execution: Available updates are presented immediately. If cancelled (N), the tool exits cleanly (exit 0) without prompting for sudo credentials.
  • UI cleanup
  • Reboot Detection: Automatically detects /run/reboot-required upon upgrade completion and warns the user if core libraries (e.g., glibc) or kernel modules were updated.

🛡️ Backend & Reliability

  • Atomic Cache Writing: check_backend.sh now uses atomic file replacements (os.replace) to eliminate race conditions when reading status cache from the system tray applet.
  • Restored Timestamp: Re-added last_check UTC timestamps for precise "time since check" status reporting in the tray menu.
  • Input Validation: Improved menu handling in debian-update-debget to handle empty inputs gracefully.

📦 Packaging & Standards

  • Debian Policy § 10.9 Compliance: Added --root-owner-group to dpkg-deb in build_deb.sh for rootless, warning-free package creation.

debian-update v0.5.8 — Plasma Shell Crash Hotfix

Choose a tag to compare

@TuxOfValhalla TuxOfValhalla released this 10 Aug 09:09

🚨 debian-update v0.5.8 — Hotfix Release: Plasma Shell Crash Prevention

This urgent hotfix addresses a critical race condition that could cause KDE Plasma (plasmashell) to crash with a Segmentation Fault (SIGSEGV) when interacting with the system tray context menu.

🐛 The Issue & Root Cause

When the background update checker completed a scan and updated status.json, debian-update-tray immediately triggered self.menu.clear() to rebuild the QMenu actions.
If a user had the tray context menu or any of its submenus actively open on the desktop at that exact moment, clearing the active QAction objects destroyed the underlying DBus menu instances. When KDE Plasma's DBusMenuImporter and QtQml tried to handle mouse hover or timer events on those deleted objects, it referenced invalid memory addresses, resulting in an instant plasmashell crash.

🛠️ The Fix

  • Visible Menu Protection: Added if self.menu.isVisible(): return prior to invoking self.menu.clear() in lib/debian-update-tray.
  • Deferred UI Refresh: If the context menu is currently open on screen, menu reconstruction is safely bypassed until the menu is closed, completely eliminating the asynchronous race condition and keeping Plasma rock solid.