Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 00:00
· 12 commits to main since this release

Added

  • Decoupled Presence Engine (core.presence):
    • Introduced immutable PresencePayload Data Transfer Object (DTO) encapsulating all Discord rich presence state fields (state, details, large_image, large_text, small_image, small_text, start_timestamp, pid).
    • Completely decoupled DiscordRPCManager from the UI layer (ExpeditionTrayApp) and domain models: the presence client exclusively consumes PresencePayload, enabling pure headless operation and isolated unit testing.
  • Native Platform Abstraction Layer (core.platform):
    • Consolidated all operating system interactions into a unified platform module (core.platform):
      • PlatformMutex: Named Win32 Mutex on Windows with automatic POSIX advisory file lock (fcntl.flock) fallback on Linux/macOS.
      • FileLock: Robust cross-platform non-blocking file locking for atomic configuration updates.
      • PlatformRegistry: Safe abstraction over Windows Registry (winreg) with no-op fallbacks for POSIX platforms.
    • Completely eliminated direct low-level Win32 ctypes and winreg imports from application business logic.
  • Interactive Telemetry Simulation Harness (tools/simulate_telemetry.py):
    • Added standalone developer CLI tool for simulating game lifecycles, combat transitions, Endless Tower trials, and location changes in real-time or automated batch mode.
    • Added automated simulation regression tests (tests/detection/test_simulate_telemetry.py and tests/e2e/test_process_lifecycle.py), expanding test suite to 175 automated tests.

Changed

  • Zero Static Type Suppressions & 100% Pyright Strict Safety:
    • Eradicated all 12 static type suppressions (type: ignore) across production and test code.
    • Full codebase strict type compliance validated under Python 3.12+ and Pyright with 0 errors and 0 warnings.
  • Detection Kernel Purification & LRU Caching:
    • Standardized domain combat and exploration states around canonical Exploring domain tokens.
    • Replaced complex lazy data structures with standard Python functools.lru_cache and direct protocol bindings (BridgeProviderProtocol).
    • Implemented adaptive idle polling in detector to minimize background CPU usage when the game is not running.
  • Package Entrypoint Lazy Exports:
    • Modernized src/expedition33_rpc/__init__.py with PEP 562 module-level __getattr__ and __dir__, ensuring fast startup times by deferring heavyweight imports until accessed.

Verification & Security

SHA-256 Checksums

43f0e593e5612ad31bbae3eee3c247805f3c865d41e55d2b73017866d2b2523a  Expedition33_RPC.exe
a0d04701a34331d045ae91fb7d003129ad859ec8e1d3bd6c4364c20665530ee7  bridge.zip

VirusTotal Analysis Reports