Skip to content

OpenXR SDK (Source) 1.1.60

Choose a tag to compare

@rpavlik rpavlik released this 20 May 23:23
· 9 commits to main since this release
release-1.1.60

OpenXR SDK 1.1.60 (2026-05-20)

This release contains support for a new multi-vendor extension, as well as many
fixes and cleanups to the layers and loader.

  • SDK
    • API Dump Layer: Fix: Prevent runtime failure when encountering an unknown
      XrStruct.
      (internal MR 4301)
    • API Dump Layer: Fix: Prevent crashes when using extension function pointers
      without the extension enabled.
      (internal MR 4301,
      internal issue 2524)
    • API Dump Layer: Fix: Data race due to map access outside the mutex lock in both
      create and destroy paths for handle dispatch maps.
      (internal MR 4301)
    • API Dump Layer: Fix: Generated code attempting to read uninitialized char*
      buffers.
      (internal MR 4301)
    • Best Practices Layer: Fix: Resolve invalid reference.
      (internal MR 4273,
      internal issue 2683,
      OpenXR-SDK-Source issue 588)
    • Improvement: Loader: Minor code cleanups without functional change.
      (internal MR 4264)
    • Improvement: Enable -Wc++20-extensions.
      (internal MR 4265)
    • Improvement: Enable sanitizers for all CMake projects.
      (internal MR 4296,
      internal MR 2743)
    • Improvement: Add CMake test to run the CTS with the
      XR_APILAYER_LUNARG_api_dump layer and test runtime (when layer and CTS are in
      a single unified repo).
      (internal MR 4301)
    • Improvement: Add CMake test to run the CTS with the
      XR_APILAYER_LUNARG_core_validation layer and test runtime (when layer and CTS
      are in a single unified repo).
      (internal MR 4306)
    • Loader: Improvement: Refactor LoaderXrGetInstanceProcAddr to avoid repeated
      strcmp on names and a hypothetical null dereference.
      (internal MR 3132)
    • Loader: Improvement: Several code cleanups and optimizations.
      (internal MR 4254,
      internal MR 4255,
      internal MR 4257,
      internal MR 4263)
    • Loader: Fix: Use strtoul instead of atoi/strtol for unsigned integer
      parsing in manifest files.
      (internal MR 4258)
    • Loader: Fix: Fix wrong VUID in empty application name error message.
      (internal MR 4262)
    • Loader: Fix: stack-use-after-scope problem in manifest_file.cpp. (included
      in 1.1.59.1 hotfix as well)
      (internal MR 4295,
      internal MR 2743)
    • Validation Layer: Fix: Verify downstream extension function support before
      returning layer wrapper.
      (internal MR 4306)
    • Validation Layer: Fix: Return xrCreateApiLayerInstance errors immediately.
      (internal MR 4306)
    • Validation Layer: Fix: Return warning rather than error for unknown enum values
      so the runtime can return the correct error code.
      (internal MR 4306)
    • Validation Layer: Fix: Skip enum validation for
      xrResultToString/xrStructureTypeToString since these functions accept any
      value by design.
      (internal MR 4306)
    • Validation Layer: Fix: Skip strlen() on non-const output char arrays to avoid
      undefined behavior on uninitialized buffers.
      (internal MR 4306)
    • Validation Layer: Fix: Destroy implicitly-created debug utils messengers during
      instance teardown to prevent handle leaks.
      (internal MR 4306)
  • Registry

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

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