Skip to content

ASSella v2.6.3

Pre-release
Pre-release

Choose a tag to compare

@niwia niwia released this 03 Sep 07:47
· 374 commits to beta since this release

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 persistent SteamClient instance 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_info now 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 using hasdepotsindlc: 1 (e.g. Vampire Survivors, Cloudpunk) returning cannot_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's listofdlc metadata, with live on-demand resolution in ManifestCheckTask querying 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 DlcData section of config.yaml once a game hits 64 or more DLCs, bypassing Steam's internal 64-DLC limit. Games under 64 DLCs continue using AdditionalApps as 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)
  • 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. SmartUpdateTask now correctly returns zip_path in game_data so branch-specific manifest archives (accela_fetch_{appid}_branch_{branch}.zip) are preserved downstream, and ProcessZipTask no 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_determine instead of silently falling back to disk state.
  • SLScheevo decryption crash — Patched SLScheevo.py with safe symmetric decrypt HMAC handling to prevent unhandled ValueError crashes during truncated Steam message decryption.

Improvements

  • Depot selection label clarity — Depots: Default is now Depots: Select when nothing has been saved. Partial selections show Depots: X of Y (e.g. 1 of 2), and full selections show Depots: 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, and appmanifest_{appid}.acf is left untouched in DLC-only mode.
  • Clean SLS config sync for DLC-only games — sync_dlc_only_sls_config keeps the base game AppID out of AdditionalApps while ensuring installed DLC AppIDs are registered with formatted comments ([DLC] {name} / {base_game}). Added replace_additional_app utility for AppID replacement/migration across AdditionalApps, DlcData, and FakeAppIds.
  • 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_23 across 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.