Skip to content

Releases

Caerus 0.8.2

Choose a tag to compare

@github-actions github-actions released this 30 Oct 14:18

Support Alpine Linux and its derivatives in the APK backend, in caerus-helper and in get-caerus.sh, which now checks for apk-tools 3.

Follow the whole reverse-dependency chain when previewing APK removals, refuse removal previews that apk would not carry out, and look up preview sizes in two queries instead of two per package.

Expand Discover to 743 verified apps with new categories, and handle catalog apps that ship no launcher.

Pin and test the release workflow, and add a Chimera and Alpine test script.

The Linux x86_64 release includes Caerus and caerus-helper, SHA256SUMS, and a GitHub artifact attestation.

Caerus 0.8.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 15:43

Fix stale package details after reload and block package actions during startup synchronization.

Improve force-remove warnings, startup tracing, narrow-layout column behavior, Discover refreshes, and legacy-prefix uninstall.

Update libc, pkg-config, bindgen, serde, checkout, and upload-artifact dependencies.

The Linux x86_64 release includes Caerus and caerus-helper, SHA256SUMS, and a GitHub artifact attestation.

Discover now has 254 applications in 19 sections.

Caerus 0.8.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 13:40
  • New layout: sidebar, package table and inspector on desktop; bottom navigation and a details page in narrow windows.
  • Updates and Discover views; Discover lists 174 applications in 13 sections.
  • Changes are previewed and applied one step at a time. A failed preview blocks Apply, and failed changes reload state instead of offering a forced retry.
  • One dialog to remove, purge or force remove a package.
  • Searchable history with per-package results and logs.
  • Optional Chimera Linux (APK) backend; get-caerus.sh now installs on Chimera too.
  • Faster startup from cached package data.

Caerus 0.7.3

Choose a tag to compare

@mendescotta mendescotta released this 18 Oct 12:44

GTK now defaults to the Cairo renderer for lower memory use. Includes the merged helper-trust and CI fixes.

Caerus 0.7.2

Choose a tag to compare

@mendescotta mendescotta released this 22 Oct 13:40
  • Dependency tooltips show the package description.
  • Fixed a crash on "Remove Anyway" for a package with dependents.
  • Fixed a crash in the ibus input method during transactions.

Caerus 0.7.1

Choose a tag to compare

@mendescotta mendescotta released this 05 Oct 10:24

Fixed

  • AppStream metadata lists the 0.7 releases (0.7.0 shipped without its entry).

Caerus 0.7.0

Choose a tag to compare

@mendescotta mendescotta released this 05 Oct 10:20

Added

  • Adding a repository signed with an unknown key now asks you to confirm
    the key's fingerprint; caerus-helper imports exactly that key
    (SYNC_TRUST <fingerprint>) and refuses any other.
  • Full-system-upgrade shows which held packages have newer versions and are
    being held back.

Fixed

  • xbps-sys builds on hosts where libclang cannot find stddef.h
    (falls back to the compiler's include directory).
  • history.log is rotated to history.log.1 past 256 KiB.
  • CAERUS_HELPER_PATH and the helper next to the executable are only used
    when owned by root or the current user and not group/world-writable.
  • Remaining unwrap() calls on GTK downcasts in the package list and the
    kernel-purge dialog now fall back gracefully instead of panicking.
  • caerus-helper rejects repository URLs that are not http(s)/ftp/file
    URLs or absolute paths.
  • .github/workflows/rust.yml (a stale duplicate of ci.yml targeting the
    removed 0.5-dev branch) deleted; docs updated to say work happens on
    main.
  • AppStream metadata now lists releases.

Changed

  • caerus-helper's command loop is table-driven instead of 15 copies of
    the same empty-argument check.
  • packaging/srcpkgs/caerus template updated to 0.7.0.

v0.6.0

Choose a tag to compare

@mendescotta mendescotta released this 12 Aug 08:52

Bug-fix and stability release: crash fixes, a CI/lint pass, and a bad merge that had silently reverted two shipped features got corrected.

Fixed

  • Two GTK segfaults in the remove/dependency confirmation dialogs, caused by mutating a widget after it was destroyed inside the same callback.
  • A crash when installing or removing certain packages.
  • Bundled symbolic icons never actually resolving via the hicolor fallback path.
  • Transaction preview falsely reporting an error on exact-version-pinned reverse dependencies.
  • Sidebar icon-rail (minimal) mode could corrupt its own state and leave stale styling after switching sidebar modes.
  • caerus-helper now locks repository-config writes and validates ALTERNATIVE/VKPURGE arguments, closing a race/injection edge case.
  • Several panics on unexpected GTK downcast failures hardened into graceful fallbacks instead of unwrap().
  • A squashed merge had reverted the CSS-extraction commit and silently dropped the "close dialogs automatically on success" setting; both are restored.

Changed

  • CI now runs clippy, fmt, and both build feature sets (plain / adwaita) on every push, plus a dependency-audit workflow.

v0.5.0

Choose a tag to compare

@mendescotta mendescotta released this 16 Jul 16:19

Sidebar-first redesign, custom filters, repository toggles.

Added

  • Custom filters: named sets of exclude patterns (lib*, *-devel, plain text), shown as sidebar rows with a dedicated editor.
  • Repository toggles: enable/disable any configured repository from the Repositories window; remove any under /etc/xbps.d. Vendor repos can be disabled (via an xbps.d override), not removed.
  • Stale repositories (package origins no longer configured) are marked in the sidebar; a View switch hides them.
  • Bulk Remove/Purge asks once with a combined impact dialog.

Changed

  • Sidebar redesigned into collapsible sections: FILTERS, REPOSITORIES, MAINTENANCE, TOOLS. Manage Repositories moved to TOOLS.
  • App menu slimmed into popover pages (View / Settings / Shortcuts). The Settings dialog is gone; its options live in the menu.
  • Detail pane refactored: header with state/tag chips, grouped key/value info, independent Provides / Requires / Exports / Conflicts / Replaces sections. Missing data is omitted, not dashed.
  • Dialog subprocess calls no longer block the UI; queued command batches no longer interfere with each other.
  • CI hardened: curated pedantic lints, cargo-audit job, build caching, and a much larger unit-test suite.
  • install.sh gained --user and --uninstall modes, replacing dev-install.sh.

Full changelog: https://github.com/mendescotta/Caerus/blob/main/CHANGELOG.md

v0.4.1

Choose a tag to compare

@mendescotta mendescotta released this 14 Jul 19:45

Fresh-perspective audit pass: five correctness fixes, a responsiveness
rework, and a UI/UX consistency sweep.

Fixed

  • Held essential packages keep their removal guard. The pkgdb scan
    returned early for on-hold packages before reading the essential
    flag (and the recorded architecture), so a package that was both held
    and essential could be marked for removal from the UI.
  • Held dependencies are no longer treated as missing. The
    install-time dependency check only counted Installed/Upgradable
    as present, so an on-hold dependency was listed as "additional
    package required" and marked for Install — and the resulting
    xbps-install <pkg> would have upgraded it, silently bypassing the
    hold (which only shields against -Su).
  • Version columns sort like xbps. "Installed"/"Available" sorted
    lexicographically ("1.10" before "1.9"); they now use libxbps's own
    xbps_cmpver.
  • Launching Caerus while it's already running presents the existing
    window
    instead of opening a duplicate window (with its own second
    worker thread and pkexec session) in the same process.
  • Full System Upgrade handles xbps updating itself. When xbps
    itself has a pending update, xbps-install -Su updates only xbps and
    exits expecting a re-run; the helper now performs that re-run
    automatically instead of reporting a baffling failure.
  • The adwaita build no longer sets gtk-application-prefer-dark-theme
    (unsupported under libadwaita, warned at runtime); it follows the
    system dark/light preference via AdwStyleManager instead.
  • The repositories dialog now honors xbps.d(5) override semantics: a
    file in /etc/xbps.d shadows the same-named file in
    /usr/share/xbps.d, so repos disabled that way are no longer listed.

Changed

  • The UI can no longer freeze on a busy backend. Every xbps worker
    query (detail-pane info/deps/reverse-deps/files, both confirmation
    dialogs' checks, and the Apply/Full-Upgrade dry-run previews) is now
    asynchronous. Previously they blocked the main loop, and one landing
    behind an in-flight reload froze the whole window until the rescan
    finished. Stale replies are discarded when the selection has moved on.
  • The status bar shows visible-row counts ("N shown — …") whenever
    anything narrows the list — sidebar preset or repository filter, not
    just search text — so the numbers always describe what's on screen.
  • Remove Orphaned Packages asks first, listing the packages it
    would remove (menu entry gained the "…" it deserved); Reconfigure All
    Packages also confirms before force-rerunning every install script.
    "Verify Package Database" lost its misleading ellipsis. Menu
    convention now: "…" means a dialog opens before anything runs.
  • The detail pane's Repository row uses the same custom repository
    display names as the sidebar (set via right-click → rename).
  • Transaction History records local wall-clock time instead of UTC
    (old UTC entries still display as recorded).
  • The Delete key now acts on the whole selection: one row keeps the
    usual reverse-dependency confirmation; a multi-row selection applies
    a bulk Remove mark, matching the context menu's bulk action.
  • Apply-dialog polish: the progress bar's overlay text always shows a
    known percentage (it previously vanished until the first per-package
    status line), and the Details log is styled for scanning — errors in
    red, per-package completions in green, phase banners bold, protocol
    chatter dimmed.
  • The pre-Apply summary's heading counts everything the transaction
    will actually touch (marked packages plus dependencies pulled in by
    the dry-run), matching the list below it.
  • Dependencies/Reverse-Dependencies placeholders now distinguish "no
    selection", "loading", and "none" instead of always claiming "Select
    a package".
  • "Mark All Upgrades" applies its marks in a single pass instead of one
    full-list scan per package.
  • On the plain-GTK4 build, transient status-bar messages self-dismiss
    after a few seconds instead of persisting until the next reload.