Repository navigation
Releases
Release v1.5
Instant Replay 1.5
Full Changelog 👇
Game Capture
- Added Whole Desktop and Game Capture recording targets, plus a Games page for custom executable names, browsing to an executable, and optional title keywords.
- Added an offline recognition catalog covering more than 8,000 games and clients. Detection checks the foreground window using indexed rules and a bounded process cache.
- Added Minecraft Java/client recognition for vanilla Minecraft, Fast Client, Silent Client, Lunar Client, Badlion Client, Feather Client, TLauncher and Legacy Launcher. Matching uses the actual Java game window rather than its launcher.
- Game Capture records the selected game's process audio. Switching to an unlisted app pauses game video and audio while preserving the buffer; returning resumes capture. Microphone recording remains independent during these pauses.
- Focusing a different recognized game discards the old buffer and starts a new one. Closing the captured game returns to waiting, including when capture was paused.
- Game Capture uses WGC with square capture corners. Switching from a DXGI configuration shows a compatibility prompt; DXGI remains available for Whole Desktop.
Capture and replay improvements
- Reworked the Rust engine around native Windows capture and Media Foundation, following wcap's approach. Removed the
windows-captureand WASAPI wrapper dependencies and runtime HLSL compilation; shaders now use embedded bytecode. - Improved WGC and DXGI frame pacing, timestamp handling and recovery after stalls. Stale or duplicate timestamps are rejected, and WGC skips queued old frames instead of encoding a backlog.
- Fixed DXGI cursor capture and the frame-rate regression when cursor recording is disabled. Added a cursor visibility setting for both capture methods.
- Added capture-session restarts after settled window-size, mode or display changes. These restarts discard the previous replay buffer; they do not guarantee fullscreen compatibility.
- Raised the output limit to 3840 × 2160. Low, Balanced and High quality presets now change bitrate without changing resolution between encoders. Auto encoding falls back to Microsoft's Media Foundation software H.264 encoder when needed.
- Reduced save-time memory spikes by sharing encoded packets and converting one video frame at a time. A low-memory check can refuse a save before allocating its workspace, keeping the current buffer intact.
Playback and interface
- Added inline playback with rounded corners and sizing that follows the video's aspect ratio. Switching between inline and fullscreen preserves playback state, position, volume and mute; fullscreen includes an exit control.
- Improved the volume indicator with progressively fading sound waves and corrected mute/unmute behavior.
- Fixed missing gallery thumbnails with video-frame extraction as a fallback and regeneration of unreadable cached images.
- Replaced save toasts and success infobars with an animated clip popup showing the app icon and clip duration. Failed saves also use the popup and point to the debug log.
- Removed the main window's always-on-top behavior, standardized the backdrop on Mica, reorganized scrollable settings, reset page scroll positions when revisiting pages, and refreshed the unsaved-changes popup.
- Added a WebView2 download warning only when the runtime is missing.
Updates and reliability
- Added an Updates page with manual checks and automatic checks every 24 hours against GitHub's latest stable release.
- Update reminders offer Update now or Not now, appear at most once per day, and wait until the app is foreground. Full-installer downloads are checked against GitHub's byte count and SHA-256 digest.
- Added quiet installer updates followed by automatic app restart. Settings and recordings are retained; installing an update clears the in-memory replay buffer and may require Windows administrator approval.
- Strengthened the single-instance guard and removed the watchdog that terminated other processes by name.
- Removed the old installer rollback script and install-detection/uninstaller path. Updated the installer and app version to 1.5.
Known limitations and requirements
- Game Capture may produce black or frozen video in fullscreen apps or games, even while audio continues. Whole Desktop may work where Game Capture cannot, but fullscreen capture is not guaranteed with either target. Try borderless or windowed mode if needed.
- 4K is an output limit, and the selected FPS is a ceiling. Actual frame rate depends on the source, hardware, encoder and system load; static scenes are not padded with duplicate frames.
- Game process audio requires Windows build 20348 or newer. Whole Desktop records system audio.
- .NET 8 Desktop Runtime and WebView2 Runtime are required and are not installed automatically by the installer.
- Low-memory safeguards reduce save-time allocations but cannot prevent system-wide memory exhaustion. A system-managed page file is recommended if Windows runs out of committed memory.
Release v1.4
Fully Rewrote the engine in rust instead of relying on dependencies like ffmpeg and virtual audio capturer recorder.
Full Changelog: V1.3...v1.4
Release v1.3
Instant Replay v1.3
What's New
- Compact window — default size reduced from 941×806 to 760×700, closer to a professional look
- Acrylic backdrop — replaced Mica with Desktop Acrylic for a more dynamic, translucent look that shows more of what's behind the window
- Density system (
Themes/Density.xaml) — spacing, padding, and typography values centralized into reusable tokens instead of scattered literals across XAML files SettingRowcontrol — new reusable label-left/control-right row component, replacing ~9 duplicatedGridblocks in Settings and Advanced- Duration / Frame Rate / Quality as dropdowns — replaced the three-way segmented button rows with
ComboBox, consistent with the Microphone selector and more space-efficient
Fixes
- Blurry text — every
FontFamily="Segoe UI"reference switched toSegoe UI Variable, the font actually optimized for WinUI 3's DirectWrite rendering pipeline; text is now noticeably sharper, especially at small sizes - Sidebar/canvas color mismatch — the hamburger sidebar was using
SurfaceBrushwhile the darker canvas area around/under the content card usedBgBrush; sidebar now matches the canvas color - Card padding collapsing to near-zero —
CardPaddingwas declared asx:Doublebut assigned to aThickness-typed property viaStaticResource, which doesn't auto-convert; redeclared asThicknessso padding actually applies - Settings page overflow — Dark Mode row was being clipped/covered by the status bar; tightened toggle row spacing and added window height clearance so the card's rounded bottom corners render fully instead of being cut off
- Nav selection indicator — accent bar height reduced from 30px to 22px for a tighter look
Release v1.2
Instant Replay v1.2
Fixes
- Duplicate app on startup — Instant Replay could launch two separate windows at login due to a registry key mismatch between the installer and the app's own "Start with Windows" toggle, which let two different startup entries exist at once. Fixed the mismatch, added automatic cleanup of the old duplicate entry, and added a single-instance guard (a second launch now just focuses the existing window instead of opening a new one) plus a background safety check that closes any stray duplicate processes.
- "Start with Windows" toggle could show stale state — the toggle only checked its state once at launch, so if the registry entry changed while the app was running (or was cleaned up by the fix above), the toggle wouldn't reflect it. It now re-syncs whenever the window regains focus or you open Settings.
- Uninstaller didn't remove FFmpeg or Virtual Audio Capturer — the "Remove All Dependencies" option was only ever reachable from a page that the real uninstaller never showed, so it silently did nothing. The real uninstaller now has its own working options page.
- Misleading uninstall progress bar — re-running the installer over an existing install triggered a fake "uninstall" through the install wizard, whose progress bar had nothing real to measure and jumped to "done" almost immediately. This now hands off cleanly to the real uninstaller with an accurate progress bar.
- First replay save only captured ~20s instead of full duration — after saving a replay, the recorder wiped all segments and started fresh, losing the rest of the buffer. The recorder now preserves existing segments after a save, so
-segment_wrapcan properly rotate through the full selected duration. - Virtual Audio Capturer silently failed to install — the VAC installer was launched with
ExecShell "open"(fire-and-forget), which never waited for completion and never checked the exit code. Now usesExecWaitand verifies success. - FFmpeg PATH addition silently failed — the PowerShell script that adds FFmpeg to the system PATH was never checked for errors. Now reports a warning if the PATH write fails.
- Installer left ~2GB of temp files — downloaded dependencies (FFmpeg zip, Java MSI, VAC installer) were never cleaned up after use, and old NSIS temp folders from crashed/aborted runs accumulated. The installer now cleans up downloads after each section and removes stale temp folders on startup.
- Installer/Uninstaller no longer manipulates system PATH — FFmpeg PATH addition/removal was removed entirely. The app now hardcodes
C:\ffmpeg\ffmpeg.exeas the default FFmpeg path, and the bundled FFmpeg from VAC (from 2012, missing key encoders) is no longer used. - Setup didn't detect existing installation when re-run — the installer checked for all four components (app, FFmpeg, VAC, Java) before redirecting to uninstall, so missing any one component would show the full installer instead. Now only checks if the app itself is installed (registry key or uninstaller exe exists).
- Install location lost on re-runs — the installer didn't write
InstallLocationto the registry, so NSIS couldn't resolve$INSTDIRto the correct path on subsequent runs. Now writes it during install. - VAC uninstall path quoting — the uninstaller now checks if the VAC uninstall string from the registry already contains quotes before adding them, preventing double-quoting.
- Java detection missed per-user installs — Java detection only checked HKLM registry keys. Now also checks HKCU for user-scoped Java installations.
- Default FFmpeg path updated — default
FFmpegPathchanged fromffmpeg.exe(relied on PATH) to full pathC:\ffmpeg\ffmpeg.exefor reliability.
Internal
- Cleaned up duplicated/dead uninstall logic in the installer script.
- Standardized installer log message formatting.
- Fixed stack leaks in uninstaller (unpopped
nsExecexit codes in VAC removal and PATH removal loops).
Release v1.1
Changelog
v1.1
Bug Fixes
- Fixed tray icon not responding to user interactions
- Fixed installer crashing when clicking Uninstall on systems with all components already installed
- Fixed installer not detecting all components correctly, causing it to show install mode instead of uninstall mode
- Fixed confirmation dialog not terminating the installer when user selects "No" during uninstall
Installer Improvements
- Migrated installer from Inno Setup to NSIS with MUI2 interface
- Added smart detection: installer automatically switches to uninstall mode when all components are present
- Added optional checkbox to remove recordings during uninstall
- Added optional checkbox to remove dependencies (FFmpeg, Virtual Audio Capturer, PATH entry) during uninstall
- Added confirmation dialog before uninstalling
- Added completion message after successful uninstall
- Added progress details during uninstall
- Replaced INetC with NScurl for faster HTTPS downloads with built-in progress bar
- Switched to LZMA solid compression (~27% smaller installer)
- Added branding customization (removed Nullsoft watermark)
Release v1.0
Instant Replay v1.0.0
First public release of Instant Replay — a lightweight screen recording tool that saves the last moments on demand.
What it does:
Continuously records your screen into a rolling buffer and saves the last 30/60/120 seconds as an MP4 when you press the hotkey. No need to manually start and stop recordings.
Features:
- Rolling replay buffer (30s, 60s, or 120s)
- Global hotkey save (default: Ctrl + Numpad *)
- Desktop audio + microphone recording with independent sync
- System tray integration (minimize to tray, right-click menu)
- 30/60/120 FPS support
- Three quality presets (Fast, Balanced, Quality)
- Auto-start with Windows option
- Dark mode / Light mode with Mica transparency
- Watchdog — auto-restarts FFmpeg if it crashes
- Memory leak detection with tray warnings
Dependencies (installed automatically by the installer):
- FFmpeg — video/audio capture and encoding
- Virtual Audio Capturer — desktop audio capture
Requirements:
- Windows 10 build 17763 or later
- x64 processor
Installation:
Download InstantReplaySetup.exe and run it. The installer handles FFmpeg, Virtual Audio Capturer, PATH configuration, and Windows security exclusions automatically.