This release adds global custom stream dimensions and a pure black OLED appearance, and fixes compatibility problems in the PyroWave and GameSir USB paths.
- Custom resolution for all streams. Open Settings → Video → Stream resolution → Custom… and enter the width and height in pixels. Each dimension accepts 64–16,384 pixels, including portrait sizes. The chosen size survives restarting the app and changing screens. Named profiles, PC and game overrides retain their existing priority, and manually chosen bitrates are preserved.
- Full black OLED mode. Enable Settings → App → OLED black for pure black app, menu and dialog backgrounds, including with a light system theme. Text and icons remain readable, and the change applies immediately.
- PyroWave with Vibepollo. The client now recognizes Vibepollo's record-boundary flags as well as Rubylight's layout. This lets recovery resume at the next record after packet loss, including when the first packet was lost.
- GameSir USB Xbox modes. Added missing GameSir USB vendor support so matching Xbox interfaces can request USB access and use the input and rumble driver. For the G8+ MFi, use green Xbox mode with USB controller driver enabled and accept the access prompt. If Android already recognizes the controller, enable Always use the USB driver and reconnect. Blue Android mode still depends on Android's rumble support.
The Host → Server commands → Sleep report was also checked. Automated checks pass for confirmation, cancellation, the host's command index, and reliable encrypted command delivery for Apollo, Vibepollo and Rubylight. No client fault was reproduced. The protocol does not return an execution result: if Sleep is submitted but the PC stays awake, the host log and configured command need checking. Actual sleep on the reported PC, physical G8+ MFi rumble and the original reporter's live PyroWave setup remain unverified.
Validation passed: 3,739 unit tests across both app variants, native regular and sanitizer suites, 640,000 differential PyroWave frames, and release lint with zero errors. The signed release was installed over 0.7.11 in an Android emulator; saved settings, custom-size validation and persistence, and the OLED editor were checked.
Install nightjar-0.7.12.apk over your current installation to retain settings and paired PCs. nightjar-0.7.12-root.apk is the legacy rooted build for Android 5.0–7.1. Both APKs support arm64-v8a, armeabi-v7a, x86 and x86_64. The AAB and SHA-256 checksums are also included.
