Changelog
13 releases shipped — every feature, fix, and security improvement on the record. Latest: v1.1.0 on 2026-08-04.
Showing 13 releases matching any change
v1.1.0
2026-08-04
Latest1 change- changedNew brand — the app icon (Flatpak icon set + scalable SVG) and in-app logo (header + splash) are now the "broken ring" sigil mark: a summoning circle with a proton core in the Arcane violet gradient, matching the refreshed protonshift.i4c.studio
v1.0.0
2026-07-22
7 changes- changedGround-up rewrite as a native Qt Quick (QML) desktop app driven from Python via PySide6 — the Electron shell, Next.js renderer, and FastAPI sidecar are gone. No bundled browser, no local HTTP server to run or secure, no bearer tokens: QObject controllers now bridge the pure-Python core straight into QML via Property/Signal/Slot, with blocking I/O pushed onto worker threads and results returned over queued Qt signals
- addedTheme system — six built-in palettes (proton-neon, violet-night, deep-sea, proton-day, violet-day, sandstone) plus a System option that follows the OS light/dark preference, all resolved through a Theme.qml token singleton with a parity test that keeps palettes from drifting
- addedControllers tab rebuilt natively — gamepad detection from /proc/bus/input, SDL_GAMECONTROLLERCONFIG mapping generation, a live button/axis tester, and force-feedback rumble packed by hand over raw ioctl, with the 64-bit kernel ABI pinned by tests
- addedFull feature parity with the Electron era, re-implemented natively: unified Steam/Heroic/Lutris library, launch presets (now including a ScopeBuddy wrapper with SCB_AUTO capability detection), prefix details, shader cache, save backup/restore, config profiles, known-fixes DB, Protontricks, MangoHud/ScopeBuddy/Gamescope editors, and the Displays and System dashboards
- securityClosed a shader-cache path traversal and a ScopeBuddy key-injection in core; host tools (nvidia-smi, powerprofilesctl, gamescope, xrandr) run through flatpak-spawn --host so the same code path works identically native or inside the Flatpak sandbox
- fixedShared worker-exception guard — an unexpected exception on a worker thread is routed to an error signal instead of silently killing the thread, so a page can no longer wedge in a permanent loading state
- changedPackaging is Flatpak-only under the app ID io.github.i4ctime.protonshift — AppImage, .deb, and .rpm builds are gone. The local Flatpak build is the supported install path, tagged releases attach a prebuilt .flatpak bundle, and a Flathub submission is in prep under flatpak/flathub/
v0.9.7
2026-05-14
4 changes- fixedPackaged builds rendered unstyled — the static-export HTTP server inside the Electron main process rejected any pathname containing `..` as a traversal attempt, which also matched Turbopack's content-hashed CSS chunk filenames, so the renderer 403'd its own stylesheet. The check is now per-segment (only literal `..`/`.` segments are rejected), and AppImage / deb / rpm / flatpak builds look the same as dev again
- addedARCHITECTURE.md (326 lines) — system diagram, renderer & backend layout, HTTP API contract, project layout, build-from-source, VM-testing harness, pre-commit checks, contributing guide, and the release process
- changedREADME rewrite — social-card hero, CI / release / downloads / license badges, "Why ProtonShift?" intro, consolidated install section with copy-pasteable per-format commands (AppImage, deb, dnf, zypper, flatpak), and a roadmap
- changedVersion bumped in all six sources (Electron, renderer, Python __version__, AppStream metainfo, issue template, nav-bar fallback); zero open Dependabot alerts
v0.9.6
2026-05-13
3 changes- securityNext.js 16.2.3 → 16.2.6 — closes 13 CVEs including high-severity proxy bypasses (segment-prefetch, Pages-Router i18n, dynamic-route params), SSRF on WebSocket upgrades, and two DoS vectors, plus medium CSP-nonce and beforeInteractive XSS issues
- securityTransitive overrides — postcss ≥8.5.10 (XSS via unescaped </style>), ip-address ≥10.1.1, and @xmldom/xmldom ≥0.8.13 (3 high CVEs, build-time only); overrides are pinned narrowly so they auto-disengage once upstreams ship the patched floor
- changedSecurity maintenance release closing all 18 open Dependabot alerts — no functional changes. The renderer ships as a static export inside Electron, so Next's server-runtime attack surface isn't reachable, but bundled versions are patched anyway
v0.9.5
2026-05-13
7 changes- addedScopeBuddy — dedicated page with a KV editor for the global scb.conf, per-game overrides under scb.conf.d/, and detection toasts in the Gamescope builder
- addedCommand palette — Ctrl+K anywhere for cross-page navigation, game search focus, and common actions
- addedLive gamepad tester on the Controllers page — every button, axis, and trigger in real time, with a rumble test
- changedGame detail rebuilt as a KPI strip + tabs + profiles menu; renderer-wide HeroUI v3 polish with semantic tokens replacing ad-hoc opacity classes
- addedNew scopebuddy backend module and /scopebuddy API routes (detect, read, write KV overrides); hardening across gamescope, protontricks, presets, steam, and tool_check; API state/model split for testability (103 tests passing)
- addedvm-test/ harness — packaged builds exercised against real distros via Quickemu: Ubuntu 24.04, Fedora 41, Debian 12, CachyOS, openSUSE Tumbleweed, and Bazzite
- fixedNavbar version now reads app.getVersion() over IPC — no more stale v0.1 brand string drifting behind releases