# Change Log
+## [24.03] - 2024-02-23
+
+### Build
+
+- Added support for Python 3.11.
+ (PR: [#2742](https://github.com/PixarAnimationStudios/OpenUSD/pull/2742))
+
+- Various fixes and changes to build_usd.py:
+ - Updated OpenSubdiv version to 3.6.0.
+ - --ignore-paths and --ignore-homebrew options added to command line to help
+ solve problems where CMake picks up unwanted sources for dependencies.
+ (PR: [#2873](https://github.com/PixarAnimationStudios/OpenUSD/pull/2873))
+
+- Builds on macOS now avoid hard-coding specific SDK versions for system library
+ dependencies.
+ (Issue: [#2771](https://github.com/PixarAnimationStudios/OpenUSD/issues/2771),
+ PR: [#2772](https://github.com/PixarAnimationStudios/OpenUSD/pull/2772))
+
+- Updated CMakeLists for usdImaging tools (usdrecord and usdBakeMtlx) to skip
+ building if GPU and/or OpenGL are unavailable.
+ (PR: [#2468](https://github.com/PixarAnimationStudios/OpenUSD/pull/2468))
+
+- CMake fixes to find OpenImageIO and OpenEXR when building for debug.
+ (PR: [#2079](https://github.com/PixarAnimationStudios/OpenUSD/pull/2079))
+
+- Made build of extras/imaging/examples conditional on PXR_BUILD_EXAMPLES.
+ (PR: [#2630](https://github.com/PixarAnimationStudios/OpenUSD/pull/2630))
+
+- Improved error message when uic is not found during the build.
+ (Issue: [#2582](https://github.com/PixarAnimationStudios/OpenUSD/issues/2582))
+
+### USD
+
+- Added support for Unicode identifiers. UTF-8 encoded characters may now be
+ used in prim, property, and variant names, and dictionary keys. Support for
+ serializing these identifiers has been added to the .usda and .usdc (crate)
+ file formats. Note that files containing UTF-8 identifiers are not
+ backwards-compatible with older versions of OpenUSD. See the
+ [proposals](https://github.com/PixarAnimationStudios/OpenUSD-proposals/tree/main/proposals/tf_utf8_identifiers)
+ page for more details.
+ (PR: [#2378](https://github.com/PixarAnimationStudios/OpenUSD/pull/2378),
+ [#2673](https://github.com/PixarAnimationStudios/OpenUSD/pull/2673),
+ [#2751](https://github.com/PixarAnimationStudios/OpenUSD/pull/2751),
+ [#2788](https://github.com/PixarAnimationStudios/OpenUSD/pull/2788),
+ [#2830](https://github.com/PixarAnimationStudios/OpenUSD/pull/2830),
+ [#2848](https://github.com/PixarAnimationStudios/OpenUSD/pull/2848),
+ [#2855](https://github.com/PixarAnimationStudios/OpenUSD/pull/2855),
+ [#2856](https://github.com/PixarAnimationStudios/OpenUSD/pull/2856),
+ [#2857](https://github.com/PixarAnimationStudios/OpenUSD/pull/2857),
+ [#2858](https://github.com/PixarAnimationStudios/OpenUSD/pull/2858),
+ [#2867](https://github.com/PixarAnimationStudios/OpenUSD/pull/2867),
+ [#2883](https://github.com/PixarAnimationStudios/OpenUSD/pull/2883),
+ [#2888](https://github.com/PixarAnimationStudios/OpenUSD/pull/2888),
+ [#2889](https://github.com/PixarAnimationStudios/OpenUSD/pull/2889),
+ [#2890](https://github.com/PixarAnimationStudios/OpenUSD/pull/2890),
+ [#2906](https://github.com/PixarAnimationStudios/OpenUSD/pull/2906))
+
+- Added initial version of Ts library. This will be the open-source version of
+ Presto's libAnim. It implements animation splines. For details, see the
+ [Spline Animation proposal](https://github.com/PixarAnimationStudios/OpenUSD-proposals/blob/main/proposals/spline-animation/README.md).
+ This version builds, but isn't used by anything yet. It's a first milestone
+ that will allow us to begin co-developing with external partners and
+ collecting public feedback. Much work remains, see ts/README.md for a rough
+ list of tasks.
+
+- Add initial version of UsdNamespaceEditor. This object supports basic prim and
+ property edits, with property target path fixing, in the local layer stack
+ only. This is a work-in-progress, future releases will provide more complete
+ functionality and documentation.
+
+- Fixed broken validation of allowed characters in Ar URI resolver schemes.
+ (PR: [#2859](https://github.com/PixarAnimationStudios/OpenUSD/pull/2859))
+
+- Refactored Arch_ComputeNanosecondsPerTick to empirically calculate nanoseconds
+ per tick.
+ (Issue: [#2719](https://github.com/PixarAnimationStudios/OpenUSD/issues/2719))
+
+- Added thread-safety, size, and performance improvements to TfRefBase,
+ TfRefPtr, and TfToken.
+
+- Updated DoubleConversion version to v3.3.0 in Tf.
+ (Issue: [#2218](https://github.com/PixarAnimationStudios/OpenUSD/issues/2218))
+
+- Fixed bugs not properly decrementing Python exception state reference counts,
+ and not properly saving/restoring exception state in some corner cases.
+
+- Added workaround for "insufficient permissions" errors that occurred on
+ Windows when saving files to a network drive. By default, filesystem
+ permissions are no longer checked before saving files on Windows. This avoids
+ cases where permissions are incorrectly reported by the system. On Linux and
+ macOS permissions are still checked, maintaining previous behavior.
+ This behavior can be overridden by setting the environment variable
+ `TF_REQUIRE_FILESYSTEM_WRITE_PERMISSION`. This setting defaults to
+ `true` on Linux and macOS, and `false` on Windows.
+ (Issue: [#849](https://github.com/PixarAnimationStudios/OpenUSD/issues/849))
+
+- Fixed Python DLL loading order on Windows
+ (PR: [#2595](https://github.com/PixarAnimationStudios/OpenUSD/pull/2595))
+
+- Numerous changes to remove boost usage.
+ (PR: [#2353](https://github.com/PixarAnimationStudios/OpenUSD/pull/2353),
+ [#2681](https://github.com/PixarAnimationStudios/OpenUSD/pull/2681),
+ [#2682](https://github.com/PixarAnimationStudios/OpenUSD/pull/2682),
+ [#2684](https://github.com/PixarAnimationStudios/OpenUSD/pull/2684),
+ [#2701](https://github.com/PixarAnimationStudios/OpenUSD/pull/2701),
+ [#2707](https://github.com/PixarAnimationStudios/OpenUSD/pull/2707),
+ [#2709](https://github.com/PixarAnimationStudios/OpenUSD/pull/2709),
+ [#2711](https://github.com/PixarAnimationStudios/OpenUSD/pull/2711),
+ [#2714](https://github.com/PixarAnimationStudios/OpenUSD/pull/2714),
+ [#2715](https://github.com/PixarAnimationStudios/OpenUSD/pull/2715),
+ [#2718](https://github.com/PixarAnimationStudios/OpenUSD/pull/2718),
+ [#2748](https://github.com/PixarAnimationStudios/OpenUSD/pull/2748),
+ [#2750](https://github.com/PixarAnimationStudios/OpenUSD/pull/2750),
+ [#2752](https://github.com/PixarAnimationStudios/OpenUSD/pull/2752),
+ [#2754](https://github.com/PixarAnimationStudios/OpenUSD/pull/2754),
+ [#2761](https://github.com/PixarAnimationStudios/OpenUSD/pull/2761),
+ [#2763](https://github.com/PixarAnimationStudios/OpenUSD/pull/2763),
+ [#2764](https://github.com/PixarAnimationStudios/OpenUSD/pull/2764),
+ [#2765](https://github.com/PixarAnimationStudios/OpenUSD/pull/2765),
+ [#2778](https://github.com/PixarAnimationStudios/OpenUSD/pull/2778),
+ [#2781](https://github.com/PixarAnimationStudios/OpenUSD/pull/2781),
+ [#2785](https://github.com/PixarAnimationStudios/OpenUSD/pull/2785),
+ [#2786](https://github.com/PixarAnimationStudios/OpenUSD/pull/2786),
+ [#2802](https://github.com/PixarAnimationStudios/OpenUSD/pull/2802),
+ [#2810](https://github.com/PixarAnimationStudios/OpenUSD/pull/2810),
+ [#2811](https://github.com/PixarAnimationStudios/OpenUSD/pull/2811),
+ [#2823](https://github.com/PixarAnimationStudios/OpenUSD/pull/2823),
+ [#2831](https://github.com/PixarAnimationStudios/OpenUSD/pull/2831),
+ [#2833](https://github.com/PixarAnimationStudios/OpenUSD/pull/2833),
+ [#2834](https://github.com/PixarAnimationStudios/OpenUSD/pull/2834),
+ [#2835](https://github.com/PixarAnimationStudios/OpenUSD/pull/2835),
+ [#2842](https://github.com/PixarAnimationStudios/OpenUSD/pull/2842),
+ [#2843](https://github.com/PixarAnimationStudios/OpenUSD/pull/2843),
+ [#2864](https://github.com/PixarAnimationStudios/OpenUSD/pull/2864),
+ [#2874](https://github.com/PixarAnimationStudios/OpenUSD/pull/2874))
+
+- Various fixes and changes for SdfPathExpression:
+ - Fixed a bug in the SdfPathExpression parser: only allow the pattern chars
+ '-', '!', and ']' once an initial '[' has been seen. Previously a case like
+ /foo//-/foo/bar// which should parse as a set-difference ('/foo// -
+ /foo/bar//') would parse as a single path pattern with a '-' element.
+ - Fixed a bug where SdfPathExpression was searching for wildcard matches
+ anywhere in path components rather than matching components in full.
+ - Fixed logic bugs in the incremental search implementation for
+ SdfPathExpressionEval. Added debug output, and improved test coverage for
+ incremental searches in testSdfPathExpression.
+ - Fixed a bug where SdfPathExpression evaluation would incorrectly report a
+ constant false when the query path was a prefix of a pattern prefix.
+ - Added compile-time-enabled TF_DEBUG code for SdfPathExpressionEval.
+
+- SdfChangeList now provides a more precise list of layer edits.
+ - Changes to composition-related fields like "references" and "inherits" are
+ now listed as info changes so they can be handled generically.
+ - Some changes are now split into multiple entries for the same prim or
+ property when needed to provide clients an unambiguous order of operations.
+ - The previous path for re-parented prims is now captured.
+
+- Added exception throwing and handling to avoid corrupted file reads during
+ SdfLayer setup.
+ (PR: [#2552](https://github.com/PixarAnimationStudios/OpenUSD/pull/2552))
+
+- Ensured that SdfAbstractData::HasDictKey returns false if the provided value's
+ type does not match the valueType.
+
+- Fixed bug in SdfBatchNamespaceEdit where certain sequences of operations would
+ erroneously be flagged as invalid.
+
+- Initial work on reimplementing the .usda parser to remove dependencies on flex
+ and bison.
+ (PR: [#2822](https://github.com/PixarAnimationStudios/OpenUSD/pull/2822),
+ [#2819](https://github.com/PixarAnimationStudios/OpenUSD/pull/2819))
+
+- Fixed an issue in SdfAssetPath::_ReadUTF8 where certain multibyte unicode
+ characters would not be decoded correctly.
+ (Issue: [#2560](https://github.com/PixarAnimationStudios/OpenUSD/issues/2560))
+
+- Increased default version for newly created crate files to 0.9.0.
+ (PR: [#2838](https://github.com/PixarAnimationStudios/OpenUSD/pull/2838))
+
+- Updated SdrShaderProperty to support int2, int3, and int4, which conforms to
+ SdfValueTypeNamess->int2, SdfValueTypeNames->int3, SdfValueTypeNames->int4.
+ Users do not have to specify sdrUsdDefinitionType for int2, int3, and int4
+ SdrShaderProperties now.
+
+- Added the ability to pass a traversal predicate to UsdStage attribute
+ connection/relationship target finders, and UsdStage::ExpandPopulationMask().
+
+- Made "kind" a disallowed field for metadata in schemas.
+
+- Changed UsdCollectionMembershipQuery behavior to use either the path expansion
+ rule map form, or the membership expression form, preferring the rule map form
+ if authored. Provided a way for callers to determine whether or not the
+ expression form was used to match. Also fixed some API export tag names.
+
+- UsdFlattenLayerStack now handles add/reorder statements as described in the
+ docs for the case where there's only one opinion.
+
+- Added guard to gracefully handle NULL stage pointers.
+ (Issue: [#2721](https://github.com/PixarAnimationStudios/OpenUSD/issues/2721))
+
+- Fixed unnecessary VtArray copy-on-writes during attribute creation.
+ (PR: [#2816](https://github.com/PixarAnimationStudios/OpenUSD/pull/2816))
+
+- Validate UsdCollectionAPI before accessing in
+ UsdShadeMaterialBindingAPI::ComputeBoundMaterial.
+ (PR: [#2501](https://github.com/PixarAnimationStudios/OpenUSD/pull/2501))
+
+- Improved performance for computing variant selections during prim composition.
+ For example, in a synthetic test case involving a prim with 1000 references,
+ adding 500 variant sets to that prim previously took ~25.5 seconds; it now
+ takes ~6.8 seconds.
+ (Issue: [#1957](https://github.com/PixarAnimationStudios/OpenUSD/issues/1957),
+ [#2010](https://github.com/PixarAnimationStudios/OpenUSD/issues/2010))
+
+- Fixed bug where variant selections authored at implied sites would be ignored
+ when composing prims with composition arcs pointing to subroot prims.
+
+- Fixed bug where incorrect sites would be checked for opinions during dynamic
+ payload argument composition.
+
+- Fixed bug where the wrong inclusion state for ancestral payloads would be
+ computed when composing prims with composition arcs pointing to subroot prims.
+
+- Fixed bugs in UsdInherits::GetAllDirectInherits where the results would be
+ incomplete or include paths in non-local layer stacks.
+
+- Added UsdGeomTetMesh schema.
+
+- Added support for elementTypes "point", "edge", and "tetrahedron" in
+ UsdGeomSubset.
+
+- Added single precision `orientationsf` to UsdGeomPointInstancer, which, if
+ authored, takes precedence over half-precision `orientations`.
+ (Issue: [#2529](https://github.com/PixarAnimationStudios/OpenUSD/issues/2529))
+
+- Deprecated UsdGeomSubset::ValidateSubsets in favor of ValidateFamily.
+
+- Added change to avoid de-referencing iterators of an empty set when validating
+ UsdGeomSubset families with no indices.
+ (PR: [#2733](https://github.com/PixarAnimationStudios/OpenUSD/pull/2733))
+
+- Updated UsdGeomPrimvar::ComputeFlattened() to consider elementSize.
+
+- Added a null pointer check in UsdGeomBBoxCache::_Resolve. This brings behavior
+ in line with other UsdGeomBBoxCache operations and prevents crashing in
+ certain multi-threaded situations.
+ (PR: [#2905](https://github.com/PixarAnimationStudios/OpenUSD/pull/2905))
+
+- Improved the UsdObj handling of .obj files with 'g' statements.
+ (PR: [#2092](https://github.com/PixarAnimationStudios/OpenUSD/pull/2092))
+
+- Updated usdRiPxr codeless schemas with updated concepts from RenderMan 25.
+
+- Updated UsdShadeOutput::GetAttr to return const reference for consistency.
+ (Issue: [#2617](https://github.com/PixarAnimationStudios/OpenUSD/issues/2617))
+
+- Updated UsdShadeOutput::IsOutput to check attribute validity, to match
+ UsdShadeInput::IsInput behavior.
+ (Issue: [#2876](https://github.com/PixarAnimationStudios/OpenUSD/issues/2876),
+ PR: [#2877](https://github.com/PixarAnimationStudios/OpenUSD/pull/2877))
+
+- Added a new method UsdUtilsLocalizeAsset which will localize an asset to a
+ directory on disk. It also introduces the concept of a user processing
+ function which allows users to provide a function which can modify asset paths
+ and dependencies while leveraging built in asset discovery and traversal code.
+
+- Added an optional UsdUtilsProcessingFunc parameter to
+ UsdUtilsComputeAllDependencies. This allows users to inject custom logic into
+ asset discovery.
+
+- Updated NormalMapTextureChecker to use GetValueProducingAttributes.
+ (PR: [#2885](https://github.com/PixarAnimationStudios/OpenUSD/pull/2885))
+
+- Updated ARKit conformance checks to match spec from WWDC 2023.
+ (https://developer.apple.com/documentation/realitykit/validating-usd-files)
+ (PR: [#2863](https://github.com/PixarAnimationStudios/OpenUSD/pull/2863),
+ [#2875](https://github.com/PixarAnimationStudios/OpenUSD/pull/2875))
+
+### UsdImaging
+
+- Replaced use of GetValueProducingAttribute() API, which had been deprecated
+ and was emitting warnings.
+
+- Added imaging support for UsdGeomTetMesh in Hydra 1.0.
+
+- Added support for Material Nodegraph edits when using the stage SceneIndex.
+
+- Added DataSourceAttributeColorSpace to lazily populate the color space
+ metadata in Hydra 2.0.
+
+- Added forceDirtyingTimeDeps flag to UsdImagingStageSceneIndex::SetTime(). This
+ can be used to force render delegates into resampling all primvars in response
+ to, e.g., the camera and thus the shutter interval changing.
+
+- Fixed a bug where time-sampled attributes on lights, light filters, and
+ cameras were not detected as time-varying.
+ (PR: [#2734](https://github.com/PixarAnimationStudios/OpenUSD/pull/2734))
+
+- Added support for asynchronous Hydra processing in UsdImagingGLEngine and
+ usdview, activated with the --allow-async flag in usdview.
+
+- Added support for asset[]-valued attribute data sources.
+
+### Storm
+
+- Removed include of dispatcher.h in public header to reduce transitive includes
+ of TBB headers.
+ (PR: [#2616](https://github.com/PixarAnimationStudios/OpenUSD/pull/2616))
+
+- Published HdSt and Hdx tests, available on Linux.
+
+- Enabled Hgi resource generation for non-HgiGL Hgi backends by default.
+
+- Fixed a bug where creation of HgiSampler in various backends will always
+ enable anisotropy.
+ (PR: [#2492](https://github.com/PixarAnimationStudios/OpenUSD/pull/2492))
+
+- Fixed a typo in hgiInterop CMakeLists.txt.
+ (PR: [#2641](https://github.com/PixarAnimationStudios/OpenUSD/pull/2641))
+
+- Added ability to support both HgiGL and HgiVulkan in single build.
+ (PR: [#2564](https://github.com/PixarAnimationStudios/OpenUSD/pull/2564))
+
+- Added new unit test for HgiGL and HgiVulkan.
+ (PR: [#2851](https://github.com/PixarAnimationStudios/OpenUSD/pull/2851))
+
+- Added memory barrier between CPU-GPU copy and GPU-GPU copies in
+ HdStStagingBuffer::Flush.
+
+- Various correctness and stability improvements to HgiVulkan, including:
+ - Added implementation for HgiVulkanBlitCmds::FillBuffer.
+ - Improved clearing logic of HgiVulkanGraphicsCmds such that we only clear a
+ VkRenderPass when it's used for the first draw batch in graphics cmds
+ submission.
+ - Fixed visualization of Embree normals AOV when using HgiVulkan.
+ - HgiVulkan now uses validation layer VK_LAYER_KHRONOS_validation instead of
+ deprecated VK_LAYER_LUNARG_standard_validation.
+ - Removed incorrect use of indexBufferByteOffset when binding index buffer.
+ - Added env var HGIVULKAN_ENABLE_MULTI_DRAW_INDIRECT, mirroring HgiGL version.
+ - Added support for builtin barycentric coordinates.
+ - Enabled alphaToOne, allowing its use in the
+ VkPipelineMultisampleStateCreateInfo setup.
+ - Added codepath for clearing attachments in HgiVulkanGraphicsCmds without
+ beginning a render pass.
+ - Added method Hgi::SubmitLayoutChange, allowing user to request texture
+ layout changes. Used this method to fix color correction task when using
+ HgiVulkan.
+ - Many validation layer error fixes.
+ (PR: [#2852](https://github.com/PixarAnimationStudios/OpenUSD/pull/2852))
+
+- Enabled multi-threaded buffer source resolve to improve performance when
+ executing buffer source computations during resource commit.
+
+- Updated to use improved OpenSubdiv shader source mixins to reduce shader
+ source size and improve compatibility when compiling GLSL to SPIR-V for Vulkan.
+
+- Updated to include implementations of SPIRV-Reflect and VMA (Vulkan Memory
+ Allocator) directly from the Vulkan SDK instead of maintaining copies of these
+ within the hgiVulkan implementation.
+ (PR: [#2563](https://github.com/PixarAnimationStudios/OpenUSD/pull/2563))
+
+- Added a version guarded workaround to avoid a performance regression when
+ rendering order independent transparency (OIT) on some recently released Metal
+ devices.
+
+- Removed the use of CoreVideo texture caches from hgiMetal to simplify the
+ implementation and fix a memory leak.
+ (PR: [#2828](https://github.com/PixarAnimationStudios/OpenUSD/pull/2828))
+
+- Added change to support float type matrix (GfMatrix4f) for instance transforms.
+ (PR: [#2724](https://github.com/PixarAnimationStudios/OpenUSD/pull/2724))
+
+- Added support to provide visual feedback for broken material shaders.
+
+- Fixed determination of screen space point size when using authored widths.
+
+- Improved the performance of shader generation when certain non-standard
+ primvar names are present.
+
+- Refactored HdSt_CodeGen to take metaData as constructor arg. This allows us to
+ delay the construction of the codeGen object since the hash can be computed
+ from the constructor args. With this change there is approx 50% speedup in
+ HdStExtCompGpuComputation::Execute.
+
+### Hydra
+
+- Fixed a bug that could lead to crashes in HdsiPrimTypePruningSceneIndex.
+
+- Hydra now supports inserting asset names into material networks.
+
+- Made HdImageShaderSchema constants return a schema instead of a container data
+ source.
+
+- Made HdSceneIndexAdapterSceneDelegate handle image shaders correctly.
+
+- Made HdImageShaderSchema filePath a string, not an asset path.
+
+- Moved material node sampler parameter extraction into the standalone function
+ HdGetSamplerParameters.
+
+- Added disableDepthOfField bool to RenderSettings.
+
+- Included <optional> to fix external build error.
+ (PR: [#2907](https://github.com/PixarAnimationStudios/OpenUSD/pull/2907))
+
+- Changed Metal's swizzle so single channel texture reads follow the
+ UsdPreviewSurface spec of repeating the single channel on the r, g, and b
+ channels with 1.0 in the alpha channel.
+ (Issue: [#2731](https://github.com/PixarAnimationStudios/OpenUSD/issues/2731))
+
+- Updated color correction task to support building against OpenColorIO 2.3.0.
+ (PR: [#2651](https://github.com/PixarAnimationStudios/OpenUSD/pull/2651))
+
+- Updated DataSourceMaterial and added HdMaterialNodeParameterSchema for
+ colorspace handling in both Hydra 1.0 and 2.0.
+
+- Added UnderlyingDataSource to HdSchema and HdVectorSchema. This allows folding
+ HdVectorSchemaBasedContainerSchema into HdSchemaBasedContainerSchema.
+
+- Deprecated hd/vectorSchemaTypeDefs.h in favor of the more generic
+ hd/schemaTypeDefs.h
+
+- Deprecated BuildRetained Hydra schema in favor of Builder.
+
+- Added more typing to Hydra schemas by replacing container/vector data sources
+ with appropriate schemas. This was done for HdMaterialBindingsSchema,
+ HdMaterialSchema, HdMaterialNetwork, HdMaterialNode,
+ HdRenderProductVectorSchema, and HdRenderVarVectorSchema.
+
+- Added GetFlattenedPrimvarValue for HdPrimvarSchema.
+
+- HdGeomSubsetsSchema::GetIds is now GetGeomSubsetNames.
+
+- Fixed implementation of GetContributingSampleTimesForInterval in
+ HdDataSourceLegacyPrim to include the samples just before or just after the
+ given shutter interval.
+
+- Added HdRenderDelegate::GetCapabilities, used to indicate motion blur support.
+
+- Introduced HdsiPrimTypeNoticeBatchingSceneIndex and
+ HdsiPrimManagingSceneIndexObserver. Future render delegates can be implemented
+ by observing the terminal scene index (HdRenderDelegate::SetTerminalSceneIndex)
+ and providing an appropriate prim factory.
+
+- HdRenderPassState::SetOverrideWindowPolicy now takes std::optional instead of
+ std::pair (similar for related classes).
+
+- Improved loading of multichannel OpenEXR files.
+
+- Enabled decompression of dwaa and dwab OpenEXR files.
+
+- OpenEXR code is now MinGW and Neon compatible.
+
+- Added support for monochrome OpenEXR images and swizzling for luminance
+ channels.
+ (Issue: [#2800](https://github.com/PixarAnimationStudios/OpenUSD/issues/2800))
+
+- Added utility to write out scene index to file.
+
+- Removed 'bindingStrength' from HdMaterialBindingSchema.
+
+- Added support for asynchronous processing in Hydra generative procedurals,
+ through the new SystemMessage scene index API. Procedural implementations need
+ to implement the new asynchronous API to take advantage of this, and the host
+ application will need to send periodic asyncPoll messages.
+
+- Added Hydra schema support for public interface mappings on material prims.
+
+- Prims with self-dependencies will no longer be signaled as dirty after they
+ are removed.
+
+- Fixed a situation where both smooth and flat normals were being computed for
+ HdMeshes for representations where only one of the two was needed. This is
+ expected to remove about 10ms per unintended invocation.
+
+- Added multithreaded sync for HdExtComputations. Added a work parallel loop in
+ Hd_PrimTypeIndex::SyncPrims enabled only for Prim types that opt-in. Opted
+ "extComputation" into threaded prim sync by default. With this there is an
+ order of magnitude performance improvement for use cases which have a
+ significant number of HdExtComputations.
+
+- Added Hydra schemata to transport direct and collection-based material
+ bindings, and a scene index to compute the resolved binding. Current support
+ is limited to direct material bindings.
+
+### RenderMan Hydra Plugin
+
+- LPE AOV's now use the RenderVar name rather than the LPE expression as the
+ channel name. This both gives expected output names in EXR channels, and fixes
+ name collisions when the same LPE is used with multiple summary statistics,
+ such as variance and mse.
+
+- Fixed crash when UsdRenderProduct's orderedVars points at a target prim that
+ does not exist.
+
+- HdPrman now supports TfToken-typed parameters.
+
+- HdPrman now has a scene index filter, HdPrman_UpdateObjectSettingsSceneIndex,
+ that will upgrade certain attributes used in older RenderMan versions to their
+ modern representation.
+
+- Reduced overhead of portalLightResolvingSceneIndexPlugin.
+
+- Fixed handling of coordinate systems for light filters, which would give
+ incorrect results in some circumstances.
+
+- Added support for single precision rotations for point instancers in HdPrman.
+ Note that half precision rotations are still supported but are cast to floats.
+ (Issue: [#2529](https://github.com/PixarAnimationStudios/OpenUSD/issues/2529))
+
+- Added PxrMesh adapter to help mesh lights work on older versions of USD which
+ do not have scene index support.
+
+- Added change to use the 'disableDepthOfField' RenderSettings option in HdPrman.
+
+- Added change to query and use shutter curve parameters if available.
+
+- Made various improvements to enable usage of a render settings prim to drive
+ render pass execution. Current support is limited to generation of multiple
+ render product artifacts in batched (i.e., non-interactive) mode.
+
+- Improved determination of the Riley shutter interval and its use for motion
+ blur.
+
+- Improved instancing stability & performance.
+
+- All motion blur handling has been consolidated into a single scene index.
+ Motion blur is now more consistently supported across the entire scene.
+
+- Motion blur will better respect the shutter settings of the active camera.
+
+- ExtComp is now compatible with motion blur.
+
+### usdview
+
+- Replaced deprecated QFontMetrics.width with horizontalAdvance.
+ (PR: [#2625](https://github.com/PixarAnimationStudios/OpenUSD/pull/2625))
+
+- Updated usdview selection processing to maintain correct selection
+ highlighting after switching variants or prim activation and avoid some errors
+ that could occur at startup when using PySide6 on Linux or Windows.
+
+### usdrecord
+
+- Updated camera transforms for usdrecord to make sure small objects are not
+ unexpectedly culled by the clipping planes.
+ (Issue: [#2556](https://github.com/PixarAnimationStudios/OpenUSD/issues/2556))
+
+- Updated CMakeLists for usdrecord to skip building if GPU and/or OpenGL are
+ unavailable.
+ (PR: [#2468](https://github.com/PixarAnimationStudios/OpenUSD/pull/2468))
+
+### usdcat
+
+- Fixed issues with usdcat --flattenLayerStack argument.
+ (PR: [#2832](https://github.com/PixarAnimationStudios/OpenUSD/pull/2832))
+
+### MaterialX
+
+- Fixed name collision with MaterialX inputs and built-in uniforms in Storm.
+ (PR: [#2807](https://github.com/PixarAnimationStudios/OpenUSD/pull/2807))
+
+- Fixed OIT issues for MaterialX when using Metal.
+ (PR: [#2614](https://github.com/PixarAnimationStudios/OpenUSD/pull/2614))
+
+- Added HdMtlxGetStdLibraries to cache the MaterialX::LoadLibraries step.
+ (PR: [#2666](https://github.com/PixarAnimationStudios/OpenUSD/pull/2666))
+
+- Added change to allow matrix33 default values in UsdMtlx.
+ (PR: [#2554](https://github.com/PixarAnimationStudios/OpenUSD/pull/2554))
+
+- Fixed testUsdImagingGLMaterialXCustomNodes_customColor failure.
+ (PR: [#2728](https://github.com/PixarAnimationStudios/OpenUSD/pull/2728))
+
+- Fixed Tangent vector calculation for MaterialX NormalMaps.
+ (Issue: [#1585](https://github.com/PixarAnimationStudios/OpenUSD/issues/1585))
+
+- Updated MaterialXMatfilt to handle normalMaps with PreviewSurface Materials.
+ (Issue: [#1585](https://github.com/PixarAnimationStudios/OpenUSD/issues/1585))
+
+- Fixed shader compile error when using MaterialX's :heighttonormal nodes.
+ (Issue: [#2281](https://github.com/PixarAnimationStudios/OpenUSD/issues/2281),
+ PR: [#2474](https://github.com/PixarAnimationStudios/OpenUSD/pull/2474))
+
+- Fixed a bug where the "fileprefix" attribute was not being applied to
+ filenames.
+ (Issue: [#974](https://github.com/PixarAnimationStudios/OpenUSD/issues/974),
+ PR: [#2660](https://github.com/PixarAnimationStudios/OpenUSD/pull/2660))
+
+- Updated CMakeLists for usdBakeMtlx to skip building if GPU and/or OpenGL are
+ unavailable.
+ (PR: [#2468](https://github.com/PixarAnimationStudios/OpenUSD/pull/2468))
+
+### Documentation
+
+- Fixed various documentation issues.
+ (PR: [#2565](https://github.com/PixarAnimationStudios/OpenUSD/pull/2565),
+ [#2779](https://github.com/PixarAnimationStudios/OpenUSD/pull/2779))
+
+- Updated doc for UsdStage::Traverse() comments regarding PrimRange.
+ (Issue: [#222](https://github.com/PixarAnimationStudios/USD/issues/222))
+
+- Updated UsdPreviewSurface Specification, added information about transparent
+ black for texture wrap mode border color, clarified clearcoat inputs.
+ (Issue: [#2659](https://github.com/PixarAnimationStudios/OpenUSD/issues/2659),
+ [#2770](https://github.com/PixarAnimationStudios/OpenUSD/issues/2770))
+
+- Updated "Products Using USD" docs page with new Unity packages.
+ (PR: [#2884](https://github.com/PixarAnimationStudios/OpenUSD/pull/2884))
+
+- Updated UsdSkel documentation with fixed examples.
+ (Issue: [#2621](https://github.com/PixarAnimationStudios/OpenUSD/issues/2621),
+ PR: [#2697](https://github.com/PixarAnimationStudios/OpenUSD/pull/2697))
+
+- Updated Python docstring generation scripts:
+ - Added fix to ignore previously generated __DOC.py files.
+ - Fixed building docstrings on Windows.
+ - Improved conversion of C++ types.
+ - Added ability to build docstrings without having to first build HTML docs,
+ using new CMake build options PXR_BUILD_PYTHON_DOCUMENTATION and
+ PXR_BUILD_HTML_DOCUMENTATION.
+ (PR: [#2574](https://github.com/PixarAnimationStudios/OpenUSD/pull/2574),
+ [#2575](https://github.com/PixarAnimationStudios/OpenUSD/pull/2575),
+ [#2578](https://github.com/PixarAnimationStudios/OpenUSD/pull/2578),
+ [#2581](https://github.com/PixarAnimationStudios/OpenUSD/pull/2581))
+
+- Fixed UsdShadeMaterialBindingAPI example.
+ (PR: [#2726](https://github.com/PixarAnimationStudios/OpenUSD/pull/2726))
+
+<details open>
+ <summary><b>Previous Releases</b></summary>
+
## [23.11] - 2023-10-26
### Build
- Improved cmake performance when performing a monolithic build.
+- Made 12.6.3 as the minimum macOS requirement (with compatible Xcode version
+ being 13.3) we test against.
+
### USD
- Fixed VtArray declarations of extern template instantiations.
## [0.7.0] - 2016-08-01
Initial release
+
+</details>
\ No newline at end of file