Skip to content

Releases: LimeBeck/arinn

Arinn snapshot-a247e4d0c0c192714a7aa026be01a83fed925c6f

Choose a tag to compare

@LimeBeck LimeBeck released this 31 Oct 20:41
a247e4d

Automatic master snapshot from a247e4d0c0c192714a7aa026be01a83fed925c6f.

The workspace version is unchanged; the package version carries the commit count and hash. Full CI, package build and installation smoke tests passed for this commit. No real-desktop qualification is claimed.

Changed

  • A failed CI run on master or the nightly now opens an issue labelled ci-red, which the next green run of the same kind closes; while it is open, only fixes and documentation are merged. The release workflow refuses to publish unless the latest nightly passed, and the package install tests validate the desktop entries instead of skipping them (ADR-0121, #614).

Fixed

  • Keep internal CI smoke helpers such as private-systemd out of version releases and master snapshots. Stage only distributable Arinn packages and source archives before generating checksums and uploading release assets.
  • A completed download with subtitles, NFO files or other extras next to its videos is now added to the library. The library skips files it would not catalogue instead of refusing the whole import, so the row no longer stays "import pending" forever (#598).
  • Avoid rereading and rebuilding unchanged provider catalogues on every daemon poll; keep backend metadata, playback progress and download import retries current. Reuse the restart-maintenance database connection and stop updating unchanged restart counters.
  • With Home's navigation menu open over Library or Downloads, a catalogue or download progress update no longer moves focus to the screen underneath, so the remote keeps working in the menu and OK can no longer pause a download behind it. Closing the menu returns focus to the selected row (#608).
  • Home cards centre-crop their artwork instead of stretching it, so square album art and portrait posters keep their proportions. A card whose artwork changes, such as Continue during music playback, releases the previous image (#609).
  • The Library no longer shows the design prototype's "poster", "backdrop" and "still" labels when artwork is missing. Posters and episode stills without an image show the neutral plate with the film icon from the design handoff, and a film detail without a backdrop keeps its colour without a label (#610).
  • Reconcile the roadmap with the v0.2.0 implementation: phases 3–5 in progress, explicit remaining acceptance, current evidence links and future-feature dependencies. No phase or gate is newly declared complete.
  • Reading the last page of a paged snapshot now releases its lease. Before, every lease lived for 30 seconds, so the daemon's periodic re-reads of a large application list, library or session list ran the provider out of leases and reads failed with Unavailable from time to time. The daemon also drops a vanished client's leases for sessions, library, resume and download rows, not only applications and tabs (#616).

Arinn v0.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 13:19
d1cd552

Highlights

  • Local media library with resume, artwork and mpv playback.
  • Player OSD with seeking, audio and subtitle selection; improved fullscreen playback and Stop/Back handling.
  • Browser services, web shortcuts, address/search input and more reliable switching to the correct window.
  • Transmission download queue with playback from the library after import.
  • Expanded settings, on-screen keyboard, volume controls and power menu.
  • KDE and XFCE/X11 integration improvements, fewer duplicate media cards, and many focus, startup and UI fixes.

Downloads

Arch Linux package · Debian package

Full changelog · All changes since 0.1.0

Arinn v0.1.0

Arinn v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Sep 11:46
d3b384f

Added

  • Reusable QML UI foundation: Onest typography, design tokens, logical canvas, buttons, content cards, app tiles, progress and status components; isolated fixture gallery and offscreen Qt Quick component tests. Production screen integration remains pending.
  • Add a standalone Home preview with Continue, Favorites and New rows, global
    navigation, local Home/Back and focus restoration, explicit failure/loading
    fixtures, and Qt Quick navigation tests. Production provider binding is pending.
  • Add the desktop application provider with bounded XDG discovery, system GIO launch in independent application units, exact window association, activation and graceful close through the production KWin platform backend. Private-bus, adapter and package fixtures cover integration and lifetime handling; real KDE/cgroup qualification remains outstanding.
  • Define the pre-stable platform window snapshot, activation and graceful-close contract, with typed protocol and SDK bindings and private-bus fixtures. Production daemon/KDE implementation remains pending (ADR-0039).
  • Define the internal KWin inventory/control wire contract and SDK registration contexts for desktop-provider integration, with isolated contract and lifecycle tests. Production backend and KDE qualification remain pending (#24, G-1.5, G-2.1–G-2.3).
  • Add Home, Library and player design screenshots to the English and Russian READMEs, with captions distinguishing the target design from the implemented Qt shell.
  • The production shell now uses the shared Home and navigation design, with a Return
    card, a paged Applications catalogue and asynchronous launch feedback. Navigation
    remains local during operations, unchanged snapshots preserve focus, and missing
    services show explicit empty, error or unavailable states.
  • English specification v0.4, consolidating developer specification v0.3 with all accepted decisions, including acceptance criteria AC-01–AC-19 and open questions OQ-01–OQ-06.
  • ROADMAP.md with phase status, exit criteria and evidence links.
  • ADR-0028 (documentation governance), ADR-0029 (licensing), ADR-0030 and ADR-0031 (clarifications previously edited into ADR-0023 and ADR-0026), ADR-0032 (KWin script adapter), and an ADR template.
  • Licensing: GPL-3.0-or-later for the core, MIT OR Apache-2.0 for arinn-protocol and interface XML, CC-BY-SA-4.0 for documentation; SPDX headers, REUSE.toml, LICENSES/, deny.toml.
  • Contributor documentation: README (English and Russian), CONTRIBUTING, CLA, AGENTS/CLAUDE, SECURITY, Code of Conduct, issue and pull request templates.
  • CI/CD (ADR-0033): Rust build, tests and lints; Qt build and private-bus integration suite on Arch Linux; KWin adapter tests; REUSE, cargo-deny, documentation and version checks; Arch package build with a clean-install smoke test; nightly runs against the latest Arch packages; tag-gated releases to GitHub Releases; CLA check; Dependabot.
  • Arch Linux PKGBUILD, package smoke test and scripts/release.py.
  • Rules and tooling for parallel development by several agents (ADR-0036): changelog fragments, reserved ADR numbers with a generated register, work zones and an agent task issue template.
  • Production org.arinn.Daemon1, application proxies and asynchronous operation objects with versioned XML, caller-bound paging, request deduplication and deadlines (ADR-0035).
  • Systemd transient provider supervision, registration authentication, generation invalidation, daemon recovery and persisted restart diagnostics.
  • Versioned TOML/SQLite storage, SHA-256 provider directories, ordered favorites and bounded launch recents.
  • Production SDK demo fixtures and a private-bus contract suite covering recovery, limits, reload and Qt clients; package manifest and smoke-test integration.
  • Phase 1 foundation: XDG plugin manifest discovery, deterministic overrides and duplicate diagnostics, bounded file parsing, executable/capability validation and a declarative reload plan.
  • arinnd --check-plugins: offline JSON diagnostics without D-Bus or plugin execution; launch arguments are omitted from output.
  • Permissive arinn-plugin-sdk snapshot primitives: immutable revision paging, actual D-Bus body-size checks, caller-bound expiring tokens and bounded leases. The production transport and SDK demo are integrated.

Changed

  • Agents work autonomously (ADR-0037): they create and claim their own tasks from the roadmap, take over stale claims after 48 hours, and merge their own pull requests when all checks are green; open questions, product scope, licensing, releases, operator tests, repository administration and agent rules stay with the owner and are marked needs-owner. Repository labels are declared in .github/labels.yml and synced by a workflow.
  • Resolve OQ-03: the desktop ApplicationProvider owns browser launch; the Chrome provider declares only browser, with entities linked through validated platform window tokens (ADR-0038). Implementation and Phase 2/3 acceptance remain pending.
  • Record the Phase 1 shell capability-boundary review and the unresolved Daemon1-only gate conflict with the direct session lifecycle guard; Phase 1 remains in progress.
  • Clarify the owner-approved shell boundary: application/provider integration uses Daemon1, while fail-closed lock/sleep observation remains daemon-independent; track platform transport isolation separately (ADR-0041).
  • Isolate asynchronous lock/sleep observation in the platform session layer while preserving daemon-independent shell hiding; add private-bus coverage for stale lock replies and absent or unresponsive daemon services (R-05, ADR-0041).
  • Update GitHub Actions for checkout, Python setup, artifact upload/download, REUSE checks and release publishing to current stable major versions.
  • Make the private-bus desktop activation test wait for the application to handle dispatched activation, with a gated fixture that covers completion after the provider disconnects.
  • Record verified Phase 1 branch protection and completed platform lifecycle extraction; identify the remaining v0.1.0 release preparation and publication gate.
  • Record successful Phase 1 CI and clean Arch package checks, with source links and the remaining branch-protection and maintainer release requirements.
  • All living documentation translated to English. ADR-0001–ADR-0019 accepted.
  • docs/architecture/review-map.md and docs/architecture/product-decisions.md folded into the specification and the roadmap.
  • Shell, KDE adapter and CLI now use the production daemon API. CLI provides human/JSON output, paged diagnostics and capability commands; active Spike1 interfaces are removed.
  • Documented the owner-approved parallel UI workstream alongside Phase 1: QML design system, Home, global navigation, local focus/input and fixture-based checks, with explicit API/open-question dependencies. Full UI acceptance remains in Phase 5; no implementation gate is closed by this scheduling decision.
  • Specification v0.5 resolves OQ-06 with owner approval: provider data/state directories use the SHA-256 of provider_id, independent of state.sqlite3 (ADR-0034). Provisioning and registry-reset recovery tests are implemented.

Removed

  • Third-party service logos from the design prototype and screenshots; replaced by neutral monograms, screenshots re-rendered from the prototype.

Fixed

  • Declare Qt SVG as a required build and Arch package dependency, and install it in clean CI environments so the UI artwork loading and pixel regression test can decode SVG fixtures. Missing Qt SVG now fails at configuration instead of during UI tests.
  • Isolate the Home navigation tests from pointer positions left by previous fixtures, preventing intermittent focus failures in CI.
  • Prevent unrelated D-Bus name changes from blocking provider registration and recovery after daemon restart.
  • Ambient auto-start condition made consistent ("external Activity or playing media").