Repository navigation
Standard (recommended for GitHub users)
Standard includes the app updater. Portable mode uses manual executable replacement.
NexusBuild (manual network actions)
NexusBuild has no app updater. Network actions require an explicit user action.
Common source commit: 63db7a016ed5e7a34e0b67ada4a12c2264e6f435
Signatures
These Windows files are not Authenticode-signed. Windows shows an unknown-publisher warning on first run. That warning is correct, and this release does not ask you to turn off SmartScreen, Windows Defender or any other protection.
Verify the exact file you downloaded against SHA256SUMS.txt before you run it.
The Standard updater payload still carries its Tauri Ed25519 signature in latest.json. That signature protects the update payload; it is not a Windows publisher signature.
DLSSync still verifies the Authenticode publisher of every game DLL it downloads. That check is unchanged by this release's own signature state.
DLSSync 1.7.0 is a Windows 10/11 x64 release. Standard and NexusBuild packages are built from one source commit under a single v1.7.0 tag. Standard carries the app updater; NexusBuild performs no automatic network request. Read the signature statement in the release notes before you run an installer.
Added
- Searchable local Windows device inventory with exact PnP identities and reported device problems.
- DLSS Ray Reconstruction profile overrides that use the NVIDIA-documented Ray Reconstruction enable and forced-preset driver settings.
- DLSS 2, 3, 4 and 5 capability reporting by NVIDIA GPU architecture, driver version, supported presets and frame-generation multipliers.
- Installed NVIDIA profile API and supported setting IDs are probed separately from in-game effects. Profile writes and resets are confirmed with a fresh read.
- Local mod previews, installation, settings and removal backed by durable per-installation receipts. A preview expires after five minutes and can be used once.
- Mod ownership, retained files and unverified compatibility appear as separate statements in game details, in all eight locales.
- Append-only SQLite operation journal for catalog refreshes, update preparation, applies, rollbacks, scans and driver actions, with filters, a dedicated Journal view and redacted JSON export.
dlssync-cliwithstatus,scan,catalog status,catalog refresh,plan, confirmedapply, confirmedrollback,journal list,journal exportanddoctor, in human-readable or--jsonoutput.dlssync-application,dlssync-contracts,operation-journalandxtaskowners, so the desktop app and the CLI use the same policies instead of Tauri-local logic.- Generated, versioned Rust-to-TypeScript contract bindings with drift and architecture gates.
- Feature-sliced frontend boundaries, deterministic development-only preview fixtures and strict ESLint.
- Nexus distribution packaging and its verification script.
Changed
- A game update stays one click. DLSSync resolves the exact files, target versions, source, expected hash and expected Authenticode publisher before it writes anything, and it stops the update when the catalog changes between preparation and apply.
- Game details open in a centered, opaque, responsive dialog. Local packages moved to Advanced.
- An installed file is labeled as a catalog release only when its scanned hash matches that release.
- Library uses one artwork-led grid with the original game poster art, and keeps compact and list alternatives. Search opens in an opaque panel anchored to the top-bar search control.
- Catalog is organized around the main technologies, with separately versioned support libraries and other vendors in disclosures. Package versions are separate from version counts.
- Backups leads with the view title and an overflow menu for secondary actions. The summary dashboard, the subtitle and the counts legend are gone; search, game and date grouping, per-game groups and the missing or unverified warnings remain, and those warnings appear only when the count is not zero.
- Narrow windows use a compact navigation rail. Scroll areas use a compact theme-aware scrollbar without stepper arrows, and fall back to the system scrollbar in forced-colors mode.
- Settings controls are aligned, the GPU driver layout is clearer, and Windows device rows are compact while keeping the observed device data.
- Detected GPU vendors, including hybrid systems, are prioritized in game details, catalog browsing, default update selections and background updates. Other libraries stay available for explicit selection, and nothing is auto-selected when the hardware is unknown.
- Catalog schema version 2 or 3, freshness, future-clock and minimum-driver requirements are enforced before an update is applied.
- The signed v3 catalog is published while the v2 endpoint keeps working for existing clients.
- Catalog entries record actual DLL versions, package versions, exact archive entries, SHA-256 and observed signature status as separate fields, preserve historical MD5 records explicitly and keep per-source failure and freshness information.
- Current FidelityFX runtimes resolve from immutable SDK commits, with a verified archive cache.
- x64 vendor artifacts are selected and their PE identity is verified before any file is replaced.
- The Nexus build compiles without the updater dependency and makes no automatic application-update or catalog request. Opening Catalog, starting the app or restoring focus performs no network refresh; an explicit
Refresh Catalogfetches the current signed upstream manifest. Nexus assets stay out oflatest.json. - Portable archives include
portable.flag. Settings, catalog, backups, logs and journal resolve under<exe>\data, and automatic application updates stay disabled. product.tomlowns product identity, repositories, URLs, distribution capabilities and the portable marker. The workspace package version owns1.7.0.- GitHub source and signed-manifest links are visible in every distribution, while Nexus updater behavior stays disabled.
- GPU driver detection prioritizes PCI identities, refreshes cached system data after an external change, and keeps AMD branch tables and Intel operating-system targeting explicit.
- Command arguments, results, errors and events are generated from the Rust signatures.
- Development startup works again with coordinated Vite, Svelte and Node updates.
- The release workflow builds the Standard channel with the pinned Tauri CLI directly, so the Cargo separator survives and
--no-default-featuresreaches Cargo instead of the Tauri CLI, which has no such option. Nexus already used this invocation. - Portable archive instructions state that settings, catalog, backups, logs and journal live under
.\databeside the executable.
Removed
- The Trust Center screen and its supply-chain dashboard. Ed25519 catalog verification continues in the backend and still refuses an unverified catalog.
- The unused legacy auto-apply-after-rescan control. Its serialized field stays compatible, and the background auto-apply workflow remains available.
Fixed
- Steam scans retain previously observed games when one configured library root is temporarily unavailable.
- Download clients honor the saved connection timeout after startup and settings changes.
- Post-update observation preserves launcher identity, failed driver installs keep their retry candidate, and local package ownership comparisons follow Windows path casing rules.
- Local package targets can create missing nested parent directories, while backup restores reject normalized paths outside the configured backup root.
- The WebView2 E2E harness reports early app exits, waits for real scan completion, closes owned flyouts, and uses unambiguous driver-list assertions.
- Vitest and its V8 coverage provider are aligned at 4.1.11. The resolved frontend and Rust dependency updates include
nanoid3.3.19,brace-expansion5.0.12,devalue5.9.4,quinn-proto0.11.16 andserde_with3.21.0. - Vendor marks and explicit backup-row columns are restored, backup entry grid placement and responsive text width are corrected, and the game-detail grid is correct after the decorative feature icons were removed.
- Nexus-only Cargo flags reach Cargo, and the build-time capability is derived without the Standard updater permission.
- Windows driver updates match exact PnP hardware IDs, installation targets are revalidated, per-package Windows Update Agent outcomes are checked, and active-version verification is reported separately.
- Driver installation stops when a requested package export fails. Exported snapshot files are verified with SHA-256 before a restore, and a restore is marked complete only after a device-version readback.
- Notification dismiss hover is separate from the notification body, and initial focus lands on the panel close control.
- Vendor search results survive a refresh, and Library table details wrap without clipping technology labels.
- View and density changes apply immediately, interface preference writes are serialized, and a late save response can no longer replace a newer selection.
- Epic artwork resolves from the official Epic catalog when a launcher manifest omits thumbnail metadata, and verified local artwork is reused without an automatic network request.
- Recipe state writes use extended-length Windows paths, including long profile paths.
- Concurrent scan observations are preserved when an automatic scan and an explicit scan finish together.
- Installation capability comes from the backend driver actions instead of the presence of a download link.
- Missing-cover labels, placeholder contrast and reduced-motion behavior are corrected in both themes.
driver-installRust tests carry anasInvokerWindows manifest, socargo test --workspaceno longer triggers UAC error 740 because the test executable name containsinstall.- First-run catalog state loads the signed embedded fallback even when no cache file exists.
- The portable release documentation no longer claims that state is stored under the user profile.
Security
- Catalog cache writes use one atomic signed-manifest path. Stale, future-dated, wrong-schema, empty and downgraded catalogs are rejected.
- Manual catalog refresh requires the detached Ed25519 signature in every profile, rejects an empty or older catalog, and atomically stores the verified bytes, the signature and the catalog metadata.
- CLI apply stages and verifies every download before mutation, requires a trusted Authenticode publisher, creates backups first, writes atomically, verifies post-write hashes, and restores already-written files after a partial failure.
- Catalog downloads keep hard byte and decompression ceilings, and traversal and zip-slip coverage stays in the test suite.
- CI secret scanning receives the pull-request token that Gitleaks requires.
- The release workflow has two explicit Windows signing lanes. With
SIGNPATH_ENABLED=trueit signs through SignPath and refuses to publish unless every exact file reports a valid Authenticode signature. Otherwise it publishes the same files unsigned, refuses any file that unexpectedly carries a signature, records the real state inAUTHENTICODE-STATE.json, and states in the release notes that the files are not Authenticode-signed. Publication requires a state that one of those lanes read, so a release cannot describe a signature it did not verify. The Tauri updater signature, the release checksums and the publisher check for downloaded game DLLs stay required in both lanes.
Release scope and verification
- Platform: Windows 10/11 x64 only. There is no macOS or Linux package. Game discovery, GPU and device-driver workflows, the Windows device inventory and NVIDIA profile access use Windows APIs, and the non-Windows code paths return no results or an explicit error.
- Signatures: the release notes state the Authenticode state that the release workflow actually read for the exact published files. The Standard updater payload carries its Ed25519 signature, and
latest.jsonpoints only at the exact Standard installer. Verify a download againstSHA256SUMS.txt. - Checked before release: frontend type check, lint and the frontend suite, the Rust workspace library suites, Clippy across the workspace, generated-binding drift, the product, architecture and per-channel release contracts, and the packaging and release-safety tests.
- Not checked: game or hardware compatibility, device-driver installation or restoration on other machines, in-game effects of DLSS profile changes, and performance. A correct hash, a verified publisher or a successful install does not prove that a game runs correctly.