Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report an issue. Please search [existing issues](https://github.com/vindeckyy/OpenBoxGL/issues) first. The current release is [v0.5.0](https://github.com/vindeckyy/OpenBoxGL/releases/latest).
Thanks for taking the time to report an issue. Please search [existing issues](https://github.com/vindeckyy/OpenBoxGL/issues) first. The current release is [v0.6.0](https://github.com/vindeckyy/OpenBoxGL/releases/latest).

- type: input
id: version
attributes:
label: OpenBox version
description: Release tag, AppImage version, or git commit hash
placeholder: v0.5.0
placeholder: v0.6.0
validations:
required: true

Expand Down
23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

- Flatpak packages now include the diagnostic logging module.

## [0.6.0] - 2026-07-30

### Added

- LaunchBox-style advanced search in the Web UI, including field terms, quoted values, status filters, and negative terms.
- Ordered manual playlists with parent grouping, notes, membership editing, and keyboard-friendly reorder controls, alongside existing filter playlists.
- Game context actions, Ctrl/Shift multi-selection, configurable status badges, richer platform/category/playlist detail panes, related-game reasons, artwork galleries, and per-game launch profile overrides.
- Backup archive listing, manifest summaries, restore actions, expanded artwork groups, and metadata fields for controller support, disc count, portable games, and broken entries.

### Changed

- State persistence now uses schema migrations, stable game identities with legacy aliases, last-known-good recovery, process-safe transactions, atomic writes, and corruption preservation.
- Long-running backend jobs now expose bounded state, retries, cancellation, durations, and replacement protection. Request bodies, downloads, archives, media responses, save restores, backup restores, and plugin execution use bounded and validated paths.
- Packaging uses the runtime module manifest and stricter import and artifact checks. Flatpak support documentation and release validation were refreshed.

### Verification

- Added focused API and launch-profile regression tests.
- Ran `./run_all_tests.sh`, Python compilation, JavaScript syntax checks, diff validation, and a Chromium smoke test covering the new search, selection, context, playlist, backup, settings, media, and detail workflows.

## [0.5.0] - 2026-07-30

### Added
Expand Down Expand Up @@ -188,7 +208,8 @@ If you jumped from an older build and skipped the last two releases:
- Session tracking and plugin hooks
- AppImage, Flatpak manifest, and Makefile install targets

[Unreleased]: https://github.com/vindeckyy/OpenBoxGL/compare/v0.5.0...HEAD
[Unreleased]: https://github.com/vindeckyy/OpenBoxGL/compare/v0.6.0...HEAD
[0.6.0]: https://github.com/vindeckyy/OpenBoxGL/releases/tag/v0.6.0
[0.5.0]: https://github.com/vindeckyy/OpenBoxGL/releases/tag/v0.5.0
[0.4.10]: https://github.com/vindeckyy/OpenBoxGL/releases/tag/v0.4.10
[0.4.9]: https://github.com/vindeckyy/OpenBoxGL/releases/tag/v0.4.9
Expand Down
13 changes: 9 additions & 4 deletions PARITY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenBox Parity Matrix

OpenBox tracks LaunchBox feature parity for Linux environments. For contribution and release workflow, see [CONTRIBUTING.md](CONTRIBUTING.md) and [CHANGELOG.md](CHANGELOG.md). The latest release is **v0.5.0**, with Steam Game Mode, library and AppImage reliability fixes, local diagnostic logs, Steam-import cleanup, and repaired LaunchBox artwork downloads (see the CHANGELOG).
OpenBox tracks LaunchBox feature parity for Linux environments. For contribution and release workflow, see [CONTRIBUTING.md](CONTRIBUTING.md) and [CHANGELOG.md](CHANGELOG.md). The latest release is **v0.6.0**, with LaunchBox-style search, playlists, collection details, badges, media groups, backup management, and backend reliability work (see the CHANGELOG).

> **Legal disclaimer:** OpenBox is an independent open-source project and is NOT affiliated, associated, authorized, endorsed by, or in any way officially connected with LaunchBox or Unbroken Software, LLC. Reference to LaunchBox features is solely for software compatibility tracking and open-source parity comparison.

Expand All @@ -22,7 +22,7 @@ Acceptance source: [LaunchBox product overview](https://www.launchbox-app.com/ab
| EA, Ubisoft, and Xbox imports | done | Lutris/Heroic catalog import with EA, Ubisoft, and Xbox/Game Pass tagging; Xbox native PC packages remain unavailable on Linux |
| MAME and FinalBurn full-set imports | done | DAT/XML metadata classifies and imports merged, split, and non-merged sets |
| LaunchBox Games Database matching | done | Official daily database sync, local matching, and selected metadata/media downloads work |
| Media manager and image groups | done | Grid image groups, audits, bulk downloads, duplicate cleanup, region priority, and download limits work |
| Media manager and image groups | done | Grid image groups, extended artwork groups, audits, bulk downloads, duplicate cleanup, region priority, and download limits work |
| Emulator profiles and per-game commands | done | Commands launch without a shell |
| Emulator installation and automatic configuration | done | Install, Update All, open emulator, recommend-on-import, and dependency checks work |
| Archive extraction before launch | done | ZIP uses safe built-in extraction; 7z/RAR use installed 7z |
Expand All @@ -33,12 +33,12 @@ Acceptance source: [LaunchBox product overview](https://www.launchbox-app.com/ab
| Save management | done | Discover, scan, retention limits, versioned backups, backup-on-close, and restore work |
| RetroAchievements | done | Account, matching, progress, badges, Big Box filters, pause access, and emulator injection work |
| Video, music, and screenshot playback | done | Multi-category videos, library BGM, video/BGM mix, capture, and gallery work |
| Playlists, auto-filters, and saved filters | done | Platform, view, and search rules save, apply, update, and delete |
| Playlists, auto-filters, and saved filters | done | Platform, view, search rules, ordered manual members, parent playlists, and notes save, apply, update, and delete |
| Big Box controller-first navigation | done | Stage, hybrid, and CoverFlow layouts; filter/sort/RA filters; pause overlay; screensaver launch |
| Steam Game Mode / gamescope guest | done | `--game-mode` opens Big Box; guest detection; Steam launches keep Input; non-Steam windows get best-effort STEAM_GAME props |
| Themes and per-platform themes | done | Five stock CSS themes ship with the Web UI; import, persist, apply live, and open-folder access work |
| Plugin manager and extension API | done | Local packages install and run hooks; curated community catalog is bundled |
| Backups and restore | done | Restore creates a pre-restore safety copy |
| Backups and restore | done | The web UI lists archives, shows manifests, restores selected archives, and creates a pre-restore safety copy |
| Library audit and missing-file checks | done | Files, provider-aware duplicates, media, extras, saves, and emulator configuration are audited |
| Linux packaging and updates | done | AppImage build, Flatpak manifest, Makefile install/uninstall, desktop entry, and verified update mechanism |
| Welcome wizard and first-run setup | done | Staged setup wizard with media limits and persistent import queues |
Expand Down Expand Up @@ -78,6 +78,11 @@ Acceptance source: [LaunchBox product overview](https://www.launchbox-app.com/ab
| Big Box shutdown apps on mode switch | done | Configurable commands run when entering or leaving Big Box |
| Xbox 360 and loose arcade import | done | default.xex folder scan and Hypseus/Singe loose file import |
| Vita3K title resolution | done | Title IDs resolve to readable game names on import |
| Advanced search syntax | done | Field terms such as `platform:PC`, quoted values, status terms, and negative terms filter the live grid |
| Context actions and multi-selection | done | Right-click actions plus Ctrl/Shift range selection expose launch, favorite, progress, playlist, edit, and remove actions |
| Configurable status badges | done | Settings controls favorite, install, media, save, progress, storefront, achievement, rating, and hardware badges |
| Collection and related details | done | Platform, category, and playlist detail panes show stats, quick actions, rich related-game reasons, and artwork galleries |
| Per-game launch profile overrides | done | A game can select an installed emulator profile without changing the platform default |

All LaunchBox Premium-equivalent workflows above are included in OpenBox without a subscription. OpenBox sets `premium_features_free: true` in settings and ships bundled media packs without a license gate.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/License-AGPL--3.0-blue.svg" alt="License: AGPL-3.0"></a>
<a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white" alt="Python 3.10+"></a>
<a href="https://github.com/vindeckyy/OpenBoxGL/releases/tag/v0.5.0"><img src="https://img.shields.io/badge/Release-v0.5.0-0052CC" alt="Release v0.5.0"></a>
<a href="https://github.com/vindeckyy/OpenBoxGL/releases/tag/v0.6.0"><img src="https://img.shields.io/badge/Release-v0.6.0-0052CC" alt="Release v0.6.0"></a>
<a href="PARITY.md"><img src="https://img.shields.io/badge/LaunchBox-Parity%20Matrix-555" alt="LaunchBox parity matrix"></a>
</p>

Expand Down
3 changes: 2 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

| Version | Supported |
| --- | --- |
| 0.5.x | Yes |
| 0.6.x | Yes |
| 0.5.x | Best effort |
| 0.4.x | Best effort |
| < 0.4.0 | No |

Expand Down
2 changes: 1 addition & 1 deletion catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from datetime import datetime

PROGRESS = {"", "Playing", "Paused", "Beaten", "Completed", "Mastered", "Abandoned"}
MEDIA_FIELDS = ("cover", "background", "video", "music")
MEDIA_FIELDS = ("cover", "background", "clear_logo", "fanart", "banner", "icon", "box_back", "box_spine", "box_3d", "title_screen", "video", "music")


def related_game_ids(games, selected, limit=8):
Expand Down
Loading
Loading