Releases: KhronosGroup/OpenXR-SDK-Source
OpenXR SDK (Source) 1.1.58
OpenXR SDK 1.1.58 (2026-03-31)
This release features several fixes to the SDK as well as tooling improvements.
Among the several added extensions, the most notable are the two new ratified
multi-vendor extensions, XR_EXT_view_configuration_views_change and
XR_EXT_interaction_profile_battery_state_display.
- SDK
- API Dump Layer: Fix: crash when encountering
XR_TYPE_UNKNOWNinnextchain
(internal MR 4090) - Improvement: Enable
-Werror=missing-prototypesmore widely.
(internal MR 4120) - Improvement: Search using QUIET mode for sanitizers, as they are a developer
feature.
(OpenXR-SDK-Source PR 577) - hello_xr: Improvement: Simplify options parsing
(internal MR 4155,
internal MR 3369) - hello_xr: Fix: Remove error condition check if
hello_xris run with
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO.
(internal MR 4197,
internal issue 2679) - hello_xr: Fix: crash with D3D11 when the runtime does not support an
appropriate depth format.
(internal MR 4199,
internal issue 2689,
OpenXR-SDK-Source issue 589) - hello_xr: Fix: Missed parts of backporting changes from CTS for depth image
support.
(OpenXR-SDK-Source PR 587,
internal issue 2780) - hello_xr: Fix: Correct type enum error in D3D12 code.
(OpenXR-SDK-Source PR 587,
internal issue 2780) - hello_xr: Improvement: Remove now-unused code in D3D11, OpenGL, and OpenGL ES
backends.
(OpenXR-SDK-Source PR 587,
internal issue 2780) - loader_test: Fix: Android compatibility
(internal MR 4090) - loader_test: Improvement: run
loader_testthrough CTest on Linux
(internal MR 4090) - test_runtime: Improvement: Simplify session state implementation in
runtime_test.cpp
(internal MR 4159) - test_runtime: Fix: Update for marking of
XR_FB_touch_controller_proximityas
obsoleted by OpenXR 1.1.
(internal MR 4191,
internal issue 2599) - test_runtime: Improvement: Fix quaternion validation percentage in
runtime_test.cpp
(internal MR 4192,
internal MR 4159)
- API Dump Layer: Fix: crash when encountering
- Registry
- Change: Mark
XR_FB_space_warpas deprecated byXR_EXT_frame_synthesis,
which provides the same functionality with a slightly modified interface.
(internal MR 4173,
internal issue 2469) - Chore: Reserve extension numbers.
(internal MR 4204) - Fix: Mark
XR_FB_touch_controller_proximityas obsoleted by OpenXR 1.1.
(internal MR 4191,
internal issue 2599) - Improvement: Add command return code checks in
xml_consistency.pyfor
specific spatial entity input types.
(internal MR 4151) - New ratified multi-vendor extension:
XR_EXT_view_configuration_views_change
(internal MR 711,
internal issue 619) - New ratified multi-vendor extension:
XR_EXT_interaction_profile_battery_state_display.
(internal MR 3528,
internal issue 1339,
internal issue 1905) - New vendor extension:
XR_QCOM_hand_tracking_gesture
(internal MR 2572) - New vendor extension:
XR_META_body_tracking_fidelity
(internal MR 2962) - New vendor extension:
XR_META_spatial_entity_semantic_label
(internal MR 3529) - New vendor extension:
XR_ANDROID_performance_metrics
(internal MR 3607) - New vendor extension:
XR_ANDROID_mouse_interaction
(internal MR 3608) - New vendor extension:
XR_ANDROID_unbounded_reference_space
(internal MR 3624) - New vendor extension:
XR_ANDROID_composition_layer_passthrough_mesh
(internal MR 3625) - New vendor extension:
XR_META_environment_raycast
(internal MR 3758) - New vendor extension:
XR_ANDROID_trackables_qr_code
(internal MR 3772) - New vendor extension:
XR_BD_spatial_audio_rendering
(internal MR 3794) - New vendor extension:
XR_ANDROID_scene_meshing
(internal MR 3872) - New vendor extension:
XR_META_tile_properties_hint
(internal MR 3885) - New vendor extension:
XR_ANDROID_spatial_object_tracking
(internal MR 3992) - New vendor extension:
XR_ANDROID_spatial_discovery_raycast
(internal MR 3993) - New vendor extension:
XR_ANDROID_spatial_entity_bound_anchor
(internal MR 3994) - New vendor extension:
XR_ANDROID_spatial_component_subsumed_by
(internal MR 4125) - New vendor extension:
XR_ANDROID_spatial_anchor_space
(internal MR 4132) - Schematron: Add schematron validation for prefix
XrCompositionLayerfor
structures which extendXrCompositionLayerBaseHeader.
(internal MR 4131)
- Change: Mark
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.58'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.57
OpenXR SDK 1.1.57 (2026-02-12)
This release primarily features several fixes to the SDK as well as tooling
improvements.
Note that specification releases 1.1.55 and 1.1.56 were skipped to keep up with
a monthly increment for the patch version component.
- SDK
- Fix: Do not attempt to install manpages on Android, and ensure all directory
prefixes are populated, fixing CMake install.
(OpenXR-SDK-Source PR 573,
OpenXR-SDK-Source issue 568,
internal issue 2645) - Loader: Reduce severity of Android loader "broker not found" messages from
error to warning.
(internal MR 4134) - Validation Layer: Fix core validation layer validation of
xrCreateSessionto
supportXR_TYPE_GRAPHICS_BINDING_METAL_KHRand
XR_TYPE_GRAPHICS_BINDING_EGL_MNDX.
(internal MR 4119,
internal issue 2646) - hello_xr: Deduplicate code in internal "gfxwrapper" library used in hello_xr
(among other uses) for OpenGL/OpenGL ES. Add an explicit always-EGL path.
(internal MR 2942,
internal issue 1911) - hello_xr: Fix out of bounds read when none of the required depth formats is
supported.
(internal MR 4145,
OpenXR-SDK-Source issue 578,
internal issue 2663,
internal MR 4023) - loader_test: Update Catch2 test library from 3.7.1 to 3.11.0.
(internal MR 4006,
internal issue 2108)
- Fix: Do not attempt to install manpages on Android, and ensure all directory
- Registry
- Change: Update tooling to properly support extending allowable return codes
from extensions.
(internal MR 4009,
internal issue 2494) - Chore: Reorder function return codes to alphabetic (with
XR_SUCCESSpulled to
the front).
(internal MR 3979) - Chore: Reserve extensions.
(internal MR 4157,
internal MR 4162) - Fix:
XR_KHR_extended_struct_name_lengthsstring length can be up to 256
bytes. (The prose has been modified to match the XML specification.)
(internal MR 4126,
internal issue 2654) - New vendor extension:
XR_ANDROID_trackables_image.
(internal MR 4069) - Schematron: Add validation for return code ordering.
(internal MR 3979) - Schematron: Add validation for semantic label enums defined for the spatial
entity framework.
(internal MR 4081) - Update: Mark
XR_EXT_plane_detectionas deprecated by
XR_EXT_spatial_plane_tracking.
(internal MR 4057,
internal issue 2625)
- Change: Update tooling to properly support extending allowable return codes
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.57'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.54
OpenXR SDK 1.1.54 (2025-12-02)
This release updates the C++ standards version used by the package, and includes
changes to hello_xr to bring it closer in line with the OpenXR-CTS (which come
from a shared codebase) and allow optional submission of depth textures where
supported, among other changes.
- SDK
- Change: Update C++ standard version used from C++14 to C++17.
(internal MR 4096) - Chore: Add extra compiler validation for the OpenXR loader.
(internal MR 4086) - Chore: Fix -Wmissing-prototypes compiler warnings.
(internal MR 4107) - Improvement: Add build option
INSTALL_SYMBOLS(enabled by default to maintain
current behavior), to allow skipping installing.PDBfiles from MSVC builds.
(internal MR 4066,
internal issue 2634) - Improvement: Clarify loader doc regarding removed permission requirement for
installable broker.
(internal MR 4092) - Validation Layer: Fix the
library_pathof
XrApiLayer_best_practices_validation.jsonon Windows
(internal MR 4080,
internal issue 2629) - hello_xr: Revise rendering to be more similar to the CTS, and add optional
support forXR_KHR_composition_layer_depth.
(internal MR 4023,
internal MR 4118,
internal MR 4121)
- Change: Update C++ standard version used from C++14 to C++17.
- Registry
- Change: Deprecate the Wayland part of
XR_KHR_opengl_enableand bump version.
(internal MR 4052,
OpenXR-SDK-Source issue 282,
internal issue 1634,
internal issue 2559) - Chore: Reserve extensions.
(internal MR 4067,
internal MR 4079,
internal MR 4098,
internal MR 4099,
internal MR 4100) - Fix: Correctly define
XR_EXT_dpad_bindingpaths for
/interaction_profiles/bytedance/pico_ultra_controller_bd in XML.
(internal MR 4049) - Improvement: Add description for
XR_SPACE_COMPONENT_TYPE_TRIANGLE_MESH_META.
(internal MR 4070) - Schematron: Add validation to ensure bitmasks are non-plural before
Flags/FlagBits.
(internal MR 2678) - Schematron: Add validation to check additional scenarios of
nextpointer
const-ness.
(internal MR 2740) - Schematron: Add validation for interaction profile extension binding additions.
(internal MR 3982) - Schematron: Remove unneeded exception from "Param/member naming conventions:
camelCase" pattern.
(internal MR 4072) - Schematron: Fix check for multiple arrays bounded by the same
lenparam.
(internal MR 4077) - Schematron: Add validation for the comment attribute of
XrSpatialComponentTypeEXTvalues. The comment must reference the list and
data structs for the component.
(internal MR 4083) - Schematron: Add validation for the comment attribute of
XrSpatialCapabilityFeatureEXTvalues. The comment must have references to the
feature's config structs.
(internal MR 4084) - Schematron: Add check for orphaned structs, enforcing
structextendsor
parentstructwhen appropriate.
(internal MR 4091,
internal MR 4094) - Update: Bump XR_EXT_future version due to clarifying what the runtime may do in
a completion function of anXrFutureEXT.
(internal MR 3796,
internal MR 4028) - Update: Add
XrEnvironmentDepthImageTimestampMETAto
XR_META_environment_depth, update spec version to 2.
(internal MR 4024)
- Change: Deprecate the Wayland part of
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.54'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.53
OpenXR SDK 1.1.53 (2025-10-14)
This release contains three new vendor extensions and some code cleanups. The
test_runtime expansion is primarily intended for CTS self-testing but may be
useful in other development processes as well.
- SDK
- Improvement: fix clang-tidy bugprone-branch-clone warning
(internal MR 3864,
internal MR 4027) - Improvement: Expand the "test_runtime" to implement all OpenXR 1.0 / OpenXR 1.1
functions for self-test purposes.
(internal MR 3989) - Improvement: Add stricter compiler flags to the loader and hello_xr, fixing
issues found.
(internal MR 4028,
internal MR 4042) - Loader: Fix: Remove unused function definition
xrInitializeLoaderKHRto fix
pedantic builds.
(internal MR 4020)
- Improvement: fix clang-tidy bugprone-branch-clone warning
- Registry
- Fix: Bump
XR_ANDROID_trackables_objectversion for fix to orientation.
(internal MR 4018) - New vendor extension:
XR_BD_facial_simulationfor vendor-specific access to
facial expressions.
(internal MR 2925) - New vendor extension:
XR_BD_ultra_controller_interactionfor PICO Ultra
controller interaction profile.
(internal MR 3789) - New vendor extension specification:
XR_ANDROID_face_trackingfor vendor-
specific access to facial expressions.
(internal MR 3613) - Update: Bump version of
XR_MND_headlessfor clarification.
(internal MR 3961)
- Fix: Bump
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.53'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.52
OpenXR SDK 1.1.52 (2025-09-19)
This release contains a new ratified Khronos extension, a new vendor extension,
fixes for issues in the XML registry, and API layer improvements.
- SDK
- Improvement: Adjust the enabled clang-tidy checks after resolving some minor
identified warnings.
(internal MR 3898) - Layers: Fix: Skip checking members other than
typeandnexton structs
markedreturnedonly="true"in core validation layer.
(internal MR 3973) - Layers: Fix: Rename
KHR_best_practices_validation->
KHRONOS_best_practices_validation
(internal MR 3984) - Loader: Improvement: Further clean up defines related to XR_KHR_loader_init.
(internal MR 3937,
internal MR 3948)
- Improvement: Adjust the enabled clang-tidy checks after resolving some minor
- Registry
- New ratified Khronos extension:
XR_KHR_generic_controller
(internal MR 3018) - Update: Ratified
XR_EXT_debug_utils
(internal MR 3899) - Update: Ratified
XR_EXT_render_model
(internal MR 3900) - Update: Ratified
XR_EXT_interaction_render_model
(internal MR 3901) - New vendor extension:
XR_META_spatial_entity_discovery.
(internal MR 2880,
internal MR 4001) - Change: Revert
XrTrackablePlaneANDROID::vertexCountOutputto a pointer, and
increment extension version number.
(internal MR 3998) - Chore: Reserve numbers for extensions.
(internal MR 4004) - Fix: Add XML for missing
grip_surfacepaths for
"/interaction_profiles/ext/hand_interaction_ext". Note that these paths were
already listed in the spec prose. UpdateXR_EXT_hand_interactionextension
version to2for clarity.
(internal MR 3963) - Fix: Mark a few structure members that are bitmasks as optional, to match prose
and/or usage intent.
(internal MR 3973) - Fix: Mark
XrCompositionLayerPassthroughFB.spaceas optional to match spec
prose.
(internal MR 3973) - Fix: Add XML for missing
palm_ext/poseandgrip_surface/posepaths for
"/interaction_profiles/logitech/mx_ink_stylus_logitech". Note that these paths
were already listed in the spec prose.
(internal MR 3996)
- New ratified Khronos extension:
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.52'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.51
OpenXR SDK 1.1.51 (2025-08-28)
This release adds a new API layer to assist developers in making an OpenXR
application that follows best practices, along with a number of miscellaneous
other fixes and improvements.
- SDK
- Added: New "best practices validation" API layer to check for application
behavior that is valid but contradicts best practices.
(internal MR 3735,
internal MR 3976) - Fix: Include command alias in
XR_LIST_FUNCTION_macros in
openxr_reflection.h.
(internal MR 3915,
internal issue 2222) - Fix: Consistent usage of
XR_KHR_LOADER_INIT_SUPPORTdefines.
(internal MR 3936) - Fix: Migrate scripts to publish Android OpenXR loader AAR to Maven Central via
new process.
(internal MR 3978,
internal issue 2499,
internal MR 3975) - Improvement: enable clang-tidy bugprone-unused-local-non-trivial-variable
check.
(internal MR 3892) - Improvement: Fixed unused parameters in gfxwrapper.
(internal MR 3894) - Improvement: Provide more useful metadata in the Android OpenXR loader AAR POM
file.
(internal MR 3978,
internal issue 2499,
internal MR 3975) - hello_xr: Fix Vulkan resource destruction bugs of ShaderProgram and Pipeline.
(OpenXR-SDK-Source PR 538)
- Added: New "best practices validation" API layer to check for application
- Registry
- Chore: Reserve extension numbers.
(internal MR 3916,
internal MR 3956) - Fix: Missing parent struct for
XrSpatialCapabilityConfigurationAnchorEXT.
(internal MR 3932) - Fix: Missing
XR_EXT_dpad_bindingpaths for
/interaction_profiles/facebook/touch_controller_proand
/interaction_profiles/meta/touch_controller_plus.
(internal MR 3945) - Fix: incorrect placement of
*in
XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSINGerror description.
(internal MR 3960) - Fix: Missing
XR_EXT_dpad_bindingpaths for
/interaction_profiles/varjo/xr-4_controller.
(internal MR 3965) - Fix: Missing
XR_EXT_dpad_binding,XR_EXT_palm_pose, and
XR_EXT_hand_interactionbindings for
/interaction_profiles/oppo/mr_controller_oppo.
(internal MR 3966)
- Chore: Reserve extension numbers.
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.51'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.50
OpenXR SDK 1.1.50 (2025-07-24)
This release features a new loader extension for some specific automation use
cases, several new vendor extensions, and code quality improvements, among other
changes.
- SDK
- Fix: Revise how OpenGL compatibility is detected in the build system on
Windows.
(internal MR 3883) - Fix: Add missing include directive in loader code.
(OpenXR-SDK-Source PR 554) - Improvement: Add support for sanitizers in CMake with sanitizers-cmake project.
(internal MR 3716) - Improvement: add
.clang-tidyfile.
(internal MR 3802) - Improvement: Enable the clang-tidy cert-dcl16-c, bugprone-too-small-loop-
variable, and bugprone-switch-missing-default-case checks, making fixes
required to satisfy them.
(internal MR 3882,
internal MR 3893) - Improvement: Disable the clang-tidy bugprone-reserved-identifier, cert-dcl37-c,
and cert-dcl51-cpp checks.
(internal MR 3882,
internal MR 3893) - Loader: Implement
XR_EXT_loader_init_propertiesextension and enable
XR_KHR_loader_initon all platforms.
(internal MR 2454) - Loader: Refactor loader data class and handling, preparing for loader data
properties.
(internal MR 3834,
internal MR 3839) - Loader: Ensure that only the first Android property is used.
(internal MR 3834,
internal MR 3839) - Scripts: Handle the case where "current_ref_page" is a string rather than an
object.
(internal MR 3834,
internal MR 3839) - Validation Layer: Accept unknown or duplicated structure types in the
next
chain, and dump debug messages for them.
(internal MR 3828) - hello_xr: Optimize graphics synchronization when using Vulkan.
(internal MR 3681)
- Fix: Revise how OpenGL compatibility is detected in the build system on
- Registry
- Change: Update the
XrSpatialAnchorCreateCompletionBDstructure, and increment
the revision ofXR_BD_spatial_anchor.
(internal MR 3876) - Fix: Remove
XR_EXT_palm_posepaths fromXR_HTCX_vive_tracker_interaction,
as the /user/hand/left|right paths are not valid paths for Vive Trackers.
(internal MR 3844) - Fix: Include
XR_ERROR_SESSION_NOT_RUNNINGin list of errors
xrEnumerateInteractionRenderModelIdsEXTcan return. (Already in specification
prose.)
(internal MR 3889) - Fix: Typo in comment for
XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT.
(internal MR 3897) - Fix: Add explicit dependency to
XR_ML_compatfor
XrCoordinateSpaceCreateInfoML.
(internal MR 3907) - Improvement: Add comments for the
XrResultvalues added by
XR_BD_spatial_anchorandXR_BD_spatial_anchor_sharing.
(internal MR 3861,
internal issue 2535) - New multi-vendor extension:
XR_EXT_loader_init_properties
(internal MR 2454) - New vendor extension:
XR_META_body_tracking_calibration.
(internal MR 2963) - New vendor extension:
XR_ANDROID_passthrough_camera_state.
(internal MR 3614) - New vendor extension:
XR_ANDROID_trackables.
(internal MR 3615) - New vendor extension:
XR_ANDROID_raycast.
(internal MR 3620) - New vendor extension:
XR_ANDROID_trackables_object.
(internal MR 3623) - New vendor extension:
XR_ANDROID_device_anchor_persistence.
(internal MR 3626) - New vendor extension:
XR_ANDROID_anchor_sharing_export.
(internal MR 3627) - New vendor extension:
XR_ANDROID_trackables_marker.
(internal MR 3774)
- Change: Update the
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.50'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.49
OpenXR SDK 1.1.49 (2025-06-10)
This release primarily adds new extensions: a collection of ratified
multi-vendor extensions related to "spatial entities" (see associated blog post on the spatial entities features, multi-vendor extensions
to work with interaction render models, and a vendor extension.
Errata: The sample app (hello_xr) in this release (source and binary) does not support OpenGL on Windows by default due to a build system error. This does not affect the loader or applications built separately from this repository.
- SDK
- Improvement: Fix multiple clang-format formatting issues.
(internal MR 3845) - Validation Layer: Add support for handles created by async operations.
(internal MR 3030)
- Improvement: Fix multiple clang-format formatting issues.
- Registry
- New ratified multi-vendor extension:
XR_EXT_spatial_entity
(internal MR 3030,
internal MR 3874) - New ratified multi-vendor extension:
XR_EXT_spatial_anchor
(internal MR 3286,
internal MR 3874) - New ratified multi-vendor extension:
XR_EXT_spatial_plane_tracking
(internal MR 3402) - New ratified multi-vendor extension:
XR_EXT_spatial_marker_tracking
(internal MR 3414) - New ratified multi-vendor extension:
XR_EXT_spatial_persistence
(internal MR 3533,
internal MR 3874) - New ratified multi-vendor extension:
XR_EXT_spatial_persistence_operations
(internal MR 3606) - New multi-vendor extension:
XR_EXT_render_model
(internal MR 2464,
internal MR 2095,
internal MR 3225) - New multi-vendor extension:
XR_EXT_interaction_render_model
(internal MR 2615,
internal issue 2353,
internal MR 3551,
internal MR 3629,
internal MR 3710) - New vendor extension:
XR_BD_spatial_plane
(internal MR 3777)
- New ratified multi-vendor extension:
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.49'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.48
OpenXR SDK 1.1.48 (2025-06-03)
This release makes a switch to 16KB page sizes for Android, to improve
compatibility of the loader binaries, among other build system adjustments. The
"gfxwrapper" utility used by hello_xr (and the CTS) now uses the widely-used
"GLAD2" wrapper to load OpenGL and related functionality, rather than internal
hand-coded wrappers.
- SDK
- Improvement: Adapt gfxwrapper to use GLAD2 to load OpenGL, OpenGL ES, and EGL functions.
(internal MR 3125,
internal MR 3126) - Improvement: Minor loader_test debugging improvements.
(internal MR 3836) - Improvement: Correctly detect availability of OpenGL on less common Windows
platform variants, to fix 32-bit ARM non-UWP builds.
(internal MR 3838) - Improvement: hello_xr: Warning fixes.
(OpenXR-SDK-Source PR 516) - Improvement: Enable 16KB page sizes when building for Android, required for
targeting Android 15+.
(OpenXR-SDK-Source PR 548,
OpenXR-SDK-Source issue 546)
- Improvement: Adapt gfxwrapper to use GLAD2 to load OpenGL, OpenGL ES, and EGL functions.
- Registry
- Change: Increment the revision of
XR_BD_spatial_anchor_sharing.
(internal MR 3855) - Chore: Reserve extension numbers.
(internal MR 3696,
internal MR 3797,
internal MR 3815,
internal MR 3827) - Fix: Explicitly list the "x" and "y" thumbstick components on
"pico_g3_controller" in the XML.
(internal MR 3851) - Increment graphics binding extension revision numbers due to
rephrase/reorganization.
(internal MR 3028,
internal MR 3742) - New vendor extension:
XR_META_simultaneous_hands_and_controllers
(internal MR 2755) - New vendor extension:
XR_META_body_tracking_full_body
(internal MR 2961) - New vendor extension:
XR_BD_future_progress
(internal MR 3724)
- Change: Increment the revision of
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.48'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.
OpenXR SDK (Source) 1.1.47
OpenXR SDK 1.1.47 (2025-04-08)
This release features several new vendor extensions, one of which required a
modification to the XML schema for extending interaction profiles to represent
accurate. It also contains substantial fixes to the core_validation layer to
make it more usable and fix common false-positive validation errors, among other
improvements.
- Registry
- Addition to XML registry schema: Specify interaction profile additions by
constructing a predicate, and allow adding new top level /user paths to
existing profiles. See SDK changelog and style guide for details.
(internal MR 2467) - Chore: Reserve extension numbers.
(internal MR 3729,
internal MR 3744,
internal MR 3745) - Fix: Reflect requirement of
XR_META_hand_tracking_microgesturesfor
XR_EXT_hand_interactioninxr.xml.
(internal MR 3741) - Fix: Added missing comment on
XR_EYE_POSITION_COUNT_FBto remove warning
during build.
(internal MR 3748) - Fix: typo in the documentation of
XR_ERROR_SPACE_GROUP_NOT_FOUND_META
(internal MR 3749) - Improvement: Fix schematron runner on Mac.
(internal MR 3759) - New vendor extension:
XR_META_detached_controllers
(internal MR 2467) - New vendor extension:
XR_BD_spatial_sensing
(internal MR 3429) - New vendor extension:
XR_BD_spatial_anchor
(internal MR 3435) - New vendor extension:
XR_BD_spatial_anchor_sharing
(internal MR 3436) - New vendor extension:
XR_BD_spatial_scene
(internal MR 3438) - New vendor extension:
XR_BD_spatial_mesh
(internal MR 3439) - schema: Allow aliases of function pointers, primarily for use in extension
promotion.
(internal MR 2989)
- Addition to XML registry schema: Specify interaction profile additions by
- SDK
- Validation Layer: Fix: Fixes validation layer check for next chain validation
by changing it from recursive to iterative. This allows for subsequent struct
to validate off the initial set of valid chained structs.
(internal MR 3684,
internal issue 2434) - Validation Layer: Fix: Fixes validation layer check for structs that inherit
off a base struct. Inherited structs also have the same list of valid chained
structs as their parent.
(internal MR 3684,
internal issue 2434) - Validation Layer: Fix: Fixes null dereference bugs in generated code in layer.
(internal MR 3684,
internal issue 2434) - Validation Layer: Fix: Adds a validation layer exception to
xrGetRecommendedLayerResolutionMETAwhich allows aXR_NULL_HANDLEto be
valid when checking theXrSwapchainSubImagestruct.
(internal MR 3689,
internal issue 2425) - Validation Layer: Improvement: Add time stamp to the log messages
(internal MR 3723) - Validation Layer: Improvement: Generate debug messages when
core_validation
layer starts / exits
(internal MR 3723) - hello_xr: Improvement: Update Android target SDK version to 34 to eliminate
Play Protect warning on install. (Minimum SDK remains 24.)
(internal MR 3719) - list_json: Improvement: Use
XrInstanceCreateInfoAndroidKHRon Android for
improved compatibility.
(internal MR 3775)
- Validation Layer: Fix: Fixes validation layer check for next chain validation
The Android loader can be found on Maven Central, by adding the following line to your Android app's build.gradle dependencies section:
implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.47'(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)
Alternately, the AAR file (plus signature by the dedicated spec editor key and associated POM) are attached to this release.
Other release files are signed by specification editor Rylie Pavlik's key, with key fingerprint 45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D. Link goes to full public key.