Skip to content

Latest commit

 

History

History
2883 lines (2720 loc) · 183 KB

CHANGELOG.Docs.md

File metadata and controls

2883 lines (2720 loc) · 183 KB

Changelog for OpenXR-Docs and OpenXR-Registry Repos

Update log for the OpenXR-Docs and OpenXR-Registry repos on GitHub. Updates are in reverse chronological order starting with the latest public release.

This summarizes the periodic public updates, not individual commits. Updates on GitHub are generally done as single large patches at the release point, collecting together the resolution of many Khronos internal issues, along with any public pull requests that have been accepted.

This changelog only lists changes that affect the registry, headers, and/or specification text.

OpenXR Specification 1.1.43 (2024-11-27)

This release has a few clarifications and fixes, as well as several new vendor extensions.

  • Registry
    • Bump version of XR_KHR_vulkan_swapchain_format_list and note that it depends on either XR_KHR_vulkan_enable or XR_KHR_vulkan_enable2. (internal MR 3418)
    • Fix: Correctly mark XR_FB_touch_controller_pro and XR_META_touch_controller_plus as promoted to 1.1. (internal MR 3586)
    • Improvement: Small XML formatting/organization cleanups. (internal MR 3610)
    • New vendor extension: XR_ML_facial_expression (internal MR 3100)
    • New vendor extension: XR_META_passthrough_layer_resumed_event (internal MR 3106)
    • New vendor extensions: XR_META_colocation_discovery, XR_META_spatial_entity_sharing, and XR_META_spatial_entity_group_sharing (internal MR 2782)
    • Reservation: Reserve numbers for spatial extensions. (internal MR 3577)
  • Specification
    • Clarify: Improve the Input and Semantic Paths chapters by reducing the number of undefined or conflated terms used and improving consistency. (internal MR 3443)
    • Fix: Correct extension reference in XR_KHR_vulkan_swapchain_format_list and clarify "being used" to not just mean "enabled". (internal MR 3418)
    • Fix: The parent of an action space is a XrSession. (internal MR 3601, OpenXR-Docs issue 178, internal issue 2395)
    • Improvement: Clarify XR_EXT_future code example for two-call idiom. (internal MR 3578)
    • Improvement: Note the changes made when promoting XR_FB_touch_controller_pro and XR_META_touch_controller_plus to OpenXR 1.1. (internal MR 3586)
    • New vendor extension: XR_META_passthrough_layer_resumed_event allowing applications to receive feedback from XR_FB_passthrough (internal MR 3106)
    • New vendor extension specification: XR_META_colocation_discovery - allowing advertisement and discovery of other devices, physically colocated, running the same app. (internal MR 2782, internal MR 3604, internal MR 3605)
    • New vendor extension specification: XR_ML_facial_expression providing access to face tracking on supported devices, with a custom subset of blend shapes possible. (internal MR 3100)
    • New vendor extension specifications: XR_META_spatial_entity_sharing, and XR_META_spatial_entity_group_sharing - an updated way to share vendor- specific spatial entities. (internal MR 2782, internal MR 3605)

OpenXR Specification 1.1.42 (2024-10-25)

This release contains a collection of specification clarifications, an updated vendor extension with renamed enumerants, and substantial improvements and fixes to the XML registry, particularly the description of interaction profiles.

  • Registry
    • Fix: Update schema to reflect that XrPathString_t should allow dash in interaction profile paths. (internal MR 3493)
    • Fix: XR_VARJO_xr4_controller_interaction did not properly define its interaction profile in XML. (internal MR 3493, internal MR 3548)
    • Fix: Correct XML description of OpenXR 1.1 related additions to the promoted Meta Touch Plus, Touch Pro, and Touch (Rift CV1) controller interaction profiles. (internal MR 3513, internal issue 2350, internal issue 2375)
    • Fix: Add missing XML description of EXT_hand_interaction additions to several interaction profiles, and add comments to clarify where profile additions should be located. (internal MR 3517, internal MR 3541, internal MR 3552)
    • Fix: Corrections to the Schema chapter of the style guide. (internal MR 3521)
    • Improvement: Small consistency clean-up. (internal MR 3512)
    • Improvement: Clean up .rnc schema to improve readability. (internal MR 3521)
    • Scripts: Improve update_version.py used in release process. (internal MR 3543)
    • Update: Change naming convention in XR_HTC_facial_expression: rename XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC to XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC, XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC to XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC, XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC to XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC and XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC to XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC, providing the old names as compatibility aliases. (internal MR 3408)
  • Specification
    • Clarify: In "Fundamentals," improve the language regarding forward/backward prediction/history time limits, without affecting behavior. (internal MR 3063)
    • Clarify: The path(s) returned by xrEnumerateBoundSourcesForAction have no inherent semantic meaning nor association with other paths in the specification. They are opaque and only suitable for use with xrGetInputSourceLocalizedName. (internal MR 3495)
    • Fix: Show the correct ratified-specific text in the copyright section for the KHR-only spec build. (internal MR 3568, internal issue 2388)
    • Improvement: Clarify XR_VARJO_xr4_controller_interaction interaction with palm pose extension and grip surface. (internal MR 3493)
    • Improvement: Clarify text and normatives related to xrGetInstanceProcAddr, without changing required behavior. (internal MR 3512)
    • Update: Change naming convention in XR_HTC_facial_expression: rename XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC to XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC, XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC to XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC, XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC to XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC and XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC to XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC, providing the old names as compatibility aliases. (internal MR 3408)

OpenXR Specification 1.1.41 (2024-09-25)

This release features several new vendor extensions, as well as several clarifications and improvements to existing specifications.

  • Registry
    • Change: Allow structs that can extend multiple other structs in the RelaxNG schema, as already permitted by the Vulkan schema. (internal MR 2869)
    • New vendor extension: XR_HTC_body_tracking (internal MR 2549)
    • New vendor extension: XR_ML_spatial_anchors (internal MR 2803)
    • New vendor extension: XR_ML_spatial_anchors_storage (internal MR 2804)
    • New vendor extension: XR_ML_system_notifications (internal MR 2946)
    • New vendor extension: XR_ML_world_mesh_detection (internal MR 2950)
    • New vendor extension: XR_ML_view_configuration_depth_range_change (internal MR 3036)
  • Specification
    • New vendor extension specification: XR_HTC_body_tracking provides an interface for full-body joint tracking. (internal MR 2549)
    • New vendor extension specification: XR_ML_spatial_anchors introduces an API to interact with Magic Leap spatial anchors. (internal MR 2803)
    • New vendor extension specification: XR_ML_spatial_anchors_storage allows for storage and retrieval of Magic Leap spatial anchors in local or cloud storage (internal MR 2804)
    • New vendor extension specification: XR_ML_system_notifications provides control over suppressing system notifications. (internal MR 2946)
    • New vendor extension specification: XR_ML_world_mesh_detection provides access to a world mesh. (internal MR 2950)
    • New vendor extension specification: XR_ML_view_configuration_depth_range_change permits the clipping planes to be changed by the runtime during the lifetime of an instance. (internal MR 3036)
    • Fix: Corrected swapchain image layout requirements for XR_KHR_D3D12_enable, XR_KHR_vulkan_enable, and XR_KHR_vulkan_enable2 so that the runtime's guarantees are made after xrWaitSwapchainImage returns XR_SUCCESS, instead of after xrAcquireSwapchainImage. (Queue access rules are unchanged.) (internal MR 3353, internal issue 2269)
    • Fix: references to core specification from XR_EXT_composition_layer_inverted_alpha and XR_FB_composition_layer_alpha_blend. (internal MR 3470)
    • Fix: markup for internal anchors for revision history subsections. (internal MR 3470)
    • Fix: remove a normative keyword from XR_META_headset_id version history. (internal MR 3470)
    • Improvement: Clean up formatting of source adoc files. (internal MR 3461)

OpenXR Specification 1.1.40 (2024-08-22)

This release features a new ratified graphics API binding extension, XR_KHR_metal_enable, as well as an update to the wording about environments and environment blend modes, making it clear they can be used for physical as well as synthetic passthrough. There are also an assortment of smaller fixes and clarifications.

  • Registry
    • Add: New ratified Khronos extension: XR_KHR_metal_enable. (internal MR 2721)
    • Chore: Reserve 15 extension id numbers for ByteDance. (internal MR 3409)
    • Fix: Clarified that views in XR_VARJO_quad_views needs to have identical poses for each eye. (internal MR 3396)
    • Fix: Add missing interaction profile extensions for OpenXR 1.1 promoted Meta interaction profiles. (internal MR 3398)
    • Fix: Correctly mark the Magic Leap home button as a system button in the XML. (internal MR 3405)
    • Fix: Add XR_ERROR_VALIDATION_FAILURE to all functions from XR_EXT_conformance_automation. (internal MR 3417)
  • Specification
    • Add: New ratified Khronos extension specification: XR_KHR_metal_enable. (internal MR 2721)
    • Clarify: Clarify the definition of "environment" in the context of "environment blend mode". (internal MR 3301)
    • Clarify: Devices may use environment blend mode to control passthrough and synthentic environments. (internal MR 3301)
    • Clarify: Clarified that views in XR_VARJO_quad_views needs to have identical poses for each eye. (internal MR 3396)
    • Fix: Correct the maximum extension number in the appendix. (internal MR 3397)
    • Fix: Add missing interaction profile extensions for OpenXR 1.1 promoted Meta interaction profiles. (internal MR 3398)
    • Fix: Remove incorrect implicit valid usage from loader interface APIs. (internal MR 3416)
    • Fix: Fix a typo in the spec for xrCreateApiLayerInstance. (internal MR 3416)

Note: There is no 1.1.39 release: it was skipped to keep the monthly patch version increment cadence given the lack of a release in July.

OpenXR Specification 1.1.38 (2024-06-09)

This is a fairly small release, with one new extension and a handful of fixes.

  • Registry
    • Addition: New multi-vendor extension: XR_EXT_composition_layer_inverted_alpha (internal MR 3085, internal MR 3385)
    • Chore: Reserve an extension for Logitech. (internal MR 3384)
    • Chore: Register author tag for Deep Mirror. (OpenXR-Docs PR 171)
    • Fix: XrCompositionLayerPassthroughFB has a "parentstruct" of XrCompositionLayerBaseHeader (it is based on this type), rather than "structextends" (in the next chain). Bump extension revision. (internal MR 3305)
    • Fix: XR_EXT_plane_detection: Fix extents description and plane axis to match CTS and implementations. (internal MR 3374, internal issue 2281)
    • Fix: Correct typo in XR_FB_keyboard_tracking flag description. (internal MR 3393)
  • Specification
    • Addition: New multi-vendor extension specification: XR_EXT_composition_layer_inverted_alpha (internal MR 3085)
    • Addition: Support emitting more comment attributes/elements from XML, and enable it for standalone headers. (internal MR 3377)
    • Fix: Note errata regarding third field name in XrCompositionLayerPassthroughFB. Bump extension revision due to XML fix. (internal MR 3305)
    • Fix: XR_EXT_plane_detection: Fix extents description and plane axis to match CTS and implementations. (internal MR 3374, internal issue 2281)
    • Fix: Correct typo in XR_FB_keyboard_tracking flag description. (internal MR 3393)
    • Fix: Correct typo in loader design document. (internal MR 3393)

OpenXR Specification 1.1.37 (2024-05-23)

This release adds new defines for easier use of both OpenXR 1.0 and 1.1 with up-to-date headers, as well as some minor fixes, cleanups, and clarifications.

OpenXR Specification 1.1.36 (2024-04-15)

This is a substantial update to the OpenXR specification.

OpenXR Specification 1.0.34 (2024-02-16)

This release features clarifications to the specification, as well as a number of new multi-vendor and vendor extensions, and additional functionality in the reflection header.

  • Registry
  • Specification
    • Clarification: Change normative "should" statements to "may" for the interaction of user engagement sensors and the session lifecycle, in order to represent the intended and actual optionality of that behavior. Specifically, it is valid but completely optional for runtimes to use the user engagement sensor (if it exists) to move to XR_SESSION_STATE_STOPPING. (internal MR 3022)
    • Clarification: Swapchain usage flags errors should return XR_ERROR_FEATURE_UNSUPPORTED as well. (internal MR 3194)
    • New multi-vendor extension specification: XR_EXT_user_presence (internal MR 2706, internal issue 1585)
    • New vendor extension specification: XR_META_recommended_layer_resolution (internal MR 2570)
    • New vendor extension specification: XR_META_automatic_layer_filter (internal MR 2696)
    • New vendor extension specification: XR_META_spatial_entity_mesh (internal MR 2773)
    • New vendor extension specification: XR_FB_face_tracking2 (internal MR 2811)
    • New vendor extension specification: XR_VARJO_xr4_controller_interaction (internal MR 3078)
    • Spec: Move originals of images to separate folder. (internal MR 3218)
    • Spec: Fix issue where some comments before defines were missing a newline. (internal MR 3227)
    • Style guide: Fix several leftover references to Vk/Vulkan. (internal MR 2967)
    • XR_FB_scene: Update to spec version 4. (internal MR 2774)
    • XR_META_headset_id and XR_FB_spatial_entity: Bump spec versions to drop XR_EXT_uuid dependency from spec. (internal MR 2577)
    • external: Update Jinja2 Python module shipped with repository (for spec/header generation) to 2.11.3. (internal MR 3221, internal MR 3237)

OpenXR Specification 1.0.33 (2024-01-03)

This release primarily adds new ratified functionality to the specification describing the loader interaction with runtimes and API layers. This functionality was previously described in non-normative text in the loader design document, but was universally adopted for compatibility. It is now part of the normative, ratified core specification. This change only affects vendors of runtimes and API layers as well as contributors to the OpenXR loader: applications do not directly use this API, the loader uses it on their behalf. A number of other small fixes are also included.

  • Registry
    • Extension reservation: Update author ID and reserve extensions for Varjo. (internal MR 3083)
    • Extension reservation: Reserve 10 extension ids each for ANDROIDX & ANDROIDSYS. (internal MR 3086)
    • Khronos ratified addition: Specify the existing loader negotiation functions (without modification) in the XML, moving from loader_interfaces.h to a new generated header openxr_loader_negotiation.h. (internal MR 2807, internal issue 1953)
    • XR_KHR_android_thread_settings: Fix the description of XrAndroidThreadTypeKHR enum values - they were swapped relative to their implicit meaning from their name. (internal MR 3077)
    • XR_MNDX_egl_enable: Update version to 2 to reflect function pointer type change released in 1.0.29. (OpenXR-Docs PR 159)
  • Specification
    • Khronos ratified specification addition: move loader negotiation functions into the specification proper (from the loader design doc), moving corresponding functions from loader_interfaces.h to openxr_loader_negotiation.h. (The exact ratified core specification text is 1.0.29 with these changes added, available internally. Non-substantive core specification updates/fixes have occurred since then.) (internal MR 2807, internal issue 1953, internal MR 3101)
    • Scripts: Adjust Makefile so we now error on any checkSpecLinks warning when running that target. (internal MR 3072)
    • XR_HTC_anchor: Fix parameter name error in prose description. (internal MR 3072)
    • XR_KHR_android_thread_settings: Fix the description of XrAndroidThreadTypeKHR enum values - they were swapped relative to their implicit meaning from their name. (internal MR 3077)
    • XR_MNDX_egl_enable: Update revision info and version to 2 to reflect function pointer type change released in 1.0.29. (OpenXR-Docs PR 159)
    • loader design doc: Fix minor typos. (internal MR 3065, internal MR 3103)
  • Misc
    • Update/correct names.
    • Ship a .mailmap file in the public repositories, maintained separately from the larger one used in the private monorepo, to correct names/emails and unify contributor identities.
    • Update Khronos Group copyright dates.

OpenXR Specification 1.0.32 (2023-11-29)

This release contains a number of vendor extensions, plus a new ratified revision to the XR_KHR_loader_init extension that specifies forwarding the init calls to API layers. Vendors of API layers, primarily on Android, must verify they can handle being passed XR_NULL_HANDLE for the instance parameter of xrGetInstanceProcAddr, to avoid bugs when using the updated loader. This release also features the remaining "checkSpecLinks" consistency warning fixes in the manually-written specification text in extensions.

  • Registry
  • Specification
    • XR_KHR_loader_init: New Khronos ratified revision, now additionally specifies forwarding loader init calls to API layers (internal MR 2703)
    • Fix "checkSpecLinks" warnings about member and parameter references in extensions to the specification. This has changed the documentation of a number of structures and functions across several extensions, although the C prototypes/definitions in the spec as well as the header file contents have stayed constant. (internal MR 2970)
    • New vendor extension specification: XR_HTC_anchor (internal MR 2667)
    • New vendor extension specification: XR_META_touch_controller_plus (internal MR 2702)
    • New vendor extension specification: XR_ML_marker_understanding (internal MR 2750)
    • New vendor extension specification: XR_ML_localization_map (internal MR 2802, internal MR 3045, internal MR 3047)

OpenXR Specification 1.0.31 (2023-10-18)

This release features two new vendor extensions, some XML revisions to other vendor extensions, and a substantial amount of fixes to the prose of the core specification and some extensions. All specially-formatted mentions of a parameter or field name (that is, names marked up with the pname macro in the AsciiDoctor source) are now being checked by a script to be sure they are known. With the fixes in this release, nearly all such name mentions now either (1) match the function or structure in whose description they are mentioned, or (2) have been qualified with the function or structure to which they do belong. Misspellings, missing fields/parameters, and extraneous parameters have been fixed as well. (Some fixes of this type to vendor extensions are still pending and will be in an upcoming patch release.) While this has changed the prose, it has not resulted in substantive changes to the XML, and therefore the code snippets in the specification as well as the header files remain accurate and unaffected by these fixes.

OpenXR Specification 1.0.30 (2023-09-20)

This release is primarily a quality improvement release, fixing a range of issues in the registry and specification, in addition to a new vendor extension and an updated vendor extension.

  • Registry
  • Specification
    • Clarify how prior frame state is reset when a session starts running. (internal MR 2759, internal issue 2029)
    • Clean up normative language in FB vendor extensions. (internal MR 2563)
    • Clean up normative language in the Rendering chapter. (internal MR 2801)
    • Fix formatting and markup errors in the loader design document. (internal MR 2866)
    • Fix generated broken links from valid usage in ref pages to the next chain fundamentals. (internal MR 2931, internal issue 1369)
    • Fix broken links and update URLs in specification, extension process, style guide, and loader doc. (internal MR 2935)
    • New vendor extension specification: XR_YVR_controller_interaction (internal MR 2841)
    • XR_BD_controller_interaction: Add support for G3 devices (internal MR 2872)
    • XR_EXT_debug_utils: Fix XML to reflect that XrDebugUtilsMessengerCallbackDataEXT parameters messageId and functionName are optional. (internal MR 2864)
    • scripts: Fix member name lookups in entity_db, enabling numerous spec warnings that had been hidden. (internal MR 2923)
    • Fix specification errors (core and extension) highlighted by fixed tooling. (internal MR 2923)

OpenXR Specification 1.0.29 (2023-08-25)

This release contains several fixes to the specification, as well as enhancements to the loader documentation/specification to support architecture and ABI specific active runtime manifest names on Linux and Android.

  • Registry
    • Change PFNEGLGETPROCADDRESSPROC (for eglGetProcAddress) to a locally defined type to avoid compiler errors. (internal MR 2468)
    • Extension reservation: Register author ID and reserve vendor extensions for YVR. (internal MR 2832)
    • New vendor extension: XR_META_passthrough_preferences (internal MR 2694)
    • XR_HTCX_vive_tracker_interaction: Added new role paths for wrists and ankles. (internal MR 2728)
  • Specification
    • Change PFNEGLGETPROCADDRESSPROC (for eglGetProcAddress) to a locally defined type to avoid compiler errors. (internal MR 2468)
    • Fix specification text mentions of eyeVisibility field in Khronos composition layer extensions, to match the XML and headers. (internal MR 2878)
    • Improvement: Add note to OpenXR styleguide to discourage use of callback functions in OpenXR extensions. (internal MR 2734)
    • Loader spec: Clarify and deduplicate the loader specification's listing of android manifest search paths. (internal MR 2829, internal issue 2046)
    • Loader spec: Fix description of <queries> element contents: existing description would fail to install. (internal MR 2840, internal issue 2053)
    • Makefile: Remove obsolete cygwin support in spec building target, no longer needed and actually caused it to not work under MSYS2. (internal MR 2885)
    • New vendor extension specification: XR_META_passthrough_preferences (internal MR 2694)
    • Style guide: Document the XML schema of xr.xml (internal MR 2875)
    • XR_HTCX_vive_tracker_interaction: Added new role paths for wrists and ankles. (internal MR 2728)
    • XR_OPPO_controller_interaction: Fix formatting of path lists. (internal MR 2831, OpenXR-Docs issue 156, internal issue 2047)
    • scripts: Provide better feedback on interface struct erroneously having a values attribute. (internal MR 2856)
    • scripts: Update regex in xrconventions to allow words in type naming that succeed digits but start with a "D" (internal MR 2857)
    • scripts: Fix formatting of "basetype" (generally typedef) names to once again be monospace "code". (internal MR 2890, internal issue 2048)

OpenXR Specification 1.0.28 (2023-07-10)

This release features a number of new extensions, including several multi-vendor extensions, among other improvements and clarifications.

  • Registry
  • Specification
    • Added normative language clarifying that XrViewConfigurationType usage must be 'activated' by xrBeginSession (or by extensions). This was previously described clearly but non-normatively. (internal MR 2700)
    • Clarify the behavior of functions which initiate an asynchronous request when the function fails immediately. (internal MR 2716)
    • Clarify that we do intend to capture most invalid usage with return codes, unlike Vulkan, which is where we borrowed some of this language from. (internal MR 2762)
    • Corrected the extension enum base to 10^9. (internal MR 2693, OpenXR-Docs issue 148, internal issue 1979)
    • Fix nesting level of "Valid Usage" sections and headings, which resulted in a re-numbering of sections between 2.7 and 3. (internal MR 2761, OpenXR-Docs issue 149, internal issue 1989)
    • Fix nesting level of some sections and headings in the Rendering chapter, which resulted in a re-numbering of sections between 10.4 and 11. (internal MR 2761, OpenXR-Docs issue 149, internal issue 1989)
    • Fix flags-type boilerplate to mention XrCompositionLayerFlagBits in the body of the ref page of XrCompositionLayerFlags for a more usable ref page experience. (internal MR 2813)
    • Fix markup of a subpathname: which was marked as a pathname:. (internal MR 2673)
    • Loader docs: Specify the required queries elements for an OpenXR application on Android, so that runtime and layer components loaded in the application process may access their own package in API >29. (internal MR 2708)
    • New multi-vendor extension specification: XR_EXT_hand_interaction (internal MR 2116)
    • New multi-vendor extension specification: XR_EXT_plane_detection (internal MR 2510, internal MR 2781, internal MR 2791)
    • New multi-vendor extension specification: XR_EXT_hand_tracking_data_source (internal MR 2568)
    • New vendor extension specification: XR_META_passthrough_color_lut (internal MR 2507)
    • New vendor extension specification: XR_META_virtual_keyboard (internal MR 2555)
    • New vendor extension specification: XR_OPPO_controller_interaction (OpenXR-Docs PR 146)
    • Refine the spec language for a few MSFT extensions, including a clarification for controller model's dependency to an active grip pose action, and a correction to the xrTryCreateSpatialGraphStaticNodeBindingMSFT function's behavior. (internal MR 2600)
    • Remove incorrect/unused exception in the structure type value format rule. (internal MR 2762)
    • XR_EXT_debug_utils: Remove erroneous member documentation. (internal MR 2763, OpenXR-Docs issue 151, internal issue 2015)
    • XR_EXT_debug_utils: Clarify requirement on ending label regions. (internal MR 2763, OpenXR-Docs issue 150, internal issue 2014)
    • XR_FB_scene: Introduce XrSemanticLabelsSupportInfoFB and bump spec version to 3. (internal MR 2682)
    • XR_FB_scene: Fixed specification language for XrRoomLayoutFB and XrBoundary2DFB which incorrectly described the input capacity parameter as referring to the number of bytes when, in fact, it refers to the number of elements in the array. (internal MR 2713)
    • XR_FB_scene: Clarified the meaning of the 2D and 3D bounding boxes obtained by xrGetSpaceBoundingBox2DFB and xrGetSpaceBoundingBox3DFB. (internal MR 2714)
    • XR_FB_scene: Clarify the behavior of xrGetSpaceRoomLayoutFB during the first call of the two-call idiom when the user retrieves the required buffer length. (internal MR 2715)
    • XR_FB_scene and XR_MSFT_scene_understanding: Fix incorrect documentation which refers to some struct fields as pointers when they are not pointers. (internal MR 2805)
    • XR_FB_spatial_entity_container: Clarify two-call idiom: Mention that uuidCapcityInput can be 0. (internal MR 2772)
    • XR_FB_spatial_entity_query: Fixed two typos in the documentation: (1) XrEventDataSpaceQueryResultsAvailableFB said to retrieve results with xrQuerySpacesFB, but the correct function is xrRetrieveSpaceQueryResultsFB and (2) removed an extraneous "if" in xrQuerySpacesFB. (internal MR 2681)
    • scripts: Update some of our spec toolchain to partially sync with Vulkan, and change the way we mark up extension names. (internal MR 2656)
    • scripts: Update header generation to only output enum values from extensions that are being emitted. (internal MR 2671)
    • scripts: Improve code quality. (internal MR 2757, internal MR 2816)
    • scripts: Add findBareNormatives.sh and reserve_extensions.py, which are useful in the extension development process. (internal MR 2783, internal MR 2799)
    • spec: Trim extra empty line for define group (internal MR 2724)
    • style guide: Update to match current conventions more closely. (internal MR 1412)
    • style guide: Require vendor tag on interaction profile paths introduced by extensions. (internal MR 2684)

OpenXR Specification 1.0.27 (2023-03-21)

This release contains a large list of improvements, including interaction profile definitions in machine-readable format in the XML, consistent tool-based formatting of the XML, several spec cleanups and clarifications, and a wide variety of new vendor and multi-vendor extensions.

OpenXR Specification 1.0.26 (2022-11-18)

This release contains some spec clarifications, improvements to tooling, and a variety of new vendor and multi-vendor extensions.

  • Registry
  • Specification
    • Clarify the valid swapchain face count values for layer types. (internal MR 2354, internal issue 1750)
    • Clarify error codes returned in vendor extension XR_META_performance_metrics. (internal MR 2422)
    • Clarify function xrEnumerateInstanceExtensionProperties by removing conflicting and redundant language about two-call idiom. (internal MR 2441)
    • Clarify language around swapchain creation format matching usage. (internal MR 2446)
    • Document new XR_EXT_active_action_set_priority vendor extension. (internal MR 2288, internal issue 1699)
    • Document new XR_HTC_passthrough vendor extension. (internal MR 2349)
    • Document new XR_HTC_foveation vendor extension. (internal MR 2377)
    • Document new XR_META_headset_id vendor extension. (internal MR 2410)
    • Fix naming of member descriptions for XrInputSourceLocalizedNameGetInfo. (internal MR 2419, internal issue 1614, OpenXR-Docs issue 106)
    • Loader spec: Update to note that the Android installable broker no longer checks for permission. The permission, normally auto-granted, was removed due to causing conflicts with installation order. (internal MR 2452, internal issue 1836)
    • Move the documentation of XrSwapchainUsageFlags/XrSwapchainUsageFlagBits to its usage, next to XrSwapchainCreateFlags, and mark up normative language. (internal MR 2435)
    • Move flag bit documentation to the FlagBit type ref pages, and move the typedefs for the Flags types into new corresponding flag ref pages. This resolves an unneeded inconsistency between core and extensions as well as between core and other related specifications like Vulkan. (internal MR 2435)
    • Optimize images included in the specification. (internal MR 2493)
    • XR_EXT_performance_settings: Updated generated valid usage through XML change, bump revision accordingly. (internal MR 2306)
    • XR_HTC_facial_tracking: Update vendor extension to fix an error in the blink blend shape ranges, increasing its revision to 2. (internal MR 2416)
    • XR_KHR_vulkan_enable2 - Add missing member documentation for type, next, and createFlags in XrVulkanInstanceCreateInfoKHR (internal MR 2435)

OpenXR Specification 1.0.25 (2022-09-02)

This release contains a few specification clarifications and consistency improvements, as well as some new vendor extensions. The spec generation toolchain scripts have been synchronized with Vulkan, which adds some additional detail to the generated spec document. The loader design document has also been updated to correct an error and document the loader's API layer functionality now available on Android.

  • Registry
    • Add new XR_ML_ml2_controller_interaction vendor extension. (internal MR 2344)
    • Clarification: Note that all specialized swapchain image structures are "returnedonly", which removes some unneeded generated implicit valid usage. (internal MR 2303)
    • Clarification: Note that all event structs are "returnedonly", which removes some unneeded generated implicit valid usage. (internal MR 2305)
    • Register author ID for Oppo. (OpenXR-Docs PR 129)
    • Register author ID for Fred Emmott. (OpenXR-Docs PR 131)
    • Register author ID for Acer. (OpenXR-Docs PR 132)
    • Reserve extension numbers for anticipated cross-vendor and Khronos extensions. (internal MR 2337, internal MR 2338, internal MR 2389)
    • Reserve a vendor extension for Huawei. (internal MR 2356)
    • Reserve vendor extensions for MNDX. (OpenXR-Docs PR 133)
    • Update XR_MSFT_scene_understanding and XR_MSFT_scene_understanding_serialization vendor extensions to list error codes that may be returned by functions. (internal MR 2316)
    • XR_FB_color_space: Mark XrSystemColorSpacePropertiesFB as "returned-only" for consistency and to correct the implicit valid usage. (internal MR 2304)
    • XR_FB_display_refresh_rate: Mark XrEventDataDisplayRefreshRateChangedFB as "returned only" for consistency. (internal MR 2308)
    • XR_FB_hand_tracking_mesh: Fix two-call-idiom markup for XrHandTrackingMeshFB, affecting implicit valid usage, and increment the revision. (internal MR 2311)
    • XR_FB_passthrough: Add XrSystemPassthroughProperties2FB and XR_PASSTHROUGH_LAYER_DEPTH_BIT_FB, update spec version to 3. (internal MR 2333)
    • XR_FB_render_model: Mark XrRenderModelCapabilitiesRequestFB as "returned- only" for consistency and to correct the implicit valid usage. (internal MR 2309)
  • Specification
    • Clarify that orientation behaves the same as position when tracking loss occurs for static spaces. (internal MR 2235)
    • Clarify the interaction of xrGetInputSourceLocalizedName and xrEnumerateBoundSourcesForAction, the paths they operate on, and details of a "bound source" for an action. (internal MR 2251, internal issue 1671)
    • Clarify when pose actions with multiple bindings may change source (internal MR 2277)
    • Clarify: Add language to OpenXR patch versions to clarify that it may be used to gate runtime implementation changes (internal MR 2290, internal issue 1713)
    • Document new XR_ML_ml2_controller_interaction vendor extension with the Magic Leap 2 controller interaction profile. (internal MR 2344)
    • Loader design doc: Correct a wrong description of extension implementation chosen by the loader when duplicates. (internal MR 2324, internal issue 1731)
    • Loader design doc: Add Android support for API Layers in the application APK. (internal MR 2350)
    • XR_FB_color_space: Mark XrSystemColorSpacePropertiesFB as "returned-only" for consistency and to correct the implicit valid usage, bumping the revision number. (internal MR 2304)
    • XR_FB_hand_tracking_mesh: Fix XrHandTrackingMeshFB two-call-idiom implicit valid usage, and increment the revision. (internal MR 2311)
    • XR_FB_passthrough: Add XrSystemPassthroughProperties2FB and XR_PASSTHROUGH_LAYER_DEPTH_BIT_FB. (internal MR 2333, internal MR 2393)
    • XR_FB_render_model: Mark XrRenderModelCapabilitiesRequestFB, as "returned- only" for consistency and to correct the implicit valid usage, incrementing the revision number. (internal MR 2309)
    • XR_MSFT_scene_understanding_serialization: Update vendor extension to document when xrDeserializeSceneMSFT must return XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT. (internal MR 2316)
    • scripts: Synchronize scripts with Vulkan, and move all generated files into a single target directory. (internal MR 2335, internal issue 1693, internal MR 2393, internal MR 2400)

OpenXR Specification 1.0.24 (2022-06-23)

OpenXR Specification 1.0.23 (2022-05-27)

This release includes a large number of new vendor and multi-vendor extensions, as well as some updates to existing extensions. It also adds some details about app manifest requirements on Android.

  • Registry
    • Add new XR_ULTRALEAP_hand_tracking_forearm vendor extension. (internal MR 2154)
    • Add new XR_EXT_dpad_binding multi-vendor extension. (internal MR 2159)
    • Add "externally synchronized" markup for xrBeginFrame and xrEndFrame so they get the matching box and their session parameters are included in the list of externally-synchronized parameters in the "Threading" section. (internal MR 2179, OpenXR-Docs issue 23, internal issue 1216)
    • Add new XR_FB_spatial_entity vendor extension. (internal MR 2194)
    • Add new XR_FB_spatial_entity_storage vendor extension. (internal MR 2194)
    • Add new XR_FB_spatial_entity_query vendor extension. (internal MR 2194)
    • Add new XR_FB_composition_layer_settings vendor extension. (internal MR 2221)
    • Add new XR_FB_spatial_entity_container vendor extension. (internal MR 2236)
    • Add new XR_HTC_vive_wrist_tracker_interaction vendor extension. (internal MR 2252)
    • Add XR_HTC_hand_interaction extension. (internal MR 2254)
    • Add new XR_VARJO_view_offset vendor extension. (internal MR 2255)
    • Add new XR_META_performance_metrics vendor extension. (internal MR 2256)
    • Add new XR_META_vulkan_swapchain_create_info vendor extension. (internal MR 2257)
    • Change the XML type of XR_MIN_COMPOSITION_LAYERS_SUPPORTED so it outputs an includable snippet for the spec text. (internal MR 2201, internal issue 1652, OpenXR-Docs issue 117)
    • Fix registry consistency script and codegen scripts to allow extension of KHR and EXT enumerations with vendor-specific members. (internal MR 2213, internal MR 2243)
    • Fix warning print statement arguments in header generation/validation script. (internal MR 2244)
    • Reserve the extension number for multi-vendor hand interaction profile extension. (internal MR 2206)
    • Reserve vendor extensions 304-317 for Qualcomm (internal MR 2258)
    • Reserve vendor extensions 318-370 for HTC. (internal MR 2266)
    • KHR_composition_layer_depth: Update spec version to 6 for updated spec text. (internal MR 2207, internal issue 1651)
    • XR_EXT_eye_gaze_interaction: Update the spec version for spec text change. (internal MR 2227)
    • XR_EXT_uuid: Add enum tags to XR_UUID_SIZE_EXT to ensure it is defined before XrUuidEXT in generated header (internal MR 2234, internal issue 1673)
    • XR_FB_hand_aim_tracking, XR_FB_hand_tracking_capsule, XR_FB_hand_tracking_mesh: Fix documentation to specify correct next chain usage. (internal MR 2229)
    • XR_FB_hand_tracking_capsules: Update XrHandCapsuleFB and XrHandTrackingCapsulesStateFB to use XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB and XR_HAND_TRACKING_CAPSULE_COUNT_FB enums when defining arrays so they match the usual practice for vendor extensions (internal MR 2216)
    • XR_FB_passthrough_keyboard_hands: Add XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS_FB, update spec version to 2. (internal MR 2270)
    • XR_FB_passthrough: add XrPassthroughBrightnessContrastSaturationFB, update spec version to 2 (internal MR 2222)
    • XR_FB_render_model: Add capability support levels, bump spec version to 2. (internal MR 2264)
    • XR_FB_space_warp: Add XR_COMPOSITION_LAYER_SPACE_WARP_INFO_FRAME_SKIP_BIT_FB into XrCompositionLayerSpaceWarpInfoFlagBitsFB, update spec version to 2. (internal MR 2193)
    • XR_HTC_vive_focus3_controller_interaction: Support component path "/input/squeeze/value", update spec version to 2. (internal MR 2253)
    • XR_KHR_D3D11_enable and XR_KHR_D3D12_enable: Update to describe error conditions for XR_ERROR_GRAPHICS_DEVICE_INVALID. (internal MR 2176, internal issue 1617)
    • XR_MSFT_spatial_graph_bridge: Update to revision 2. (internal MR 2182)
  • Specification
    • Add spec language for XR_MIN_COMPOSITION_LAYERS_SUPPORTED. (internal MR 2201, internal issue 1652, OpenXR-Docs issue 117)
    • Add a few level 4 headers so the sub chapters in extensions can be referenced with anchors. (internal MR 2205)
    • Add text in the appendix describing adding org.khronos.openxr.intent.category.IMMERSIVE_HMD category to intent-filter for AndroidManifest.xml, to indicate an immersive application. (internal MR 2219)
    • Change instances of Samsung Electronics authorship references to only have first and last name of author, and to spell out Samsung Electronics instead of just Samsung. (internal MR 2211)
    • Clarify that XR_SPACE_VELOCITY_LINEAR_VALID_BIT and XR_SPACE_VELOCITY_ANGULAR_VALID_BIT work just like XR_SPACE_LOCATION_POSITION_VALID_BIT and XR_SPACE_LOCATION_ORIENTATION_VALID_BIT: Don't read the corresponding field if it's not set. (internal MR 2185, OpenXR-Docs issue 35, internal issue 1264)
    • Document new XR_HTC_hand_interaction extension. (internal MR 2254)
    • Document new XR_ULTRALEAP_hand_tracking_forearm vendor extension. (internal MR 2154)
    • Document new XR_EXT_dpad_binding multi-vendor extension. (internal MR 2159)
    • Document new XR_FB_spatial_entity vendor extension. (internal MR 2194)
    • Document new XR_FB_spatial_entity_storage vendor extension. (internal MR 2194)
    • Document new XR_FB_spatial_entity_query vendor extension. (internal MR 2194)
    • Document out of range XrSwapchainSubImage imageArrayIndex (internal MR 2220)
    • Document new XR_FB_composition_layer_settings vendor extension. (internal MR 2221)
    • Document new XR_FB_spatial_entity_container vendor extension. (internal MR 2236)
    • Document new XR_HTC_vive_wrist_tracker_interaction vendor extension. (internal MR 2252)
    • Document new XR_VARJO_view_offset vendor extension. (internal MR 2255)
    • Document new XR_META_performance_metrics vendor extension. (internal MR 2256)
    • Document new XR_META_vulkan_swapchain_create_info vendor extension. (internal MR 2257)
    • XR_EXT_debug_utils: Update sample to remove invalid usage of xrEndSession. (internal MR 2242)
    • XR_EXT_eye_gaze_interaction: Remove error-prone XrEyeGazeSampleTimeEXT validation requirement, and update the spec version. (internal MR 2227)
    • XR_FB_hand_aim_tracking, XR_FB_hand_tracking_capsule, XR_FB_hand_tracking_mesh: Fix documentation to specify correct next chain usage. (internal MR 2229)
    • XR_FB_hand_tracking_capsules: Update XrHandCapsuleFB and XrHandTrackingCapsulesStateFB to use correct _FB enums when defining arrays so they match the usual practice for vendor extensions. (internal MR 2216)
    • XR_FB_passthrough_keyboard_hands: Introduce XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS_FB (internal MR 2270)
    • XR_FB_passthrough: Update to add a state diagram. (internal MR 2135)
    • XR_FB_passthrough: Introduce XrPassthroughBrightnessContrastSaturationFB, and revise the documentation of XrPassthroughStyleFB and its descendants. (internal MR 2222, internal issue 1694, internal MR 2245)
    • XR_FB_render_model: add capability support levels, update spec version to 2 (internal MR 2264)
    • XR_FB_space_warp: Add XR_COMPOSITION_LAYER_SPACE_WARP_INFO_FRAME_SKIP_BIT_FB into XrCompositionLayerSpaceWarpInfoFlagBitsFB, update spec version to 2 (internal MR 2193)
    • XR_HTC_vive_focus3_controller_interaction: Support component path "/input/squeeze/value" (internal MR 2253)
    • XR_KHR_D3D11_enable and XR_KHR_D3D12_enable: Update to describe error conditions for XR_ERROR_GRAPHICS_DEVICE_INVALID. (internal MR 2176, internal issue 1617)
    • XR_KHR_composition_layer_depth: include the transformation details from view space to window space depth, update spec version to 6. (internal MR 2207, internal issue 1651)
    • XR_KHR_convert_timespec_time: Fix parameter name mismatch between spec text and XML registry. (OpenXR-Docs PR 113)
    • XR_KHR_vulkan_enable2: Fix typo in parameter description of xrCreateVulkanInstanceKHR. (OpenXR-Docs PR 121)
    • XR_MSFT_spatial_graph_bridge: Update docs for revision 2. (internal MR 2182)

OpenXR Specification 1.0.22 (2022-01-12)

This release features a number of new vendor and multi-vendor extensions, plus a few extension corrections. There are a few small core specification fixes as well, including a clarification that going forward, xrBeginFrame is not a blocking function (which was implied but not explicitly stated).

  • Registry
  • Specification
    • Clarify that xrBeginFrame is not a blocking function for frame synchronization purposes. (internal MR 2145)
    • Correct winding order for XR_MSFT_hand_tracking_mesh extension to clockwise to match runtime behavior. (internal MR 2151)
    • Document new XR_FB_render_model vendor extension. (internal MR 2117, internal MR 2169)
    • Document new XR_HTC_facial_tracker vendor extension. (internal MR 2120)
    • Document new XR_FB_keyboard_tracking vendor extension. (internal MR 2128)
    • Document new XR_EXT_uuid multi-vendor extension. (internal MR 2152)
    • Document new XR_FB_passthrough_keyboard_hands vendor extension. (internal MR 2162)
    • Document new XR_HTC_vive_focus3_controller_interaction vendor extension. (internal MR 2178)
    • Document new XR_ALMALENCE_digital_lens_control vendor extension. (OpenXR-Docs PR 104, internal issue 1615)
    • Fix typos/naming convention errors in XR_FB_hand_tracking_capsules: rename XR_FB_HAND_TRACKING_CAPSULE_POINT_COUNT to XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB and XR_FB_HAND_TRACKING_CAPSULE_COUNT to XR_HAND_TRACKING_CAPSULE_COUNT_FB, providing the old names as compatibility aliases. (internal MR 1547, internal issue 1519)
    • Semantic paths: Note that "back" (as a button) is an acceptable standard identifier: the core specification already includes interaction profiles using it, but it was inadvertently omitted from the standard identifier list. (internal MR 2166)
    • Update xml consistency script to verify correct application of vendor naming rules. (internal MR 1547, internal issue 1618)
    • Update docs for XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING to specify that xrCreateInstance returns XR_ERROR_RUNTIME_UNAVAILABLE as long as it is unable to create the instance. (internal MR 2149)
    • Update docs for XR_FB_color_space to correct preferred color space for Oculus HMDs. (internal MR 2155)

OpenXR Specification 1.0.21 (2022-01-10)

This release was withdrawn due to a typo noticed after initial publication. All changes are now listed under 1.0.22.

OpenXR Specification 1.0.20 (2021-10-04)

This release includes a number of new vendor extensions and a few minor clarifications.

OpenXR Specification 1.0.19 (2021-08-24)

This release features a number of new or updated vendor extensions, as well as some minor spec clarifications.

OpenXR Specification 1.0.18 (2021-07-30)

The main changes in this release include clarifications to the Session chapter of the specification, plus the addition of diagrams to the text describing grip and aim pose. The release also adds one new ratified KHR extension (promoted from a vendor extension), and a number of new vendor extensions.

OpenXR Specification 1.0.17 (2021-06-08)

This release includes a variety of new vendor extensions, as well as some clean-up changes to the API registry and specification, mostly related to valid/available return codes. An update to an earlier vendor extension is also included.

  • Registry
  • Specification
    • Clarify that values for a given query to xrEnumerateBoundSourcesForAction may only change at xrSyncActions. (internal MR 2026, internal issue 1540, OpenXR-Docs/#82)
    • Document new XR_MSFT_scene_understanding extension. (internal MR 2032)
    • Document new XR_MSFT_scene_understanding_serialization extension. (internal MR 2032)
    • Document new XR_MSFT_composition_layer_reprojection vendor extension. (internal MR 2033)
    • Document new XR_OCULUS_audio_device_guid extension. (internal MR 2053)
    • Document version 2 of XR_FB_swapchain_update_state which provides a mechanism to query state. (internal MR 2048)
    • Document version 3 of XR_FB_swapchain_update_state which splits platform and graphics API specific structs into separate extensions. (internal MR 2059)
    • Make explicit the recommended use of preferred swapchain texture formats. (internal MR 2061)
    • Reserve extension numbers 167-176 for Facebook use. (internal MR 2060)
    • Use flag descriptions generated from XML comments for XrSpaceVelocityFlagBits, XrSwapchainUsageFlagBits, and XrCompositionLayerFlagBits in the specification. (internal MR 1982)

OpenXR Specification 1.0.16 (2021-05-11)

This release contains improved/clarified behavior for xrCreateInstance and xrEnumerateInstanceProperties, a new multi-vendor extension, a new vendor extension, and a collection of clarifications.

  • Registry
  • Specification
    • Clarify use of xrRequestExitSession on platforms with managed application lifecycle. (internal MR 1978)
    • Clarify hand grip orientation Z semantics. (internal MR 2008)
    • Clarify unordered swapchain usage flag meaning. (internal MR 2029, internal issue 1543)
    • Clarify that hysteresis should be used when applying thresholds to scalar input. (internal MR 2031, internal issue 1260, OpenXR-Docs/#27)
    • Document new multi-vendor extension XR_EXT_hand_joint_motion_range - allows applications to request specific motion ranges when using XR_EXT_hand_tracking. (internal MR 1995)
    • Document new XR_FB_swapchain_update_state vendor extension. (internal MR 1997)
    • Fix xml_consistency scripts to properly identify missing error codes from handle ancestors, and suppress warnings about all missing _LOST and _LOSS_PENDING on xrDestroy functions. (internal MR 2023, OpenXR-Docs/#10, internal issue 1256)
    • Modify language in XR_EXT_hand_tracking to explicitly state that an "empty hand" range of motion is the default. (internal MR 1995)
    • Session: Explicitly name the pattern for "get graphics requirements" functions, and place a generic version of the XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING return code text from graphics extensions in the core spec. (OpenXR-Docs/#79, internal issue 1547)
    • Style guide: Update "Extensions" chapter to simplify and reflect actual practice and policy. (internal MR 2027)
    • Extension process document: Update to note the working group policy on extending core/KHR bitmasks. (internal MR 2025)
    • scripts: Have reflow.py identify a file's current newline convention, and reproduce it upon writing the output. (internal MR 2028)

OpenXR Specification 1.0.15 (2021-04-13)

This release contains three new vendor extensions plus an assortment of small spec fixes.

OpenXR Specification 1.0.14 (2021-01-27)

This release contains a collection of fixes and improvements, including one new vendor extension.

OpenXR Specification 1.0.13 (2020-11-24)

This release features a new ratified Khronos extension which will serve as the basis of other extensions, a number of new vendor extensions, and some fixes and clarifications.

OpenXR Specification 1.0.12 (2020-09-25)

This release features a number of new ratified KHR extensions, as well as a new vendor extension.

OpenXR Specification 1.0.11 (2020-08-14)

This release is mainly for SDK improvements, with only small changes to the docs. A new error code is provided for xrCreateSession for developers convenience.

  • Registry
  • Specification
    • Update core spec and graphics binding extensions to describe the new result code, XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING, which indicates programmer error in omitting the xrGetGraphicsRequirements-family call before calling xrCreateSession. The previous error code for this case, XR_ERROR_VALIDATION_FAILURE, is still permitted for compatibility reasons, but discouraged as it is less useful to developers. (internal MR 1882, OpenXR-Docs/#53, internal issue 1397)
    • Improve language usage to be more respectful. (internal MR 1881)
    • Typo fixes in recent interaction profile extensions.

OpenXR Specification 1.0.10 (2020-07-28)

Note the relicensing of the registry XML file in this repository. Each file's header, or an adjacent file with .license appended to the filename, is the best reference for its license terms. We are currently working on ensuring all files have an SPDX license identifier tag either in them or in an adjacent file. This is still in progress but mostly complete.

OpenXR Specification 1.0.9 (2020-05-29)

OpenXR Specification 1.0.8 (2020-03-27)

Patch release for the 1.0 series.

Updates version to 1.0.8.

  • Registry
  • Specification
    • Update xml_consistency.py to verify that enum value naming matches style guide conventions. (internal MR 1696)
    • XR_EXTX_overlay: upgrade overlay bit names to match the convention. This is a source-incompatible change to a provisional multi-vendor extension. (internal MR 1697, internal issue 1318, internal issue 42, internal MR 171)
    • Introduce XR_EXT_eye_gaze_interaction extension for eye gaze interaction profile. (internal MR 1556)
    • Clarify that calling xrGetInputSourceLocalizedName when no action set has been attached to the session results in XR_ERROR_ACTIONSET_NOT_ATTACHED. (internal MR 1698)

OpenXR Specification 1.0.7 (2020-03-20)

Patch release for the 1.0 series.

Updates version to 1.0.7.

Note: Changelogs are now being assembled with the help of the Proclamation tool, so the format has changed somewhat.

  • Registry
    • Clarify the usage of engineName and applicationName in XrApplicationInfo. (internal MR 1645)
    • Introduce XR_MSFT_hand_interaction extension for hand interaction profile. (internal MR 1601)
    • Introduce XR_EPIC_view_configuration_fov extension for system field-of-view queries. (internal MR 1170)
    • Indicate that xrBeginFrame returns XR_ERROR_CALL_ORDER_INVALID when not paired with a corresponding xrWaitFrame call. (internal MR 1673)
    • Update the version number of XR_KHR_D3D12_enable extension.
    • (internal MR 1681)
    • Introduce XR_EXTX_overlay extension for Overlay sessions (which can provide overlay composition layers). (internal MR 1665)
  • Specification
    • Clarify the usage of engineName and applicationName in XrApplicationInfo. (internal MR 1645)
    • Simplify and update the specification build instructions in specification/README.md. On Windows, use of Windows Subsystem for Linux to build the spec is now assumed: Makefile code, etc. for retired methods (Cygwin, MinGW) remain for this release but are being considered for removal in an upcoming release to reduce maintenance burden. (They have not been tested in some time.) Note that this does not affect the build support of the SDK. (internal MR 1692)
    • Introduce XR_MSFT_hand_interaction extension for hand interaction profile. (internal MR 1601)
    • Adjust release scripts to publish the Style Guide and Extension Process with the rest of the specification. (internal MR 1678)
    • Revise Style Guide and Extension Process, ratify by working group, and release. (internal MR 1648)
    • Introduce XR_EPIC_view_configuration_fov extension for system field-of-view queries. (internal MR 1170)
    • Clarify that every xrWaitFrame call must have a matching xrBeginFrame call and that there can be up to one outstanding call to xrWaitFrame for pipelined frame loops. (internal MR 1673)
    • Specify expected D3D12 resource state of a depth swapchain image between xrAcquireSwapchainImage and xrReleaseSwapchainImage. (internal MR 1681)
    • Update build scripts so that headers in the generated HTML have clickable anchor links that appear on hover, to provide a direct link to a heading. (internal MR 1691)
    • Introduce XR_EXTX_overlay extension for Overlay sessions (which can provide overlay composition layers) (internal MR 1665)

OpenXR 1.0.6 release (24-January-2020)

Patch release for the 1.0 series.

Updates version to 1.0.6.

Internal issues

  • Registry
    • Fix typo in visibility mesh enum comment.
  • Scripts
    • Fix comment typos.
    • Sync scripts with Vulkan. (internal MR 1625)
    • Sort the names of APIs in generated "See also" lists for deterministic results. (internal MR 1622)
  • Spec
    • Fix reference in xrGetCurrentInteractionProfile spec to a path format that doesn't exist. (internal issue 1221, internal MR 1565)
    • Fix missing back button in Oculus Go controller interaction profile.
    • Add text about OpenGL context currentness on other threads. (internal MR 1614)
    • Fix typo in XR_SESSION_STATE_VISIBLE description (internal issue 1294, internal MR 1630)
    • Add XR_EXT_win32_appcontainer_compatible extension.
    • Clarify error code when using interaction profile that's not in the spec. (internal issue 1272, internal MR 1615)

New extensions in 1.0.6

  • XR_EXT_win32_appcontainer_compatible

OpenXR 1.0.5 release (6-December-2019)

Patch release for the 1.0 series.

Updates version to 1.0.5.

Internal issues

  • Registry
    • Reserve Microsoft extension numbers (Internal MR 1613)
  • Spec
    • Clarify degree to which xrWaitFrame is decoupled from xrBeginFrame/xrEndFrame (internal issue 1246, internal MR 1595)
    • Typo fixed in XrCompositionLayerQuad docs. #24 (internal issue 1254)

OpenXR 1.0.4 release (21-November-2019)

Patch release for the 1.0 series.

Updates version to 1.0.4.

GitHub Pull Requests

  • Spec
    • Clarify Monado headless extension behavior related to xrWaitFrame #38
  • Registry
    • Reserve a Monado EGL extension #39

Internal issues

  • General, Build, Other
    • Remove unused/unneeded files (internal MR 1609)
  • Spec
    • Clarify subaction path description for XrActiveActionSet (internal MR 1592, internal issues 1243 and 1244)
    • Resolve misleading use of xrLocateViews before xrWaitFrame in helloXR and spec (internal MR 1584, internal issue 1227, public issue KhronosGroup/OpenXR-SDK-Source#134)
  • Registry
    • Add XR_EXT_conformance_automation extension, for use only by conformance testing (internal MR 1577, 1608)

OpenXR 1.0.3 release (7-October-2019)

Patch release for the 1.0 series.

Updates version to 1.0.3.

Public issues

  • OpenXR-SDK-Source PR #139 - Write output atomically at the end of generator scripts

Internal issues

  • Spec
    • Clarify what happens when a swapchain that has never been released is passed to xrEndFrame. (internal MR 1569, internal issue 1121)
    • Remove duplicated paragraph in XR_KHR_vulkan_enable (internal MR 1543)
  • Registry
    • Add XR_EXT_view_configuration_depth_range extension (internal MR 1502, internal issue 1201)
    • Reserve a Monado extension (internal MR 1541)

OpenXR 1.0.2 release (27-August-2019)

Patch release for the 1.0 series.

Updates version to 1.0.2.

Public issues

  • Pull request #30 - Fix parameter name typo in XR_MSFT_spatial_anchor

Internal issues

  • Enhance xml_consistency script. (Internal MR 1526)
  • Sync scripts from Vulkan. (Internal MR 1514)
  • Port the equivalent of Vulkan's internal MR 3319 to OpenXR, affecting empty bitmask generated implicit valid usage. (Internal MR 1513)
  • Fix error in extension-added function. (Internal MR 1510)
  • Add Oculus Android extension. (Internal MR 1518)
  • Reserve additional extension number for Oculus. (Internal MR 1517)

OpenXR 1.0.1 release (2-August-2019)

Patch release for the 1.0 series.

Updates version to 1.0.1.

Public issues

  • #25 - Fix make all in the absence of styleguide and loader doc.
  • #26 - Proposal for unbounded space and spatial anchor extensions (vendor extensions)

Internal issues

  • Replace remaining mentions of "app" with "application" (internal MR 1468)
  • Makefile cleanups (internal MR 1469, 1489)
  • Typographical fixes (internal MR 1490)
  • Reserve Oculus extension numbers (internal MR 1493)
  • Add Monado headless (vendor extension) (internal MR 1482)
  • Generated header files removed from OpenXR-Docs repo.

New extensions

  • XR_MND_headless
  • XR_MSFT_spatial_anchor
  • XR_MSFT_unbounded_reference_space

OpenXR 1.0.0 release (29-July-2019)

Substantial changes, including breaking changes, since the 0.90 series.

Users of the provisional release should migrate to 1.0.

Change log for OpenXR 0.90.1 provisional spec update (8-May-2019)

No API changes, and only minimal consistency changes to the spec/registry. Mostly an update for tooling, layers, loader, and sample code. Header version has been bumped to 43, but no symbols that should have actually been in use have changed.

The OpenXR-Docs repo now contains the scripts and sources needed to build the specification output files.

Internal Issues

  • General, Build, Other
    • Unify (for the most part) the OpenXR and Vulkan generator scripts. (internal MR 1166)
    • Avoid dllexport for all apps compiled with openxr_platform_defines.h (internal MR 1187)
  • API Registry and Headers
    • Remove impossible and undocumented error codes. (internal MR 1185 and 1189)
    • Mark layers in XrFrameEndInfo as optional. (internal MR 1151, internal issue 899)
    • Remove unused windows types from openxr_platform.h (internal MR 1197)
    • Make openxr_platform.h include openxr.h on which it depends. (internal MR 1140, internal issue 918)
    • Remove unused, undocumented defines. (internal MR 1238, internal issue 1012)

OpenXR 0.90.0 - Initial public provisional release at GDC