Skip to content

HyprDiscover v0.3.1 – Selective Updates & Background Checks

Choose a tag to compare

@Zirosaur Zirosaur released this 03 Jun 16:26
· 18 commits to main since this release

HyprDiscover v0.3.1

Released: 2026-06-03

This release introduces major improvements to update management, command-line usability, background update checking, package selection, progress reporting, and cancellation handling.

Added

CLI Status Output

New command-line status mode:

hyprdiscover --status
hyprdiscover --status --json

Provides a quick update summary without opening the GUI and supports machine-readable JSON output.

Background Update Checking

Added background update checking support through systemd user services.

Included files:

  • hyprdiscover-check.service
  • hyprdiscover-check.timer

Users can enable periodic update checks without launching the application UI.

Selective Package Updates

Packages can now be selected individually from the update list.

New functionality:

  • Package checkboxes
  • Update Selected action
  • Update only the packages chosen by the user
  • Update All behavior preserved

Real-Time Progress Reporting

PackageKit transaction output is now streamed in real time.

Users can see:

  • Current transaction status
  • Download progress
  • Installation progress
  • Active package information
  • Percentage completion

Cancel Update Operation

Added update cancellation support.

Users can now stop active update transactions directly from the application interface.

Cancellation:

  • Terminates the active PackageKit transaction
  • Preserves application state correctly
  • Does not trigger false failure notifications

Improved

Command-Line Interface

Replaced manual argument detection with argparse.

New features:

hyprdiscover --help
hyprdiscover --status
hyprdiscover --status --json
hyprdiscover --check
hyprdiscover --waybar

PackageKit Transaction Handling

Improved PackageKit integration by using fully qualified PackageKit package identifiers when performing selective updates.

This resolves package ambiguity issues on multi-architecture systems.

Cancellation State Handling

Cancellation is now treated as a first-class outcome rather than a failed transaction.

Application state correctly transitions to:

  • CANCELLED
  • FAILED
  • COMPLETED

without mixing outcomes.


Fixed

  • Fixed PackageKit transaction hangs caused by ambiguous package names.
  • Fixed delayed transaction log display by introducing real-time output streaming.
  • Fixed GTK ListItem signal binding implementation for PyGObject.
  • Fixed update failure notifications appearing after user-initiated cancellation.
  • Fixed stale package state after cancelled transactions.
  • Fixed inconsistent update countdown behavior after cancellation.

Testing

  • 62 automated tests passing

  • Coverage increased from approximately 25% to 44%

  • Manual verification completed for:

    • Update All
    • Update Selected
    • Background update checks
    • Real-time progress reporting
    • Cancellation workflow
    • CLI status output

Upgrade Notes

Systemd timer support is included but not automatically enabled.

To enable background update checks:

mkdir -p ~/.config/systemd/user
cp assets/systemd/hyprdiscover-check.{service,timer} ~/.config/systemd/user/

systemctl --user daemon-reload
systemctl --user enable --now hyprdiscover-check.timer

Thank you to everyone testing and providing feedback during the v0.3.1 development cycle.

Full Changelog: v0.3.0...v0.3.1
260603_23h19m01s_screenshot