tree fad5c55cb2ddced6e354d49b87d8196feb8ba8c8
parent a696e1bf1fd31075b95333f915aecdd350bd12e3
author Ryan Pavlik <ryan.pavlik@collabora.com> 1642028516 -0600
committer Ryan Pavlik <ryan.pavlik@collabora.com> 1642028516 -0600

OpenXR SDK 1.0.22 (2022-01-12)

This release features a number of new extensions, as well as some
software updates and fixes, especially for Android. If you are using the
bundled jsoncpp, this is also a security release as the bundled jsoncpp
was upgraded to incorporate security improvements from upstream.

-   Registry
    -   Add new XR_FB_render_model vendor extension. (internal MR 2117,
        internal MR 2169)
    -   Add new XR_HTC_facial_expression vendor extension. (internal MR
        2120)
    -   Add new XR_FB_keyboard_tracking vendor extension. (internal MR
        2128)
    -   Add new XR_EXT_uuid multi-vendor extension. (internal MR 2152)
    -   Add new XR_FB_passthrough_keyboard_hands vendor extension.
        (internal MR 2162)
    -   Add new XR_HTC_vive_focus3_controller_interaction vendor
        extension. (internal MR 2178)
    -   Add new XR_ALMALENCE_digital_lens_control vendor extension.
        (OpenXR-Docs PR 104, internal issue 1615)
    -   Correct winding order for XR_MSFT_hand_tracking_mesh extension
        to clockwise to match runtime behavior. (internal MR 2151)
    -   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)
    -   Reserve vendor extensions 208 - 299 for Facebook. (internal MR
        2158)
    -   Reserve extension numbers for anticipated multi-vendor
        extensions. (internal MR 2173)
-   SDK
    -   Android loader: Update vendored jnipp project, including
        crash/exception fixes if an application manually attached or
        detached a thread. (OpenXR-SDK-Source PR 286, OpenXR-SDK-Source
        PR 285)
    -   Docs: Fixed typo in docs. (OpenXR-SDK-Source PR 284)
    -   Fix detection of std::filesystem options on GCC 11 and newer.
        (OpenXR-SDK-Source PR 276, OpenXR-SDK-Source issue 260, internal
        issue 1571)
    -   Loader: Add ifdef guards around contents of Android-specific
        files so all platforms may still glob all source files in
        OpenXR-SDK to build the loader with a custom build system.
        (OpenXR-SDK-Source PR 274)
    -   Loader: Fixed incorrect return value when no broker is present
        on Android but runtime defined via active_runtime.json.
        (OpenXR-SDK-Source PR 284)
    -   Loader: Added /system to the search path on Android as per
        documentation. (OpenXR-SDK-Source PR 284)
    -   Loader doc: Use nativeLibraryDir (property, part of API) instead
        of getNativeLibraryDir() (function generated by wrapping
        library) (OpenXR-SDK-Source PR 278)
    -   Update vendored copy of jsoncpp from 1.8.4 to 1.9.5 for security
        and other fixes. (internal MR 2168, OpenXR-SDK-Source issue 265,
        internal issue 1582)
    -   Update android-jni-wrappers to fix missing include.
        (OpenXR-SDK-Source PR 280, OpenXR-SDK-Source issue 275, internal
        issue 1616)
    -   Update jnipp to fix crash on Android if app detaches thread from
        JVM (e.g. on shutdown). (OpenXR-SDK-Source PR 280)
    -   scripts: Populate ext_name in HandleData too, for use by
        language wrapper generation scripts. (internal MR 2184)

This release replaces 1.0.21.
