)]}'
{
  "log": [
    {
      "commit": "458984d7f59d1ae6dc1b597d94b02e4f7132eaba",
      "tree": "fad5c55cb2ddced6e354d49b87d8196feb8ba8c8",
      "parents": [
        "a696e1bf1fd31075b95333f915aecdd350bd12e3"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jan 12 23:01:56 2022"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jan 12 23:01:56 2022"
      },
      "message": "OpenXR SDK 1.0.22 (2022-01-12)\n\nThis release features a number of new extensions, as well as some\nsoftware updates and fixes, especially for Android. If you are using the\nbundled jsoncpp, this is also a security release as the bundled jsoncpp\nwas upgraded to incorporate security improvements from upstream.\n\n-   Registry\n    -   Add new XR_FB_render_model vendor extension. (internal MR 2117,\n        internal MR 2169)\n    -   Add new XR_HTC_facial_expression vendor extension. (internal MR\n        2120)\n    -   Add new XR_FB_keyboard_tracking vendor extension. (internal MR\n        2128)\n    -   Add new XR_EXT_uuid multi-vendor extension. (internal MR 2152)\n    -   Add new XR_FB_passthrough_keyboard_hands vendor extension.\n        (internal MR 2162)\n    -   Add new XR_HTC_vive_focus3_controller_interaction vendor\n        extension. (internal MR 2178)\n    -   Add new XR_ALMALENCE_digital_lens_control vendor extension.\n        (OpenXR-Docs PR 104, internal issue 1615)\n    -   Correct winding order for XR_MSFT_hand_tracking_mesh extension\n        to clockwise to match runtime behavior. (internal MR 2151)\n    -   Fix typos/naming convention errors in\n        XR_FB_hand_tracking_capsules: rename\n        XR_FB_HAND_TRACKING_CAPSULE_POINT_COUNT to\n        XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB and\n        XR_FB_HAND_TRACKING_CAPSULE_COUNT to\n        XR_HAND_TRACKING_CAPSULE_COUNT_FB, providing the old names as\n        compatibility aliases. (internal MR 1547, internal issue 1519)\n    -   Reserve vendor extensions 208 - 299 for Facebook. (internal MR\n        2158)\n    -   Reserve extension numbers for anticipated multi-vendor\n        extensions. (internal MR 2173)\n-   SDK\n    -   Android loader: Update vendored jnipp project, including\n        crash/exception fixes if an application manually attached or\n        detached a thread. (OpenXR-SDK-Source PR 286, OpenXR-SDK-Source\n        PR 285)\n    -   Docs: Fixed typo in docs. (OpenXR-SDK-Source PR 284)\n    -   Fix detection of std::filesystem options on GCC 11 and newer.\n        (OpenXR-SDK-Source PR 276, OpenXR-SDK-Source issue 260, internal\n        issue 1571)\n    -   Loader: Add ifdef guards around contents of Android-specific\n        files so all platforms may still glob all source files in\n        OpenXR-SDK to build the loader with a custom build system.\n        (OpenXR-SDK-Source PR 274)\n    -   Loader: Fixed incorrect return value when no broker is present\n        on Android but runtime defined via active_runtime.json.\n        (OpenXR-SDK-Source PR 284)\n    -   Loader: Added /system to the search path on Android as per\n        documentation. (OpenXR-SDK-Source PR 284)\n    -   Loader doc: Use nativeLibraryDir (property, part of API) instead\n        of getNativeLibraryDir() (function generated by wrapping\n        library) (OpenXR-SDK-Source PR 278)\n    -   Update vendored copy of jsoncpp from 1.8.4 to 1.9.5 for security\n        and other fixes. (internal MR 2168, OpenXR-SDK-Source issue 265,\n        internal issue 1582)\n    -   Update android-jni-wrappers to fix missing include.\n        (OpenXR-SDK-Source PR 280, OpenXR-SDK-Source issue 275, internal\n        issue 1616)\n    -   Update jnipp to fix crash on Android if app detaches thread from\n        JVM (e.g. on shutdown). (OpenXR-SDK-Source PR 280)\n    -   scripts: Populate ext_name in HandleData too, for use by\n        language wrapper generation scripts. (internal MR 2184)\n\nThis release replaces 1.0.21.\n"
    },
    {
      "commit": "a696e1bf1fd31075b95333f915aecdd350bd12e3",
      "tree": "de73ff96f84972a50c640ac46c14a7f30a371c41",
      "parents": [
        "80adfd9ace05be069bfd3cbfa87a64dbee0d0a02"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jan 11 23:58:04 2022"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jan 11 23:58:04 2022"
      },
      "message": "OpenXR SDK 1.0.21 (2022-01-10)\n\nThis release features a number of new extensions, as well as some\nsoftware updates and fixes, especially for Android. If you are using the\nbundled jsoncpp, this is also a security release as the bundled jsoncpp\nwas upgraded to incorporate security improvements from upstream.\n\n-   Registry\n    -   Add new XR_FB_render_model vendor extension. (internal MR 2117,\n        internal MR 2169)\n    -   Add new XR_HTC_facial_expression vendor extension. (internal MR\n        2120)\n    -   Add new XR_FB_keyboard_tracking vendor extension. (internal MR\n        2128)\n    -   Add new XR_EXT_uuid multi-vendor extension. (internal MR 2152)\n    -   Add new XR_FB_passthrough_keyboard_hands vendor extension.\n        (internal MR 2162)\n    -   Add new XR_HTC_vive_focus3_controller_interaction vendor\n        extension. (internal MR 2178)\n    -   Add new XR_ALMALENCE_digital_lens_control vendor extension.\n        (OpenXR-Docs PR 104, internal issue 1615)\n    -   Correct winding order for XR_MSFT_hand_tracking_mesh extension\n        to clockwise to match runtime behavior. (internal MR 2151)\n    -   Fix typos/naming convention errors in\n        XR_FB_hand_tracking_capsules: rename\n        XR_FB_HAND_TRACKING_CAPSULE_POINT_COUNT to\n        XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB and\n        XR_FB_HAND_TRACKING_CAPSULE_COUNT to\n        XR_HAND_TRACKING_CAPSULE_COUNT_FB, providing the old names as\n        compatibility aliases. (internal MR 1547, internal issue 1519)\n    -   Reserve vendor extensions 208 - 299 for Facebook. (internal MR\n        2158)\n    -   Reserve extension numbers for anticipated multi-vendor\n        extensions. (internal MR 2173)\n-   SDK\n    -   Android loader: Update vendored jnipp project, including\n        crash/exception fixes if an application manually attached or\n        detached a thread. (OpenXR-SDK-Source PR 286, OpenXR-SDK-Source\n        PR 285)\n    -   Docs: Fixed typo in docs. (OpenXR-SDK-Source PR 284)\n    -   Fix detection of std::filesystem options on GCC 11 and newer.\n        (OpenXR-SDK-Source PR 276, OpenXR-SDK-Source issue 260, internal\n        issue 1571)\n    -   Loader: Add ifdef guards around contents of Android-specific\n        files so all platforms may still glob all source files in\n        OpenXR-SDK to build the loader with a custom build system.\n        (OpenXR-SDK-Source PR 274)\n    -   Loader: Fixed incorrect return value when no broker is present\n        on Android but runtime defined via active_runtime.json.\n        (OpenXR-SDK-Source PR 284)\n    -   Loader: Added /system to the search path on Android as per\n        documentation. (OpenXR-SDK-Source PR 284)\n    -   Loader doc: Use nativeLibraryDir (property, part of API) instead\n        of getNativeLibraryDir() (function generated by wrapping\n        library) (OpenXR-SDK-Source PR 278)\n    -   Update vendored copy of jsoncpp from 1.8.4 to 1.9.5 for security\n        and other fixes. (internal MR 2168, OpenXR-SDK-Source issue 265,\n        internal issue 1582)\n    -   Update android-jni-wrappers to fix missing include.\n        (OpenXR-SDK-Source PR 280, OpenXR-SDK-Source issue 275, internal\n        issue 1616)\n    -   Update jnipp to fix crash on Android if app detaches thread from\n        JVM (e.g. on shutdown). (OpenXR-SDK-Source PR 280)\n    -   scripts: Populate ext_name in HandleData too, for use by\n        language wrapper generation scripts. (internal MR 2184)\n"
    },
    {
      "commit": "80adfd9ace05be069bfd3cbfa87a64dbee0d0a02",
      "tree": "3fd141dc0d2974a1d9945fe835394650abe4beb7",
      "parents": [
        "171dcb3c32a53eee4fb74195afc626cfce12e14b"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Oct 12 17:05:00 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Oct 12 17:05:00 2021"
      },
      "message": "Add Android files mistakenly excluded from export previously.\n"
    },
    {
      "commit": "171dcb3c32a53eee4fb74195afc626cfce12e14b",
      "tree": "773f4c0ecd4d74bc626ce25a3a541b199f22f1b5",
      "parents": [
        "6e0ca79dad30d160285c62a1e06aaff55343392a"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Mon Oct 04 22:28:34 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Mon Oct 04 22:28:34 2021"
      },
      "message": "OpenXR SDK 1.0.20 (2021-10-04)\n\nThis release includes a proposed cross-vendor OpenXR loader for Android,\nAndroid build system for hello_xr, and a number of new vendor\nextensions.\n\n-   Registry\n    -   Add new XR_HTCX_vive_tracker_interaction provisional vendor\n        extension. (internal MR 1983)\n    -   Add new XR_VARJO_marker_tracking vendor extension. (internal MR\n        2129)\n    -   Add new XR_FB_triangle_mesh vendor extension. (internal MR 2130)\n    -   Add new XR_FB_passthrough vendor extension. (internal MR 2130)\n    -   Reserve vendor extensions for Facebook. (internal MR 2131)\n    -   Reserve a vendor extension for Almalence. (OpenXR-Docs PR 99)\n    -   XR_FB_color_space: Fix XML markup to indicate that\n        XrSystemColorSpacePropertiesFB is chained to XrSystemProperties.\n        (internal MR 2143)\n-   SDK\n    -   Loader specification: Describe a cross-vendor loader for use on\n        Android. (internal MR 1949, internal issue 1425)\n    -   hello_xr: Add Android build system, using new cross-vendor\n        loader, and make some improvements/fixes. (internal MR 1949,\n        internal issue 1425)\n    -   loader: Implement cross-vendor loader for Android, with AAR\n        Prefab packaging. (internal MR 1949, internal issue 1425)\n"
    },
    {
      "commit": "6e0ca79dad30d160285c62a1e06aaff55343392a",
      "tree": "5159dcdb901f42843fa696090fa713c9b47dec1b",
      "parents": [
        "5c2b4d7151c26bad7a0cf9489a87a017bdcb0ed8"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Aug 24 17:05:21 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Aug 24 17:05:21 2021"
      },
      "message": "OpenXR SDK 1.0.19 (2021-08-24)\n\nThis release features a number of new or updated vendor extensions, as\nwell as some minor cleanups and bug fixes in the SDK.\n\n-   Registry\n    -   Add XR_SESSION_NOT_FOCUSED as a possible success return code to\n        xrApplyHapticFeedback and xrStopHapticFeedback. (internal MR\n        2106, internal issue 1270)\n    -   Add new XR_FB_hand_tracking_mesh vendor extension. (internal MR\n        2089)\n    -   Add new XR_FB_hand_tracking_capsules vendor extension. (internal\n        MR 2089)\n    -   Add new XR_FB_hand_tracking_aim vendor extension. (internal MR\n        2089)\n    -   Add version 1 of new XR_FB_space_warp vendor extension.\n        (internal MR 2115)\n    -   Register new Author ID for Almalence. (OpenXR-Docs PR 92,\n        OpenXR-Docs PR 93)\n    -   Update to version 2 of XR_VALVE_analog_threshold. (internal MR\n        2113)\n-   SDK\n    -   scripts: Some typing annotations and type-related cleanup found\n        by using type- aware Python editors. (internal MR 2100)\n    -   xr_linear.h: Fix bug in XrVector3f_Cross (internal MR 2111)\n"
    },
    {
      "commit": "5c2b4d7151c26bad7a0cf9489a87a017bdcb0ed8",
      "tree": "613cd59fed9e2c9f62691ce741253ae326ba1799",
      "parents": [
        "960c4a6aa8cc9f47e357c696b5377d817550bf88"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Aug 24 14:12:52 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Aug 24 14:12:52 2021"
      },
      "message": "ci: Be sure to specify Vulkan version\n"
    },
    {
      "commit": "960c4a6aa8cc9f47e357c696b5377d817550bf88",
      "tree": "091d6405e5c0448ca785c8ba95d13ea1a9fd6526",
      "parents": [
        "bf21ccb1007bb531b45d9978919a56ea5059c245"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Jul 31 17:59:21 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Jul 31 17:59:21 2021"
      },
      "message": "OpenXR SDK 1.0.18 (2021-07-30)\n\nThis release mostly adds new extensions. It also includes some fixes to\nthe included layers, as well as text in the loader documentation\ndescribing how runtimes can register themselves for manual selection.\nThis is not used by the loader itself and does not require any changes\nto the loader, but it may be useful to developer-focused supporting\nsoftware.\n\n-   Registry\n    -   Add ratified XR_KHR_swapchain_usage_input_attachment_bit Khronos\n        extension. (Promotion of\n        XR_MND_swapchain_usage_input_attachment_bit, which is now\n        deprecated.) (internal MR 2045)\n    -   Add new XR_FB_foveation, XR_FB_foveation_configuration, and\n        XR_FB_foveation_vulkan vendor extensions. (internal MR 2050)\n    -   Add additional extension dependencies to\n        XR_FB_swapchain_update_state. (internal MR 2072, internal issue\n        1572)\n    -   Add new XR_FB_composition_layer_secure_content vendor extension.\n        (internal MR 2075)\n    -   Add new XR_FB_composition_layer_alpha_blend vendor extension.\n        (internal MR 2078)\n    -   Add new XR_FB_composition_layer_image_layout vendor extension.\n        (internal MR 2090)\n    -   Add new XR_MSFT_spatial_anchor_persistence vendor extension.\n        (internal MR 2093)\n    -   Add some simple Schematron rules and a script to check the XML\n        registry against them. (internal MR 2103)\n    -   Register author ID and Reserve vendor extensions for Unity.\n        (internal MR 2105)\n    -   Reserve extension ID range 187-196 for LIV Inc. (internal MR\n        2102)\n-   SDK\n    -   Describe how runtimes may register themselves at installation\n        time for manual selection. (internal MR 2081, internal MR 2109,\n        internal issue 1574)\n    -   Include sRGB in list of supported swapchain texture formats for\n        the HelloXR OpenGLES plugin. (internal MR 2066)\n    -   layers: Refactor generated xrGetInstanceProcAddr implementations\n        to avoid deeply-nested if ... else blocks. (Some compilers have\n        limits we were nearing or hitting.) (internal MR 2050)\n    -   validation layer: Set default logging mode to stdout (“text”)\n        instead of none. (OpenXR-SDK-Source PR 262)\n    -   validation layer: Fix invalid struct type error message to show\n        the expected type instead of the actual type. (OpenXR-SDK-Source\n        PR 263)\n"
    },
    {
      "commit": "bf21ccb1007bb531b45d9978919a56ea5059c245",
      "tree": "395e7b78a2db33a0bc1c96d2be62441ab34e8419",
      "parents": [
        "2268122b1a2826b8772150cbcdb712b47b5cab1a"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 08 21:14:01 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 08 21:14:01 2021"
      },
      "message": "OpenXR SDK 1.0.17 (2021-06-08)\n\nThis release features an important fix to the loader for an\ninvalid-iterator bug introduced in 1.0.16. All developers shipping the\nloader are strongly encouraged to upgrade. It also includes a variety of\nnew vendor extensions.\n\n-   Registry\n    -   Add XR_MSFT_scene_understanding vendor extension. (internal MR\n        2032)\n    -   Add XR_MSFT_scene_understanding_serialization vendor extension.\n        (internal MR 2032)\n    -   Add XR_MSFT_composition_layer_reprojection vendor extension.\n        (internal MR 2033)\n    -   Add XR_OCULUS_audio_device_guid vendor extension. (internal MR\n        2053)\n    -   Add version 3 of XR_FB_swapchain_update_state vendor extension,\n        which splits platform and graphics API specific structs into\n        separate extensions. (internal MR 2059)\n    -   Apply formatting to registry XML by selectively committing\n        changes made by https://github.com/rpavlik/PrettyRegistryXml.\n        (internal MR 2070, OpenXR-SDK-Source/#256)\n    -   Enforce that all xrCreate functions must be able to return\n        XR_ERROR_LIMIT_REACHED and XR_ERROR_OUT_OF_MEMORY, and adjust\n        lists of error codes accordingly. (internal MR 2064)\n    -   Fix a usage of \u003e without escaping as an XML entity. (internal MR\n        2064)\n    -   Fix all cases of a success code (most often\n        XR_SESSION_LOSS_PENDING) appearing in the errorcodes attribute\n        of a command. (internal MR 2064, internal issue 1566)\n    -   Improve comments for several enum values. (internal MR 1982)\n    -   Perform some script clean-up and refactoring, including\n        selective type annotation and moving the Conventions abstract\n        base class to spec_tools. (internal MR 2064)\n    -   Sort return codes, with some general, popular codes made to be\n        early. Script sort_codes.py can be used to maintain this, though\n        it mangles other XML formatting, so use it with care.\n        https://github.com/rpavlik/PrettyRegistryXml can format, and\n        eventually sort return codes (currently sort order does not\n        match). (internal MR 2064, OpenXR-SDK-Source/#256)\n-   SDK\n    -   Loader: Fix iteration over explicit layer manifests.\n        (OpenXR-SDK-Source/#256)\n    -   validation layer: Don’t try to apply strlen to wchar_t-based\n        output buffers. (internal MR 2053)\n"
    },
    {
      "commit": "2268122b1a2826b8772150cbcdb712b47b5cab1a",
      "tree": "53e6de0eb8d10588dd5a92a5cdbb4d24f8a25c7f",
      "parents": [
        "2072fe9a93b57d0eb1ce93b68d6117925bf37c4d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue May 11 20:51:32 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue May 11 20:55:00 2021"
      },
      "message": "OpenXR SDK 1.0.16 (2021-05-11)\n\nThis release contains an update to define a new error code,\nXR_ERROR_RUNTIME_UNAVAILABLE, now returned by the loader at\nxrCreateInstance and xrEnumerateInstanceProperties when it cannot find\nor load a runtime for some reason. This should be more clear for\ndevelopers when encountering it, as well as helpful when troubleshooting\nerrors hit by users. (The previously-returned error was typically\nXR_ERROR_INSTANCE_LOST, which is confusing when returned when trying to\ncreate an instance.) This release also includes a new multi-vendor\nextension, a new vendor extension, and improved concurrency handling in\nthe loader, among smaller fixes.\n\n-   Registry\n    -   Add new XR_ERROR_RUNTIME_UNAVAILABLE error code, add\n        XR_ERROR_RUNTIME_UNAVAILABLE as a supported error code to\n        xrCreateInstance and xrEnumerateInstanceProperties, and remove\n        XR_ERROR_INSTANCE_LOST as a supported error code from\n        xrCreateInstance. (internal MR 2024, internal issue 1552,\n        OpenXR-SDK-Source/#177)\n    -   Add XR_EXT_hand_joint_motion_range multi-vendor extension.\n        (internal MR 1995)\n    -   Add XR_FB_swapchain_update_state vendor extension. (internal MR\n        1997)\n    -   Fix missing XR_ERROR_INSTANCE_LOST return codes for extension\n        functions in XR_EXT_performance_settings, XR_EXT_debug_utils,\n        XR_EXT_conformance_automation, and XR_EXT_thermal_query.\n        (internal MR 2023, OpenXR-Docs/#10, internal issue 1256)\n    -   Reserve extension 166 for working group use. (internal MR 2025)\n-   SDK\n    -   Loader: Change runtime part to return\n        XR_ERROR_RUNTIME_UNAVAILABLE when there is an error loading a\n        runtime. (internal MR 2024, internal issue 1552,\n        OpenXR-SDK-Source/#177)\n    -   Loader: Simplify in areas where code paths were dead. (internal\n        MR 2024)\n    -   Loader: Improved locking around a few areas of the loader that\n        aren’t robust against usual concurrent calls.\n        (OpenXR-SDK-Source/#252)\n    -   validation layer: Fix generated code when a protected extension\n        contains a base header type. (internal MR 1997)\n"
    },
    {
      "commit": "2072fe9a93b57d0eb1ce93b68d6117925bf37c4d",
      "tree": "c6d069eecb5b6afb1097c3d596f6f2b70e4a3a82",
      "parents": [
        "5900c51562769b03bea699dc0352cae56acb6419"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Apr 14 16:04:25 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Apr 14 16:04:25 2021"
      },
      "message": "OpenXR SDK 1.0.15 (2021-04-13)\n\nThe main SDK change in this release is that the OpenXR headers NO LONGER\nEXPOSE EXTENSION FUNCTION PROTOTYPES because extension functions are not\nexported by the loader. This should prevent some confusion during\ndevelopment without affecting code that correctly compiles and links\nwith older SDKs. Code that was compiled but not linked (for instance,\nthe automated tests of example source in the specification) and that\nwould not have successfully linked may have their defects highlighted by\nthis change, however. If you need those prototypes still available,\nthere is a preprocessor define that can re-enable them. The function\npointer definitions are always available.\n\nIn addition to that header change, this release contains three new\nvendor extensions plus an assortment of SDK fixes.\n\n-   Registry\n    -   Add XR_VARJO_foveated_rendering vendor extension. (internal MR\n        1981)\n    -   Add XR_VARJO_composition_layer_depth_test vendor extension.\n        (internal MR 1998)\n    -   Add XR_VARJO_environment_depth_estimation vendor extension.\n        (internal MR 1998)\n    -   Add uint16_t to openxr_platform_defines (and associated scripts)\n        so it may be used easily by extensions. (internal MR 2017)\n    -   Reserve extension 149 for working group use. (internal MR 1999)\n    -   Reserve extension numbers 150 to 155 for ULTRALEAP extensions\n        (internal MR 2006)\n    -   Reserve extension numbers 156-165 for Facebook. (internal MR\n        2018)\n-   SDK\n    -   Hide prototypes for extension functions unless explicitly\n        requested by defining XR_EXTENSION_PROTOTYPES. These functions\n        are not exported from the loader, so having their prototypes\n        available is confusing and leads to link errors, etc.\n        (OpenXR-SDK-Source/#251, OpenXR-SDK-Source/#174, internal issue\n        1554, internal issue 1338)\n    -   Also list API layers in list tool. (internal MR 1991)\n    -   Ensure we expose the OpenXR headers in the build-time interface\n        of the loader, as well as the install-time interface, for use\n        with FetchContent.cmake. (OpenXR-SDK-Source/#242,\n        OpenXR-SDK-Source/#195, internal issue 1409)\n    -   Improve BUILDING.md, including adding details on how to specify\n        architecture for VS2019. (OpenXR-SDK-Source/#245,\n        OpenXR-SDK-Source/#253)\n    -   Loader: Fix loader failing to load on Windows 7 due to pathcch\n        dependency. (OpenXR-SDK-Source/#239, OpenXR-SDK-Source/#214,\n        internal issue 1471, OpenXR-SDK-Source/#236, internal issue\n        1519)\n    -   Loader: Fix conflicting filename in openxr_loader.def causing a\n        linker warning when building debug for Windows.\n        (OpenXR-SDK-Source/#246)\n    -   Update cgenerator.py to generate header comments in openxr.h to\n        show when a struct extends another struct (internal MR 2005)\n    -   hello_xr: Check for shaderStorageImageMultisample feature in\n        Vulkan plugin before using it. (OpenXR-SDK-Source/#234,\n        OpenXR-SDK-Source/#233, internal issue 1518)\n    -   hello_xr: Make sure common.h includes the reflection header that\n        it uses. (OpenXR-SDK-Source/#247)\n    -   layers: Revise documentation, re-formatting and updating to\n        refer to real functions and URLs. (internal MR 2012)\n    -   loader: Check the instance handle passed to\n        xrGetInstanceProcAddr. (internal MR 1980)\n    -   loader: Fix building OpenXR-SDK with CMake’s multi-config Ninja\n        generator. (OpenXR-SDK-Source/#249, OpenXR-SDK-Source/#231)\n    -   openxr_reflection.h: Make reproducible/deterministic by sorting\n        protection defines in the script. (internal MR 1993, internal\n        issue 1424)\n    -   xr_dependencies (shared utility): Include unknwn.h on Windows,\n        even without D3D enabled. (OpenXR-SDK-Source/#250,\n        OpenXR-SDK-Source/#237)\n"
    },
    {
      "commit": "5900c51562769b03bea699dc0352cae56acb6419",
      "tree": "2bf4cb830cd066f98c2c5daeed51d80f1a4b1c99",
      "parents": [
        "5197afbf199c026eca82a47a8573ed10b0c6fa4e"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jan 28 15:54:10 2021"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jan 28 15:54:10 2021"
      },
      "message": "OpenXR SDK 1.0.14 (2021-01-27)\n\nThis release contains a collection of fixes and improvements, including\none new vendor extension. Notably, we have relicensed all files that\nbecome part of the loader, so the loader may be “Apache-2.0 OR MIT” for\ndownstream license compatibility.\n\n-   Registry\n    -   Add new XR_FB_android_surface_swapchain_create vendor extension.\n        (internal MR 1939, internal issue 1493, internal MR 1968)\n    -   Add missing optional attributes to XR_KHR_vulkan_enable2\n        structs. Fixes validation layer. (OpenXR-Docs/#72)\n    -   Correction to locationFlags field in XrHandJointLocationEXT to\n        be optional. (internal MR 1945)\n    -   Reserve vendor extensions for Varjo. (internal MR 1935)\n    -   Reserve vendor extensions for Magic Leap. (internal MR 1967,\n        internal MR 1970)\n    -   Reserve extension number 143 to 148 for MSFT extensions.\n        (internal MR 1969)\n    -   Update Magic Leap ID and contact information. (internal MR 1967)\n-   SDK\n    -   Add ./ to the start of the library name in API layer manifests\n        on Windows, so they are treated as a relative path. (internal MR\n        1975)\n    -   Fix searching for prerequisites in generated CMake config files.\n        (internal MR 1963)\n    -   Start shipping the OpenXR API layers with the release artifacts.\n        (internal MR 1975)\n    -   cmake: Debug library uses d suffix on Windows. CMake\n        OPENXR_DEBUG_POSTFIX variable can be set to something else to\n        change it. (OpenXR-SDK-Source/#229)\n    -   hello_xr: Remove redundant call to xrInitializeLoaderKHR.\n        (internal MR 1933)\n    -   hello_xr: Return supported sample count as 1 for GLES, GL and\n        D3D11. (internal MR 1962)\n    -   hello_xr: Use android.app.NativeActivity correctly in place of\n        NativeActivity subclass. (internal MR 1976)\n    -   hello_xr: On Vulkan, explicitly add surface extensions for\n        mirror window. (OpenXR-SDK-Source/#230, internal MR 1934)\n    -   loader: Relicense all files that become part of the loader, so\n        the loader may be “Apache-2.0 OR MIT” for downstream license\n        compatibility. (internal MR 1937, internal issue 1449,\n        OpenXR-SDK-Source/#205)\n    -   loader: Protect against the application overriding loader\n        symbols. (internal MR 1961)\n    -   loader: Handle JSON files in the search path that are not\n        objects. (internal MR 1979)\n"
    },
    {
      "commit": "5197afbf199c026eca82a47a8573ed10b0c6fa4e",
      "tree": "99596cf1b575571506a9210c8e2364feb3f767e9",
      "parents": [
        "91a8a8d9d70f4b469bca0726122c3b5a6096010e"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Nov 24 19:58:39 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Nov 24 19:58:39 2020"
      },
      "message": "OpenXR SDK 1.0.13 (2020-11-24)\n\nThe SDK in this release features some fixes to the loader’s layer\nparsing: upgrading is recommended. The hello_xr example has also been\nimproved. The registry for this release features a new ratified Khronos\nextension which will serve as the basis of other extensions, as well as\na number of new vendor extensions.\n\n-   Registry\n    -   Add XR_HTC_vive_cosmos_controller_interaction vendor extension.\n        (internal MR 1907)\n    -   Add XR_FB_display_refresh_rate vendor extension. (internal MR\n        1909)\n    -   Add XR_MSFT_perception_anchor_interop vendor extension.\n        (internal MR 1929)\n    -   Added ratified KHR_binding_modifications Khronos extension.\n        (internal MR 1878, internal issue 1413)\n    -   Reserve vendor extensions for HTC. (internal MR 1907)\n    -   Reserve vendor extension numbers 109-120 for Facebook\n        extensions. (internal MR 1913)\n-   SDK\n    -   Fix build errors under mingw-w64. (OpenXR-SDK-Source/#212)\n    -   Include PDB symbols to go along with the openxr_loader.dll\n        Windows artifacts. (OpenXR-SDK-Source/#225)\n    -   XrMatrix4x4f_CreateProjection: Explicitly define matrix values\n        as floats. Prevents potential division by zero.\n        (OpenXR-SDK-Source/#219)\n    -   build: Normalize how we detect and utilize threading libraries\n        in the build process. (internal MR 1910)\n    -   build: Search for OpenGL ES and other things needed on Android.\n        (internal MR 1910)\n    -   build: Normalize how we detect and utilize Vulkan in the build\n        process. (internal MR 1910)\n    -   build/ci: Have Windows loader artifacts organize themselves by\n        architecture/platform, and bundle the CMake config files and a\n        “meta” CMake config. (OpenXR-SDK-Source/#224,\n        OpenXR-SDK-Source/#185)\n    -   documentation: Make API Layer manifest example for\n        “disable_environment” and “enable_environment” match the loader\n        behavior (internal MR 1917, OpenXR-SDK-Source/#213)\n    -   hello_xr: Don’t use subaction paths for quit_session action,\n        it’s unnecessary. (internal MR 1898)\n    -   hello_xr: Add initial build system support for building for\n        Android. (No gradle support yet.) (internal MR 1910)\n    -   hello_xr: Call xrInitializeLoaderKHR and dynamically load\n        openxr_loader on Android. (internal MR 1910)\n    -   hello_xr: Fix printing of action bindings and make it prettier.\n        (internal MR 1914)\n    -   hello_xr: Fix break on Oculus Quest. (internal MR 1921)\n    -   hello_xr: The D3D12 and Vulkan graphics plugins sometimes did\n        not update their swapchain image context maps due to rare key\n        collisions. (OpenXR-SDK-Source/#217)\n    -   loader: Stub in some preliminary code for Android loader\n        support - not a complete port. (internal MR 1910)\n    -   loader: Add Android logcat logger. (internal MR 1910)\n    -   loader: Fix parsing of XR_ENABLE_API_LAYERS environment variable\n        (internal MR 1912)\n    -   loader: Fix issues around xrInitializeLoaderKHR. (internal MR\n        1922)\n    -   loader: Replace #if _WIN32 with #ifdef _WIN32.\n        (OpenXR-SDK-Source/#215)\n"
    },
    {
      "commit": "91a8a8d9d70f4b469bca0726122c3b5a6096010e",
      "tree": "c4a86f9bc2f360265999274a915e69c634d63085",
      "parents": [
        "e3a4e41d61544d8e2eba73f00da99b6818ec472b"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Sep 26 02:21:44 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Sep 26 02:25:15 2020"
      },
      "message": "OpenXR SDK 1.0.12 (2020-09-25)\n\nThis release features a number of new ratified KHR extensions, as well\nas a new vendor extension.\n\n-   Registry\n    -   Add ratified XR_KHR_vulkan_enable2 Khronos extension. (internal\n        MR 1627, internal issue 1249, internal issue 1283, internal MR\n        1863)\n    -   Add ratified XR_KHR_loader_init Khronos extension. (internal MR\n        1744)\n    -   Add ratified XR_KHR_loader_init_android Khronos extension.\n        (internal MR 1744)\n    -   Add ratified XR_KHR_composition_layer_equirect2 Khronos\n        extension. (internal MR 1746)\n    -   Add ratified XR_KHR_composition_layer_color_scale_bias Khronos\n        extension. (internal MR 1762)\n    -   Add XR_MSFT_controller_model extension. (internal MR 1832)\n    -   Add vendor tag LIV for LIV Inc. (internal MR 1896)\n    -   Fix structextends attribute of XrHandPoseTypeInfoMSFT.\n        (OpenXR-SDK-Source/#207)\n    -   schema: Update to permit aliases for commands and struct types.\n        (Already supported by tooling.) (internal MR 1627)\n-   SDK\n    -   cmake: fix openxr_loader target export when installing both\n        Release and Debug config on Windows. (OpenXR-SDK-Source/#206)\n    -   hello_xr: Support the new XR_KHR_vulkan_enable2 extension.\n        (internal MR 1627)\n    -   hello_xr: Use the XR_KHR_loader_init_android extension on\n        Android. (internal MR 1903)\n    -   layers: Fix ARM builds by re-adding function attributes.\n        (OpenXR-SDK-Source/#193)\n-   Misc\n    -   Clean up trailing whitespace, byte-order marks, anda ensure\n        trailing newlines. (OpenXR-SDK-Source/#208)\n"
    },
    {
      "commit": "e3a4e41d61544d8e2eba73f00da99b6818ec472b",
      "tree": "baf0b1d8a7db38d608e81940c77761d8380a5ab8",
      "parents": [
        "dd8662498f6e4094b6928c3a3b073d3036b7198a"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Aug 14 22:01:51 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Aug 14 22:01:51 2020"
      },
      "message": "OpenXR SDK 1.0.11 (2020-08-14)\n\nThis release is mainly for SDK improvements, with only small changes to\nthe docs. A new error code is provided for xrCreateSession for\ndevelopers convenience.\n\n-   Registry\n    -   Register ULTRALEAP author ID for Ultraleap. (internal MR 1877)\n    -   Reserve the extension number 98 to 101 for future MSFT\n        extensions. (internal MR 1879)\n    -   schema: Distinguish parentstruct and structextends attributes in\n        comments. (internal MR 1881, OpenXR-Docs/#51, internal issue\n        1396)\n    -   Add a new result code,\n        XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING, for runtimes to\n        return if xrBeginSession is called before calling one of the\n        xrGetGraphicsRequirements calls. (internal MR 1882,\n        OpenXR-Docs/#53, internal issue 1397)\n-   SDK\n    -   Improve language usage in code and comments to be more\n        respectful. (internal MR 1881)\n    -   Loader: Correct type of “extension_version” in API layer\n        manifest files to string, while maintaining backwards\n        compatibility. Remove undocumented and unused\n        “device_extensions” and “entrypoints” keys. (internal MR 1867,\n        internal issue 1411)\n    -   Replace usage of std::filesystem::canonical with\n        PathCchCanonicalize on Windows platform to work around bug on\n        UWP platforms. This also replaces PathCanonicalize with\n        PathCchCanonicalize and adds the appropriate library for linking\n        in. (OpenXR-SDK-Source/#198)\n    -   Support for building more projects when targeting UWP, and\n        support for all architectures when targeting Win32.\n        (OpenXR-SDK-Source/#199)\n    -   hello_xr: fix Vulkan image layout transitions. (internal MR\n        1876)\n    -   validation: Enable three additional checks (on optional arrays\n        with non- optional counts) that were missing because of a script\n        error. (internal MR 1881)\n"
    },
    {
      "commit": "dd8662498f6e4094b6928c3a3b073d3036b7198a",
      "tree": "981803d1653d5587fe40f7ef38c175882b07616b",
      "parents": [
        "f7fe245f685104c4163fdcaf08ec4335587d25bd"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 28 22:29:51 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 28 22:29:51 2020"
      },
      "message": "Update gitignore.\n"
    },
    {
      "commit": "f7fe245f685104c4163fdcaf08ec4335587d25bd",
      "tree": "b887000f8a38cb3e4c8e1a81394c86ed5f32c0c2",
      "parents": [
        "2ca461bd70da91a8aaf18da6ec70b37376f1b4be"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 28 22:29:44 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 28 22:29:44 2020"
      },
      "message": "Fix error in changelog for 1.0.10\n"
    },
    {
      "commit": "2ca461bd70da91a8aaf18da6ec70b37376f1b4be",
      "tree": "894c3ed9f82957d980bf302793827b28bebd40cb",
      "parents": [
        "97cfe495bb7a3853266b646d1c79e169387f9c7a"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 28 19:58:41 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 28 19:58:41 2020"
      },
      "message": "OpenXR SDK 1.0.10 (2020-07-28)\n\nNote the relicensing of the registry XML file and some include files\nprovided by or generated by this repository (first item in each\nchangelog section). Each file’s header, or an adjacent file with\n.license appended to the filename, is the best reference for its license\nterms. We are currently working on ensuring all files have an SPDX\nlicense identifier tag either in them or in an adjacent file. This is\nstill in progress but mostly complete.\n\n-   Registry\n    -   Relicense registry XML from MIT-like “Khronos Free Use License\n        for Software and Documentation” to, at your option, either the\n        Apache License, Version 2.0, found at\n        http://www.apache.org/licenses/LICENSE-2.0, or the MIT License,\n        found at http://opensource.org/licenses/MIT, for broader license\n        compatibility with downstream projects. (SPDX License Identifier\n        expression “Apache-2.0 OR MIT”) (internal MR 1814,\n        OpenXR-Docs/#3, internal issue 958)\n    -   Add XR_MSFT_holographic_window_attachment vendor extension.\n        (internal MR 1833)\n    -   Add XR_EXT_hp_mixed_reality_controller multi-vendor extension.\n        (internal MR 1834)\n    -   Add XR_EXT_samsung_odyssey_controller multi-vendor extension.\n        (internal MR 1835)\n    -   Add XR_VALVE_analog_threshold vendor extension. (internal MR\n        1859)\n    -   Add XR_MND_swapchain_input_attachment vendor extension.\n        (internal MR 1865)\n    -   Reserve extension numbers 71 to 78 for Facebook extensions.\n        (internal MR 1839)\n    -   Reserve extension numbers 79 to 88 for Valve extensions.\n        (internal MR 1842)\n    -   Reserve extension numbers 89 to 92 for Khronos extensions.\n        (internal MR 1844)\n    -   Reserve extension numbers 93 to 94 for\n        EXT_unbounded_reference_space and EXT_spatial_anchor. (internal\n        MR 1854)\n    -   XR_EPIC_view_configuration_fov: Fix recommendedFov incorrectly\n        being named recommendedMutableFov. This is a SOURCE-INCOMPATIBLE\n        CHANGE to a vendor extension. (internal MR 1812)\n    -   schema: Adjust to permit bitmask expansion in extensions,\n        already supported by toolchain thanks to Vulkan. (internal MR\n        1865)\n    -   scripts: Teach xml-consistency to handle bitmask values defined\n        in extensions. (internal MR 1865)\n-   SDK\n    -   Relicense generated headers openxr.h, openxr_platform.h,\n        openxr_reflection.h, and static header openxr_platform_defines.h\n        from the Apache License, version 2.0, to, at your option, either\n        the Apache License, Version 2.0, found at\n        http://www.apache.org/licenses/LICENSE-2.0, or the MIT License,\n        found at http://opensource.org/licenses/MIT, for broader license\n        compatibility with downstream projects. (SPDX License Identifier\n        expression “Apache-2.0 OR MIT”) (internal MR 1814,\n        OpenXR-Docs/#3, internal issue 958)\n    -   Loader: Fix loading relative runtime libraries on Linux.\n        (internal MR 1817)\n    -   Loader: Fix error on xrCreateInstance when explicitly trying to\n        enable an implicit API layer. (internal MR 1858)\n    -   Modify Azure DevOps build pipeline to automatically generate a\n        NuGet package. (OpenXR-SDK-Source/#196)\n    -   Partially revert build system changes related to detecting\n        Direct3D, to fix builds. (internal MR 1802)\n    -   Portability fixes, including checking for timespec_get before\n        enabling XR_USE_TIMESPEC. (internal MR 1804)\n    -   cmake: export OpenXRConfig.cmake during install. Two targets can\n        be imported by another CMake application: OpenXR::openxr_loader\n        and OpenXR::headers. (OpenXR-SDK-Source/#191,\n        OpenXR-SDK-Source/#185)\n    -   hello_xr: Fix disparity between swapchain and render pass sample\n        count in Vulkan in the case where implementation recommends a\n        value higher than one. (internal MR 1794)\n    -   hello_xr: Fix build on a minimal Linux install by ensuring we\n        check for all dependencies we use. We had missed checking for\n        xcb_glx. (internal MR 1799, internal issue 1360)\n    -   hello_xr: Fix a Vulkan crash on Windows related to the mirror\n        window. (internal MR 1823)\n    -   hello_xr: Use more proper linear formats (internal MR 1840)\n    -   hello_xr: Enable use of glslangValidator to compile shaders if\n        shaderc is not available. (internal MR 1857)\n    -   hello_xr: Fix verbose per-layer information. (internal MR 1866)\n    -   hello_xr: Add Valve Index Controller bindings. Also use trigger\n        value instead of squeeze click for grab action on Vive Wand\n        controller. (OpenXR-SDK-Source/#163)\n    -   openxr_reflection: Add XR_LIST_STRUCT_ expansion macros for\n        structure types, as well as XR_LIST_STRUCTURE_TYPES macro\n        associating types with XrStructureType values. (internal MR\n        1495)\n    -   openxr_reflection: Adds XR_LIST_EXTENSIONS() macro, which will\n        call your supplied macro name with the name and extension number\n        of all known extensions. (internal MR 1864)\n"
    },
    {
      "commit": "97cfe495bb7a3853266b646d1c79e169387f9c7a",
      "tree": "4d9d55fe0096f67d9a29b3bddf38f6a0f8623189",
      "parents": [
        "90aade7ebbc095da54bb438aa72ac07e77e385ba"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri May 29 22:06:05 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri May 29 22:06:05 2020"
      },
      "message": "OpenXR SDK 1.0.9 (2020-05-29)\n\n-   Registry\n    -   Add an author ID, and reserve a vendor extension for Huawei.\n        (OpenXR-Docs/#46)\n    -   Reserve vendor extensions for future LunarG overlay and input\n        focus functionality. (internal MR 1720)\n    -   Reserve vendor extensions for Microsoft. (internal MR 1723)\n    -   Add XR_EXT_hand_tracking multi-vendor extension. (internal MR\n        1554, internal issue 1266, internal issue 1267, internal issue\n        1268, internal issue 1269)\n    -   Add XR_HUAWEI_controller_interaction vendor extension.\n        (OpenXR-Docs/#47)\n    -   Add XR_MNDX_egl_enable provisional vendor extension.\n        (OpenXR-Docs/#48)\n    -   Add XR_MSFT_spatial_graph_bridge vendor extension. (internal MR\n        1730)\n    -   Add XR_MSFT_secondary_view_configuration and\n        XR_MSFT_first_person_observer vendor extensions. (internal MR\n        1731)\n    -   Add XR_MSFT_hand_mesh_tracking vendor extension. (internal MR\n        1736)\n    -   Fix missing space in XML definition of\n        XrSpatialAnchorCreateInfoMSFT. (internal MR 1742, internal issue\n        1351, OpenXR-SDK-Source/#187)\n    -   Update a number of contacts for author/vendor tags. (internal MR\n        1788, internal issue 1326)\n-   SDK\n    -   Replaced usage of the _DEBUG macro with NDEBUG. (internal MR\n        1756)\n    -   Allow disabling of std::filesystem usage via CMake, and detect\n        if it’s available and what its requirements are.\n        (OpenXR-SDK-Source/#192, OpenXR-SDK-Source/#188)\n    -   CI: Modifications to Azure DevOps build pipeline. Now builds UWP\n        loader DLLs in addition to Win32 loader DLLs. No longer builds\n        static loader libraries due to linkability concerns. Re-arranged\n        release artifact zip to distinguish architecture from 32-bit or\n        64-bit.\n    -   Loader: Replace global static initializers with functions that\n        return static locals. With this change, code that includes\n        OpenXR doesn’t have to page in this code and initialize these\n        during startup. (OpenXR-SDK-Source/#173)\n    -   Loader: Unload runtime when xrCreateInstance fails. (internal MR\n        1778)\n    -   Loader: Add “info”-level debug messages listing all the places\n        that we look for the OpenXR active runtime manifest.\n        (OpenXR-SDK-Source/#190)\n    -   Validation Layer: Fix crash in dereferencing a nullptr optional\n        array handle when the count \u003e 0. (internal MR 1709,\n        OpenXR-SDK-Source/#161, internal issue 1322)\n    -   Validation Layer: Fix static analysis error and possible loss of\n        validation error. (internal MR 1715, OpenXR-SDK-Source/#160,\n        internal issue 1321)\n    -   Validation Layer: Simplify some generated code, and minor\n        performance improvements. (OpenXR-SDK-Source/#176)\n    -   API Dump Layer: Fix crash in dereferencing a nullptr while\n        constructing a std::string. (internal MR 1712,\n        OpenXR-SDK-Source/#162, internal issue 1323)\n    -   hello_xr: Fix releasing a swapchain image with the incorrect\n        image layout. (internal MR 1755)\n    -   hello_xr: Prefer VK_LAYER_KHRONOS_validation over\n        VK_LAYER_LUNARG_standard_validation when available. (internal MR\n        1755)\n    -   hello_xr: Optimizations to D3D12 plugin to avoid GPU pipeline\n        stall. (internal MR 1770) (OpenXR-SDK-Source/#175)\n    -   hello_xr: Fix build with Vulkan headers 1.2.136.\n        (OpenXR-SDK-Source/#181, OpenXR-SDK-Source/#180, internal issue\n        1347)\n    -   hello_xr: Fix build with Visual Studio 16.6.\n        (OpenXR-SDK-Source/#186, OpenXR-SDK-Source/#184)\n"
    },
    {
      "commit": "90aade7ebbc095da54bb438aa72ac07e77e385ba",
      "tree": "f06f16a2405b4a7d715200ee2b66fa0d12f2ed5a",
      "parents": [
        "5b6a83f153e4170d9f3e013be87c370e8bab1e55"
      ],
      "author": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu May 07 15:11:34 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 15:11:34 2020"
      },
      "message": "Create OpenXR-SDK-readonly.yml"
    },
    {
      "commit": "5b6a83f153e4170d9f3e013be87c370e8bab1e55",
      "tree": "07116d2afaf3335df738c786ee2dbea90aef94c7",
      "parents": [
        "08f491d23fd8805660e07990d621fb57079366b0"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Mar 28 02:16:26 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Mar 28 02:16:26 2020"
      },
      "message": "OpenXR SDK 1.0.8 (2020-03-27)\n\nPatch release for the 1.0 series.\n\n-   Registry\n    -   XR_EXTX_overlay: upgrade overlay bit names to match the\n        convention, and increase extension version number. This is a\n        SOURCE-INCOMPATIBLE CHANGE to a provisional multi-vendor\n        extension. (internal MR 1697, internal issue 1318, internal\n        issue 42, internal MR 171)\n    -   Introduce XR_EXT_eye_gaze_interaction extension for eye gaze\n        interaction profile. (internal MR 1556)\n    -   Add SPDX license identifier tag to registry schema. (internal MR\n        1686)\n    -   Add missing error codes to xrCreateActionSet, xrCreateAction,\n        and xrGetInputSourceLocalizedName. (internal MR 1698)\n-   SDK\n    -   Add SPDX license identifier tags to nearly all (code) files,\n        including generated files. (internal MR 1686)\n    -   Fix build system behavior with MSVC building in Release mode:\n        only attempt to copy PDB files if they exist. (internal MR 1701)\n"
    },
    {
      "commit": "08f491d23fd8805660e07990d621fb57079366b0",
      "tree": "82c354c9ec1b62d744f8e727f43c7acb390eec7d",
      "parents": [
        "5292e57fda47561e672fba0a4b6e545c0f25dd8d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Mar 21 02:12:58 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Mar 21 02:12:58 2020"
      },
      "message": "OpenXR SDK 1.0.7 (2020-03-20)\nPatch release for the 1.0 series.\n\nNote: Changelogs are now being assembled with the help of the Proclamation tool, so the format has changed somewhat.\n\nRegistry\nIntroduce XR_MSFT_hand_interaction extension for hand interaction profile. (internal MR 1601)\nIntroduce XR_EPIC_view_configuration_fov extension for system field-of-view queries. (internal MR 1170)\nIndicate that xrBeginFrame returns XR_ERROR_CALL_ORDER_INVALID when not paired with a corresponding xrWaitFrame call. (internal MR 1673)\nUpdate the version number of XR_KHR_D3D12_enable extension. (internal MR 1681)\nIntroduce XR_EXTX_overlay extension for Overlay sessions (which can provide overlay composition layers). (internal MR 1665)\nSDK\nloader: Add linker export map/version script to avoid exporting implementation symbols from C++ on non-MSVC platforms. (internal MR 1641, OpenXR- SDK-Source/#159)\nAdd tracking and destruction of debug messengers in the loader. (internal MR 1668, OpenXR-SDK-Source/#29, internal issue 1284)\nFix issue in hello_xr breaking the build in certain limited conditions. (OpenXR-SDK-Source/#170)\nAdd initial (partial) Android support for hello_xr. (internal MR 1680)\nFix a mismatched type signature, breaking compiles of hello_xr in at least some Linux environments. (OpenXR-SDK-Source/#164, internal MR 166)\nExplicitly link in advapi32 for many of the APIs the loader uses on Windows, needed when building for ARM/ARM64 (non-UWP only). (internal MR 1664)\nRemove \"Dev Build\" string from loader resources and fix version. (internal MR 1664)\nAdd manual pages for openxr_runtime_list and hello_xr (based on their --help), and install in the standard location on non-Windows platforms. (OpenXR-SDK-Source/#169)\nSilence some noisy warnings in hello_xr and the layers. (OpenXR-SDK-Source/#165)\n"
    },
    {
      "commit": "5292e57fda47561e672fba0a4b6e545c0f25dd8d",
      "tree": "26686b1ac0673ebab625b3b927808fe5b4e4176b",
      "parents": [
        "76fa0cd57baa28477968df6f1ace1a1b047fb5e5"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Jan 25 03:56:20 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Jan 25 03:57:55 2020"
      },
      "message": "OpenXR 1.0.6 release (24-January-2020)\n\nPatch release for the 1.0 series.\n\nThis release contains, among other things, a substantial simplification and\ncleanup of the loader, which should fix a number of issues and also make it\nforward compatible with extensions newer than the loader itself. As a part of\nthis change, the loader itself now only supports a single `XrInstance` active at\na time per process. If you attempt to create a new instance while an existing\none remains (such as in the case of application code leaking an `XrInstance`\nhandle), the loader will now return `XR_ERROR_LIMIT_REACHED`.\n\n### GitHub Pull Requests\n\nThese had been integrated into the public repo incrementally.\n\n- hello_xr\n  - Initialize hand_scale to 1.0\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/pull/157\u003e\n  - Fix Vulkan CHECK_CBSTATE build under newer MSVC\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/pull/154\u003e\n  - Initialize hand_scale to 1.0 to still show controller cubes even if\n    grabAction not available on startup.\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/pull/157\u003e\n- Loader\n  - Single instance loader refactor with forward compatibility\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/pull/146\u003e (and internal\n    MRs 1599, 1621)\n  - Fix bug in loading API layers that could result in not loading an available\n    and enabled layer\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/pull/155\u003e\n- Build\n  - Clean up linking, build loader and layers with all available\n    platform/presentation support, fix pkg-config file, rename `runtime_list`\n    test executable to `openxr_runtime_list`\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/pull/149\u003e\n\n### Internal issues\n\n- Registry\n  - Fix typo in visibility mesh enum comment.\n  - Add `XR_EXT_win32_appcontainer_compatible` extension.\n- Scripts\n  - Fix comment typos.\n  - Sync scripts with Vulkan. (internal MR 1625)\n- Loader\n  - Allow use of `/` in paths in FileSysUtils on Windows.\n- Build\n  - Improve messages\n- hello_xr\n  - Add D3D12 graphics plugin (internal MR 1616)\n  - Fix comment typo.\n"
    },
    {
      "commit": "76fa0cd57baa28477968df6f1ace1a1b047fb5e5",
      "tree": "f9ce3b05a494cc961b6b48c3d1349d5e2d6fc796",
      "parents": [
        "ea2f14121448c2bf967754ac017c3ffca63614bb"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jan 15 18:00:15 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jan 15 18:00:15 2020"
      },
      "message": "Add missing rendered loader doc.\n"
    },
    {
      "commit": "ea2f14121448c2bf967754ac017c3ffca63614bb",
      "tree": "9dc35c8822947d35b78edacf48177a07ef2a28f5",
      "parents": [
        "9e97b73e7dd2bfc07745489d728f6a36665c648f"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jan 15 17:57:44 2020"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jan 15 17:57:44 2020"
      },
      "message": "Update gitignore to not ignore docs directory\n"
    },
    {
      "commit": "9e97b73e7dd2bfc07745489d728f6a36665c648f",
      "tree": "7605ece49b8a165cef25a68e1f80fd59abef0eb4",
      "parents": [
        "6d9736766e5e0b45559d7ff65b09c08bd2308b1d",
        "dd4ae461e6bac119a51f754552bbde7a12043f1a"
      ],
      "author": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:46:56 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 13 18:46:56 2019"
      },
      "message": "Merge pull request #3 from KhronosGroup/azure\n\nAzure"
    },
    {
      "commit": "dd4ae461e6bac119a51f754552bbde7a12043f1a",
      "tree": "7605ece49b8a165cef25a68e1f80fd59abef0eb4",
      "parents": [
        "e9aed07b00bb4cb1b10b3ad104f3131612e7cd19"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:36:48 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:36:48 2019"
      },
      "message": "Move vulkan version define.\n"
    },
    {
      "commit": "e9aed07b00bb4cb1b10b3ad104f3131612e7cd19",
      "tree": "260f2690f2900edb7a35d92a636caefdbdefee0e",
      "parents": [
        "8039452385ada99eb80b8a979a3362fae54320c7"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:35:27 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:35:27 2019"
      },
      "message": "azure: Show cmake version.\n"
    },
    {
      "commit": "8039452385ada99eb80b8a979a3362fae54320c7",
      "tree": "0615c759bc4582e8a0e375a508a9c19457760725",
      "parents": [
        "6d9736766e5e0b45559d7ff65b09c08bd2308b1d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:33:56 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 18:33:56 2019"
      },
      "message": "Add vulkan version.\n"
    },
    {
      "commit": "6d9736766e5e0b45559d7ff65b09c08bd2308b1d",
      "tree": "212ae2bebb34cfdc300d85ecaebee1d3d90caa4e",
      "parents": [
        "964b73cd3671b6d701367d4d62b47916ddb91b9f"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 17:53:01 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Dec 13 17:53:01 2019"
      },
      "message": "Add azure-pipelines\n"
    },
    {
      "commit": "964b73cd3671b6d701367d4d62b47916ddb91b9f",
      "tree": "fbaf36a128ad1438233d85badeef3574109d5414",
      "parents": [
        "7462cdaf3e115152f87ffb73a1c09c98b962e7c8"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Dec 07 04:14:07 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Dec 07 04:14:07 2019"
      },
      "message": "OpenXR 1.0.5 release (6-December-2019)\n\nPatch release for the 1.0 series.\n\nThis release primarily contains extension reservations and small specification\nclarifications/fixes.\n\n### GitHub Pull Requests\n\nThese had been integrated into the public repo incrementally.\n\n- Loader tests\n  - #147 - Small bugfix and output extension\n\n### Internal issues\n\n- Registry\n  - Reserve Microsoft extension numbers (Internal MR 1613)\n"
    },
    {
      "commit": "7462cdaf3e115152f87ffb73a1c09c98b962e7c8",
      "tree": "b452705c096f2c02c9337def78ab595c63352445",
      "parents": [
        "2bcc4fe291100728e7b78b91f0621961787a8c58"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Nov 22 23:08:36 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Nov 22 23:08:36 2019"
      },
      "message": "OpenXR 1.0.4 release (21-November-2019)\n\nPatch release for the 1.0 series.\n\nThis release includes some fixes, extensions, and a small build system change:\nthe build system is now configured to use C++14. No code changes in the loader\nor layers have yet taken place that require C++14. **Please file an issue** in\nOpenXR-SDK-Source if there is some deployment platform where you would be unable\nto use a loader making use of C++14 features.\n\n### GitHub Pull Requests\n\nThese had been integrated into the public repo incrementally.\n\n- General, Build, Other\n  - #141 - Support system libs better (permit system jsoncpp, etc. for easier\n    packaging)\n- hello_xr\n  - #144 - Fix hello_xr when running under Linux OpenGL X11\n- Registry\n  - Reserve a Monado EGL extension\n    \u003chttps://github.com/KhronosGroup/OpenXR-Docs/pull/39\u003e\n\n### Internal issues\n\n- General, Build, Other\n  - Switch C++ standard version to C++14 (internal MR 1602)\n  - Remove unused/unneeded files (internal MR 1609)\n- Loader\n  - Fix typo in parameter/member names (internal MR 1607, internal issue 1233)\n  - Fix deprecated usage of JsonCpp (internal MR 1604, internal issue 1212)\n- hello_xr\n  - Resolve misleading use of `xrLocateViews` before `xrWaitFrame` in helloXR\n    and spec (internal MR 1584, internal issue 1227, public issue\n    \u003chttps://github.com/KhronosGroup/OpenXR-SDK-Source/issues/134\u003e)\n- Registry\n  - Add `XR_EXT_conformance_automation` extension, for use **only** by\n    conformance testing (internal MR 1577, 1608)\n"
    },
    {
      "commit": "2bcc4fe291100728e7b78b91f0621961787a8c58",
      "tree": "908bf04812646ba58bb23b502253dae2ce3a278d",
      "parents": [
        "69bb1508eae5b3c5be149d3518e772443db6a077"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Oct 08 01:43:28 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Oct 08 01:43:28 2019"
      },
      "message": "OpenXR 1.0.3 release (7-October-2019)\n\nPatch release for the 1.0 series.\n\nNote that this release includes changes to adjust the symbol exports from\ndynamic library versions of the loader to align with the specification. Only\n**core** symbols are currently exported. All extension symbols must be retrieved\nusing `xrGetInstanceProcAddr`.\n\n### GitHub Pull Requests\n\nThese had been integrated into the public repo incrementally.\n\n- General, Build, Other\n  - #139 - Write output atomically at the end of generator scripts\n  - #119 - Loader test updates.\n  - #116 - Static analysis cleanups.\n- Loader\n  - #140 - Permit broader valid usage re: layers\n  - #133 - Remove shwapi dependency\n  - #132 - Fix directory searching for layers\n  - #130 - Fix exporting of symbols on Windows.\n  - #129 - Remove debug ext only when added by loader - fixes usage of debug ext\n    on runtimes that do not provide it themselves.\n  - #125 - Include a `OutputDebugString` logger for Win32\n- Layers\n  - #138 - Don\u0027t validate output enum buffer values\n  - #137 - Fix incorrect filenames in the generated API layer JSON\n\n### Internal issues\n\n- General, Build, Other\n  - Fix warnings in MSVC static code analysis mode (internal MR 1574)\n  - Validation layer improvements and fixes (internal MR 1568)\n  - Update vendored jsoncpp to 1.9.1 (internal MR 1523)\n- Loader\n  - Add ability to quiet the loader\u0027s default output (internal MR 1576)\n  - Fix conformance of loader in `xrEnumerateApiLayerProperties`/`xrEnumerateInstanceExtensionProperties`\n- hello_xr\n  - Simplify action usage in hello_xr (internal MR 1553)\n- Registry\n  - Add `XR_EXT_view_configuration_depth_range` extension (internal MR 1502, internal issue 1201)\n  - Reserve a Monado extension (internal MR 1541)\n"
    },
    {
      "commit": "69bb1508eae5b3c5be149d3518e772443db6a077",
      "tree": "8e3cdf12cfaa48849190d180488ca15c17360bb2",
      "parents": [
        "46d7cb392019e934e2944bdd317be8ed5176b3f2"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Aug 27 20:53:05 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Aug 27 20:53:05 2019"
      },
      "message": "OpenXR 1.0.2 release (27-August-2019)\n\nPatch release for the 1.0 series.\n\nNote that the loader on Windows has a **security fix**: All developers incorporating\nthe OpenXR loader should update immediately.\n\n### GitHub Pull Requests\n\nThese had been integrated into the public repo incrementally.\n\n- General, Build, Other\n  - #112 - Update active runtime search documentation\n  - #106 - List app changes\n  - #114 - Support for building WindowsStore loader and layers, and simplified filename\n  - #96 - Misc cleanup: build simplification, install hello_xr,\n    allow building as subproject, fix null deref in validation layer.\n- Loader\n  - #102 - Default to catching exceptions, since not being able to catch\n    (and having a non-throwing standard library) is less common\n  - #109 - Factor out some debug-utils related code from the loader,\n    and migrate validation layer to that shared code.\n  - #108 - Update json_stream initialization to improve compatibility\n  - #118 - Fix logic error in Linux active runtime search\n  - #115, #117 - Simplification and refactoring.\n- Layers\n  - #111 - Some fixes to Validation Layer (as found applying to the UE4 OpenXR plugin)\n  - #110 - Fix cleaning up session labels in validation layer\n- From OpenXR-Docs:\n  - #26 - Proposal for unbounded space and spatial anchor extensions (vendor extensions)\n\n### Internal issues\n\n- General, Build, Other\n  - Allow project to be included in a parent project. (Internal MR 1512)\n- hello_xr\n  - Fix OpenGL version number to be XrVersion. (Internal MR 1515)\n  - Make D3D11 debug device handling more friendly. (Internal MR 1504)\n- Registry\n  - Fix error in extension-added function. (Internal MR 1510)\n  - Add Oculus Android extension. (Internal MR 1518)\n  - Reserve additional extension number for Oculus. (Internal MR 1517)\n- Loader\n  - **Security fix**: Do not use HKEY_CURRENT_USER or environment variables when\n    running as a medium-integrity process or higher on Windows.\n    (Internal issue 1205, internal MR 1511)\n  - Small updates to the loader documentation.\n\n### New extension\n\n- `XR_OCULUS_android_session_state_enable`\n"
    },
    {
      "commit": "46d7cb392019e934e2944bdd317be8ed5176b3f2",
      "tree": "83a24e5e42a907a3bdbb942abd2ba57ecc687148",
      "parents": [
        "9bc921f4e450ff32bc1b545aa92b07b1204ae078"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Aug 03 00:26:52 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Sat Aug 03 00:26:52 2019"
      },
      "message": "OpenXR 1.0.1 release (2-August-2019)\n\nPatch release for the 1.0 series.\n\n### GitHub Pull Requests\n\nThese had been integrated into the public repo incrementally.\n\n- General, Build, Other\n  - #87 - Fix makefiles\n  - #88 - Remove unneeded generation (corresponds to issue #74, internal issue 1139, internal MR 1491)\n  - #101 - Fix install of header and loader.\n- Loader\n  - #91 - Fix a loader bug which prevented Layers from not implementing all XR functions\n  - #95 - Guard config includes/defines (relates to #81, #92)\n  - #97 - Remove a constant static std::vector, use a std::array instead.\n- From OpenXR-Docs:\n  - #26 - Proposal for unbounded space and spatial anchor extensions (vendor extensions)\n\n### Internal issues\n\n- General, Build, Other\n  - Makefile cleanups (internal MR 1469, 1489)\n  - Add release scripts (internal MR 1496)\n- Registry\n  - Reserve Oculus extension numbers (internal MR 1493)\n  - Add Monado headless (vendor extension) (internal MR 1482)\n- Loader\n  - Remove unnecessary `#ifdef _WIN32` in loader. (internal MR 1487)\n\n### New extensions\n\n- `XR_MND_headless`\n- `XR_MSFT_spatial_anchor`\n- `XR_MSFT_unbounded_reference_space`\n"
    },
    {
      "commit": "9bc921f4e450ff32bc1b545aa92b07b1204ae078",
      "tree": "bd29727512bcdafc1f6f616745b2f4e97c01d997",
      "parents": [
        "9d9ae386adf791576a839ceb733cc577224b7985"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Mon Jul 29 13:05:30 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Mon Jul 29 13:13:44 2019"
      },
      "message": "Upload release 1.0.0 of the OpenXR loader and headers.\n"
    },
    {
      "commit": "9d9ae386adf791576a839ceb733cc577224b7985",
      "tree": "2b86ddc9f2ba116398b9d556f205653710f68183",
      "parents": [
        "97920543b1bee7402eeaf4b117411c48e377ffe2"
      ],
      "author": {
        "name": "Dave Houlton",
        "email": "daveh@lunarg.com",
        "time": "Thu Jul 25 23:17:29 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Sat Jul 27 03:21:33 2019"
      },
      "message": "Add folder properties to all targets\n"
    },
    {
      "commit": "97920543b1bee7402eeaf4b117411c48e377ffe2",
      "tree": "d83351e2af4e122bc5843f21ea99862203ea1737",
      "parents": [
        "182e1b5d09127b007fbbaba7963d79371b107c8f"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 16:05:11 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 16:05:11 2019"
      },
      "message": "Fix build\n"
    },
    {
      "commit": "182e1b5d09127b007fbbaba7963d79371b107c8f",
      "tree": "c25c1d84dc785b67dc49554c22fbd5edb06a8cd2",
      "parents": [
        "c0e3308d605690e01bcf1b8ac5a8a8305ce54eff",
        "5d6b62a636ce64bcc5ba7772dc8ac3400b611e8c"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 16:02:37 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 16:02:37 2019"
      },
      "message": "Merge branch \u0027clang-tidy-rb2\u0027 into clang-tidy-porting\n"
    },
    {
      "commit": "5d6b62a636ce64bcc5ba7772dc8ac3400b611e8c",
      "tree": "0074d6a9ef01354f3a69653b3eac162e06f2c842",
      "parents": [
        "15562acf65e2cbfb095a14a091ffadea4ada301e"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 16:34:10 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:47:42 2019"
      },
      "message": "loader generator: split out some common code\n"
    },
    {
      "commit": "15562acf65e2cbfb095a14a091ffadea4ada301e",
      "tree": "310736b16a3547b4ceb3fb6182aec622de692298",
      "parents": [
        "843b610654aab2444d1ea37c2467d0ebd44ca079"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 15:57:28 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:47:42 2019"
      },
      "message": "loader doc: Update create/destroy generated code.\n\nFixes #651\n(what\u0027s left of it anyway)\n"
    },
    {
      "commit": "843b610654aab2444d1ea37c2467d0ebd44ca079",
      "tree": "8ee5b587be0bb22e8b0bee116482c6633f629be4",
      "parents": [
        "ba1e3e2a5473cbb891810c24fdf8ba70d2e6a80c"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 15:31:55 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:47:42 2019"
      },
      "message": "loader: switch the few mismatched places to \"west const\" style.\n"
    },
    {
      "commit": "ba1e3e2a5473cbb891810c24fdf8ba70d2e6a80c",
      "tree": "538c53c9939d7d4c75161a3dffdae44ed51e6d51",
      "parents": [
        "1f2e0ac6bd08daa1b8b34053bc14a2ba38008f89"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 15:31:44 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:47:42 2019"
      },
      "message": "loader: Remove extraneous destructor overload\n"
    },
    {
      "commit": "1f2e0ac6bd08daa1b8b34053bc14a2ba38008f89",
      "tree": "d6fded7984f04a6f40ee040bb322686a53ccaf2d",
      "parents": [
        "7db3e9bce2028e17a4e119e402d0efa5c4cd91ac"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 15:31:29 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:47:42 2019"
      },
      "message": "loader: Remove a std::move that was a negligible performance gain on a cold path.\n\nFor clarity.\n"
    },
    {
      "commit": "7db3e9bce2028e17a4e119e402d0efa5c4cd91ac",
      "tree": "4839a297370ba336ed2c33c947e7f3e904348d9c",
      "parents": [
        "47f0aa8667bae8827c90e04754651bae64914948"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 23 19:00:43 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:43:07 2019"
      },
      "message": "loader: Remove outdated includes.\n"
    },
    {
      "commit": "47f0aa8667bae8827c90e04754651bae64914948",
      "tree": "f600090dfbe18d7580cccbcc63b64117fb93fed5",
      "parents": [
        "6fa589cca3113e5dbde0ddd3b5e83b0537aa3bd7"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 23 18:47:06 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:43:07 2019"
      },
      "message": "loader: Disable a clang-tidy warning\n"
    },
    {
      "commit": "6fa589cca3113e5dbde0ddd3b5e83b0537aa3bd7",
      "tree": "f7b99101b24460dcd0ac63d2f5d0bc2880db089a",
      "parents": [
        "afb2193cd99637f1655e9b7b524ba15775125541"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 23 18:45:19 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:43:07 2019"
      },
      "message": "loader: Fix a clang-tidy warning in generated code\n"
    },
    {
      "commit": "afb2193cd99637f1655e9b7b524ba15775125541",
      "tree": "1e12a535ad1131c7862ae0e47916d561b674795e",
      "parents": [
        "5061fe7ae943f76d2e2b9069d82af637dc95f427"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jul 23 18:32:45 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:43:07 2019"
      },
      "message": "loader: Undo one usage of \"auto\"\n"
    },
    {
      "commit": "5061fe7ae943f76d2e2b9069d82af637dc95f427",
      "tree": "1a46e00a2a63d300c10ef0a8dddfbf9d27084455",
      "parents": [
        "075e927ea894ccfdcb84e7c28ae58dcc1a43ebdd"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 19 20:02:50 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Fri Jul 26 15:43:07 2019"
      },
      "message": "Clang-format\n"
    },
    {
      "commit": "c0e3308d605690e01bcf1b8ac5a8a8305ce54eff",
      "tree": "5e17689ff5438c94096f24626d04201d1e84a025",
      "parents": [
        "150863a85dc4f1aacad775e7212aa5d87cd67194"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jul 25 13:56:09 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: Add error if catch is disabled but jsoncpp can throw.\n"
    },
    {
      "commit": "150863a85dc4f1aacad775e7212aa5d87cd67194",
      "tree": "112c8733471e2817eb1c25c209343432a16f03cf",
      "parents": [
        "5edc5f409d97c8aac8d9e24fd1bf50f369c68930"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 19:56:15 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: clang-format\n"
    },
    {
      "commit": "5edc5f409d97c8aac8d9e24fd1bf50f369c68930",
      "tree": "cd466bbd16fd27721ee4ffadcfa6305f6a8461bf",
      "parents": [
        "b4e5a106d661bd3357cd5f9e3e73fcfd80c7ec93"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 19:17:01 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: Optionally catch exceptions at ABI boundaries.\n"
    },
    {
      "commit": "b4e5a106d661bd3357cd5f9e3e73fcfd80c7ec93",
      "tree": "65cb269e13e8cdd6dc88a1ac400aadd220c3f8c5",
      "parents": [
        "affc3bb2cb4db76d9a0bce31a93a0eb18507a17c"
      ],
      "author": {
        "name": "Kevin Qin",
        "email": "zheqi@microsoft.com",
        "time": "Wed Jul 24 19:38:19 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "jsoncpp: Disable exceptions\n"
    },
    {
      "commit": "affc3bb2cb4db76d9a0bce31a93a0eb18507a17c",
      "tree": "57723643ab801175f9a9a18907f051c0be82fa9d",
      "parents": [
        "1516e39dfdeb512819a4624b7cc020c5d32e1374"
      ],
      "author": {
        "name": "Kevin Qin",
        "email": "zheqi@microsoft.com",
        "time": "Wed Jul 24 19:52:00 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: Remove all try-catch blocks\n"
    },
    {
      "commit": "1516e39dfdeb512819a4624b7cc020c5d32e1374",
      "tree": "d82b1f273bafada4cffdaf33ac3b413968facdcb",
      "parents": [
        "2336a13097fbf9541f699df318a5d74c7688cb33"
      ],
      "author": {
        "name": "Kevin Qin",
        "email": "zheqi@microsoft.com",
        "time": "Wed Jul 24 19:50:41 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: Replace explicit throws\n"
    },
    {
      "commit": "2336a13097fbf9541f699df318a5d74c7688cb33",
      "tree": "23fff79f836c0e481c2fc5f880514d82b2485c87",
      "parents": [
        "09f6f3b7458dcab28c4b164e134b6742e51b9c86"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 19:47:45 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: No else after return\n"
    },
    {
      "commit": "09f6f3b7458dcab28c4b164e134b6742e51b9c86",
      "tree": "20753c239ba9b4ddf53321d7415ce16da1659716",
      "parents": [
        "419a08fc70b6629e3e4c8ebc27993aa8e7c5e706"
      ],
      "author": {
        "name": "Kevin Qin",
        "email": "zheqi@microsoft.com",
        "time": "Fri Jun 28 00:18:25 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 25 18:26:39 2019"
      },
      "message": "loader: Adjust indent before removing all try-catch blocks\n"
    },
    {
      "commit": "075e927ea894ccfdcb84e7c28ae58dcc1a43ebdd",
      "tree": "616cb6459d83f5fa3a723cbd676061ab51f31cbb",
      "parents": [
        "8145f404efdabe23069be881742f745fc6cf074b"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jun 27 15:23:42 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:59:02 2019"
      },
      "message": "sdk: Apply changes suggested by include-what-you-use\n"
    },
    {
      "commit": "8145f404efdabe23069be881742f745fc6cf074b",
      "tree": "dc55e5d10b51197795bdb5ead305d447ff8aa937",
      "parents": [
        "1074fb6bbe2bff42fb3e1cd85f58ef13bd4a5f3b"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jun 27 16:34:06 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:51:57 2019"
      },
      "message": "api_dump: use emplace_back in generated code too\n"
    },
    {
      "commit": "1074fb6bbe2bff42fb3e1cd85f58ef13bd4a5f3b",
      "tree": "f5803820980f75abceca2a2ad6d5980ee096973a",
      "parents": [
        "ebc714282106c2dab68877c579caa5b97d7ce1e6"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 19:42:03 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:51:40 2019"
      },
      "message": "loader: Silence a clang-tidy warning and comment why.\n"
    },
    {
      "commit": "ebc714282106c2dab68877c579caa5b97d7ce1e6",
      "tree": "b89fd448ba839b916686e140df1c72e8245e3159",
      "parents": [
        "0b05f7f3d2677bf5bf3d802bb21c27c29dcd37b0"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 19:41:48 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:51:06 2019"
      },
      "message": "loader: Fix a potential use-after-free. Noticed by clang-tidy\n"
    },
    {
      "commit": "0b05f7f3d2677bf5bf3d802bb21c27c29dcd37b0",
      "tree": "6faa0050972867c596abdefb6ae53773d282f79a",
      "parents": [
        "8343a7c3421a92397fc48478cd322f156996942b"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 19:41:24 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:49:29 2019"
      },
      "message": "loader: Don\u0027t use static methods through an instance. Noticed by clang-tidy\n"
    },
    {
      "commit": "8343a7c3421a92397fc48478cd322f156996942b",
      "tree": "382b26d26f45aa0075a247c007215348cf0a47ae",
      "parents": [
        "6f9bf46ff6819b6c423699834e7374d5337bb61d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:55:25 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:48:57 2019"
      },
      "message": "validation: Use strncpy - noticed by clang-tidy\n"
    },
    {
      "commit": "6f9bf46ff6819b6c423699834e7374d5337bb61d",
      "tree": "dee9d64c09fef38aeacaedc62bf790563e4ad21a",
      "parents": [
        "d44500a41a006039749133338f380f0c9929226c"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:36:51 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:48:22 2019"
      },
      "message": "validation: clang-tidy-inspired cleanup\n"
    },
    {
      "commit": "d44500a41a006039749133338f380f0c9929226c",
      "tree": "4c56b57418ec4866dbf996cd3815c9ee4a1bb58f",
      "parents": [
        "2aa7cd04d61785fd1c54414b4c9ac0a3b5636d7d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:35:51 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:47:28 2019"
      },
      "message": "loader: clang-tidy-inspired cleanup\n"
    },
    {
      "commit": "2aa7cd04d61785fd1c54414b4c9ac0a3b5636d7d",
      "tree": "8673f1a0c5fdf05b9bfa058f7ee99b6b15d38505",
      "parents": [
        "edd01eac3cfdad02402973d3376dc7f3d24204af"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:35:36 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:45:49 2019"
      },
      "message": "loader: clang-tidy json cleanups that should be safe\n"
    },
    {
      "commit": "edd01eac3cfdad02402973d3376dc7f3d24204af",
      "tree": "870a3d68e319fc82d279e5b2fdebad7f602e86fe",
      "parents": [
        "3f9b38ed85df4750f4e07fe1022178cd8b9acb6e"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:45:43 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:45:43 2019"
      },
      "message": "loader: Port improvements from Gitlab\n"
    },
    {
      "commit": "419a08fc70b6629e3e4c8ebc27993aa8e7c5e706",
      "tree": "5bfb00b27920d717dcab7630171880bce510be15",
      "parents": [
        "4bea7d77b507f3261d1355d68c8f20eba6fff96d"
      ],
      "author": {
        "name": "Dave Houlton",
        "email": "daveh@lunarg.com",
        "time": "Wed Jul 24 20:45:30 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 24 20:45:30 2019"
      },
      "message": "Update Building.md\n\nCmake uses the traditional forward-slash, even on Win."
    },
    {
      "commit": "3f9b38ed85df4750f4e07fe1022178cd8b9acb6e",
      "tree": "fa801ea8575d9d59ee32117d69c480fe6e9c367e",
      "parents": [
        "86a31cc377922349c5af5b437ccd2e679d4165b2"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:45:20 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:45:20 2019"
      },
      "message": "sdk: formatting and spelling\n"
    },
    {
      "commit": "86a31cc377922349c5af5b437ccd2e679d4165b2",
      "tree": "dee4d6445dfeead4b478c851f2b894a228d75fbd",
      "parents": [
        "4bea7d77b507f3261d1355d68c8f20eba6fff96d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:32:13 2019"
      },
      "committer": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jul 24 20:44:52 2019"
      },
      "message": "sdk: Fairly uncontroversial clang-tidy changes\n"
    },
    {
      "commit": "4bea7d77b507f3261d1355d68c8f20eba6fff96d",
      "tree": "50b0fe599f57407d97a99ca154059b123c2ff0d4",
      "parents": [
        "6198a6eddfce6524e3925bef48148466c8d0b737"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jun 27 16:35:58 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 11 18:14:02 2019"
      },
      "message": "common: Make linux FileSysUtilsFindFilesInPath return false on error opening directory\n"
    },
    {
      "commit": "6198a6eddfce6524e3925bef48148466c8d0b737",
      "tree": "f1499153dd43fd3e5c5da68aad11a585d30d1748",
      "parents": [
        "cacdb5c3e916142ad232eec01c9eeb9092b06cd5"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:48:19 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 11 18:14:02 2019"
      },
      "message": "filesystem: Fix theoretical bug on Linux.\n\nWe\u0027d try to close even a null directory.\n\nFound by clang-tidy.\n"
    },
    {
      "commit": "cacdb5c3e916142ad232eec01c9eeb9092b06cd5",
      "tree": "3397d746d8e580162173371f9f0faacafddcfac5",
      "parents": [
        "e72a347b95a89bb00d7cecf76af7ccf338229a4d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:55:40 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jul 11 18:13:09 2019"
      },
      "message": "validation: Fix logic error\n"
    },
    {
      "commit": "e72a347b95a89bb00d7cecf76af7ccf338229a4d",
      "tree": "0ebf10fa0d162c17023f6dc9fc523025a32c219a",
      "parents": [
        "50907be7adb1387565a9dda7ef321ae607e3dca7"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jun 27 15:04:04 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "sdk: turn xr_utils.h into hex_and_handles.h/cpp to handle implementation more conventionally.\n"
    },
    {
      "commit": "50907be7adb1387565a9dda7ef321ae607e3dca7",
      "tree": "23be0dab4dc66895f68badf7d0a9be7bf58bd338",
      "parents": [
        "edff2808187934838d63c18f9a96336d630cc260"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Thu Jun 27 14:09:09 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "gitignore: Improve\n"
    },
    {
      "commit": "edff2808187934838d63c18f9a96336d630cc260",
      "tree": "9608906a446ffeab014a746f6798d13624ecc401",
      "parents": [
        "1cb3b693abe677cba85525e36d5bcdb4701c0e8e"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 19:07:00 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Don\u0027t error if handle appears to already exist, we aren\u0027t great yet at dealing with implied destruction.\n"
    },
    {
      "commit": "1cb3b693abe677cba85525e36d5bcdb4701c0e8e",
      "tree": "9327a9bed0d17a525e7918dbf3b5ffaa4f89bc44",
      "parents": [
        "921cdd7a321f01508818fe1b33a1495fd95c0969"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 18:47:31 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "validation: Simplify erase using new header\n"
    },
    {
      "commit": "921cdd7a321f01508818fe1b33a1495fd95c0969",
      "tree": "fbb49938998b2e4d2909b53d0ee13c52d3683ef7",
      "parents": [
        "7f62f3344e6e8d5450c50ff4f5f9c02568eefdff"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 19:04:36 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Add vector_remove_if_and_erase to extra algorithms and fix vector erase errors with it.\n"
    },
    {
      "commit": "7f62f3344e6e8d5450c50ff4f5f9c02568eefdff",
      "tree": "38349773143f08e27c391e0f49cdb65e1f67c534",
      "parents": [
        "56ecc8b8a92310827281580816a9ff9cedc92a41"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 17:56:09 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "src: Move map_erase_if to a shared extra_algorithms header\n"
    },
    {
      "commit": "56ecc8b8a92310827281580816a9ff9cedc92a41",
      "tree": "6c4da23938f4c80ea8f5c8267ddb9e1ff916c916",
      "parents": [
        "95082bf75a4e34cedd6a462774bf08ff3ff39f38"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 18:43:31 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "src: Simplify map_erase_if per code review.\n"
    },
    {
      "commit": "95082bf75a4e34cedd6a462774bf08ff3ff39f38",
      "tree": "5008acfd5fa268e344640b5cdce67c87cc067e2f",
      "parents": [
        "356235c84dc664efd2d0aee8b352991174464fe4"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 15:41:23 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "api_dump: Port to at least partial usage of xr_utils.\n"
    },
    {
      "commit": "356235c84dc664efd2d0aee8b352991174464fe4",
      "tree": "7d6038b425721810d73b345ace04bafc02ba21cc",
      "parents": [
        "2ed6b9b76fe987007482904a39855ad7dca45240"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 15:33:26 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "validation layer: Use xr_utils\n\nA few small one behavioral changes: nullptr is now output with 0x just like\neverything else, padding is correct, and the expected structure type\nvalue is now shown with its name and hex value, not just name.\n"
    },
    {
      "commit": "2ed6b9b76fe987007482904a39855ad7dca45240",
      "tree": "589550b30139ef14bb50a980fa2a2d64c53fe5eb",
      "parents": [
        "3ea0f006b386e6dac02dbb1b5d691c615c181de0"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 15:31:36 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader_test: Use xr_utils\n"
    },
    {
      "commit": "3ea0f006b386e6dac02dbb1b5d691c615c181de0",
      "tree": "10e4c05e5b22048ebae1e155cb5aa49bac553742",
      "parents": [
        "3918026e5cec3f39bb0b0f3b6f06ae1de919a019"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 14:51:46 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Don\u0027t reinterpret_cast handles on 32-bit: use the new common header.\n"
    },
    {
      "commit": "3918026e5cec3f39bb0b0f3b6f06ae1de919a019",
      "tree": "6c06f2b62cc030efd4be3eb06fb0876b99dba772",
      "parents": [
        "2cf49e3d8d0c91e8be951e4adae2d5317a254e8f"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Wed Jun 26 14:11:01 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "common: Create a header for generic handle-related things.\n\nThese are often needed in our utilities and layers,\nand are also the source of compatibility issues on 32-bit systems\nif development is mainly on 64-bit.\n"
    },
    {
      "commit": "2cf49e3d8d0c91e8be951e4adae2d5317a254e8f",
      "tree": "fd6b424ebea3bb036cc65ba7d00e65f7b5460e95",
      "parents": [
        "6740e68abaa54182154a3fd6742b76fb463a68ad"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:53:02 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Halve the amount of console output code.\n\nMerging the stdout and stderr recorders.\n"
    },
    {
      "commit": "6740e68abaa54182154a3fd6742b76fb463a68ad",
      "tree": "3aed7dc29bae5a91da45bdf9dfe3b57da9d2f663",
      "parents": [
        "cb817bd9ed530af351513724c55f547a201f62d4"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 20:21:08 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: more unique_ptr\n"
    },
    {
      "commit": "cb817bd9ed530af351513724c55f547a201f62d4",
      "tree": "8594e9a91159bf3605b5a59abffdc3971a6f1226",
      "parents": [
        "679068ef4798335e674370785f5f278f38046e0d"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 19:58:13 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Use unique_ptr in session label lists.\n"
    },
    {
      "commit": "679068ef4798335e674370785f5f278f38046e0d",
      "tree": "09c0ee39e79ea757ef6857170337b520bfadc1ac",
      "parents": [
        "80d12b97d88afa34a6f8f8c0d44ee5d4b5184832"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:33:48 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Split logger recorders into separate file.\n\nReduces API surface area\n"
    },
    {
      "commit": "80d12b97d88afa34a6f8f8c0d44ee5d4b5184832",
      "tree": "2b9ae9ab13e70cfa0e46b2d553111c4f06abe9ae",
      "parents": [
        "e41752fcde167c4341234b7b6a3ae0bbc0590376"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 20:47:01 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: improve remove log recorder\n"
    },
    {
      "commit": "e41752fcde167c4341234b7b6a3ae0bbc0590376",
      "tree": "bc281c5fa83c0ad3fb7e4e15d9b731d1b91415ad",
      "parents": [
        "0decec404aabe74bdfbfabec16bda3b749e2f6b6"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:32:41 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Simplify debug message handling\n"
    },
    {
      "commit": "0decec404aabe74bdfbfabec16bda3b749e2f6b6",
      "tree": "7c2fc0766cf6bd9574da3fd0c367913a783eeb88",
      "parents": [
        "1796546d46ffbdf7db8e8669e952e8370fa8110f"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:43:24 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Add another XrLoaderLogObjectInfo constructor from integers\n"
    },
    {
      "commit": "1796546d46ffbdf7db8e8669e952e8370fa8110f",
      "tree": "fbb2aee43e5139bb9cc41e9dcf45de6d3a871a9c",
      "parents": [
        "fc6819e4422c9d3403d01149772168d7a21aa633"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:43:10 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Clean up includes\n"
    },
    {
      "commit": "fc6819e4422c9d3403d01149772168d7a21aa633",
      "tree": "5dfc968d414c141ecebd1e8dfe295dbcc406354e",
      "parents": [
        "12321d4b1fd64becc3b36e6de4d6c580b4213d30"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:43:02 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Simplify conversion of XrLoaderLogObjectInfo to string\n"
    },
    {
      "commit": "12321d4b1fd64becc3b36e6de4d6c580b4213d30",
      "tree": "0886f520e229ba0464d48c1c8a36918de0e75746",
      "parents": [
        "aa7235007030ae3a5ee6171bcbc5b146da9309fa"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 22:42:06 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Extract LookUpSessionLabels\n"
    },
    {
      "commit": "aa7235007030ae3a5ee6171bcbc5b146da9309fa",
      "tree": "40fe4683172e45f99a5abc96c0f4fedcdd6090fe",
      "parents": [
        "b9535ff21647db94c47b5aac5b8233b785740006"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 18:57:13 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Simplify and clean up xr object handling in logger\n"
    },
    {
      "commit": "b9535ff21647db94c47b5aac5b8233b785740006",
      "tree": "a9bc06b96ead5483e4873b957f6c76f56d16a2b0",
      "parents": [
        "61a0c6ec5da49a8c335a28fb52c625bca4165ad8"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 18:53:53 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Fix error messages that were validation-related but not marked as such\n"
    },
    {
      "commit": "61a0c6ec5da49a8c335a28fb52c625bca4165ad8",
      "tree": "351baae8043fa362dc143ab2223aa745eb04a14a",
      "parents": [
        "8f220846248fd9372ae09dd6f099d80a89343cd9"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 17:22:28 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: reduce string concatenation.\n"
    },
    {
      "commit": "8f220846248fd9372ae09dd6f099d80a89343cd9",
      "tree": "2ac4b008be87234c20f560018b50bf21d8c7e777",
      "parents": [
        "0e591f2658299fa8b6caaf91ad3ade0c2bcffd6c"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 17:00:11 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Use move semantics on a whole vector at a time.\n"
    },
    {
      "commit": "0e591f2658299fa8b6caaf91ad3ade0c2bcffd6c",
      "tree": "2665ac2dc4d9427b8bf3d0cdbabb111c76f4c280",
      "parents": [
        "fa4c83aed10dc60242f4ae8519ab4a5745ee8975"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 16:59:45 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Fix warning\n"
    },
    {
      "commit": "fa4c83aed10dc60242f4ae8519ab4a5745ee8975",
      "tree": "af4422e882fd00c0bfc99d07de4052b63ac00511",
      "parents": [
        "afb7b679105878c086fd61e7558918ece0bf2ee4"
      ],
      "author": {
        "name": "Ryan Pavlik",
        "email": "ryan.pavlik@collabora.com",
        "time": "Tue Jun 25 16:48:20 2019"
      },
      "committer": {
        "name": "Ryan A. Pavlik",
        "email": "ryan.pavlik@gmail.com",
        "time": "Thu Jun 27 20:39:59 2019"
      },
      "message": "loader: Use a custom class for storing handle to loader instance map.\n\nSimilar to the related class in the validation layer.\n"
    }
  ],
  "next": "afb7b679105878c086fd61e7558918ece0bf2ee4"
}
