<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="en-US">
  <id>tag:github.com,2008:https://github.com/KhronosGroup/OpenXR-SDK-Source/releases</id>
  <link type="text/html" rel="alternate" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases"/>
  <link type="application/atom+xml" rel="self" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases.atom"/>
  <title>Release notes from OpenXR-SDK-Source</title>
  <updated>2026-09-02T21:21:25Z</updated>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.63</id>
    <updated>2026-09-02T22:06:45Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.63"/>
    <title>OpenXR SDK (Source) 1.1.63</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.63 (2026-09-01)&lt;/h2&gt;
&lt;p&gt;This release primarily contains a large number of new extensions, including&lt;br&gt;
four new ratified extensions, and support for those through the generated parts&lt;br&gt;
of API layers in the SDK. SDK-specific changes include updates to the&lt;br&gt;
&lt;code&gt;list_json&lt;/code&gt; tool.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Improvement: Loader: Remove duplicate null check for &lt;code&gt;outgoing_count&lt;/code&gt; in&lt;br&gt;
&lt;code&gt;GetApiLayerProperties&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4256&quot; rel=&quot;nofollow&quot;&gt;internal MR 4256&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Minor usability improvements to &quot;list_json&quot; tool.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4410&quot; rel=&quot;nofollow&quot;&gt;internal MR 4410&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3289&quot; rel=&quot;nofollow&quot;&gt;internal MR 3289&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Allow &lt;code&gt;runClangTidy.sh&lt;/code&gt; to run with clang-tidy 18.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4433&quot; rel=&quot;nofollow&quot;&gt;internal MR 4433&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Allow &lt;code&gt;runClangTidy.sh&lt;/code&gt; to run with &lt;code&gt;-modernize-use-scoped-lock&lt;/code&gt;&lt;br&gt;
enabled.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4435&quot; rel=&quot;nofollow&quot;&gt;internal MR 4435&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;New ratified Khronos extension: &lt;code&gt;XR_KHR_extended_result_name_lengths&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3964&quot; rel=&quot;nofollow&quot;&gt;internal MR 3964&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New ratified multi-vendor extensions: &lt;code&gt;XR_EXT_spatial_container&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;XR_EXT_spatial_container_self_rendering&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3712&quot; rel=&quot;nofollow&quot;&gt;internal MR 3712&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4472&quot; rel=&quot;nofollow&quot;&gt;internal MR 4472&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New ratified multi-vendor extension: &lt;code&gt;XR_EXT_spatial_image_tracking&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3805&quot; rel=&quot;nofollow&quot;&gt;internal MR 3805&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_spatial_light_estimation&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3814&quot; rel=&quot;nofollow&quot;&gt;internal MR 3814&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_camera_image&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4089&quot; rel=&quot;nofollow&quot;&gt;internal MR 4089&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_SONY_hdr_metadata&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4172&quot; rel=&quot;nofollow&quot;&gt;internal MR 4172&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Change: Add new semantic definitions including keyboard, mouse, and laptop in&lt;br&gt;
&lt;code&gt;XrSemanticLabelBD&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4221&quot; rel=&quot;nofollow&quot;&gt;internal MR 4221&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Reserve extension numbers.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4420&quot; rel=&quot;nofollow&quot;&gt;internal MR 4420&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4421&quot; rel=&quot;nofollow&quot;&gt;internal MR 4421&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Missing comments for &lt;code&gt;XrResult&lt;/code&gt; error codes added by&lt;br&gt;
&lt;code&gt;XR_ANDROID_google_cloud_auth&lt;/code&gt;, &lt;code&gt;XR_ANDROID_geospatial&lt;/code&gt;, and&lt;br&gt;
&lt;code&gt;XR_ANDROID_geospatial_anchor&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4438&quot; rel=&quot;nofollow&quot;&gt;internal MR 4438&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Always output forward slashes in relative paths when merging registry.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4451&quot; rel=&quot;nofollow&quot;&gt;internal MR 4451&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.63&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.63&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Similarly, you may include the OpenXR developer API layers in your application through lines like the following, which include them only on debug builds. Only include lines for the layers you want:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;debugImplementation &#39;org.khronos.openxr:apilayer_api_dump:1.1.63&#39;
debugImplementation &#39;org.khronos.openxr:apilayer_core_validation:1.1.63&#39;
debugImplementation &#39;org.khronos.openxr:apilayer_best_practices_validation:1.1.63&#39;&quot;&gt;&lt;pre&gt;debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_api_dump:1.1.63&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_core_validation:1.1.63&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_best_practices_validation:1.1.63&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The AAR, POM, and signature files for the layers are also attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.62</id>
    <updated>2026-08-03T20:38:00Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.62"/>
    <title>OpenXR SDK (Source) 1.1.62</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.62 (2026-07-31)&lt;/h2&gt;
&lt;p&gt;This release includes a new vendor extension, an important fix to several vendor&lt;br&gt;
extension added in the previous release, a loader design doc clarification, and&lt;br&gt;
some software fixes and cleanup. For extension authors, there are workflow&lt;br&gt;
improvements: extensions may now be developed in their own &quot;fragment&quot; XML file&lt;br&gt;
and referenced from &lt;code&gt;xr.fragmented.xml&lt;/code&gt;. Provided tooling processes this file to&lt;br&gt;
generate the all-inclusive &lt;code&gt;xr.xml&lt;/code&gt; previously edited directly. This reduces the&lt;br&gt;
merge conflicts seen during extension development and makes review easier,&lt;br&gt;
without requiring changes to tools expecting the conventional combined XML file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Fix: Only include EGL headers in &lt;code&gt;xr_dependencies.h&lt;/code&gt; when using EGL or GLES.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4387&quot; rel=&quot;nofollow&quot;&gt;internal MR 4387&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add &lt;code&gt;src/common/platform_exports.h&lt;/code&gt; to de-duplicate platform&lt;br&gt;
specific export flags.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4323&quot; rel=&quot;nofollow&quot;&gt;internal MR 4323&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add additional description of Android API layer support.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4373&quot; rel=&quot;nofollow&quot;&gt;internal MR 4373&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Deduplicate &lt;code&gt;.def&lt;/code&gt;, &lt;code&gt;.expsym&lt;/code&gt;, and &lt;code&gt;.map&lt;/code&gt; files used for API&lt;br&gt;
layers in the SDK.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4389&quot; rel=&quot;nofollow&quot;&gt;internal MR 4389&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3289&quot; rel=&quot;nofollow&quot;&gt;internal MR 3289&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Change: XML registry &lt;code&gt;xr.xml&lt;/code&gt; is now checked in after being constructed from&lt;br&gt;
&lt;code&gt;xr.fragmented.xml&lt;/code&gt; and multiple per-extension XML file fragments, for reduced&lt;br&gt;
conflicts during development. The schema of &lt;code&gt;xr.xml&lt;/code&gt; has not changed. Be sure&lt;br&gt;
to run &lt;code&gt;specification/scripts/merge-registry.sh&lt;/code&gt; after editing&lt;br&gt;
&lt;code&gt;xr.fragmented.xml&lt;/code&gt; or one of the fragments, as most tooling still uses the&lt;br&gt;
merged XML registry.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4161&quot; rel=&quot;nofollow&quot;&gt;internal MR 4161&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Register &lt;code&gt;DXR&lt;/code&gt; author ID for The DisplayXR Project.&lt;br&gt;
(&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-Docs/pull/201&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-Docs/pull/201/hovercard&quot;&gt;OpenXR-Docs PR 201&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Resolve inconsistency between extension numbers for META vendor extensions&lt;br&gt;
(&lt;code&gt;XR_META_hand_tracking_wide_motion_mode2&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;XR_META_hand_tracking_frequency_hint&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;XR_META_hand_tracking_unextrapolated_poses&lt;/code&gt;).&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4380&quot; rel=&quot;nofollow&quot;&gt;internal MR 4380&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Add &lt;code&gt;XR_ERROR_LIMIT_REACHED&lt;/code&gt; as an valid return for&lt;br&gt;
&lt;code&gt;xrAcquireEnvironmentDepthImageMETA&lt;/code&gt; matching API description.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4414&quot; rel=&quot;nofollow&quot;&gt;internal MR 4414&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Move &lt;code&gt;XR_ANDROID_trackables&lt;/code&gt; to extension fragment XML file.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4161&quot; rel=&quot;nofollow&quot;&gt;internal MR 4161&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add explicit type includes for types that are implicitly included&lt;br&gt;
to improve generated documentation.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4406&quot; rel=&quot;nofollow&quot;&gt;internal MR 4406&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4413&quot; rel=&quot;nofollow&quot;&gt;internal MR 4413&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_SONY_swapchain_color_space&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4171&quot; rel=&quot;nofollow&quot;&gt;internal MR 4171&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.62&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.62&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Similarly, you may include the OpenXR developer API layers in your application through lines like the following, which include them only on debug builds. Only include lines for the layers you want:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;debugImplementation &#39;org.khronos.openxr:apilayer_api_dump:1.1.62&#39;
debugImplementation &#39;org.khronos.openxr:apilayer_core_validation:1.1.62&#39;
debugImplementation &#39;org.khronos.openxr:apilayer_best_practices_validation:1.1.62&#39;&quot;&gt;&lt;pre&gt;debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_api_dump:1.1.62&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_core_validation:1.1.62&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_best_practices_validation:1.1.62&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The AAR, POM, and signature files for the layers are also attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.61</id>
    <updated>2026-07-06T16:35:22Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.61"/>
    <title>OpenXR SDK (Source) 1.1.61</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.61 (2026-07-02)&lt;/h2&gt;
&lt;p&gt;This release marks the initial publication of the development tool API layers&lt;br&gt;
for easier usage by developers for Android/AOSP-based systems. A small addition&lt;br&gt;
to the reflection headers is also included, along with support for new and&lt;br&gt;
revised vendor extensions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Addition: Build AAR files of development API layers and publish to Maven&lt;br&gt;
Central on release. A line like&lt;br&gt;
&lt;code&gt;implementation &#39;org.khronos.openxr:apilayer_core_validation:1.1.61&#39;&lt;/code&gt;&lt;br&gt;
(or &lt;code&gt;apilayer_api_dump&lt;/code&gt; or &lt;code&gt;apilayer_best_practices_validation&lt;/code&gt; equivalently)&lt;br&gt;
will bundle a layer with your application and enable it automatically as an implicit layer.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4136&quot; rel=&quot;nofollow&quot;&gt;internal MR 4136&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Fix: Remove redundant null checks in &lt;code&gt;initializePlatform&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4261&quot; rel=&quot;nofollow&quot;&gt;internal MR 4261&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Fix: Typos in enum value names for &lt;code&gt;XrTrackingOptimizationSettingsHintQCOM&lt;/code&gt;.&lt;br&gt;
Original names left as aliases for source compatibility.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4186&quot; rel=&quot;nofollow&quot;&gt;internal MR 4186&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: &lt;code&gt;XR_LIST_FUNCTIONS_&lt;/code&gt; macros in the reflection header are now&lt;br&gt;
generated for all features, even those lacking functions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4329&quot; rel=&quot;nofollow&quot;&gt;internal MR 4329&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_spatial_discovery_bounds&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3520&quot; rel=&quot;nofollow&quot;&gt;internal MR 3520&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_body_tracking_auxiliary_metrics&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3756&quot; rel=&quot;nofollow&quot;&gt;internal MR 3756&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_dynamic_object_tracking&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3944&quot; rel=&quot;nofollow&quot;&gt;internal MR 3944&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_dynamic_object_keyboard&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3944&quot; rel=&quot;nofollow&quot;&gt;internal MR 3944&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_dynamic_object_mouse&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3944&quot; rel=&quot;nofollow&quot;&gt;internal MR 3944&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_hand_tracking_frequency_hint&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4110&quot; rel=&quot;nofollow&quot;&gt;internal MR 4110&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_hand_tracking_unextrapolated_poses&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4113&quot; rel=&quot;nofollow&quot;&gt;internal MR 4113&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_hand_tracking_wide_motion_mode2&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4114&quot; rel=&quot;nofollow&quot;&gt;internal MR 4114&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_google_cloud_auth&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4200&quot; rel=&quot;nofollow&quot;&gt;internal MR 4200&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_geospatial&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4201&quot; rel=&quot;nofollow&quot;&gt;internal MR 4201&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_geospatial_anchor&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4214&quot; rel=&quot;nofollow&quot;&gt;internal MR 4214&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add exception for the comments of a behavior-only&lt;br&gt;
&lt;code&gt;XrSpatialComponentTypeEXT&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4353&quot; rel=&quot;nofollow&quot;&gt;internal MR 4353&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.61&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.61&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Similarly, you may include the OpenXR developer API layers in your application through lines like the following, which include them only on debug builds. Only include lines for the layers you want:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;debugImplementation &#39;org.khronos.openxr:apilayer_api_dump:1.1.61&#39;
debugImplementation &#39;org.khronos.openxr:apilayer_core_validation:1.1.61&#39;
debugImplementation &#39;org.khronos.openxr:apilayer_best_practices_validation:1.1.61&#39;&quot;&gt;&lt;pre&gt;debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_api_dump:1.1.61&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_core_validation:1.1.61&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
debugImplementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:apilayer_best_practices_validation:1.1.61&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The AAR, POM, and signature files for the layers are also attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.60</id>
    <updated>2026-05-22T02:07:59Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.60"/>
    <title>OpenXR SDK (Source) 1.1.60</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.60 (2026-05-20)&lt;/h2&gt;
&lt;p&gt;This release contains support for a new multi-vendor extension, as well as many&lt;br&gt;
fixes and cleanups to the layers and loader.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;API Dump Layer: Fix: Prevent runtime failure when encountering an unknown&lt;br&gt;
XrStruct.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4301&quot; rel=&quot;nofollow&quot;&gt;internal MR 4301&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;API Dump Layer: Fix: Prevent crashes when using extension function pointers&lt;br&gt;
without the extension enabled.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4301&quot; rel=&quot;nofollow&quot;&gt;internal MR 4301&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2524&quot; rel=&quot;nofollow&quot;&gt;internal issue 2524&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;API Dump Layer: Fix: Data race due to map access outside the mutex lock in both&lt;br&gt;
create and destroy paths for handle dispatch maps.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4301&quot; rel=&quot;nofollow&quot;&gt;internal MR 4301&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;API Dump Layer: Fix: Generated code attempting to read uninitialized &lt;code&gt;char*&lt;/code&gt;&lt;br&gt;
buffers.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4301&quot; rel=&quot;nofollow&quot;&gt;internal MR 4301&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Best Practices Layer: Fix: Resolve invalid reference.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4273&quot; rel=&quot;nofollow&quot;&gt;internal MR 4273&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2683&quot; rel=&quot;nofollow&quot;&gt;internal issue 2683&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/588&quot; data-hovercard-type=&quot;issue&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/issues/588/hovercard&quot;&gt;OpenXR-SDK-Source issue 588&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Loader: Minor code cleanups without functional change.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4264&quot; rel=&quot;nofollow&quot;&gt;internal MR 4264&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Enable &lt;code&gt;-Wc++20-extensions&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4265&quot; rel=&quot;nofollow&quot;&gt;internal MR 4265&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Enable sanitizers for all CMake projects.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4296&quot; rel=&quot;nofollow&quot;&gt;internal MR 4296&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2743&quot; rel=&quot;nofollow&quot;&gt;internal MR 2743&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add CMake test to run the CTS with the&lt;br&gt;
&lt;code&gt;XR_APILAYER_LUNARG_api_dump&lt;/code&gt; layer and test runtime (when layer and CTS are in&lt;br&gt;
a single unified repo).&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4301&quot; rel=&quot;nofollow&quot;&gt;internal MR 4301&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add CMake test to run the CTS with the&lt;br&gt;
&lt;code&gt;XR_APILAYER_LUNARG_core_validation&lt;/code&gt; layer and test runtime (when layer and CTS&lt;br&gt;
are in a single unified repo).&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Improvement: Refactor &lt;code&gt;LoaderXrGetInstanceProcAddr&lt;/code&gt; to avoid repeated&lt;br&gt;
&lt;code&gt;strcmp&lt;/code&gt; on names and a hypothetical null dereference.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3132&quot; rel=&quot;nofollow&quot;&gt;internal MR 3132&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Improvement: Several code cleanups and optimizations.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4254&quot; rel=&quot;nofollow&quot;&gt;internal MR 4254&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4255&quot; rel=&quot;nofollow&quot;&gt;internal MR 4255&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4257&quot; rel=&quot;nofollow&quot;&gt;internal MR 4257&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4263&quot; rel=&quot;nofollow&quot;&gt;internal MR 4263&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Fix: Use &lt;code&gt;strtoul&lt;/code&gt; instead of &lt;code&gt;atoi&lt;/code&gt;/&lt;code&gt;strtol&lt;/code&gt; for unsigned integer&lt;br&gt;
parsing in manifest files.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4258&quot; rel=&quot;nofollow&quot;&gt;internal MR 4258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Fix: Fix wrong VUID in empty application name error message.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4262&quot; rel=&quot;nofollow&quot;&gt;internal MR 4262&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Fix: &lt;code&gt;stack-use-after-scope&lt;/code&gt; problem in &lt;code&gt;manifest_file.cpp&lt;/code&gt;. (included&lt;br&gt;
in 1.1.59.1 hotfix as well)&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4295&quot; rel=&quot;nofollow&quot;&gt;internal MR 4295&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2743&quot; rel=&quot;nofollow&quot;&gt;internal MR 2743&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Verify downstream extension function support before&lt;br&gt;
returning layer wrapper.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Return &lt;code&gt;xrCreateApiLayerInstance&lt;/code&gt; errors immediately.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Return warning rather than error for unknown enum values&lt;br&gt;
so the runtime can return the correct error code.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Skip enum validation for&lt;br&gt;
&lt;code&gt;xrResultToString&lt;/code&gt;/&lt;code&gt;xrStructureTypeToString&lt;/code&gt; since these functions accept any&lt;br&gt;
value by design.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Skip &lt;code&gt;strlen()&lt;/code&gt; on non-const output char arrays to avoid&lt;br&gt;
undefined behavior on uninitialized buffers.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Destroy implicitly-created debug utils messengers during&lt;br&gt;
instance teardown to prevent handle leaks.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4306&quot; rel=&quot;nofollow&quot;&gt;internal MR 4306&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;New multi-vendor extension: &lt;code&gt;XR_EXT_haptic_parametric&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3307&quot; rel=&quot;nofollow&quot;&gt;internal MR 3307&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Change: Deprecate HoloLens 2 related extensions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4133&quot; rel=&quot;nofollow&quot;&gt;internal MR 4133&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Change: Mark &lt;code&gt;XR_ANDROID_trackables&lt;/code&gt; and its child extensions as deprecated by&lt;br&gt;
various &lt;code&gt;XR_EXT&lt;/code&gt; and &lt;code&gt;XR_ANDROID&lt;/code&gt; spatial entity extensions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4228&quot; rel=&quot;nofollow&quot;&gt;internal MR 4228&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Add comment for enum value &lt;code&gt;XR_SPACE_COMPONENT_TYPE_ROOM_MESH_META&lt;/code&gt; in&lt;br&gt;
&lt;code&gt;xr.xml&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4292&quot; rel=&quot;nofollow&quot;&gt;internal MR 4292&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2740&quot; rel=&quot;nofollow&quot;&gt;internal issue 2740&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Add comment for result value&lt;br&gt;
&lt;code&gt;XR_BOUNDARY_VISIBILITY_SUPPRESSION_NOT_ALLOWED_META&lt;/code&gt; in &lt;code&gt;xr.xml&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4293&quot; rel=&quot;nofollow&quot;&gt;internal MR 4293&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2739&quot; rel=&quot;nofollow&quot;&gt;internal issue 2739&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Mark &lt;code&gt;XrSessionCreateInfoOverlayEXTX::createFlags&lt;/code&gt; as optional.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4302&quot; rel=&quot;nofollow&quot;&gt;internal MR 4302&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Update &lt;code&gt;XrFoveationEyeTrackedProfileCreateInfoMETA&lt;/code&gt; to mark &lt;code&gt;flags&lt;/code&gt; as&lt;br&gt;
optional&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4317&quot; rel=&quot;nofollow&quot;&gt;internal MR 4317&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4317&quot; rel=&quot;nofollow&quot;&gt;internal MR 4317&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add schematron validation for &lt;code&gt;optional&lt;/code&gt; required for empty bit&lt;br&gt;
flags.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4317&quot; rel=&quot;nofollow&quot;&gt;internal MR 4317&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2745&quot; rel=&quot;nofollow&quot;&gt;internal issue 2745&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Scripts: Handle deprecation expressions referring to multiple extensions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4228&quot; rel=&quot;nofollow&quot;&gt;internal MR 4228&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.60&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.60&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.59.1</id>
    <updated>2026-05-07T14:50:10Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.59.1"/>
    <title>OpenXR SDK Source 1.1.59.1 SDK Hotfix (2026-05-06)</title>
    <content type="html">&lt;p&gt;No specification changes since 1.1.59. Contains a single bugfix to the loader to correct a possible use-after-free.&lt;/p&gt;
&lt;p&gt;No NuGet build due to CI tooling for that component unable to handle hotfix versions.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.59.1&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.59.1&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.59</id>
    <updated>2026-05-07T14:19:30Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.59"/>
    <title>OpenXR SDK (Source) 1.1.59</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.59 (2026-04-30)&lt;/h2&gt;
&lt;p&gt;This release includes several fixes and cleanups in the loader and various API&lt;br&gt;
layers. There is also an additional multi-vendor extension and vendor extensions&lt;br&gt;
added to the registry with this release.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Best Practices Layer: Fix: Addresses race conditions&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4208&quot; rel=&quot;nofollow&quot;&gt;internal MR 4208&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2676&quot; rel=&quot;nofollow&quot;&gt;internal issue 2676&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/581&quot; data-hovercard-type=&quot;issue&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/issues/581/hovercard&quot;&gt;OpenXR-SDK-Source issue 581&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Improvement: Code cleanup and robustness improvements.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3475&quot; rel=&quot;nofollow&quot;&gt;internal MR 3475&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/413&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/pull/413/hovercard&quot;&gt;OpenXR-SDK-Source PR 413&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Improvement: Use &lt;code&gt;std::make_unique&lt;/code&gt; instead of raw &lt;code&gt;new&lt;/code&gt; where&lt;br&gt;
constructors are public.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4252&quot; rel=&quot;nofollow&quot;&gt;internal MR 4252&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Test Runtime: Fix: Address missing directory error when building on macOS.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4269&quot; rel=&quot;nofollow&quot;&gt;internal MR 4269&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix: Cast flags to &lt;code&gt;uint64_t&lt;/code&gt; before printing as hexadecimal.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4225&quot; rel=&quot;nofollow&quot;&gt;internal MR 4225&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Chore: Reserve extension numbers and adjust previous reservations.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4266&quot; rel=&quot;nofollow&quot;&gt;internal MR 4266&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4276&quot; rel=&quot;nofollow&quot;&gt;internal MR 4276&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4282&quot; rel=&quot;nofollow&quot;&gt;internal MR 4282&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4253&quot; rel=&quot;nofollow&quot;&gt;internal MR 4253&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Enforce that essentially all functions must be able to return&lt;br&gt;
&lt;code&gt;XR_ERROR_RUNTIME_FAILURE&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3611&quot; rel=&quot;nofollow&quot;&gt;internal MR 3611&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2345&quot; rel=&quot;nofollow&quot;&gt;internal issue 2345&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New multi-vendor extension: &lt;code&gt;XR_EXT_stationary_reference_space&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3021&quot; rel=&quot;nofollow&quot;&gt;internal MR 3021&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_boundary_visibility&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3249&quot; rel=&quot;nofollow&quot;&gt;internal MR 3249&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_face_tracking_visemes&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3424&quot; rel=&quot;nofollow&quot;&gt;internal MR 3424&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_spatial_entity_room_mesh&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3530&quot; rel=&quot;nofollow&quot;&gt;internal MR 3530&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_eye_tracking&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3773&quot; rel=&quot;nofollow&quot;&gt;internal MR 3773&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_recommended_resolution&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3840&quot; rel=&quot;nofollow&quot;&gt;internal MR 3840&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_light_estimation&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3879&quot; rel=&quot;nofollow&quot;&gt;internal MR 3879&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Improvement: Add validation for ordering of structs in &lt;code&gt;xr.xml&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4251&quot; rel=&quot;nofollow&quot;&gt;internal MR 4251&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Bump schXslt Schematron checker version and fix error in wrapper&lt;br&gt;
script.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4288&quot; rel=&quot;nofollow&quot;&gt;internal MR 4288&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update vendor specification: Revision 5 of &lt;code&gt;XR_FB_passthrough&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3862&quot; rel=&quot;nofollow&quot;&gt;internal MR 3862&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.59&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.59&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.58</id>
    <updated>2026-03-31T23:00:50Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.58"/>
    <title>OpenXR SDK (Source) 1.1.58</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.58 (2026-03-31)&lt;/h2&gt;
&lt;p&gt;This release features several fixes to the SDK as well as tooling improvements.&lt;br&gt;
Among the several added extensions, the most notable are the two new ratified&lt;br&gt;
multi-vendor extensions, &lt;code&gt;XR_EXT_view_configuration_views_change&lt;/code&gt; and&lt;br&gt;
&lt;code&gt;XR_EXT_interaction_profile_battery_state_display&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;API Dump Layer: Fix: crash when encountering &lt;code&gt;XR_TYPE_UNKNOWN&lt;/code&gt; in &lt;code&gt;next&lt;/code&gt; chain&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4090&quot; rel=&quot;nofollow&quot;&gt;internal MR 4090&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Enable &lt;code&gt;-Werror=missing-prototypes&lt;/code&gt; more widely.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4120&quot; rel=&quot;nofollow&quot;&gt;internal MR 4120&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Search using QUIET mode for sanitizers, as they are a developer&lt;br&gt;
feature.&lt;br&gt;
(&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/577&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/pull/577/hovercard&quot;&gt;OpenXR-SDK-Source PR 577&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Improvement: Simplify options parsing&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4155&quot; rel=&quot;nofollow&quot;&gt;internal MR 4155&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3369&quot; rel=&quot;nofollow&quot;&gt;internal MR 3369&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Fix: Remove error condition check if &lt;code&gt;hello_xr&lt;/code&gt; is run with&lt;br&gt;
&lt;code&gt;XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4197&quot; rel=&quot;nofollow&quot;&gt;internal MR 4197&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2679&quot; rel=&quot;nofollow&quot;&gt;internal issue 2679&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Fix: crash with D3D11 when the runtime does not support an&lt;br&gt;
appropriate depth format.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4199&quot; rel=&quot;nofollow&quot;&gt;internal MR 4199&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2689&quot; rel=&quot;nofollow&quot;&gt;internal issue 2689&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/589&quot; data-hovercard-type=&quot;issue&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/issues/589/hovercard&quot;&gt;OpenXR-SDK-Source issue 589&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Fix: Missed parts of backporting changes from CTS for depth image&lt;br&gt;
support.&lt;br&gt;
(&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/587&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/pull/587/hovercard&quot;&gt;OpenXR-SDK-Source PR 587&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2780&quot; rel=&quot;nofollow&quot;&gt;internal issue 2780&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Fix: Correct type enum error in D3D12 code.&lt;br&gt;
(&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/587&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/pull/587/hovercard&quot;&gt;OpenXR-SDK-Source PR 587&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2780&quot; rel=&quot;nofollow&quot;&gt;internal issue 2780&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Improvement: Remove now-unused code in D3D11, OpenGL, and OpenGL ES&lt;br&gt;
backends.&lt;br&gt;
(&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/587&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/pull/587/hovercard&quot;&gt;OpenXR-SDK-Source PR 587&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2780&quot; rel=&quot;nofollow&quot;&gt;internal issue 2780&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;loader_test: Fix: Android compatibility&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4090&quot; rel=&quot;nofollow&quot;&gt;internal MR 4090&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;loader_test: Improvement: run &lt;code&gt;loader_test&lt;/code&gt; through CTest on Linux&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4090&quot; rel=&quot;nofollow&quot;&gt;internal MR 4090&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;test_runtime: Improvement: Simplify session state implementation in&lt;br&gt;
&lt;code&gt;runtime_test.cpp&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4159&quot; rel=&quot;nofollow&quot;&gt;internal MR 4159&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;test_runtime: Fix: Update for marking of &lt;code&gt;XR_FB_touch_controller_proximity&lt;/code&gt; as&lt;br&gt;
obsoleted by OpenXR 1.1.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4191&quot; rel=&quot;nofollow&quot;&gt;internal MR 4191&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2599&quot; rel=&quot;nofollow&quot;&gt;internal issue 2599&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;test_runtime: Improvement: Fix quaternion validation percentage in&lt;br&gt;
&lt;code&gt;runtime_test.cpp&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4192&quot; rel=&quot;nofollow&quot;&gt;internal MR 4192&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4159&quot; rel=&quot;nofollow&quot;&gt;internal MR 4159&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Change: Mark &lt;code&gt;XR_FB_space_warp&lt;/code&gt; as deprecated by &lt;code&gt;XR_EXT_frame_synthesis&lt;/code&gt;,&lt;br&gt;
which provides the same functionality with a slightly modified interface.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4173&quot; rel=&quot;nofollow&quot;&gt;internal MR 4173&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2469&quot; rel=&quot;nofollow&quot;&gt;internal issue 2469&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Reserve extension numbers.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4204&quot; rel=&quot;nofollow&quot;&gt;internal MR 4204&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Mark &lt;code&gt;XR_FB_touch_controller_proximity&lt;/code&gt; as obsoleted by OpenXR 1.1.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4191&quot; rel=&quot;nofollow&quot;&gt;internal MR 4191&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2599&quot; rel=&quot;nofollow&quot;&gt;internal issue 2599&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add command return code checks in &lt;code&gt;xml_consistency.py&lt;/code&gt; for&lt;br&gt;
specific spatial entity input types.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4151&quot; rel=&quot;nofollow&quot;&gt;internal MR 4151&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New ratified multi-vendor extension: &lt;code&gt;XR_EXT_view_configuration_views_change&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/711&quot; rel=&quot;nofollow&quot;&gt;internal MR 711&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/619&quot; rel=&quot;nofollow&quot;&gt;internal issue 619&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New ratified multi-vendor extension:&lt;br&gt;
&lt;code&gt;XR_EXT_interaction_profile_battery_state_display&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3528&quot; rel=&quot;nofollow&quot;&gt;internal MR 3528&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/1339&quot; rel=&quot;nofollow&quot;&gt;internal issue 1339&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/1905&quot; rel=&quot;nofollow&quot;&gt;internal issue 1905&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_QCOM_hand_tracking_gesture&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2572&quot; rel=&quot;nofollow&quot;&gt;internal MR 2572&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_body_tracking_fidelity&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2962&quot; rel=&quot;nofollow&quot;&gt;internal MR 2962&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_spatial_entity_semantic_label&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3529&quot; rel=&quot;nofollow&quot;&gt;internal MR 3529&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_performance_metrics&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3607&quot; rel=&quot;nofollow&quot;&gt;internal MR 3607&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_mouse_interaction&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3608&quot; rel=&quot;nofollow&quot;&gt;internal MR 3608&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_unbounded_reference_space&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3624&quot; rel=&quot;nofollow&quot;&gt;internal MR 3624&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_composition_layer_passthrough_mesh&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3625&quot; rel=&quot;nofollow&quot;&gt;internal MR 3625&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_environment_raycast&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3758&quot; rel=&quot;nofollow&quot;&gt;internal MR 3758&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_trackables_qr_code&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3772&quot; rel=&quot;nofollow&quot;&gt;internal MR 3772&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_spatial_audio_rendering&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3794&quot; rel=&quot;nofollow&quot;&gt;internal MR 3794&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_scene_meshing&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3872&quot; rel=&quot;nofollow&quot;&gt;internal MR 3872&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_META_tile_properties_hint&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3885&quot; rel=&quot;nofollow&quot;&gt;internal MR 3885&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_spatial_object_tracking&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3992&quot; rel=&quot;nofollow&quot;&gt;internal MR 3992&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_spatial_discovery_raycast&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3993&quot; rel=&quot;nofollow&quot;&gt;internal MR 3993&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_spatial_entity_bound_anchor&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3994&quot; rel=&quot;nofollow&quot;&gt;internal MR 3994&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_spatial_component_subsumed_by&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4125&quot; rel=&quot;nofollow&quot;&gt;internal MR 4125&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_spatial_anchor_space&lt;/code&gt;&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4132&quot; rel=&quot;nofollow&quot;&gt;internal MR 4132&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add schematron validation for prefix &lt;code&gt;XrCompositionLayer&lt;/code&gt; for&lt;br&gt;
structures which extend &lt;code&gt;XrCompositionLayerBaseHeader&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4131&quot; rel=&quot;nofollow&quot;&gt;internal MR 4131&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.58&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.58&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.57</id>
    <updated>2026-02-13T16:56:58Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.57"/>
    <title>OpenXR SDK (Source) 1.1.57</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.57 (2026-02-12)&lt;/h2&gt;
&lt;p&gt;This release primarily features several fixes to the SDK as well as tooling&lt;br&gt;
improvements.&lt;/p&gt;
&lt;p&gt;Note that specification releases 1.1.55 and 1.1.56 were skipped to keep up with&lt;br&gt;
a monthly increment for the patch version component.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Fix: Do not attempt to install manpages on Android, and ensure all directory&lt;br&gt;
prefixes are populated, fixing CMake install.&lt;br&gt;
(&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/pull/573&quot; data-hovercard-type=&quot;pull_request&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/pull/573/hovercard&quot;&gt;OpenXR-SDK-Source PR 573&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/568&quot; data-hovercard-type=&quot;issue&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/issues/568/hovercard&quot;&gt;OpenXR-SDK-Source issue 568&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2645&quot; rel=&quot;nofollow&quot;&gt;internal issue 2645&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Reduce severity of Android loader &quot;broker not found&quot; messages from&lt;br&gt;
error to warning.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4134&quot; rel=&quot;nofollow&quot;&gt;internal MR 4134&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix core validation layer validation of &lt;code&gt;xrCreateSession&lt;/code&gt; to&lt;br&gt;
support &lt;code&gt;XR_TYPE_GRAPHICS_BINDING_METAL_KHR&lt;/code&gt; and&lt;br&gt;
&lt;code&gt;XR_TYPE_GRAPHICS_BINDING_EGL_MNDX&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4119&quot; rel=&quot;nofollow&quot;&gt;internal MR 4119&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2646&quot; rel=&quot;nofollow&quot;&gt;internal issue 2646&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Deduplicate code in internal &quot;gfxwrapper&quot; library used in hello_xr&lt;br&gt;
(among other uses) for OpenGL/OpenGL ES. Add an explicit always-EGL path.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2942&quot; rel=&quot;nofollow&quot;&gt;internal MR 2942&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/1911&quot; rel=&quot;nofollow&quot;&gt;internal issue 1911&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Fix out of bounds read when none of the required depth formats is&lt;br&gt;
supported.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4145&quot; rel=&quot;nofollow&quot;&gt;internal MR 4145&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/578&quot; data-hovercard-type=&quot;issue&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/issues/578/hovercard&quot;&gt;OpenXR-SDK-Source issue 578&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2663&quot; rel=&quot;nofollow&quot;&gt;internal issue 2663&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4023&quot; rel=&quot;nofollow&quot;&gt;internal MR 4023&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;loader_test: Update Catch2 test library from 3.7.1 to 3.11.0.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4006&quot; rel=&quot;nofollow&quot;&gt;internal MR 4006&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2108&quot; rel=&quot;nofollow&quot;&gt;internal issue 2108&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Change: Update tooling to properly support extending allowable return codes&lt;br&gt;
from extensions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4009&quot; rel=&quot;nofollow&quot;&gt;internal MR 4009&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2494&quot; rel=&quot;nofollow&quot;&gt;internal issue 2494&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Reorder function return codes to alphabetic (with &lt;code&gt;XR_SUCCESS&lt;/code&gt; pulled to&lt;br&gt;
the front).&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3979&quot; rel=&quot;nofollow&quot;&gt;internal MR 3979&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Reserve extensions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4157&quot; rel=&quot;nofollow&quot;&gt;internal MR 4157&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4162&quot; rel=&quot;nofollow&quot;&gt;internal MR 4162&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: &lt;code&gt;XR_KHR_extended_struct_name_lengths&lt;/code&gt; string length can be up to 256&lt;br&gt;
bytes. (The prose has been modified to match the XML specification.)&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4126&quot; rel=&quot;nofollow&quot;&gt;internal MR 4126&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2654&quot; rel=&quot;nofollow&quot;&gt;internal issue 2654&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_ANDROID_trackables_image&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4069&quot; rel=&quot;nofollow&quot;&gt;internal MR 4069&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation for return code ordering.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3979&quot; rel=&quot;nofollow&quot;&gt;internal MR 3979&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation for semantic label enums defined for the spatial&lt;br&gt;
entity framework.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4081&quot; rel=&quot;nofollow&quot;&gt;internal MR 4081&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update: Mark &lt;code&gt;XR_EXT_plane_detection&lt;/code&gt; as deprecated by&lt;br&gt;
&lt;code&gt;XR_EXT_spatial_plane_tracking&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4057&quot; rel=&quot;nofollow&quot;&gt;internal MR 4057&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2625&quot; rel=&quot;nofollow&quot;&gt;internal issue 2625&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.57&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.57&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.54</id>
    <updated>2025-12-03T17:18:18Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.54"/>
    <title>OpenXR SDK (Source) 1.1.54</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.54 (2025-12-02)&lt;/h2&gt;
&lt;p&gt;This release updates the C++ standards version used by the package, and includes&lt;br&gt;
changes to hello_xr to bring it closer in line with the OpenXR-CTS (which come&lt;br&gt;
from a shared codebase) and allow optional submission of depth textures where&lt;br&gt;
supported, among other changes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Change: Update C++ standard version used from C++14 to C++17.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4096&quot; rel=&quot;nofollow&quot;&gt;internal MR 4096&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Add extra compiler validation for the OpenXR loader.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4086&quot; rel=&quot;nofollow&quot;&gt;internal MR 4086&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Fix -Wmissing-prototypes compiler warnings.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4107&quot; rel=&quot;nofollow&quot;&gt;internal MR 4107&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add build option &lt;code&gt;INSTALL_SYMBOLS&lt;/code&gt; (enabled by default to maintain&lt;br&gt;
current behavior), to allow skipping installing &lt;code&gt;.PDB&lt;/code&gt; files from MSVC builds.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4066&quot; rel=&quot;nofollow&quot;&gt;internal MR 4066&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2634&quot; rel=&quot;nofollow&quot;&gt;internal issue 2634&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Clarify loader doc regarding removed permission requirement for&lt;br&gt;
installable broker.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4092&quot; rel=&quot;nofollow&quot;&gt;internal MR 4092&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Validation Layer: Fix the &lt;code&gt;library_path&lt;/code&gt; of&lt;br&gt;
&lt;code&gt;XrApiLayer_best_practices_validation.json&lt;/code&gt; on Windows&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4080&quot; rel=&quot;nofollow&quot;&gt;internal MR 4080&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2629&quot; rel=&quot;nofollow&quot;&gt;internal issue 2629&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;hello_xr: Revise rendering to be more similar to the CTS, and add optional&lt;br&gt;
support for &lt;code&gt;XR_KHR_composition_layer_depth&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4023&quot; rel=&quot;nofollow&quot;&gt;internal MR 4023&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4118&quot; rel=&quot;nofollow&quot;&gt;internal MR 4118&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4121&quot; rel=&quot;nofollow&quot;&gt;internal MR 4121&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Change: Deprecate the Wayland part of &lt;code&gt;XR_KHR_opengl_enable&lt;/code&gt; and bump version.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4052&quot; rel=&quot;nofollow&quot;&gt;internal MR 4052&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/282&quot; data-hovercard-type=&quot;issue&quot; data-hovercard-url=&quot;/KhronosGroup/OpenXR-SDK-Source/issues/282/hovercard&quot;&gt;OpenXR-SDK-Source issue 282&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/1634&quot; rel=&quot;nofollow&quot;&gt;internal issue 1634&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/issues/2559&quot; rel=&quot;nofollow&quot;&gt;internal issue 2559&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chore: Reserve extensions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4067&quot; rel=&quot;nofollow&quot;&gt;internal MR 4067&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4079&quot; rel=&quot;nofollow&quot;&gt;internal MR 4079&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4098&quot; rel=&quot;nofollow&quot;&gt;internal MR 4098&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4099&quot; rel=&quot;nofollow&quot;&gt;internal MR 4099&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4100&quot; rel=&quot;nofollow&quot;&gt;internal MR 4100&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Fix: Correctly define &lt;code&gt;XR_EXT_dpad_binding&lt;/code&gt; paths for&lt;br&gt;
/interaction_profiles/bytedance/pico_ultra_controller_bd in XML.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4049&quot; rel=&quot;nofollow&quot;&gt;internal MR 4049&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add description for &lt;code&gt;XR_SPACE_COMPONENT_TYPE_TRIANGLE_MESH_META&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4070&quot; rel=&quot;nofollow&quot;&gt;internal MR 4070&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation to ensure bitmasks are non-plural before&lt;br&gt;
&lt;code&gt;Flags&lt;/code&gt;/&lt;code&gt;FlagBits&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2678&quot; rel=&quot;nofollow&quot;&gt;internal MR 2678&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation to check additional scenarios of &lt;code&gt;next&lt;/code&gt; pointer&lt;br&gt;
const-ness.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2740&quot; rel=&quot;nofollow&quot;&gt;internal MR 2740&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation for interaction profile extension binding additions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3982&quot; rel=&quot;nofollow&quot;&gt;internal MR 3982&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Remove unneeded exception from &quot;Param/member naming conventions:&lt;br&gt;
camelCase&quot; pattern.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4072&quot; rel=&quot;nofollow&quot;&gt;internal MR 4072&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Fix check for multiple arrays bounded by the same &lt;code&gt;len&lt;/code&gt; param.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4077&quot; rel=&quot;nofollow&quot;&gt;internal MR 4077&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation for the comment attribute of&lt;br&gt;
&lt;code&gt;XrSpatialComponentTypeEXT&lt;/code&gt; values. The comment must reference the list and&lt;br&gt;
data structs for the component.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4083&quot; rel=&quot;nofollow&quot;&gt;internal MR 4083&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add validation for the comment attribute of&lt;br&gt;
&lt;code&gt;XrSpatialCapabilityFeatureEXT&lt;/code&gt; values. The comment must have references to the&lt;br&gt;
feature&#39;s config structs.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4084&quot; rel=&quot;nofollow&quot;&gt;internal MR 4084&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Schematron: Add check for orphaned structs, enforcing &lt;code&gt;structextends&lt;/code&gt; or&lt;br&gt;
&lt;code&gt;parentstruct&lt;/code&gt; when appropriate.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4091&quot; rel=&quot;nofollow&quot;&gt;internal MR 4091&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4094&quot; rel=&quot;nofollow&quot;&gt;internal MR 4094&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update: Bump XR_EXT_future version due to clarifying what the runtime may do in&lt;br&gt;
a completion function of an &lt;code&gt;XrFutureEXT&lt;/code&gt;.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3796&quot; rel=&quot;nofollow&quot;&gt;internal MR 3796&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4028&quot; rel=&quot;nofollow&quot;&gt;internal MR 4028&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update: Add &lt;code&gt;XrEnvironmentDepthImageTimestampMETA&lt;/code&gt; to&lt;br&gt;
XR_META_environment_depth, update spec version to 2.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4024&quot; rel=&quot;nofollow&quot;&gt;internal MR 4024&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.54&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.54&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
  <entry>
    <id>tag:github.com,2008:Repository/174538197/release-1.1.53</id>
    <updated>2025-10-14T21:50:03Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/tag/release-1.1.53"/>
    <title>OpenXR SDK (Source) 1.1.53</title>
    <content type="html">&lt;h2&gt;OpenXR SDK 1.1.53 (2025-10-14)&lt;/h2&gt;
&lt;p&gt;This release contains three new vendor extensions and some code cleanups. The&lt;br&gt;
test_runtime expansion is primarily intended for CTS self-testing but may be&lt;br&gt;
useful in other development processes as well.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK
&lt;ul&gt;
&lt;li&gt;Improvement: fix clang-tidy bugprone-branch-clone warning&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3864&quot; rel=&quot;nofollow&quot;&gt;internal MR 3864&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4027&quot; rel=&quot;nofollow&quot;&gt;internal MR 4027&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Expand the &quot;test_runtime&quot; to implement all OpenXR 1.0 / OpenXR 1.1&lt;br&gt;
functions for self-test purposes.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3989&quot; rel=&quot;nofollow&quot;&gt;internal MR 3989&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improvement: Add stricter compiler flags to the loader and hello_xr, fixing&lt;br&gt;
issues found.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4028&quot; rel=&quot;nofollow&quot;&gt;internal MR 4028&lt;/a&gt;,&lt;br&gt;
&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4042&quot; rel=&quot;nofollow&quot;&gt;internal MR 4042&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Loader: Fix: Remove unused function definition &lt;code&gt;xrInitializeLoaderKHR&lt;/code&gt; to fix&lt;br&gt;
pedantic builds.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4020&quot; rel=&quot;nofollow&quot;&gt;internal MR 4020&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registry
&lt;ul&gt;
&lt;li&gt;Fix: Bump &lt;code&gt;XR_ANDROID_trackables_object&lt;/code&gt; version for fix to orientation.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/4018&quot; rel=&quot;nofollow&quot;&gt;internal MR 4018&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_facial_simulation&lt;/code&gt; for vendor-specific access to&lt;br&gt;
facial expressions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/2925&quot; rel=&quot;nofollow&quot;&gt;internal MR 2925&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension: &lt;code&gt;XR_BD_ultra_controller_interaction&lt;/code&gt; for PICO Ultra&lt;br&gt;
controller interaction profile.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3789&quot; rel=&quot;nofollow&quot;&gt;internal MR 3789&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New vendor extension specification: &lt;code&gt;XR_ANDROID_face_tracking&lt;/code&gt; for vendor-&lt;br&gt;
specific access to facial expressions.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3613&quot; rel=&quot;nofollow&quot;&gt;internal MR 3613&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Update: Bump version of &lt;code&gt;XR_MND_headless&lt;/code&gt; for clarification.&lt;br&gt;
(&lt;a href=&quot;https://gitlab.khronos.org/openxr/openxr/merge_requests/3961&quot; rel=&quot;nofollow&quot;&gt;internal MR 3961&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Android loader can be found on &lt;a href=&quot;https://search.maven.org/artifact/org.khronos.openxr/openxr_loader_for_android&quot; rel=&quot;nofollow&quot;&gt;Maven Central&lt;/a&gt;, by adding the following line to your Android app&#39;s build.gradle dependencies section:&lt;/p&gt;
&lt;div class=&quot;highlight highlight-source-groovy-gradle notranslate position-relative overflow-auto&quot; data-snippet-clipboard-copy-content=&quot;implementation &#39;org.khronos.openxr:openxr_loader_for_android:1.1.53&#39;&quot;&gt;&lt;pre&gt;implementation &lt;span class=&quot;pl-s&quot;&gt;&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;org.khronos.openxr:openxr_loader_for_android:1.1.53&lt;span class=&quot;pl-pds&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(There may be a delay of a few hours after release before artifacts are accessible on Maven Central.)&lt;/p&gt;
&lt;p&gt;Alternately, the AAR file (plus signature by the dedicated &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/A92524160CFD2570781E7A527FBCAB529AF7D50A&quot; rel=&quot;nofollow&quot;&gt;spec editor key&lt;/a&gt; and associated POM) are attached to this release.&lt;/p&gt;
&lt;p&gt;Other release files are signed by specification editor Rylie Pavlik&#39;s key, with key fingerprint &lt;a href=&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&quot; rel=&quot;nofollow&quot;&gt;45207B2B1E53E1F2755FF63CC5A2D593A61DBC9D&lt;/a&gt;. Link goes to full public key.&lt;/p&gt;</content>
    <author>
      <name>rpavlik</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/61129?s=60&amp;v=4"/>
  </entry>
</feed>
