Repository navigation
Releases: niwia/ASSella
Release list
ASSella v2.7.0beta
New Features
- Delta updates β Assella updates now download only what changed (a few MB) instead of the full ~285 MB app each time.
- Update channel selector β Choose Auto, Beta, Canary, or Stable from Settings, with changes applying instantly, no restart needed. #16
- Faster, more reliable manifest fetching β Manifests are now pulled directly from Steam's CDN first, with automatic fallback to Hubcap if that fails.
- Spliced Ticket plugin support β New optional toggle in Settings with a clear warning before enabling. Forked from enter-the-wired credits to @ciscosweater
- Selective file downloads β Grab individual files from a depot instead of the whole thing. (depot selection - select files)
- Curated build recommendations ("Voices") β One-click pinning to known-stable builds for games that works with voices bypasses! Bring your own bypass
- Smarter uninstall cleanup β Automatically removes leftover "ghost" game entries from Steam after uninstalling.
- Safer config saving β Config file changes are now validated and saved all-or-nothing, protecting against corruption from crashes mid-save.
- ** Workshop downloads** β Workshop items now work again, but this has to follow a particular way to trigger.
you have to subscribe to the item using steam first, then download the files and then restart steam for the items to work. #17
added a fix button for future content encrypted fixes, you will need to restart steam after. this button also works for alrredy downloaded workshop items.
added smart detection and fallback to workshop items.
bug: workshop items may show update even if they are updated
Improvements
- Clickable recent activity β Dashboard activity items now jump straight to the relevant game.
- Fewer false config warnings β Assfixer no longer flags valid plugin settings as errors. #18
- More consistent dialogs β Buttons and styling are now unified across several dialogs.
Bug Fixes
- Fixed crashes caused by corrupted manifests with invalid characters in filenames.
- Fixed a rare threading bug that could cause silent failures during heavy scans.
- Fixed DLC-only mode leaving behind stale settings when toggled off.
- DLC-only mode can no longer be enabled on single-depot games where it wouldn't work.
- Increased timeout for build recommendation syncing to avoid errors on slower connections.
- Fixed incorrect error reporting when Steamless fails to unpack a game.
- Fixed a crash related to displaying storage info.
ASSella v2.6.5
Highlights
A big one: redesigned Health tab with live diagnostics, smarter depot notices, Hubcap quota-saving recovery, SLSonline multiplayer support, an Achievements tab, and faster load times across the app.
New Features
- Health tab redesign β New 3-part status row (Binary / Version / SLS Process) shows what's working and what needs attention, with click-to-fix shortcuts.
- "Recommended Settings" β Renamed from Training Wheels, now shows a clear X/5 score and disables the Apply button once everything's optimal.
- Visor Health indicator β A
Health: Good/Attentionstatus now sits in the main visor bar; click it to jump straight to the Health tab. - Smarter missing-depot recovery β ASSella now checks if Hubcap has a previously-missing depot before spending quota to regenerate it, and stops falsely flagging shared runtime files as missing.
- Manifest import build choice β When importing a manifest ZIP, choose to keep its exact build or update to the latest live version.
- Auto depot key resolver β Missing depot keys/tokens are now fetched automatically before downloads start, preventing failures on imported archives.
- Single Depot Downloader β New dialog for downloading or inspecting one depot at a time, with search and filters.
-
SLSonline Netsock multiplayer support β New toggle for netsock multiplayer in game details, (with an anti-cheat warning and smart conflict detection.) this should help with playing the games using spaceware more easy using sls argument injection.
-
Achievements tab β You can manage, unlock, lock the achievements of games that you got using assella + SLS, note that this is just WIP and haven't tested with multi account systems. also this is not the best tool for it as i will recommend SAM reloaded for this still
-
Discord button β Added to the titlebar, linking to the Hubcaps Manifest community.
Improvements
- Branches selection fixed β The branches selection previously selected the public branch by default, this has been fixed thanks to #16 @KingCatto
- AppID shown in Depot Selection header β Easier to confirm you're selecting depots for the right game.
- "Cached" badges in manifest search β Instantly see which titles are already downloaded.
- Depot table upgrades β Selection count and total size now update live in the column headers, with better alignment and contrast.
- Faster app performance β Settings, the game list, and Game Details all got backend rework and should feel noticeably snappier.
- Settings cleanup β Removed the redundant Setup Guide button and moved Clear Cache into Advanced settings.
Codebase Cleanup
Removed over 1,300 lines of old, unused files and templates.
ASSella v2.6.4
This release fixes multi-disk install routing, makes depot selections persist correctly across updates instead of reverting to Linux defaults, restores the LanCache toggle with automatic fallback, and reorganizes several settings for clarity.
Bug Fixes
- Multi-disk install location routing β Real paths are now normalized with
os.path.realpath, and_storage_btn_groupusesidClickedwith index tracking, guaranteeing the correct drive is recorded when selecting an install location across multiple disks. - Depot selections reverting on update β Previously, when depot selection reappeared for a game with new depots (e.g. on update), it could ignore prior choices and force native Linux defaults. Cached selections are now pre-loaded (falling back to
InstalledDepotsfrom the ACF file if needed), so previous selections β e.g. Windows depots β stay checked. - Update Check button color bug β Fixed
MaterialTile.changeEventwhere callingsetEnabled(True)was resetting text color to#FFFFFFon green buttons. The active high-contrast foreground color is now preserved.
Improvements
- LanCache toggle restored with automatic fallback β The "Enable LanCache Detection" checkbox is back in the ASSella settings tab (default: ON), and is now respected when constructing DepotDownloader commands. If DepotDownloader fails with
-use-lancache(CDN error or connection fault), it logs a warning and automatically retries without the flag. #15 - Settings reorganization:
- "Check Updates on Boot" moved from Downloads to ASSella settings.
- Default Download Location now defaults to "Ask Every Time" unless a specific library or folder has already been configured.
- Hide/Unhide Depots sub-tab β New dedicated sub-tab under Downloads with a 3Γ3 grid of toggle buttons: macOS, Android, Soundtracks/OST, Windows, Linux, Artbooks/Extras, Demos/Trials, Tools/SDKs, and Search Blacklist.
- Branch & depot fetching state in Game Details β While SteamCMD/PICS fetches branch and depot data in the background, the main action button is now disabled and shows "Fetching..." with a tooltip explaining the wait.
- **Training wheels protocol changed to health status. early WIP and rough around the edges for now.
New
- Broadcast messages since things can break i've decided to use the visor to show updates if anything is broken in the backend for the future
ASSella v2.6.3
SteamcmdAPI's backend broke upstream on 02/09/26, so this release restores reliability by defaulting to live Steam PICS queries
other than that, a configurable provider toggle. DLC-only mode is significantly hardened against false update alarms, branch-update logic is fixed, SLSsteam config gains a 64+ DLC bypass, and Goldberg/SLScheevo dependencies are updated.
New Features
-
Dual SteamAPI provider selection β SteamcmdAPI (which ASSella previously used by default for speed and reliability) has been broken on the backend since 02/09/26. ASSella now defaults to SteamPICS (direct live queries to Valve servers β slower, but reliable), with a configurable toggle in Settings β ASSella to switch back to SteamcmdAPI (CDN mirrors, faster parallel background scanning) if preferred. The provider selector UI is compacted and right-aligned to match the app theme.
-
SteamPICS:
- Connection resilience overhaul β A dedicated background worker thread (
_SteamClientWorker) now manages the persistentSteamClientinstance and thread-safe request/response queues:
- Fixed idle connection deadlocks caused by premature
ConnectionErrors β the worker now transparently reconnects and logs in anonymously.- Added automatic recovery from mid-query socket disconnects, with query retry.
batched_get_product_infonow retries each batch twice before triggering backoff delays.- Increased query and startup timeouts for more reliable connection bootstrap during Valve network congestion.
-
DLC-only mode: exact manifest GID tracking β DLC update checks now rely exclusively on exact depot manifest GID comparisons instead of base game build IDs, so DLCs no longer trigger false update alerts when a base-game-only patch (e.g. an executable hotfix) doesn't touch DLC content.
-
DLC-only mode: Type-B DLC resolution (
hasdepotsindlc) β Fixed games usinghasdepotsindlc: 1(e.g. Vampire Survivors, Cloudpunk) returningcannot_determine, since their DLC depots live under separate DLC AppIDs rather than the base game's AppInfo. DLC AppIDs are now automatically discovered from cached LUA manifests and Valve'slistofdlcmetadata, with live on-demand resolution inManifestCheckTaskquerying SteamPICS directly when a depot isn't found in the base game payload. -
64+ DLC limit bypass β DLC entries are now automatically batched into the
DlcDatasection ofconfig.yamlonce a game hits 64 or more DLCs, bypassing Steam's internal 64-DLC limit. Games under 64 DLCs continue usingAdditionalAppsas before. -
New SLS Inheritance Manager (testing and not ready for use, dont use this if you dont know what you are doing) (
sls_inheritance.py) β A dedicated tool for inspecting orphan configurations, managing shared DLC data across external Steam installations, and resolving AppID mappings. -
Depot filtering options:
- Added "Hide Android depots in depot selection" (
hide_android_depots) under Settings β Advanced Download Settings, with matching exclusion logic (_depot_is_android) in depot selection. (UI still needs polishing)
- Added "Hide Android depots in depot selection" (
-
Clear Update & Build ID Cache button β New debug-oriented option in Settings to purge cached update states on demand, for when a game has updated but ASSella isn't reflecting it. ( this is a debug and advanced feature and not recomended to use it for everyday use cases, assella is smart enough to not need this)
Bug Fixes
- Branch update loop β Fixed updating a non-public (e.g. beta) branch re-verifying the old public manifest on subsequent checks.
SmartUpdateTasknow correctly returnszip_pathingame_dataso branch-specific manifest archives (accela_fetch_{appid}_branch_{branch}.zip) are preserved downstream, andProcessZipTaskno longer overwrites smart update manifest mappings with older re-parsed zip contents. - False-positive update triggers eliminated β ASSella no longer reads stale local LUA files to determine update availability when Steam servers are unreachable; when Steam API data can't be fetched, status is now marked
cannot_determineinstead of silently falling back to disk state. - SLScheevo decryption crash β Patched
SLScheevo.pywith safe symmetric decrypt HMAC handling to prevent unhandledValueErrorcrashes during truncated Steam message decryption.
Improvements
- Depot selection label clarity β
Depots: Defaultis nowDepots: Selectwhen nothing has been saved. Partial selections showDepots: X of Y(e.g.1 of 2), and full selections showDepots: All. - Tier 0 cache validation β If an existing local zip already contains exact matching manifest GIDs for all target branch depots, network generation is bypassed entirely.
- Non-destructive DLC operations β DLC updates now only touch the depots specified in
{appid}.depot; base game binaries, executables, and saves are never modified. Steamless DRM removal is automatically bypassed during DLC-only tasks, andappmanifest_{appid}.acfis left untouched in DLC-only mode. - Clean SLS config sync for DLC-only games β
sync_dlc_only_sls_configkeeps the base game AppID out ofAdditionalAppswhile ensuring installed DLC AppIDs are registered with formatted comments ([DLC] {name} / {base_game}). Addedreplace_additional_apputility for AppID replacement/migration acrossAdditionalApps,DlcData, andFakeAppIds. - DLC-only mode UI safeguards:
- Steamless row (Python AIO and .NET CLI) is hidden.
- Goldberg Apply/Remove buttons are greyed out and unclickable.
- "Fix Installation" is disabled ("Not needed for DLC-only games").
- SLSonline and EOS Proxy tiles/inputs are disabled and react in real time when DLC mode is toggled.
- Enabling Pin Build in DLC-only mode now shows a confirmation dialog.
- Workshop tab and items are suppressed for DLC-only games, updating dynamically on toggle.
- Advanced Uninstall warning border removed β Eliminated the rectangular text box border around the warning.
- UI responsiveness β Debounced main dashboard statistics updates (
_stats_timer) to stop UI freezing/stuttering during library-wide batch update checks. - Credits dialog updated β Added direct repository links for SLSsteam and EOS Proxy, plus attribution for original ACCELA components.
Binary & Dependency Updates
- Goldberg Steam Emulator β Updated to
release-2026_08_23across all supported platforms:- Linux:
libsteam_api.so,libsteam_api64.so - Windows:
steam_api.dll,steam_api64.dll - Interface generators:
generate_interfaces_x32.exe,generate_interfaces_x64.exe - Added a version tracking metadata file for Goldberg.
- Linux:
ASSella v2.6.2-hotfix1
ASSella v2.6.2-hotfix1
Steamless Bug fixes
- Fixed dual Steamless unpacker support across Settings and Game Library dialogs
- Fixed false "0 Found, 0 Processed" summary reporting dialog by parsing both native Steamless AIO tokens and .NET CLI status markers.
- Restored missing legacy CLI binary bundles in
deps/Steamless/.
ASSella v2.6.2
This release overhauls image loading with a 2-tier hybrid cache, adds a much faster live-search experience, introduces a first-launch onboarding guide for ACCELAβASSella upgraders, adds live SLSsteam binary verification, and improves depot selection reliability, DLC safety, and crash resilience.
New Features
-
2-Tier Hybrid Image Cache β ImageFetcher now uses a RAM + disk caching strategy:
- RAM cache hit β image displays instantly with no disk/network access.
- Disk cache hit β image loads into RAM and displays.
- Cache miss β downloaded via
QNetworkAccessManager. - Live search results are cached in RAM only (no disk writes) until the user downloads/installs, at which point the image is promoted from RAM to permanent disk cache.
- Library/installed images are written to both disk (
image_cache/) and RAM directly.
-
Live search in Fetch Manifest β
FetchManifestDialognow searches as you type: a 400ms single-shot debounce timer fires after each keystroke (ignoring numeric-only input and anything under 3 characters), running the same search/filter function used by the Search button in a background thread. The existing Enter/Search-button flow is unchanged. -
Smarter game search (
morrenus_api.py) βsearch_games()now uses a 3-tier strategy:- Numeric input hits
/search?q={id}&appid=truefor an instant, free exact AppID match. If it returns 0 matches, falls through to name search (handles cases like "007" or "1984"). - Text input (or numeric that fell through) hits
/search?q={name}&limit=50β fast, free, and pre-ranked. - Falls back to the old paginated
/librarypath only if/searcherrors out completely.
- Numeric input hits
-
Training Wheels Protocol (Beta) & transition onboarding β A new non-intrusive first-launch dialog (
TrainingWheelsDialog) eases the transition for users upgrading from legacy ACCELA installs or setting up ASSella for the first time, including a dynamic "Fix (N issues)" button tied to upstream GitHub state. Accessible anytime via Settings β ASSella tab.
-
Live SLSsteam binary verification β Background SHA-256 hash checking (
check_slssteam_binary_is_latest) compares your localSLSsteam.soagainst extracted release binaries from GitHub (SLSsteam-Any-release.7z). -
Pre-repair confirmation dialog β
AssfixerConfirmDialognow shows a warning and compatibility safety popup before any config resync, displaying live binary status (Up to Date / Outdated / Not Installed / Check Failed) and noting that template updates target the latest upstream SLSsteam.
Bug Fixes
- Denuvo/ProtonDB badge stacking β Fixed the badges vertically overlapping; Denuvo is now placed cleanly to the left of ProtonDB on the bottom-right row (e.g.
[Denuvo Cracked] [PLATINUM]). - SLS YAML config editor conflicting with ASSfixer β Fixed the config editor leaving behind empty spaces that ASSfixer's check would then flag and "fix" every time.
- ASSfixer inaccurate missing-key warnings β Replaced silent local template fallbacks with strict live GitHub template fetching (
online=True), eliminating false positives.
Improvements
- Consistent hero badge styling β Rating badges now share the same sleek, minimal styling across all dialogs.
- Smart Depot Selection & Update All reliability:
- Depot choices are now cached per-game and automatically reused during "Update All" without blocking the queue.
- New depot detection compares incoming Steam manifest depot sets against cached choices, only prompting when genuinely new or previously unseen depots appear.
- DLC guard automatically disables Goldberg Emulator and Steamless toggles when installing or managing DLC-only packages, preventing corrupted DLC directories.
- LanCache autodetection is now always enabled for DepotDownloader operations, automatically routing chunk downloads through local LanCache servers when present β the manual toggle has been removed from Settings.
- Hardcoded path cleanup β Removed legacy developer-machine paths from template fallbacks; path resolution is now standardized across the utility.
- Thread safety & crash resilience:
- Added global stderr interception and uncaught exception hooks (
_StderrTee,sys.excepthook,threading.excepthook) to capture native Python and PySide crashes into session log files. - Replaced cross-thread
Q_ARG(object, fn)calls with type-safepyqtSignaldispatchers (_main_thread_callable), preventing silent UI worker thread deadlocks and missing dialogs during batch updates. - Added structured logging for config validation timings, GitHub API requests, and background task lifecycles.
- Logs will no longer contain the personal info/api keys of the users
- Added global stderr interception and uncaught exception hooks (
ASSella v2.6.1
New Features
-
ASSfixer engine β New headless config validation and repair system (
assfixer.py):check_config_status()compares your localconfig.yamlagainst the upstream SLSsteam template (with offline fallback) and flags missing keys, deprecated settings, and formatting issues.repair_and_sync_config()creates a timestamped.bakbackup, then merges your apps, tokens, DLCs, and settings into the latest template structure β saved in-place with inodes preserved.restore_config_backup()/has_config_backup()let you roll back to the last backup.- A new compact ASSfixer card in Settings surfaces all of this: Check (reports "up to date" or "issues detected"), Repair/Resync, and Restore Backup (confirmation-gated).
-
Beta branch auto-detection β Steam
appmanifest_<appid>.acffiles are now parsed forbetakey, stored asinstalled_branch/{appid}. If a non-public branch is installed, the Game Details dialog now defaults to that branch instead of "public". -
Combined depot selection and storage location β The depot selection screen now shows the storage location for the game install directly, instead of leading to a separate window for picking storage. Both depot selection and storage choice can now be done in the same window.
-
More ACCELA easter eggs β Added additional easter eggs throughout the app.
-
Smarter workshop visibility β The Workshop section in Game Details is now only shown if you've previously downloaded workshop items for that game.
-
"I own the game" cleanup option β Advanced Uninstall now includes an "I own the game" option that clears all SLS and ACCELA config entries for that game, so you can switch to a legit copy while keeping saves from a pirated copy. Both Advanced Uninstall and regular Uninstall have been improved more generally.
Bug Fixes
-
Fresh installs weren't saving depot selections β
_show_depot_selection_dialog()previously kept selections in memory only, never writing toQSettings("depot_selection/{appid}"). This broke the update flow's ability to recall a user's choice after first install. Selections now persist on confirm, restore correctly on reopen, and single-depot cases auto-skip as expected. (Cancel still discards, as intended.) -
"Update All" ignored new depots β The update-all flow was gated behind the
smart_depot_selectiontoggle and didn't check for newly added depots at all, silently using stale cache. Now:- Saved selections are always recalled, regardless of the toggle.
- New depots trigger a cache clear and the game is moved to a skipped list, with a notification so you can reselect depots for that game individually.
-
"Choose (All)" label was misleading β Now accurately reflects state:
Depots: Defaultwhen nothing custom is selected (or all are),Depots: 1 of 3for a partial selection. No longer implies an active choice that wasn't made. -
ACCELA update checking wasn't working β Fixed an issue where update checks were failing to run correctly.
Improvements
- Update All / Check Updates no longer conflict β Running Check Updates while Update All is active now skips silently (logged); running Update All while Check Updates is active shows a dialog asking you to wait.
- ASSella title now perfectly centered β Titlebar switched from
QHBoxLayouttoQGridLayout, with equal stretch on both side columns and double stretch on the title column, so it stays centered regardless of button count. - Single Generation stat unhidden β No longer muted; relabeled from "Single Generation (Unused)" to "Single Generation", now shown at full brightness with live API data.
- ProtonDB / Denuvo badges repositioned β Moved to the top-left of the game details hero banner, directly above the title, replacing the previous middle/right drift for clearer at-a-glance ratings.
- Compact Hubcap stats β Visor stats condensed to a single line (e.g.
api: 0/55, bundle: 0/100, single: 0/1500 [28d]), with full breakdown available on hover. - Smarter Hubcap API usage β For games that only need a single manifest file to update, ACCELA now uses the single-manifest endpoint (1500 requests/day) instead of the bundle endpoint (100/day). Falls back to the bundle endpoint if unavailable, then to the v1 manifest endpoint as a final fallback. In the rare case the 100/day bundle limit is exceeded, ACCELA now falls back to calling the single-manifest endpoint for each depot and bundling the results together itself, before falling back further to the v1 manifest endpoint.
- Ticket holder SteamID privacy masking β SteamIDs are now blurred/masked in the relevant view.
- Expanded game quotes & larger text β Increased text size for game quotes display.
- CloudR removed β Deprecated widget and its associated file-parsing checks removed from both
main_window.pyinit and the visor status refresh path. - SLSsteam logging config safety β
yaml_config_manager.pygainedensure_slssteam_logging_enabled(handles bitmask0x2/ Once flag via bitwise OR, plus legacyLogLevel: 0) andensure_slssteam_prerequisites, both writing in-place to preserve inodes, formatting, and comments.
ASSella v2.6.0
ASSella v2.6.0 Release Notes
Added
- SLSsteam API Active Status Checker: Scans the Linux /proc//maps table to detect if SLSsteam.so is loaded inside Steam's memory space.
- Steam Process Status Checker: Scans the Linux /proc//comm table to determine if the local Steam client process is running.
- Custom Font Selection Dialog: Added a streamlined, modern FontSelectionDialog in helpers.py providing clean dropdowns for font family and style selection (Normal, Bold, Italic, Bold Italic), font size spin box, and a live typography preview without OS layout clutter.
Improved
- Batch Update Checking Speed & Concurrency: Upgraded SteamCMD REST API batch check worker pool from 25 to 50 concurrent threads with optimized timeouts, increasing library scan throughput by over 4x (checks 170+ games in under 6 seconds).
- Multi-Threaded GUI Responsiveness: Added 2.0s TTL memory caching for /proc process status scans and a 120ms debounce timer on dashboard stats updates, completely eliminating GUI event loop freezes during rapid background update checks.
- Moved SLS Independent ACF Generation toggle from Settings -> ASSella to Settings -> SLS as SLSsteam API, enabled by default.
- Re-organized Main Visor Status Layout:
- Row 1 (Top): SLSsteam (Online/Offline) and Steam (Online/Offline) alongside Hubcap API.
- Row 2 (Bottom): Steam Updates (Blocked/Allowed) in place of old Steam Status.
- Pre-flight Network Availability Check: Replaced root API probe with a lightweight store probe to store.steampowered.com (with 1.1.1.1 fallback) to ensure offline mode is cleanly detected without false 1-second check aborts.
- Update Badge Preservation: Guarded _on_game_update_checked so transient cannot_determine responses from network blips will never erase a confirmed update_available badge.
- LUA Cache Staleness Protection: Added 7-day age guard on cached Hubcap LUAs during update checks to prevent outdated local files from triggering false update alerts when offline.
Bug Fixes
- Fixed depot ID query bug in batch update checks where individual DLC depot IDs were queried as standalone AppIDs, resolving 190 false 404 misses and eliminating unnecessary Steam PICS fallbacks.
- Fixed RuntimeError on "Update All" by adding pyqtSlot decorator to update_dashboard_elements for thread-safe cross-thread invocation.
- Fixed forced underscores bug in game installation folder names; folder sanitization logic now preserves spaces and only strips illegal path characters.
- Centralized game folder name resolution across the codebase to get_install_folder_name() in steam_manifest.py, eliminating duplicate naming bugs in background tasks.
- Added retry loop with exponential backoff in fetch_steamcmd_info to prevent rate-limiting and connection issues during transient timeouts.
ASSella v2.5.9
ASSella v2.5.9 Release Notes
Hybrid SteamCMD REST API Engine & Branch Awareness
- ASSella has upgraded its primary metadata engine from Valve's binary Steam PICS socket protocol (steam.client.SteamClient) to a high-speed, parallelized SteamCMD REST API Engine (https://api.steamcmd.net/v1/info/:id).
This architectural shift eliminates gevent cross-thread socket freezes, CM connection drops, and IP rate-limiting while reducing library update check times by ~50% and single-game UI lookup times by ~82%. - Integrated SteamCMD REST API (api.steamcmd.net) alongside Steam PICS for parallel update checking across installed games.
- Added branch-aware manifest checking: update checks inspect selected game branches (beta branches) rather than querying public branch data only.
- Added automatic fallback to Steam PICS client whenever API endpoints are unavailable or unpopulated.
- Where SteamCMD REST API is Now Used as Primary
- Search & Single-Game Manifest Downloads
- Depot Metadata & Zip Import Processing
- Branch Resolution & Selection Dialogs
- Startup & Periodic Library Update Checks
Smart Branch Identification System
- Imported manifests are now matched against the full branch metadata (public, beta, experimental) instead of only public GIDs β the database now retains and stores all branch GIDs rather than discarding non-public ones.
- Added a scoring algorithm that compares parsed GIDs from imported files against stored branch GID lists to determine the correct branch.
- LUA-only imports (no physical
.manifestfiles) are now supported β branch GIDs are parsed directly from.luafilesetManifestidcalls. - If GID/build ID matching can't determine a branch, it now falls back to your currently selected UI branch instead of guessing from the filename.
- Fixed filename-based branch guessing overriding a correctly matched branch.
- Fixed an
UnboundLocalErrorcaused by a redundant local import during zip processing. - Game details now refresh their title and branch label immediately after an import finishes.
SLSsteam Flatpak Compatibility
- SLSsteam now detects Native vs. Flatpak Steam installs automatically and resolves config, log, and library paths accordingly β including secondary libraries and Flatpak's
loginusers.vdfpath. credits: @Deadboy666 - Added a warning when running in ACF-independent mode without SLSsteam active.
Storage Architecture & Database Migration
- Relocated SQLite database files (accela_database.db, depot_keys.db, dlc_data.db) into dedicated user database directory (~/.local/share/ACCELA/db/).
- Implemented automatic copy-and-verify database migration logic with SQLite integrity checks before cleaning legacy database paths.
Steam Workshop Mods Manager (Game Details V2)
- Added local workshop directory scanning (steamapps/workshop/content/) with metadata fetching from Steam Workshop API.
- Added mod management actions: Update Mod, View on Steam Workshop, Open Local Folder, and Delete/Uninstall Mod with confirmation dialogs.
- Added bulk "Update All Mods" functionality.
Bug fixes
- Fixed manifest fetches hanging for ~30 seconds after a background update scan β failed/timed-out requests were spinning up new anonymous Steam sessions and tripping Steam's rate limiting. #11
- Fixed intermittent hangs and crashes from multiple threads hitting the Steam client at once; Steam client requests now run through a single dedicated background thread.
- Fixed EOS Proxy detection so games with applied proxies (EOSSDK-Win64-Shipping.yes) correctly display Active status upon opening details.
- Ensured EOS Proxy status updates dynamically after SLSonline config load.
- Updated default font configuration to load Open Sans out-of-the-box across all platforms, with support for Google Sans and custom user font overrides.
- Updated application branding and taskbar icons with new 500x500 high-resolution vector logo and multi-resolution Windows ICO files.
- Upgraded floating refresh action button (refresh_updates_btn) with animated Material progress spinner during background update checks.
- Disabled direct manual editing of Depot ID table cells in depot selection interface to prevent ID corruption.
- Added automatic fallback labels ("Depot [ID]") for unlabelled depots returned by Steam metadata APIs.
ASSella v2.5.8-hotfix2
Hotfix Release v2.5.8-hotfix2
- Fixed Fetch Manifest Single-Depot Crash: Fixed
ImportError: cannot import name 'get_theme_colors' from 'utils.color_utils'when selecting single-depot games (e.g. Animal Well) in Fetch Manifest dialog.