Skip to content

Releases: KhronosGroup/OpenXR-SDK-Source

OpenXR SDK (Source) 1.1.53

14 Oct 21:41
release-1.1.53

Choose a tag to compare

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
  • Registry
    • Fix: Bump XR_ANDROID_trackables_object version for fix to orientation.
      (internal MR 4018)
    • New vendor extension: XR_BD_facial_simulation for vendor-specific access to
      facial expressions.
      (internal MR 2925)
    • New vendor extension: XR_BD_ultra_controller_interaction for PICO Ultra
      controller interaction profile.
      (internal MR 3789)
    • New vendor extension specification: XR_ANDROID_face_tracking for vendor-
      specific access to facial expressions.
      (internal MR 3613)
    • Update: Bump version of XR_MND_headless for clarification.
      (internal MR 3961)

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

19 Sep 21:44
release-1.1.52

Choose a tag to compare

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 type and next on structs
      marked returnedonly="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)
  • 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::vertexCountOutput to a pointer, and
      increment extension version number.
      (internal MR 3998)
    • Chore: Reserve numbers for extensions.
      (internal MR 4004)
    • Fix: Add XML for missing grip_surface paths for
      "/interaction_profiles/ext/hand_interaction_ext". Note that these paths were
      already listed in the spec prose. Update XR_EXT_hand_interaction extension
      version to 2 for 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.space as optional to match spec
      prose.
      (internal MR 3973)
    • Fix: Add XML for missing palm_ext/pose and grip_surface/pose paths for
      "/interaction_profiles/logitech/mx_ink_stylus_logitech". Note that these paths
      were already listed in the spec prose.
      (internal MR 3996)

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

28 Aug 20:51
release-1.1.51

Choose a tag to compare

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.


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

29 Jul 18:12
release-1.1.50

Choose a tag to compare

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
  • Registry
    • Change: Update the XrSpatialAnchorCreateCompletionBD structure, and increment
      the revision of XR_BD_spatial_anchor.
      (internal MR 3876)
    • Fix: Remove XR_EXT_palm_pose paths from XR_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_RUNNING in list of errors
      xrEnumerateInteractionRenderModelIdsEXT can 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_compat for
      XrCoordinateSpaceCreateInfoML.
      (internal MR 3907)
    • Improvement: Add comments for the XrResult values added by
      XR_BD_spatial_anchor and XR_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)

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

10 Jun 16:19
release-1.1.49

Choose a tag to compare

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.


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

03 Jun 20:58
release-1.1.48

Choose a tag to compare

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.


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

08 Apr 19:59
release-1.1.47

Choose a tag to compare

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
  • 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
      xrGetRecommendedLayerResolutionMETA which allows a XR_NULL_HANDLE to be
      valid when checking the XrSwapchainSubImage struct.
      (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 XrInstanceCreateInfoAndroidKHR on Android for
      improved compatibility.
      (internal MR 3775)

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.

OpenXR SDK (Source) 1.1.46

05 Mar 16:09
release-1.1.46

Choose a tag to compare

OpenXR SDK 1.1.46 (2025-03-04)

This release includes a new ratified Khronos extension, new vendor extensions,
and the ratification of several existing multi-vendor extensions. In the SDK
specifically, Android AAR packages for the loader are now easier to use with a
copy of the loader library in a path supported by older-style build systems, as
well as inclusion of a top-level architecture-independent CMake config/version
file when unpacked for easier use with pure-CMake build systems.

(Note: The Windows binaries on this release correspond to the hotfix 1.1.46.1 release fixing a build issue on the latest releases of VS2022: https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.46.1 while macOS builds are also from that hotfix for CI script fixes.)


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.46'

(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.45

05 Feb 21:07
release-1.1.45

Choose a tag to compare

OpenXR SDK 1.1.45 (2025-02-05)

New: Experimental pre-built macOS artifacts!

This release includes a new multi-vendor extension, a new vendor extension,
improvements to Android builds and artifacts, and a revision to a new
architecture added in 1.1.42.

Note that SDK release 1.1.44 was skipped to keep up with a monthly cadence for
patch releases.

  • Registry
  • SDK
    • Change: Update the ABI identifier of LoongArch64 in
      specification/loader/runtime.adoc and the loader. This introduces a small
      incompatibility on this platform, but only if you were already decorating your
      manifests with ABI/architecture, which is unlikely.
      (OpenXR-SDK-Source PR 523)
    • Improvement: Update Gradle (for hello_xr and other tests) from 7.5/7.5.1 to to
      8.5, and Android Gradle Plugin to 8.1.4.
      (internal MR 3640)
    • Improvement: Adjust build so that it is possible to build a new binary .aar
      file from an unzipped sources.jar file, by calling something like bash org/khronos/openxr/openxr_loader_for_android/maintainer-scripts/build-aar.sh.
      (internal MR 3642)
    • Improvement: In build-aar.sh, skip making a sources.jar automatically if we
      lack the requirements (such as when we are already building from one.)
      (internal MR 3642)

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.45'

(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.43

27 Nov 18:22
release-1.1.43

Choose a tag to compare

OpenXR SDK 1.1.43 (2024-11-27)

This release has a few fixes and minor improvements, as well as support for
several new vendor extensions. It also improves the "loader_test" which was
broken on Android. CMake config files are now also included in the Android
loader AAR distributed for this release, for those not using Gradle and the
Android Gradle Plugin's support of "Prefab" format native libraries to consume
the loader.

  • Registry
    • Bump version of XR_KHR_vulkan_swapchain_format_list and note that it depends
      on either XR_KHR_vulkan_enable or XR_KHR_vulkan_enable2.
      (internal MR 3418)
    • Fix: Correctly mark XR_FB_touch_controller_pro and
      XR_META_touch_controller_plus as promoted to 1.1.
      (internal MR 3586)
    • Improvement: Small XML formatting/organization cleanups.
      (internal MR 3610)
    • New vendor extension: XR_ML_facial_expression
      (internal MR 3100)
    • New vendor extension: XR_META_passthrough_layer_resumed_event
      (internal MR 3106)
    • New vendor extensions: XR_META_colocation_discovery,
      XR_META_spatial_entity_sharing, and XR_META_spatial_entity_group_sharing
      (internal MR 2782)
    • Reservation: Reserve numbers for spatial extensions.
      (internal MR 3577)
  • SDK
    • Fix: loader_test: API version in Android assets, fixes test breakage since
      1.1.x.
      (internal MR 3598)
    • Improvement: Loader test: Update Catch2 from v3.3.2 to v3.7.1. Provides build-
      time and runtime performance improvements, among other changes.
      (internal MR 2893)
    • Improvement: Accept command line options to build-aar.sh, including one that
      allows including CMake configs in case you are building for Android but not
      using Gradle and Android Gradle Plugin to consume the .aar.
      (internal MR 3423)
    • Improvement: Loader: Update jnipp, used for Android builds. New version
      includes a build fix for some environments, as well as a crash fix.
      (internal MR 3589)
    • Improvement: Add disable_environment field to the output of
      generate_api_layer_manifest.py script.
      (internal MR 3591)
    • Improvement: hello_xr: Add Vulkan debug messages during Vulkan instance
      creation.
      (internal MR 3592)
    • Improvement: Loader test: Use Catch2 idiomatic assertions and captures to make
      it easier to debug.
      (internal MR 3599)

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.43'

(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.