# vrOS v0.16.0 Patch Notes
## New Features
- Complete UI language coverage across the supported locale set.
- Added Spanish (Latin America) localization.
## Bug Fixes
- Fixed VR overlay dragging stutter. Active single-hand grabs now use SteamVR tracked-device-relative transforms while held, letting the compositor move overlays smoothly with the controller instead of relying on app-loop absolute transform updates.
- Fixed stale or low-cadence controller pose sampling during overlay grabs by preferring compositor-latest controller poses and falling back to tracking-system poses when needed.
- Prevented GPU texture submissions, capture-frame submissions, popup polling, and DX11 pre-submit flushes from interrupting active overlay drags. Texture updates resume immediately after the grab is released.
- Removed the UI Automation fallback probe for capture-overlay textbox detection. Opaque apps that cannot be detected through the cheap path now rely on the user's toggle keyboard action instead of running heavier OS accessibility probing from the VR runtime path.
- World-anchored keyboards now auto-recenter when the user has moved far enough away from the saved keyboard position.
- Keyboard distance recentering now uses horizontal XZ distance with a lower 1.0 m threshold, so vertical head movement no longer affects the recenter decision.
## Improvements
- The VR poll loop now schedules against the headset refresh rate and subtracts elapsed work before sleeping, instead of using a fixed post-work sleep.
- Reused compositor frame-timing scratch storage in the VR backend to avoid heap allocation on every session-stats tick.
- Keyboard recenter diagnostics now log distance-recenter state and keyboard show decisions at INFO level for easier support debugging.
