OpenEXR 3.2.9__tar.gz → 3.2.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. {openexr-3.2.9 → openexr-3.2.11}/CHANGES.md +2021 -185
  2. {openexr-3.2.9 → openexr-3.2.11}/CONTRIBUTING.md +269 -256
  3. {openexr-3.2.9 → openexr-3.2.11}/PKG-INFO +1 -1
  4. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/makeMultiView.cpp +8 -0
  5. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfArray.h +28 -5
  6. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIDManifest.cpp +37 -5
  7. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMultiView.cpp +1 -1
  8. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfName.h +1 -0
  9. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/decoding.c +13 -9
  10. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/encoding.c +14 -6
  11. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_b44.c +6 -2
  12. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_compressor.h +22 -8
  13. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_encoder.h +4 -4
  14. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_version.h +1 -1
  15. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/part_attr.c +2 -1
  16. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +2 -2
  17. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +2 -2
  18. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImage.cpp +87 -56
  19. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +3 -2
  20. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +22 -1
  21. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +1 -1
  22. {openexr-3.2.9 → openexr-3.2.11}/.bazelversion +0 -0
  23. {openexr-3.2.9 → openexr-3.2.11}/.clang-format +0 -0
  24. {openexr-3.2.9 → openexr-3.2.11}/.git-blame-ignore-revs +0 -0
  25. {openexr-3.2.9 → openexr-3.2.11}/.gitignore +0 -0
  26. {openexr-3.2.9 → openexr-3.2.11}/.mailmap +0 -0
  27. {openexr-3.2.9 → openexr-3.2.11}/.readthedocs.yml +0 -0
  28. {openexr-3.2.9 → openexr-3.2.11}/BUILD.bazel +0 -0
  29. {openexr-3.2.9 → openexr-3.2.11}/CMakeLists.txt +0 -0
  30. {openexr-3.2.9 → openexr-3.2.11}/CODEOWNERS +0 -0
  31. {openexr-3.2.9 → openexr-3.2.11}/CODE_OF_CONDUCT.md +0 -0
  32. {openexr-3.2.9 → openexr-3.2.11}/CONTRIBUTORS.md +0 -0
  33. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/AUTHORS +0 -0
  34. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/ChangeLog +0 -0
  35. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
  36. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/Makefile.test +0 -0
  37. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
  38. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
  39. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
  40. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
  41. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
  42. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
  43. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
  44. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
  45. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/README +0 -0
  46. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/bootstrap +0 -0
  47. {openexr-3.2.9 → openexr-3.2.11}/Contrib/DtexToExr/configure.ac +0 -0
  48. {openexr-3.2.9 → openexr-3.2.11}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
  49. {openexr-3.2.9 → openexr-3.2.11}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
  50. {openexr-3.2.9 → openexr-3.2.11}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
  51. {openexr-3.2.9 → openexr-3.2.11}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
  52. {openexr-3.2.9 → openexr-3.2.11}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
  53. {openexr-3.2.9 → openexr-3.2.11}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
  54. {openexr-3.2.9 → openexr-3.2.11}/GOVERNANCE.md +0 -0
  55. {openexr-3.2.9 → openexr-3.2.11}/LICENSE.md +0 -0
  56. {openexr-3.2.9 → openexr-3.2.11}/MODULE.bazel +0 -0
  57. {openexr-3.2.9 → openexr-3.2.11}/PATENTS +0 -0
  58. {openexr-3.2.9 → openexr-3.2.11}/README.md +0 -0
  59. {openexr-3.2.9 → openexr-3.2.11}/SECURITY.md +0 -0
  60. {openexr-3.2.9 → openexr-3.2.11}/WORKSPACE.bazel +0 -0
  61. {openexr-3.2.9 → openexr-3.2.11}/cmake/CMakeLists.txt +0 -0
  62. {openexr-3.2.9 → openexr-3.2.11}/cmake/FindPythonPackage.cmake +0 -0
  63. {openexr-3.2.9 → openexr-3.2.11}/cmake/FindSphinx.cmake +0 -0
  64. {openexr-3.2.9 → openexr-3.2.11}/cmake/IexConfig.h.in +0 -0
  65. {openexr-3.2.9 → openexr-3.2.11}/cmake/IexConfigInternal.h.in +0 -0
  66. {openexr-3.2.9 → openexr-3.2.11}/cmake/IlmThreadConfig.h.in +0 -0
  67. {openexr-3.2.9 → openexr-3.2.11}/cmake/JoinPaths.cmake +0 -0
  68. {openexr-3.2.9 → openexr-3.2.11}/cmake/LibraryDefine.cmake +0 -0
  69. {openexr-3.2.9 → openexr-3.2.11}/cmake/OpenEXR.pc.in +0 -0
  70. {openexr-3.2.9 → openexr-3.2.11}/cmake/OpenEXRConfig.cmake.in +0 -0
  71. {openexr-3.2.9 → openexr-3.2.11}/cmake/OpenEXRConfig.h.in +0 -0
  72. {openexr-3.2.9 → openexr-3.2.11}/cmake/OpenEXRConfigInternal.h.in +0 -0
  73. {openexr-3.2.9 → openexr-3.2.11}/cmake/OpenEXRLibraryDefine.cmake +0 -0
  74. {openexr-3.2.9 → openexr-3.2.11}/cmake/OpenEXRSetup.cmake +0 -0
  75. {openexr-3.2.9 → openexr-3.2.11}/cmake/SampleCTestScript.cmake +0 -0
  76. {openexr-3.2.9 → openexr-3.2.11}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
  77. {openexr-3.2.9 → openexr-3.2.11}/cmake/Toolchain-mingw.cmake +0 -0
  78. {openexr-3.2.9 → openexr-3.2.11}/cmake/clang-format.cmake +0 -0
  79. {openexr-3.2.9 → openexr-3.2.11}/cmake/cmake_uninstall.cmake.in +0 -0
  80. {openexr-3.2.9 → openexr-3.2.11}/docs/CMakeLists.txt +0 -0
  81. {openexr-3.2.9 → openexr-3.2.11}/pyproject.toml +0 -0
  82. {openexr-3.2.9 → openexr-3.2.11}/sonar-project.properties +0 -0
  83. {openexr-3.2.9 → openexr-3.2.11}/src/bin/CMakeLists.txt +0 -0
  84. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exr2aces/CMakeLists.txt +0 -0
  85. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exr2aces/main.cpp +0 -0
  86. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrcheck/CMakeLists.txt +0 -0
  87. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrcheck/main.cpp +0 -0
  88. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/CMakeLists.txt +0 -0
  89. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
  90. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/EnvmapImage.h +0 -0
  91. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/blurImage.cpp +0 -0
  92. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/blurImage.h +0 -0
  93. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/main.cpp +0 -0
  94. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
  95. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/makeCubeMap.h +0 -0
  96. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
  97. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
  98. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/namespaceAlias.h +0 -0
  99. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/readInputImage.cpp +0 -0
  100. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/readInputImage.h +0 -0
  101. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/resizeImage.cpp +0 -0
  102. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrenvmap/resizeImage.h +0 -0
  103. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrheader/CMakeLists.txt +0 -0
  104. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrheader/main.cpp +0 -0
  105. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrinfo/CMakeLists.txt +0 -0
  106. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrinfo/main.c +0 -0
  107. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
  108. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmakepreview/main.cpp +0 -0
  109. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmakepreview/makePreview.cpp +0 -0
  110. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmakepreview/makePreview.h +0 -0
  111. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
  112. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/Image.cpp +0 -0
  113. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/Image.h +0 -0
  114. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/main.cpp +0 -0
  115. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
  116. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/makeTiled.h +0 -0
  117. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
  118. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmanifest/CMakeLists.txt +0 -0
  119. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmanifest/main.cpp +0 -0
  120. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultipart/CMakeLists.txt +0 -0
  121. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
  122. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/CMakeLists.txt +0 -0
  123. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/Image.cpp +0 -0
  124. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/Image.h +0 -0
  125. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/main.cpp +0 -0
  126. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/makeMultiView.h +0 -0
  127. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrmultiview/namespaceAlias.h +0 -0
  128. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrstdattr/CMakeLists.txt +0 -0
  129. {openexr-3.2.9 → openexr-3.2.11}/src/bin/exrstdattr/main.cpp +0 -0
  130. {openexr-3.2.9 → openexr-3.2.11}/src/lib/.gitignore +0 -0
  131. {openexr-3.2.9 → openexr-3.2.11}/src/lib/CMakeLists.txt +0 -0
  132. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/CMakeLists.txt +0 -0
  133. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/Iex.h +0 -0
  134. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexBaseExc.cpp +0 -0
  135. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexBaseExc.h +0 -0
  136. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexErrnoExc.h +0 -0
  137. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexExport.h +0 -0
  138. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexForward.h +0 -0
  139. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMacros.h +0 -0
  140. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMathExc.h +0 -0
  141. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
  142. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMathFloatExc.h +0 -0
  143. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMathFpu.cpp +0 -0
  144. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMathFpu.h +0 -0
  145. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexMathIeeeExc.h +0 -0
  146. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexNamespace.h +0 -0
  147. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
  148. {openexr-3.2.9 → openexr-3.2.11}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
  149. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/CMakeLists.txt +0 -0
  150. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThread.cpp +0 -0
  151. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThread.h +0 -0
  152. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadExport.h +0 -0
  153. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadForward.h +0 -0
  154. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
  155. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
  156. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
  157. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadPool.h +0 -0
  158. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
  159. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
  160. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
  161. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
  162. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
  163. {openexr-3.2.9 → openexr-3.2.11}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
  164. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/CMakeLists.txt +0 -0
  165. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
  166. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
  167. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
  168. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfAttribute.h +0 -0
  169. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
  170. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
  171. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
  172. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
  173. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
  174. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
  175. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
  176. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
  177. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChannelList.h +0 -0
  178. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
  179. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
  180. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
  181. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
  182. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
  183. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
  184. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
  185. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
  186. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
  187. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompression.h +0 -0
  188. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
  189. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
  190. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
  191. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfCompressor.h +0 -0
  192. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
  193. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfConvert.h +0 -0
  194. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
  195. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
  196. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
  197. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
  198. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
  199. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
  200. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
  201. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
  202. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
  203. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
  204. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
  205. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +0 -0
  206. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
  207. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
  208. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
  209. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
  210. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
  211. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
  212. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
  213. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +0 -0
  214. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
  215. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
  216. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
  217. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
  218. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
  219. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
  220. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
  221. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfDwaCompressorSimd.h +0 -0
  222. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
  223. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
  224. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
  225. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
  226. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfExport.h +0 -0
  227. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
  228. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
  229. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
  230. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
  231. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
  232. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
  233. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfForward.h +0 -0
  234. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
  235. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
  236. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
  237. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
  238. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
  239. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
  240. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
  241. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
  242. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
  243. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfHeader.h +0 -0
  244. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
  245. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfHuf.h +0 -0
  246. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
  247. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
  248. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
  249. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIO.cpp +0 -0
  250. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIO.h +0 -0
  251. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
  252. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputFile.h +0 -0
  253. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
  254. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputPart.h +0 -0
  255. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
  256. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
  257. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
  258. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfInt64.h +0 -0
  259. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
  260. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
  261. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
  262. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
  263. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
  264. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
  265. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
  266. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
  267. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
  268. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfLut.cpp +0 -0
  269. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfLut.h +0 -0
  270. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
  271. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
  272. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
  273. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMisc.h +0 -0
  274. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
  275. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
  276. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
  277. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
  278. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfMultiView.h +0 -0
  279. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfNamespace.h +0 -0
  280. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
  281. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
  282. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
  283. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
  284. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
  285. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
  286. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
  287. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
  288. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
  289. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
  290. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
  291. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
  292. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPartType.h +0 -0
  293. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPixelType.h +0 -0
  294. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
  295. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
  296. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
  297. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
  298. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
  299. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
  300. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
  301. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
  302. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRational.cpp +0 -0
  303. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRational.h +0 -0
  304. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
  305. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
  306. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRgba.h +0 -0
  307. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
  308. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
  309. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
  310. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
  311. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRle.cpp +0 -0
  312. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRle.h +0 -0
  313. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
  314. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
  315. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
  316. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
  317. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfSimd.h +0 -0
  318. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
  319. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
  320. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
  321. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStdIO.h +0 -0
  322. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
  323. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
  324. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
  325. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
  326. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
  327. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
  328. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
  329. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTestFile.h +0 -0
  330. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
  331. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfThreading.h +0 -0
  332. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
  333. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
  334. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
  335. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
  336. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
  337. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
  338. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
  339. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
  340. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
  341. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
  342. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
  343. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
  344. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
  345. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
  346. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
  347. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
  348. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
  349. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
  350. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
  351. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
  352. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
  353. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
  354. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
  355. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
  356. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfVersion.h +0 -0
  357. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfWav.cpp +0 -0
  358. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfWav.h +0 -0
  359. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfXdr.h +0 -0
  360. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfZip.cpp +0 -0
  361. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfZip.h +0 -0
  362. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
  363. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
  364. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/b44ExpLogTable.cpp +0 -0
  365. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/b44ExpLogTable.h +0 -0
  366. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
  367. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXR/dwaLookups.h +0 -0
  368. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
  369. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/attributes.c +0 -0
  370. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
  371. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/base.c +0 -0
  372. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/channel_list.c +0 -0
  373. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/chunk.c +0 -0
  374. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/coding.c +0 -0
  375. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/compression.c +0 -0
  376. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/context.c +0 -0
  377. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/debug.c +0 -0
  378. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/float_vector.c +0 -0
  379. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_attr.h +0 -0
  380. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
  381. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
  382. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_coding.h +0 -0
  383. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_compress.h +0 -0
  384. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_constants.h +0 -0
  385. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
  386. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
  387. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
  388. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
  389. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
  390. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_decoder.h +0 -0
  391. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
  392. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
  393. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_file.h +0 -0
  394. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
  395. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_huf.c +0 -0
  396. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_huf.h +0 -0
  397. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_memory.h +0 -0
  398. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
  399. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_piz.c +0 -0
  400. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
  401. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_preview.h +0 -0
  402. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
  403. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_rle.c +0 -0
  404. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_string.h +0 -0
  405. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
  406. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_structs.c +0 -0
  407. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_structs.h +0 -0
  408. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_util.h +0 -0
  409. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
  410. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
  411. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/internal_zip.c +0 -0
  412. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/memory.c +0 -0
  413. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/opaque.c +0 -0
  414. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr.h +0 -0
  415. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
  416. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_base.h +0 -0
  417. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_chunkio.h +0 -0
  418. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
  419. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
  420. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_config.h +0 -0
  421. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_context.h +0 -0
  422. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
  423. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
  424. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
  425. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
  426. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_part.h +0 -0
  427. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
  428. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/pack.c +0 -0
  429. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/parse_header.c +0 -0
  430. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/part.c +0 -0
  431. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/preview.c +0 -0
  432. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/std_attr.c +0 -0
  433. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/string.c +0 -0
  434. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/string_vector.c +0 -0
  435. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/unpack.c +0 -0
  436. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/validation.c +0 -0
  437. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRCore/write_header.c +0 -0
  438. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
  439. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
  440. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
  441. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
  442. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
  443. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
  444. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
  445. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
  446. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
  447. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
  448. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
  449. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
  450. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
  451. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
  452. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
  453. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
  454. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
  455. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
  456. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +0 -0
  457. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
  458. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
  459. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
  460. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
  461. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
  462. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
  463. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
  464. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
  465. {openexr-3.2.9 → openexr-3.2.11}/src/lib/OpenEXRUtil/README +0 -0
  466. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/CMakeLists.txt +0 -0
  467. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/Imath.py +0 -0
  468. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/OpenEXR.cpp +0 -0
  469. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/README.md +0 -0
  470. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
  471. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/tests/test_minimal.py +0 -0
  472. {openexr-3.2.9 → openexr-3.2.11}/src/wrappers/python/tests/test_unittest.py +0 -0
@@ -3,10 +3,37 @@
3
3
 
4
4
  # OpenEXR Release Notes
5
5
 
6
+ * [Version 3.4.12](#version-3412-may-24-2026) May 24, 2026
7
+ * [Version 3.4.11](#version-3411-april-29-2026) April 29, 2026
8
+ * [Version 3.4.10](#version-3410-april-17-2026) April 17, 2026
9
+ * [Version 3.4.9](#version-349-april-3-2026) April 3, 2026
10
+ * [Version 3.4.8](#version-348-march-26-2026) March 26, 2026
11
+ * [Version 3.4.7](#version-347-march-15-2026) March 15, 2026
12
+ * [Version 3.4.6](#version-346-march-1-2026) March 1, 2026
13
+ * [Version 3.4.5](#version-345-february-21-2026) February 21, 2026
14
+ * [Version 3.4.4](#version-344-november-19-2025) November 19, 2025
15
+ * [Version 3.4.3](#version-343-november-4-2025) November 4, 2025
16
+ * [Version 3.4.2](#version-342-october-15-2025) October 15, 2025
17
+ * [Version 3.4.1](#version-341-october-8-2025) October 8, 2025
18
+ * [Version 3.4.0](#version-340-september-5-2025) September 5, 2025
19
+ * [Version 3.3.11](#version-3311-april-29-2026) April 29, 2026
20
+ * [Version 3.3.10](#version-339-april-17-2026) April 17, 2026
21
+ * [Version 3.3.9](#version-339-april-4-2026) April 4, 2026
22
+ * [Version 3.3.8](#version-338-march-1-2026) March 1, 2026
23
+ * [Version 3.3.7](#version-337-february-19-2026) February 19, 2026
24
+ * [Version 3.3.6](#version-336-november-4-2025) November 5, 2025
25
+ * [Version 3.3.5](#version-335-july-26-2025) July 26, 2025
26
+ * [Version 3.3.4](#version-334-june-9-2025) June 9, 2025
27
+ * [Version 3.3.3](#version-333-march-23-2025) March 23, 2025
28
+ * [Version 3.3.2](#version-332-november-11-2024) November 11, 2024
29
+ * [Version 3.3.1](#version-331-october-8-2024) October 8, 2024
30
+ * [Version 3.3.0](#version-330-september-30-2024) September 30, 2024
31
+ * [Version 3.2.11](#version-3211-august-6-2026) August 6, 2026
32
+ * [Version 3.2.10](#version-3210-june-21-2026) June 21, 2026
6
33
  * [Version 3.2.9](#version-329-april-29-2026) April 29, 2026
7
34
  * [Version 3.2.8](#version-328-april-17-2026) April 17, 2026
8
35
  * [Version 3.2.7](#version-327-april-3-2026) April 3, 2026
9
- * [Version 3.2.6](#version-326-february-26-2026) February 26, 2026
36
+ * [Version 3.2.6](#version-326-march-1-2026) March 1, 2026
10
37
  * [Version 3.2.5](#version-325-november-4-2025) November 4, 2025
11
38
  * [Version 3.2.4](#version-324-march-26-2024) March 26, 2024
12
39
  * [Version 3.2.3](#version-323-march-6-2024) March 6, 2024
@@ -79,6 +106,1815 @@
79
106
  * [Version 1.0.1](#version-101)
80
107
  * [Version 1.0](#version-10)
81
108
 
109
+ ## Version 3.4.12 (May 24, 2026)
110
+
111
+ Patch release that addresses several bugs and security
112
+ vulnerabilities.
113
+
114
+ * :bug: Fix several minor memory leaks recovering from reading invalid
115
+ files.
116
+ * :bug: The compressor API incorrectly identfied `HTJ2K` and `HTJ2K256` as
117
+ lossy; they are lossles.
118
+ * :bug: Fix CMake AVX feature detection that caused DWA SIMD code to fail on
119
+ certain architectures.
120
+ * :warning: The `WidenFilename` utility function is marked as deprecated, to be
121
+ removed in a future release.
122
+ * :sparkles: `exrmetrics` now print the on-disk size of the data portion of each
123
+ part. Useful for determining compression impact on part data
124
+
125
+ For the python module:
126
+
127
+ * :snake: :bug: Reject files where the dataWindows does not match the
128
+ pixel array dimensions.
129
+ * :snake: :sparkles: Support NumPy float vector attributes
130
+ * :snake: :sparkles: Reading now skips over invalid parts, returns the valid parts only.
131
+ * :snake: :book: Doc strings have proper indentation
132
+
133
+ This release addresses the following security vulnerabilities:
134
+
135
+ * [CVE-2026-45696](https://www.cve.org/CVERecord?id=CVE-2026-45696)
136
+ OpenEXR `ht_undo_impl` heap-buffer-overflow READ via
137
+ codestream/channel width mismatch in HTJ2K decode
138
+ * [CVE-2026-44663](https://www.cve.org/CVERecord?id=CVE-2026-44663)
139
+ Integer overflow in HTJ2K decoder ( `ht_undo_impl` ) leading to
140
+ heap-buffer-overflow
141
+ * [OSS-fuzz 512895184](https://issues.oss-fuzz.com/issues/512895184)
142
+ Null-dereference WRITE in `Imf_4_0::TileProcess::run_decode`
143
+ * [OSS-fuzz 512314697](https://issues.oss-fuzz.com/issues/512314697)
144
+ Direct-leak in `internal_exr_add_part`
145
+ * [OSS-fuzz 508362159](https://issues.oss-fuzz.com/issues/508362159)
146
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
147
+ * [OSS-fuzz 507413960](https://issues.oss-fuzz.com/issues/507413960)
148
+ Heap-buffer-overflow in `generic_unpack`
149
+
150
+
151
+ ### Merged Pull Requests
152
+
153
+ * [2424](https://github.com/AcademySoftwareFoundation/openexr/pull/2424)
154
+ exrmetrics print disk size of part
155
+ * [2423](https://github.com/AcademySoftwareFoundation/openexr/pull/2423)
156
+ Fix computation of chunk height
157
+ * [2422](https://github.com/AcademySoftwareFoundation/openexr/pull/2422)
158
+ Fix memory leaks
159
+ * [2421](https://github.com/AcademySoftwareFoundation/openexr/pull/2421)
160
+ Add test to validate python module reading of unfinished parts
161
+ * [2416](https://github.com/AcademySoftwareFoundation/openexr/pull/2416)
162
+ Add HTJ2K256 and HTJ2K32 to data compression scheme list
163
+ * [2414](https://github.com/AcademySoftwareFoundation/openexr/pull/2414)
164
+ Check for invalid Slice base and type in `TileProcess::copy_sample_count`
165
+ * [2413](https://github.com/AcademySoftwareFoundation/openexr/pull/2413)
166
+ Python: reject dataWindow size mismatch before write
167
+ * [2409](https://github.com/AcademySoftwareFoundation/openexr/pull/2409)
168
+ Python: fix docstring indentation
169
+ * [2407](https://github.com/AcademySoftwareFoundation/openexr/pull/2407)
170
+ Support NumPy float vectors in Python headers
171
+ * [2406](https://github.com/AcademySoftwareFoundation/openexr/pull/2406)
172
+ Update urllib3 to 2.7 in website/requirements.txt
173
+ * [2405](https://github.com/AcademySoftwareFoundation/openexr/pull/2405)
174
+ Signal HTJ2K* compressors as lossless
175
+ * [2403](https://github.com/AcademySoftwareFoundation/openexr/pull/2403)
176
+ htj2k compressor: validate codestream dimensions
177
+ * [2402](https://github.com/AcademySoftwareFoundation/openexr/pull/2402)
178
+ Release notes, news, and CVE info for v3.4.11, 3.3.11, 3.2.9
179
+ * [2398](https://github.com/AcademySoftwareFoundation/openexr/pull/2398)
180
+ Arcmantis/warning deprecate WidenFilename
181
+ * [2397](https://github.com/AcademySoftwareFoundation/openexr/pull/2397)
182
+ Cast to `size_t` to avoid int overflow in `ht_undo_impl`
183
+ * [2392](https://github.com/AcademySoftwareFoundation/openexr/pull/2392)
184
+ Correct index rejection for string access.
185
+ * [2388](https://github.com/AcademySoftwareFoundation/openexr/pull/2388)
186
+ Relax NaN comparison in compression tests
187
+ * [2387](https://github.com/AcademySoftwareFoundation/openexr/pull/2387)
188
+ Add install instructions for python module
189
+ * [2385](https://github.com/AcademySoftwareFoundation/openexr/pull/2385)
190
+ cmake: require YMM asm for inline AVX probe
191
+ * [2373](https://github.com/AcademySoftwareFoundation/openexr/pull/2373)
192
+ Bump and pin website/requirements.txt
193
+ * [2359](https://github.com/AcademySoftwareFoundation/openexr/pull/2359)
194
+ Add reference to "contribute" and Clotributor in README.md and website
195
+ * [2148](https://github.com/AcademySoftwareFoundation/openexr/pull/2148)
196
+ Fix unfinished multi-part file loading in the python wrapper
197
+
198
+ ### Merged Workflow Pull Requests
199
+
200
+ * [2399](https://github.com/AcademySoftwareFoundation/openexr/pull/2399)
201
+ Bump github/codeql-action from 4.35.2 to 4.35.4
202
+ * [2396](https://github.com/AcademySoftwareFoundation/openexr/pull/2396)
203
+ Bump sphinx from 7.2.6 to 7.4.7 in /website
204
+ * [2394](https://github.com/AcademySoftwareFoundation/openexr/pull/2394)
205
+ Bump platforms from 1.0.0 to 1.1.0
206
+
207
+ ## Version 3.4.11 (April 29, 2026)
208
+
209
+ Patch release that addresses the following security vulnerabilities:
210
+
211
+ * [CVE-2026-42217](https://www.cve.org/CVERecord?id=CVE-2026-42217)
212
+ Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
213
+ * [CVE-2026-42216](https://www.cve.org/CVERecord?id=CVE-2026-42216)
214
+ Out-of-bounds read in `IDManifest::init()` during prefix expansion
215
+ * [CVE-2026-41142](https://www.cve.org/CVERecord?id=CVE-2026-41142)
216
+ Integer overflow in `ImageChannel::resize` leads to heap OOB write via OpenEXRUtil public API
217
+
218
+ Also:
219
+
220
+ * OSS-fuzz [504280155](https://issues.oss-fuzz.com/issues/504280155)
221
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
222
+ * OSS-fuzz [505062709](https://issues.oss-fuzz.com/issues/505062709)
223
+ Null-dereference READ in `Imf_3_3::prefixFromLayerName`
224
+
225
+ Build fixes:
226
+
227
+ - Fix Windows ARM64EC build issues and correct SIMD ARM NEON path for ARM64/EC
228
+
229
+ Also, some minor documentation updates:
230
+
231
+ - GitHub Security Advisories are the preferred way of reporting
232
+ vulnerabilities, not email.
233
+ - Some clarification around handling of UFT-8 of file paths
234
+
235
+ ### Merged Pull Requests
236
+
237
+ * [2383](https://github.com/AcademySoftwareFoundation/openexr/pull/2383)
238
+ validate that the uncompressed sizes recorded in the dwa header are valid
239
+ * [2382](https://github.com/AcademySoftwareFoundation/openexr/pull/2382)
240
+ Fix Null-dereference READ in prefixFromLayerName
241
+ * [2378](https://github.com/AcademySoftwareFoundation/openexr/pull/2378)
242
+ Harden IDManifest parsing against illegal shift and string prefix OOB
243
+ * [2377](https://github.com/AcademySoftwareFoundation/openexr/pull/2377)
244
+ Fix OOB read when expanding IDManifest prefix-compressed strings
245
+ * [2375](https://github.com/AcademySoftwareFoundation/openexr/pull/2375)
246
+ Minor changes to website index page to make some sentences clearer. A…
247
+ * [2368](https://github.com/AcademySoftwareFoundation/openexr/pull/2368)
248
+ Add release notes and news for v3.4.10, v3.3.10, v3.2.8
249
+ * [2367](https://github.com/AcademySoftwareFoundation/openexr/pull/2367)
250
+ Fix int overflow in ImageChannel::resize pixel count
251
+ * [2364](https://github.com/AcademySoftwareFoundation/openexr/pull/2364)
252
+ Recommend GH Security Advisories for vulnerability reporting
253
+ * [2361](https://github.com/AcademySoftwareFoundation/openexr/pull/2361)
254
+ Add documentation and test for UTF-8 file paths
255
+ * [2344](https://github.com/AcademySoftwareFoundation/openexr/pull/2344)
256
+ Fix Windows ARM64EC build issues and correct SIMD ARM NEON path for ARM64/EC
257
+
258
+ ### Merged Workflow Pull Requests
259
+
260
+ * [2370](https://github.com/AcademySoftwareFoundation/openexr/pull/2370)
261
+ Bump msys2/setup-msys2 from 2.31.0 to 2.31.1
262
+ * [2366](https://github.com/AcademySoftwareFoundation/openexr/pull/2366)
263
+ Add workflow dispatch trigger to release-sign.yml
264
+ * [2363](https://github.com/AcademySoftwareFoundation/openexr/pull/2363)
265
+ Bump vmactions/freebsd-vm from 1.4.4 to 1.4.5
266
+ * [2362](https://github.com/AcademySoftwareFoundation/openexr/pull/2362)
267
+ Bump github/codeql-action from 4.35.1 to 4.35.2
268
+
269
+ ## Version 3.4.10 (April 17, 2026)
270
+
271
+ Patch release that addresses the following security vulnerabilities:
272
+
273
+ * [CVE-2026-39886](https://www.cve.org/CVERecord?id=CVE-2026-39886) HTJ2K Signed Integer Overflow in `ht_undo_impl()`
274
+ * [CVE-2026-40244](https://www.cve.org/CVERecord?id=CVE-2026-40244) Integer overflow in DWA `setupChannelData` `planarUncRle` pointer arithmetic (missed variant of CVE-2026-34589)
275
+ * [CVE-2026-40250](https://www.cve.org/CVERecord?id=CVE-2026-40250) Integer overflow in DWA decoder `outBufferEnd` pointer arithmetic (missed variant of CVE-2026-34589)
276
+
277
+ ### Merged Pull Requests
278
+
279
+ * [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
280
+ Fix integer overflow in internal_dwa_compressor.h
281
+ * [2345](https://github.com/AcademySoftwareFoundation/openexr/pull/2345)
282
+ Fix HTJ2K bytes-per-line integer overflow in internal_ht.cpp
283
+ * [2340](https://github.com/AcademySoftwareFoundation/openexr/pull/2340)
284
+ Fix 3.4.9 cve list formatting
285
+ * [2339](https://github.com/AcademySoftwareFoundation/openexr/pull/2339)
286
+ fix link formatting typo
287
+ * [2337](https://github.com/AcademySoftwareFoundation/openexr/pull/2337)
288
+ notes and news for v3.4.9, v3.3.9, v3.2.7
289
+ * [2334](https://github.com/AcademySoftwareFoundation/openexr/pull/2334)
290
+ Add CVE-2026-34589,34588,34545,34544,34543,34380,34379,34378 to SECURITY.md
291
+ * [2316](https://github.com/AcademySoftwareFoundation/openexr/pull/2316)
292
+ Fix Pinned-Dependencies Scorecard alert in website workflow
293
+
294
+ ### Merged Workflow Pull Requests
295
+
296
+ * [2360](https://github.com/AcademySoftwareFoundation/openexr/pull/2360)
297
+ Bump actions/cache from 5.0.4 to 5.0.5
298
+ * [2354](https://github.com/AcademySoftwareFoundation/openexr/pull/2354)
299
+ Bump actions/upload-artifact from 7.0.0 to 7.0.1
300
+ * [2343](https://github.com/AcademySoftwareFoundation/openexr/pull/2343)
301
+ Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0
302
+ * [2341](https://github.com/AcademySoftwareFoundation/openexr/pull/2341)
303
+ Bump jmertic/slack-release-notifier from 32206e01ee0b0f66865d2be13bb3c62e474b5ce0 to 9d7d3a84563d2ebc8f7b2271be6c9568fedd7f3a
304
+ * [2338](https://github.com/AcademySoftwareFoundation/openexr/pull/2338)
305
+ Fix CodeQL SARIF upload ref for pull_request workflows
306
+ * [2336](https://github.com/AcademySoftwareFoundation/openexr/pull/2336)
307
+ Bump pypa/cibuildwheel from 3.4.0 to 3.4.1
308
+ * [2333](https://github.com/AcademySoftwareFoundation/openexr/pull/2333)
309
+ Add CI test to validate "cmake --install .. --prefix <path>
310
+
311
+ ## Version 3.4.9 (April 3, 2026)
312
+
313
+ Patch release that addresses several security vulnerabilities.
314
+
315
+ This release also fixes a build issue where the library symlinks would
316
+ get installed in the incorrect location when overriding the cached
317
+ install prefix path.
318
+
319
+ This release addresses the following CVEs:
320
+ * [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) DWA Lossy Decoder Heap Out-of-Bounds Write
321
+ * [CVE-2026-34588](https://www.cve.org/CVERecord?id=CVE-2026-34588) Signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
322
+ * [CVE-2026-34380](https://www.cve.org/CVERecord?id=CVE-2026-34380) Signed integer overflow (undefined behavior) in undo_pxr24_impl may allow bounds-check bypass in PXR24 decompression
323
+ * [CVE-2026-34379](https://www.cve.org/CVERecord?id=CVE-2026-34379) Misaligned write in LossyDctDecoder_execute leading to undefined behavior (DWA/DWAB decompression)
324
+ * [CVE-2026-34378](https://www.cve.org/CVERecord?id=CVE-2026-34378) Signed integer overflow in generic_unpack() when parsing EXR files with crafted negative dataWindow.min.x
325
+
326
+ ### Merged Pull Requests
327
+
328
+ * [2329](https://github.com/AcademySoftwareFoundation/openexr/pull/2329)
329
+ Fix signed integer overflow in `LossyDctDecoder_execute()` pointer arithmatic
330
+ * [2328](https://github.com/AcademySoftwareFoundation/openexr/pull/2328)
331
+ fix integer overflow in PIZ wavelet buffer arithmetic
332
+ * [2327](https://github.com/AcademySoftwareFoundation/openexr/pull/2327)
333
+ Add a message about image size limits and OOM errors to SECURITY.md and website
334
+ * [2326](https://github.com/AcademySoftwareFoundation/openexr/pull/2326)
335
+ Fix shared lib symlink installation path
336
+ * [2324](https://github.com/AcademySoftwareFoundation/openexr/pull/2324)
337
+ Fix misaligned memory access in `LossyDctDecoder_execute` HALF→FLOAT expansion
338
+ * [2323](https://github.com/AcademySoftwareFoundation/openexr/pull/2323)
339
+ fix signed integer overflow in `undo_pxr24_impl()`
340
+ * [2321](https://github.com/AcademySoftwareFoundation/openexr/pull/2321)
341
+ Fix integer overflow in `srcbuffer` pointer arithmetic in `unpack_*`
342
+ * [2317](https://github.com/AcademySoftwareFoundation/openexr/pull/2317)
343
+ Add "cherry" and "changes" options to release.py
344
+
345
+ ### Merged Workflow Pull Requests
346
+
347
+ * [2332](https://github.com/AcademySoftwareFoundation/openexr/pull/2332)
348
+ Bump vmactions/freebsd-vm from 1.4.3 to 1.4.4
349
+ * [2331](https://github.com/AcademySoftwareFoundation/openexr/pull/2331)
350
+ Bump github/codeql-action from 4.34.1 to 4.35.1
351
+ * [2330](https://github.com/AcademySoftwareFoundation/openexr/pull/2330)
352
+ Bump jmertic/slack-release-notifier from f824585541879ef2a6388268eccb9be210aa6878 to 32206e01ee0b0f66865d2be13bb3c62e474b5ce0
353
+ * [2325](https://github.com/AcademySoftwareFoundation/openexr/pull/2325)
354
+ Bump sigstore/gh-action-sigstore-python from 3.2.0 to 3.3.0
355
+ * [2320](https://github.com/AcademySoftwareFoundation/openexr/pull/2320)
356
+ Bump jmertic/slack-release-notifier from 35fad060af5559c24decdec0f701e6ba93566704 to f824585541879ef2a6388268eccb9be210aa6878
357
+ * [2319](https://github.com/AcademySoftwareFoundation/openexr/pull/2319)
358
+ Bump msys2/setup-msys2 from 2.30.0 to 2.31.0
359
+ * [2318](https://github.com/AcademySoftwareFoundation/openexr/pull/2318)
360
+ Bump github/codeql-action from 4.33.0 to 4.34.1
361
+
362
+ ## Version 3.4.8 (March 26, 2026)
363
+
364
+ Patch release with several bug/build fixes:
365
+
366
+ - Fix an integer-overflow bug reading malformed files compressed with
367
+ B44A/B44B
368
+ - Fix a buffer-overrun bug reading malformed files compressed with PXR24
369
+ - Fix a bug compressing half data with ZIPS/ZIP data when the
370
+ compressed size equals packed size
371
+ - Single part files no longer get assigned a part name when writing
372
+ via the python module
373
+ - Fix a build failure on FreeBSD involving `threads.h`
374
+
375
+ This also eliminates several compiler warnings, particularly about the
376
+ deprecated `isOptimizationEnabled()` API and deprecates standard
377
+ attributes.
378
+
379
+ This version addresses the following security vulnerabilities:
380
+
381
+ * [CVE-2026-34544](https://www.cve.org/CVERecord?id=CVE-2026-34544) integer overflow to OOB write in uncompress_b44_impl()
382
+ * [CVE-2026-34543](https://www.cve.org/CVERecord?id=CVE-2026-34543) Heap information disclosure in PXR24 decompression via unchecked decompressed size (undo_pxr24_impl)
383
+
384
+ ### Merged Pull Requests
385
+
386
+ * [2312](https://github.com/AcademySoftwareFoundation/openexr/pull/2312)
387
+ Fix B44/B44A integer overflow: use uint64_t for row offset
388
+ * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
389
+ PXR24: reject zlib output that does not match packed payload size
390
+ * [2307](https://github.com/AcademySoftwareFoundation/openexr/pull/2307)
391
+ Fix ZIPS/ZIP encoder corruption when compressed size equals packed size
392
+ * [2303](https://github.com/AcademySoftwareFoundation/openexr/pull/2303)
393
+ Fix MinGW -Walloc-size-larger-than= in general_attr string test
394
+ * [2301](https://github.com/AcademySoftwareFoundation/openexr/pull/2301)
395
+ don't insert name attributes into single part files
396
+ * [2300](https://github.com/AcademySoftwareFoundation/openexr/pull/2300)
397
+ Fix FreeBSD build failure involving threads.h, and add FreeBSD CI build
398
+ * [2124](https://github.com/AcademySoftwareFoundation/openexr/pull/2124)
399
+ Suppress deprecation warnings for isOptimizationEnabled and standard attributes
400
+
401
+ ### Merged Workflow Pull Requests
402
+
403
+ * [2315](https://github.com/AcademySoftwareFoundation/openexr/pull/2315)
404
+ Force macos cibuildwheel to use Xcode clang
405
+ * [2311](https://github.com/AcademySoftwareFoundation/openexr/pull/2311)
406
+ Bump actions/cache from 5.0.3 to 5.0.4
407
+ * [2304](https://github.com/AcademySoftwareFoundation/openexr/pull/2304)
408
+ Bump github/codeql-action from 4.32.6 to 4.33.0
409
+ * [2297](https://github.com/AcademySoftwareFoundation/openexr/pull/2297)
410
+ Restore Analysis build
411
+ * [2295](https://github.com/AcademySoftwareFoundation/openexr/pull/2295)
412
+ Restrict workflow permissions for ci_steps, release-sign, and codeql
413
+ * [2294](https://github.com/AcademySoftwareFoundation/openexr/pull/2294)
414
+ Pin pypa/cibuildwheel actions to release sha
415
+
416
+ ## Version 3.4.7 (March 15, 2026)
417
+
418
+ Patch release bug/build fixes:
419
+
420
+ * Fix an integer overflow decoding very wide htj2k images
421
+ * Fix build failure with glibc 2.43
422
+ * Fix Windows symbol visibility warnings
423
+
424
+ Full changelog: [v3.4.6..v3.4.7](https://github.com/AcademySoftwareFoundation/openexr/compare/v3.4.6..v3.4.7)
425
+
426
+ This version addresses the following security vulnerabilities:
427
+
428
+ * [CVE-2026-34545](https://www.cve.org/CVERecord?id=CVE-2026-34545)
429
+ integer overflow lead to OOB in HTJ2K decoder
430
+
431
+ ### Merged Pull Requests
432
+
433
+ * [2291](https://github.com/AcademySoftwareFoundation/openexr/pull/2291)
434
+ Fix integer overflow in htj2k decode with width > 32767
435
+
436
+ * [2283](https://github.com/AcademySoftwareFoundation/openexr/pull/2283)
437
+ update SECURITY with CVE info for PR #2256
438
+
439
+ * [2282](https://github.com/AcademySoftwareFoundation/openexr/pull/2282)
440
+ Remove `website_preview_link` workflow
441
+
442
+ * [2281](https://github.com/AcademySoftwareFoundation/openexr/pull/2281)
443
+ Disable visibility attributes on Windows to fix msys2 -Wattributes warning
444
+
445
+ * [2262](https://github.com/AcademySoftwareFoundation/openexr/pull/2262)
446
+ Fix build failure with glibc 2.43 due to C11 threads.h conflicts
447
+
448
+ ### Merged Workflow Pull Requests
449
+
450
+ * [2292](https://github.com/AcademySoftwareFoundation/openexr/pull/2292)
451
+ Bump actions/download-artifact from 8.0.0 to 8.0.1
452
+
453
+ * [2289](https://github.com/AcademySoftwareFoundation/openexr/pull/2289)
454
+ Bump scikit-build-core from 0.12.1 to 0.12.2
455
+
456
+ * [2288](https://github.com/AcademySoftwareFoundation/openexr/pull/2288)
457
+ Bump jmertic/slack-release-notifier from 6fa159048d5313ff1177d248ad84beb627571670 to 35fad060af5559c24decdec0f701e6ba93566704
458
+
459
+ * [2287](https://github.com/AcademySoftwareFoundation/openexr/pull/2287)
460
+ Bump pypa/cibuildwheel from 3.3 to 3.4
461
+
462
+ ## Version 3.4.6 (March 1, 2026)
463
+
464
+ Patch release with several bug fixes, enhancements, and build improvements.
465
+
466
+ * :bug: A limit of ``UINT_MAX`` deep samples per pixel is now
467
+ enforced, which prevents an integer overflow when using the
468
+ `CompositeDeepScanLine` API to combine multiple deep parts.
469
+
470
+ * :wrench: In `IlmThreadPool`, replace deprecated `std::atomic_load /
471
+ std::atomic_exchange` overloads for `std::shared_ptr` with the C++20
472
+ `std::atomic<std::shared_ptr<T>>` interface when available.
473
+
474
+ * :bug: The ``ZIP`` and ``ZIPS`` Compressor objects had incorrect
475
+ compression types set, although the ill effects were minimal as the
476
+ value is seldom used.
477
+
478
+ * :bug: Enable SSE2 on 32-bit x86 builds to fix test failures
479
+
480
+ Build improvements:
481
+
482
+ * :hammer_and_wrench: OpenEXR now ships with an internal "vendored" copy of the
483
+ ``OpenJPH`` library. At configuration time, if CMake finds an
484
+ external installation of ``OpenJPH``, it will use it, but if that
485
+ fails, or the CMake configuration option
486
+ ``OPENEXR_FORCE_INTERNAL_OPENJPH`` is set, it will use the internal
487
+ copy. For OpenEXR v3.4.6, the vendored version of OpenJPH is 0.26.3.
488
+
489
+ * :hammer_and_wrench: A new CMake build option `DOPENEXR_FORCE_EMBEDDED_CORE`
490
+ builds the `OpenEXRCore` library statically and links it into the
491
+ `OpenEXR` library with symbols hidden, making it possible to link
492
+ multiple versions of OpenEXR into the same executable. The `OpenEXR`
493
+ library has namespaces for this situation, but the `OpenEXRCore`
494
+ library is written in C with no configurable namespace. See [Linking
495
+ Multiple OpenEXR Versions in the
496
+ Executable](https://openexr.com/en/latest/install.html#linking-multiple-openexr-versions-in-the-executable)
497
+ for details.
498
+
499
+ * :hammer_and_wrench: Fix build failure with ``-march=sandybridge``
500
+
501
+ Python:
502
+
503
+ * :snake: :sparkles: Add python support for Opaque Attributes
504
+
505
+ * :rocket: Python module I/O operations now release the GIL,
506
+ preventing blocking.
507
+
508
+ Tools:
509
+
510
+ * :sparkles: Add sanity check for correct arguments to exrstdattr, to
511
+ catch mistakes such as ``exrstdattr input.exr output.exr -comment
512
+ hello`` which would formerly write to a file called ``hello`` but
513
+ now fails with a usage error.
514
+
515
+ Also, this release bumps the vendered version of `libdeflate` to 1.25.
516
+
517
+ This release addresses the following CVEs:
518
+ * [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622)
519
+ CompositeDeepScanLine integer-overflow leads to heap OOB write
520
+
521
+ ### Merged Pull Requests:
522
+
523
+ * [2274](https://github.com/AcademySoftwareFoundation/openexr/pull/2274)
524
+ Update the vendored libdeflate to 1.25
525
+ * [2273](https://github.com/AcademySoftwareFoundation/openexr/pull/2273)
526
+ Release Python GIL during I/O operations in bindings
527
+ * [2272](https://github.com/AcademySoftwareFoundation/openexr/pull/2272)
528
+ Fix build failure with -march=sandybridge (#2231)
529
+ * [2271](https://github.com/AcademySoftwareFoundation/openexr/pull/2271)
530
+ Enable SSE2 on 32-bit x86 builds to fix test failures
531
+ * [2269](https://github.com/AcademySoftwareFoundation/openexr/pull/2269)
532
+ Mention OpenEXR dependencies on README
533
+ * [2268](https://github.com/AcademySoftwareFoundation/openexr/pull/2268)
534
+ Bazel: Use openjph 0.26.3
535
+ * [2267](https://github.com/AcademySoftwareFoundation/openexr/pull/2267)
536
+ Bump rules_cc from 0.2.16 to 0.2.17
537
+ * [2265](https://github.com/AcademySoftwareFoundation/openexr/pull/2265)
538
+ Bump jmertic/slack-release-notifier
539
+ * [2264](https://github.com/AcademySoftwareFoundation/openexr/pull/2264)
540
+ Bump github/codeql-action from 4.32.3 to 4.32.4
541
+ * [2263](https://github.com/AcademySoftwareFoundation/openexr/pull/2263)
542
+ Add sanity check for correct arguments to exrstdattr
543
+ * [2261](https://github.com/AcademySoftwareFoundation/openexr/pull/2261)
544
+ Fix sentence fragment typo in website python docs
545
+ * [2260](https://github.com/AcademySoftwareFoundation/openexr/pull/2260)
546
+ Add reference to `OPENEXR_FORCE_EMBEDDED_CORE` on install page
547
+ * [2259](https://github.com/AcademySoftwareFoundation/openexr/pull/2259)
548
+ Fix ZipCompressor to initialize compresson type correctly
549
+ * [2258](https://github.com/AcademySoftwareFoundation/openexr/pull/2258)
550
+ Bazel: Remove WORKSPACE.bazel file
551
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
552
+ Report an error if a deep pixel as more than `UINT_MAX` samples
553
+ * [2253](https://github.com/AcademySoftwareFoundation/openexr/pull/2253)
554
+ Add CVE-2025-64181 to SECURITY.md
555
+ * [2252](https://github.com/AcademySoftwareFoundation/openexr/pull/2252)
556
+ Add news and release notes for v3.4.5 and v3.3.7
557
+ * [2250](https://github.com/AcademySoftwareFoundation/openexr/pull/2250)
558
+ Vendor OpenJPH v0.26.3
559
+ * [2249](https://github.com/AcademySoftwareFoundation/openexr/pull/2249)
560
+ Add python support for Opaque Attributes
561
+ * [2248](https://github.com/AcademySoftwareFoundation/openexr/pull/2248)
562
+ Fix tag check, git rm, and sed calls in vendor_openjph.sh
563
+ * [2247](https://github.com/AcademySoftwareFoundation/openexr/pull/2247)
564
+ Bump github/codeql-action from 4.31.9 to 4.32.3
565
+ * [2243](https://github.com/AcademySoftwareFoundation/openexr/pull/2243)
566
+ IlmThread: fix deprecated atomic `shared_ptr` ops for `shared_ptr` (GCC 15)
567
+ * [2240](https://github.com/AcademySoftwareFoundation/openexr/pull/2240)
568
+ Bump actions/cache from 5.0.1 to 5.0.3
569
+ * [2239](https://github.com/AcademySoftwareFoundation/openexr/pull/2239)
570
+ Fix links and formatting in CONTRIBUTING.md
571
+ * [2236](https://github.com/AcademySoftwareFoundation/openexr/pull/2236)
572
+ Bump actions/checkout from 6.0.1 to 6.0.2
573
+ * [2235](https://github.com/AcademySoftwareFoundation/openexr/pull/2235)
574
+ Bump actions/setup-python from 6.1.0 to 6.2.0
575
+ * [2227](https://github.com/AcademySoftwareFoundation/openexr/pull/2227)
576
+ Bump rules_cc from 0.2.14 to 0.2.16
577
+ * [2226](https://github.com/AcademySoftwareFoundation/openexr/pull/2226)
578
+ Bump bazel_skylib from 1.8.2 to 1.9.0
579
+ * [2225](https://github.com/AcademySoftwareFoundation/openexr/pull/2225)
580
+ Rename external/OpenJPH/src/core/common to openjph, instead of using a symlink
581
+ * [2224](https://github.com/AcademySoftwareFoundation/openexr/pull/2224)
582
+ Bump github/codeql-action from 4.31.8 to 4.31.9
583
+ * [2222](https://github.com/AcademySoftwareFoundation/openexr/pull/2222)
584
+ Bump actions/upload-artifact from 5 to 6
585
+ * [2221](https://github.com/AcademySoftwareFoundation/openexr/pull/2221)
586
+ Bump actions/cache from 4.3.0 to 5.0.1
587
+ * [2220](https://github.com/AcademySoftwareFoundation/openexr/pull/2220)
588
+ Bump msys2/setup-msys2 from 2.29.0 to 2.30.0
589
+ * [2219](https://github.com/AcademySoftwareFoundation/openexr/pull/2219)
590
+ Bump actions/download-artifact from 6.0.0 to 7.0.0
591
+ * [2218](https://github.com/AcademySoftwareFoundation/openexr/pull/2218)
592
+ Bump github/codeql-action from 4.31.7 to 4.31.8
593
+ * [2216](https://github.com/AcademySoftwareFoundation/openexr/pull/2216)
594
+ Add option to compile c++ libraries with an embedded core library
595
+ * [2215](https://github.com/AcademySoftwareFoundation/openexr/pull/2215)
596
+ Bump imath from 3.2.2 to 3.2.2.bcr.1
597
+ * [2214](https://github.com/AcademySoftwareFoundation/openexr/pull/2214)
598
+ Bump github/codeql-action from 4.31.5 to 4.31.7
599
+ * [2213](https://github.com/AcademySoftwareFoundation/openexr/pull/2213)
600
+ Bump sigstore/gh-action-sigstore-python from 3.1.0 to 3.2.0
601
+ * [2212](https://github.com/AcademySoftwareFoundation/openexr/pull/2212)
602
+ Bump actions/checkout from 6.0.0 to 6.0.1
603
+ * [2210](https://github.com/AcademySoftwareFoundation/openexr/pull/2210)
604
+ Bump actions/setup-python from 6.0.0 to 6.1.0
605
+ * [2209](https://github.com/AcademySoftwareFoundation/openexr/pull/2209)
606
+ Bump github/codeql-action from 4.31.4 to 4.31.5
607
+ * [2208](https://github.com/AcademySoftwareFoundation/openexr/pull/2208)
608
+ Remove enable-beta-ecosystem since Bazel is no officially supported
609
+ * [2204](https://github.com/AcademySoftwareFoundation/openexr/pull/2204)
610
+ Bump actions/checkout from 3.6.0 to 6.0.0
611
+ * [2202](https://github.com/AcademySoftwareFoundation/openexr/pull/2202)
612
+ Bump github/codeql-action from 4.31.3 to 4.31.4
613
+ * [2193](https://github.com/AcademySoftwareFoundation/openexr/pull/2193)
614
+ Vendor in an internal version of OpenJPH
615
+ * [2167](https://github.com/AcademySoftwareFoundation/openexr/pull/2167)
616
+ Bazel build: Bump openjph to 0.25.0 and libdeflate to 1.25
617
+
618
+ ## Version 3.4.5 (February 21, 2026)
619
+
620
+ Patch release that fixes an incorrect size check in
621
+ `istream_nonparallel_read` that could lead to a buffer overflow on
622
+ invalid input data.
623
+
624
+ This release addresses the following CVEs:
625
+ * [CVE-2026-26981](https://www.cve.org/CVERecord?id=CVE-2026-26981)
626
+ Heap-buffer-overflow via signed integer underflow in ImfContextInit.cpp
627
+
628
+ ### Merged Pull Requests:
629
+
630
+ * [2244](https://github.com/AcademySoftwareFoundation/openexr/pull/2244)
631
+ Fix incorrect size check in `istream_nonparallel_read`
632
+
633
+ ## Version 3.4.4 (November 19, 2025)
634
+
635
+ Patch release with an optimization to reduce the size of the library.
636
+
637
+ B44 and DWA compression tables are now initialized at first use rather
638
+ than being hard-coded in the source code and compiled binary. This
639
+ reduces the library size at a slight performance cost. Initialization
640
+ takes under a millisecond, but the size of libOpenEXRCore.so is
641
+ reduced from 890K to 360K.
642
+
643
+ This also fixes a build issue with `ILMTHREAD_THREADING_ENABLED` which
644
+ inadvertently enabled threading when it should have been disabed.
645
+
646
+ This also fixes a bug where importing the python module from a parent
647
+ directory would fail.
648
+
649
+ ### Merged Pull Requests:
650
+
651
+ * [2199](https://github.com/AcademySoftwareFoundation/openexr/pull/2199)
652
+ OpenEXRCore: fix `ILMTHREAD_THREADING_ENABLED` checks
653
+ * [2198](https://github.com/AcademySoftwareFoundation/openexr/pull/2198)
654
+ OpenEXRCore: avoid direct dependency on imath
655
+ * [2196](https://github.com/AcademySoftwareFoundation/openexr/pull/2196)
656
+ Bump github/codeql-action from 4.31.2 to 4.31.3
657
+ * [2194](https://github.com/AcademySoftwareFoundation/openexr/pull/2194)
658
+ Add missing copywrite comments
659
+ * [2192](https://github.com/AcademySoftwareFoundation/openexr/pull/2192)
660
+ Bump pypa/cibuildwheel from 3.2 to 3.3
661
+ * [2190](https://github.com/AcademySoftwareFoundation/openexr/pull/2190)
662
+ Bump github/codeql-action from 3.27.9 to 4.31.2
663
+ * [2189](https://github.com/AcademySoftwareFoundation/openexr/pull/2189)
664
+ Bump msys2/setup-msys2 from 2.27.0 to 2.29.0
665
+ * [2188](https://github.com/AcademySoftwareFoundation/openexr/pull/2188)
666
+ Bump actions/download-artifact from 4.1.8 to 6.0.0
667
+ * [2187](https://github.com/AcademySoftwareFoundation/openexr/pull/2187)
668
+ Bump ossf/scorecard-action from 2.4.0 to 2.4.3
669
+ * [2186](https://github.com/AcademySoftwareFoundation/openexr/pull/2186)
670
+ Bump pypa/cibuildwheel from 2.23 to 3.2
671
+ * [2185](https://github.com/AcademySoftwareFoundation/openexr/pull/2185)
672
+ Bump actions/cache from 4.2.0 to 4.3.0
673
+ * [2184](https://github.com/AcademySoftwareFoundation/openexr/pull/2184)
674
+ Bump actions/upload-artifact from 4 to 5
675
+ * [2183](https://github.com/AcademySoftwareFoundation/openexr/pull/2183)
676
+ Bump actions/checkout from 2.7.0 to 5.0.0
677
+ * [2182](https://github.com/AcademySoftwareFoundation/openexr/pull/2182)
678
+ Add recent CVEs to SECURITY.md
679
+ * [2181](https://github.com/AcademySoftwareFoundation/openexr/pull/2181)
680
+ Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.1.0
681
+ * [2180](https://github.com/AcademySoftwareFoundation/openexr/pull/2180)
682
+ Bump actions/setup-python from 5.3.0 to 6.0.0
683
+ * [2178](https://github.com/AcademySoftwareFoundation/openexr/pull/2178)
684
+ Bump snyk/actions from 0.4.0 to 1.0.0
685
+ * [2177](https://github.com/AcademySoftwareFoundation/openexr/pull/2177)
686
+ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.13.0
687
+ * [2176](https://github.com/AcademySoftwareFoundation/openexr/pull/2176)
688
+ Imporve Bazel support
689
+ * [2175](https://github.com/AcademySoftwareFoundation/openexr/pull/2175)
690
+ Converts asserts in internal_ht.cpp to if statement that throws an exception.
691
+ * [2174](https://github.com/AcademySoftwareFoundation/openexr/pull/2174)
692
+ DWA: initialize linear/nonlinear tables at runtime
693
+ * [2173](https://github.com/AcademySoftwareFoundation/openexr/pull/2173)
694
+ Update macos-13 to macos-15-intel
695
+ * [2171](https://github.com/AcademySoftwareFoundation/openexr/pull/2171)
696
+ Properly set `OpenEXR_error` in legacy python API
697
+ * [2126](https://github.com/AcademySoftwareFoundation/openexr/pull/2126)
698
+ B44: initialize exp/log tables at runtime
699
+
700
+
701
+ ## Version 3.4.3 (November 4, 2025)
702
+
703
+ Patch release that addresses several bugs, primarily involving
704
+ properly rejecting corrupt input data.
705
+
706
+ Specifically:
707
+
708
+ - Buffer overflow in PyOpenEXR_old's `channels()` and `channel()` in
709
+ legacy python, reported by Joshua Rogers (GitHub: MegaManSec).
710
+ - Use after free in PyObject_StealAttrString in legacy python, reported
711
+ by Joshua Rogers (GitHub: MegaManSec).
712
+ - Use of Uninitialized Memory in openexr, reported by Aldo Ristori
713
+ (GitHub: Kaldreic).
714
+ - Heap-based Buffer Overflow Remote Code Execution Vulnerability,
715
+ reported by Trend Micro Zero Day Initiative.
716
+
717
+ This release addresses the following CVEs:
718
+ * [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183)
719
+ Use after free in PyObject_StealAttrString
720
+ * [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182)
721
+ Buffer overflow in PyOpenEXR_old's channels() and channel()
722
+ * [CVE-2025-64181](https://www.cve.org/CVERecord?id=CVE-2025-64181)
723
+ Security Issue: Use of Uninitialized Memory in openexr
724
+ * [CVE-2025-12840](https://www.cve.org/CVERecord?id=CVE-2025-12840)
725
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
726
+ * [CVE-2025-12839](https://www.cve.org/CVERecord?id=CVE-2025-12839)
727
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
728
+ * [CVE-2025-12495](https://www.cve.org/CVERecord?id=CVE-2025-12495)
729
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
730
+
731
+ Also:
732
+
733
+ * OSS-fuzz [456158449](https://issues.oss-fuzz.com/issues/456158449)
734
+ Heap-buffer-overflow in `generic_unpack`
735
+ * OSS-fuzz [447429458](https://issues.oss-fuzz.com/issues/447429458)
736
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
737
+ * OSS-fuzz [439237843](https://issues.oss-fuzz.com/issues/439237843)
738
+ Heap-buffer-overflow in `internal_exr_undo_ht`
739
+ * OSS-fuzz [436037111](https://issues.oss-fuzz.com/issues/436037111)
740
+ Heap-buffer-overflow in `generic_unpack`
741
+ * OSS-fuzz [435779241](https://issues.oss-fuzz.com/issues/435779241)
742
+ Heap-buffer-overflow in `generic_unpack`
743
+ * OSS-fuzz [420744464](https://issues.oss-fuzz.com/issues/420744464)
744
+ Abrt in `__cxxabiv1::failed_throw`
745
+
746
+ Other fixes:
747
+ * Fix a bug with re-reading a scanline file with a different set of
748
+ channels.
749
+ * Only populate `CMAKE_DEBUG_POSTFIX` with `_d` if it is undefined,
750
+ which makes it possible to set `CMAKE_DEBUG_POSTFIX=""`.
751
+
752
+ This version also bumps the auto-fetched version of OpenJPH to
753
+ 0.24.4. OpenJPH 0.24.4 addresses these OSS-Fuzz issues:
754
+
755
+ * OSS-fuzz [455374208](https://issues.oss-fuzz.com/issues/455374208)
756
+ Floating-point-exception in `ojph::local::tile::pre_alloc`
757
+ * OSS-fuzz [444963190](https://issues.oss-fuzz.com/issues/444963190)
758
+ Index-out-of-bounds in `ojph::local::param_qcd::read_qcc`
759
+ * OSS-fuzz [444878558](https://issues.oss-fuzz.com/issues/444878558)
760
+ Segv on unknown address in `ojph::local::param_qcd::~param_qcd`
761
+ * OSS-fuzz [444878557](https://issues.oss-fuzz.com/issues/444878557)
762
+ Null-dereference READ in `ojph::local::param_qcd::~param_qcd`
763
+
764
+ ### Merged Pull Requests:
765
+
766
+ * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
767
+ Fix improper use of `Py_DECREF` in legacy python module
768
+ * [2166](https://github.com/AcademySoftwareFoundation/openexr/pull/2166)
769
+ Only define `CMAKE_DEBUG_POSTFIX` if it is not already defined
770
+ * [2164](https://github.com/AcademySoftwareFoundation/openexr/pull/2164)
771
+ check storage_mode when computing chunk sizes
772
+ * [2163](https://github.com/AcademySoftwareFoundation/openexr/pull/2163)
773
+ Check for image size overflow in legacy python module
774
+ * [2162](https://github.com/AcademySoftwareFoundation/openexr/pull/2162)
775
+ verify packed/unpacked size with uncompressed data
776
+ * [2161](https://github.com/AcademySoftwareFoundation/openexr/pull/2161)
777
+ ImfCheckFile: handle partial deep tiles
778
+ * [2160](https://github.com/AcademySoftwareFoundation/openexr/pull/2160)
779
+ Fix issues with negative coordinates and sampling != 0
780
+ * [2159](https://github.com/AcademySoftwareFoundation/openexr/pull/2159)
781
+ Fix memset in `exr_read_chunk` when nread is negative
782
+ * [2156](https://github.com/AcademySoftwareFoundation/openexr/pull/2156)
783
+ Fix handling of corrupt RLE data
784
+ * [2150](https://github.com/AcademySoftwareFoundation/openexr/pull/2150)
785
+ Fix bug with re-reading scanline file with a different set of channels
786
+
787
+
788
+ ## Version 3.4.2 (October 15, 2025)
789
+
790
+ Patch release that fixes a Windows build issue introduced in v3.4.1.
791
+
792
+ No change in functionality.
793
+
794
+ ### Merged Pull Requests:
795
+
796
+ * [2146](https://github.com/AcademySoftwareFoundation/openexr/pull/2146)
797
+ Update Bazel dependencies
798
+ * [2144](https://github.com/AcademySoftwareFoundation/openexr/pull/2144)
799
+ handle CMake CREATE_LINK failures for openjph headers
800
+
801
+ ## Version 3.4.1 (October 8, 2025)
802
+
803
+ Patch release that fixes a build issue: OpenJPH headers are now
804
+ included from the openjph folder, as required by OpenJPH 0.23+.
805
+
806
+ No change in functionality.
807
+
808
+ ### Merged Pull Requests:
809
+
810
+ * [2140](https://github.com/AcademySoftwareFoundation/openexr/pull/2140)
811
+ Update `HELP2MAN_URL` in `install_help2man.sh`
812
+ * [2139](https://github.com/AcademySoftwareFoundation/openexr/pull/2139)
813
+ Fix doxygen/sphinx/rst website issues
814
+ * [2138](https://github.com/AcademySoftwareFoundation/openexr/pull/2138)
815
+ Bazel cleanup
816
+ * [2137](https://github.com/AcademySoftwareFoundation/openexr/pull/2137)
817
+ Bump macos runners to 14 and 15, drop 13
818
+ * [2136](https://github.com/AcademySoftwareFoundation/openexr/pull/2136)
819
+ Include the openjph headers from the openjph folder, required for OpenJPH 0.23+
820
+ * [2127](https://github.com/AcademySoftwareFoundation/openexr/pull/2127)
821
+ cmake: remove trailing spaces
822
+ * [2119](https://github.com/AcademySoftwareFoundation/openexr/pull/2119)
823
+ News for v3.4.0 release
824
+ * [2118](https://github.com/AcademySoftwareFoundation/openexr/pull/2118)
825
+ fix formatting in release notes
826
+ * [2107](https://github.com/AcademySoftwareFoundation/openexr/pull/2107)
827
+ Add section on OpenEXR/Imath version compatibility to install instructions
828
+
829
+ ## Version 3.4.0 (September 5, 2025)
830
+
831
+ OpenEXR v3.4 introduces a new, additional compression option to the
832
+ OpenEXR file format for **lossless compression with High Throughput
833
+ JPEG-2000 (HTJ2K)** encoding:
834
+
835
+ * A new HTJ2K compressor uses the **High-Throughput (HT) block
836
+ coder**. It supports the full range of OpenEXR features, including
837
+ 16-bit and 32-bit floating-point image channels, both scanline and
838
+ tiled.
839
+
840
+ * The HT block coder is standardized in [Rec. ITU-T
841
+ T.814](https://loc.gov/preservation/digital/formats/fdd/fdd000566.shtml)
842
+ and [ISO/IEC 15444-15](https://www.iso.org/standard/76621.html). It
843
+ is **royalty-free**, widely used in cinema and distribution servicing,
844
+ and implemented in both commercial and open-source toolkits.
845
+
846
+ * In experiments, we've found that HTJ2K produces smaller files, and
847
+ depending on the nature of the image data, is one of the fastest
848
+ compression types available in OpenEXR.
849
+
850
+ * Integration with OpenEXR uses the
851
+ [OpenJPH](https://github.com/aous72/OpenJPH) open-source
852
+ library. For ease in managing the dependency, the OpenEXR CMake
853
+ configuration supports **automatically fetching and building `OpenJPH`
854
+ internally**, or linking against an **external installation**.
855
+
856
+ * OpenEXR supports two new compression types with distinct space/time
857
+ trade-offs:
858
+
859
+ - `htj2k256` -- encodes/decodes chunks of 256 scanlines, producing
860
+ slightly smaller file size than `htj2k32`.
861
+
862
+ - `htj2k32` -- encodes/decodes chunks of 32 scanlines, better suited
863
+ to multi-threading, so it offers significantly faster encoding and
864
+ decoding (4-6x in some cases) than `htj2k256`, with a slight
865
+ increase in file size.
866
+
867
+ * All existing OpenEXR compression options remain unchanged. This new
868
+ feature simply extends the range of compression types available.
869
+
870
+ * Software compiled with OpenEXR v3.4 will be able to read HTJ2K
871
+ compressed OpenEXRs without any code changes. Software that writes
872
+ files may automatically support the new type, but may need a small
873
+ update to make the new type available as a user option.
874
+
875
+ * :warning: This is a **backwards-compatible extension** to the OpenEXR
876
+ file format. Files written with OpenEXR v3.4 will be readable by
877
+ applications built against previous releases, _unless_ they use the
878
+ new `htj2k32` or `htj2k256` compression options.
879
+
880
+ * :warning: This feature was first introduced for evaluation in
881
+ February, 2025 via the `htj2k-beta` branch with a single 256
882
+ scanlines/chunk compression option, with the 32-scanline option
883
+ added more recently. Application software written during this
884
+ evaluation period will need to change `IMF_HTJ2K_COMPRESSION` to
885
+ `IMF_HTJ2K256_COMPRESSION`, although files written with the earlier
886
+ evaluation version should still read properly.
887
+
888
+ ### Other New Features:
889
+
890
+ * :sparkles: **New `colorInteropID` standard attribute**
891
+
892
+ The ID string endorsed by the Color Interop Forum to communicate the
893
+ color space of RGB images in an interoperable manner.
894
+
895
+ - The contents of the string is described in the specification [An
896
+ ID for Color
897
+ Interop](https://docs.google.com/document/d/1T94lYbis9uCskL_ZEMxGBF2JryLfZnjxlEoNgRHZzBE/edit?usp=sharing).
898
+
899
+ - Guidance to application developers is provided in [Identifying the
900
+ Color Space of OpenEXR
901
+ Files](https://docs.google.com/document/d/1MTH1bq2L67ifvdDf64Amhzg4AbkIM5LG6yPHrB96Vwo/edit?usp=sharing)
902
+
903
+ * :sparkles: **New `bytes` attribute type**
904
+
905
+ Designed to hold an arbitrary binary blob of metadata.
906
+
907
+ - The OpenEXR library forces no interpretations of the attribute
908
+ contents; it is strictly application-dependent.
909
+
910
+ - The attribute also holds a `typeHint` string which applications
911
+ can use to suggest the intended interpretation of the contents,
912
+ but it is strictly informational.
913
+
914
+ * :wrench: **TBB as a global thread provider**
915
+
916
+ - A new cmake option `-DOPENEXR_USE_TBB=ON` switches the internals
917
+ of the thread pool to use TBB by default.
918
+ - Building with this option adds a link dependency on the `OneAPI
919
+ TBB` distribution.
920
+
921
+ * :wrench: **Vendored `libdeflate`**
922
+
923
+ - OpenEXR v3.4 now ships with a bundled distribution of the
924
+ `libdeflate` library, replacing the previous "auto-fetch"
925
+ mechanism.
926
+ - By default, building OpenEXR will use a system installation of
927
+ `libdeflate` as before, but if none is found, the build will use
928
+ the internal copy of `libdeflate`.
929
+ - Use `-DOPENEXR_USE_INTERNAL_DEFLATE=ON` to force the use of the
930
+ internal vendored version.
931
+
932
+ ### Bug fixes:
933
+
934
+ * :bug: Using openexr via cmake `add_subdirectory` now works properly.
935
+
936
+ ### Changes to the OpenEXR Python module:
937
+
938
+ * :snake: :bug: The Python module now allows an empty part name for a
939
+ single-part file
940
+ * :snake: :bug: The `header_only` option for Python module's `OpenEXR.File`
941
+ now works properly.
942
+ * :snake: :package: :warning: `pypi` distributions now **add support
943
+ for Python 3.13** and **drop support for Python 3.7**xc.
944
+
945
+ ### Merged Pull Requests:
946
+
947
+ * [2115](https://github.com/AcademySoftwareFoundation/openexr/pull/2115)
948
+ Move openjph to Requires.private in OpenEXR.pc
949
+ * [2114](https://github.com/AcademySoftwareFoundation/openexr/pull/2114)
950
+ Remove openjph includes from ImfHTCompressor.h
951
+ * [2113](https://github.com/AcademySoftwareFoundation/openexr/pull/2113)
952
+ Improve handling of Imath and OpenJPH library versions
953
+ * [2112](https://github.com/AcademySoftwareFoundation/openexr/pull/2112)
954
+ Fix compiler warnings
955
+ * [2106](https://github.com/AcademySoftwareFoundation/openexr/pull/2106)
956
+ Bump scikit-build-core from 0.11.5 to 0.11.6
957
+ * [2105](https://github.com/AcademySoftwareFoundation/openexr/pull/2105)
958
+ Add details about branches to install instructions
959
+ * [2104](https://github.com/AcademySoftwareFoundation/openexr/pull/2104)
960
+ Add support for 32-line HTJ2K Compressor
961
+ * [2103](https://github.com/AcademySoftwareFoundation/openexr/pull/2103)
962
+ remove extra allocation, fix invalid dereference on corrupt file
963
+ * [2102](https://github.com/AcademySoftwareFoundation/openexr/pull/2102)
964
+ add fallback catch to avoid exceptions from crossing C boundary
965
+ * [2099](https://github.com/AcademySoftwareFoundation/openexr/pull/2099)
966
+ documentation install OpenJPH
967
+ * [2098](https://github.com/AcademySoftwareFoundation/openexr/pull/2098)
968
+ Create symlink for the `add_subdirectory` CI test in the CI step
969
+ * [2097](https://github.com/AcademySoftwareFoundation/openexr/pull/2097)
970
+ Bump OpenJPH to 0.21.5
971
+ * [2095](https://github.com/AcademySoftwareFoundation/openexr/pull/2095)
972
+ docs: fix incorrect function names in C API docs
973
+ * [2094](https://github.com/AcademySoftwareFoundation/openexr/pull/2094)
974
+ Properly implement header_only for python module's OpenEXR.File
975
+ * [2093](https://github.com/AcademySoftwareFoundation/openexr/pull/2093)
976
+ Update CVE links in SECURITY.md to https://www.cve.org
977
+ * [2090](https://github.com/AcademySoftwareFoundation/openexr/pull/2090)
978
+ Fix python module to allow empty part name for single-part file
979
+ * [2088](https://github.com/AcademySoftwareFoundation/openexr/pull/2088)
980
+ Add CI test to validate cmake add_subdirectory(openexr)
981
+ * [2087](https://github.com/AcademySoftwareFoundation/openexr/pull/2087)
982
+ Fix aliases for IexConfig and IlmThreadConfig
983
+ * [2086](https://github.com/AcademySoftwareFoundation/openexr/pull/2086)
984
+ Fix HTJ2K chunk header length error and group common HTJ2K functions
985
+ * [2084](https://github.com/AcademySoftwareFoundation/openexr/pull/2084)
986
+ Add CVEs from OSTIF report to SECURITY.md and CHANGES.md
987
+ * [2083](https://github.com/AcademySoftwareFoundation/openexr/pull/2083)
988
+ Add CI jobs for C++20, and build tools/tests against standard
989
+ * [2079](https://github.com/AcademySoftwareFoundation/openexr/pull/2079)
990
+ Helper script release.py to automate release notes steps
991
+ * [2075](https://github.com/AcademySoftwareFoundation/openexr/pull/2075)
992
+ Add colorInteropID standard attribute
993
+ * [2074](https://github.com/AcademySoftwareFoundation/openexr/pull/2074)
994
+ OpenEXR - Adds New Bytes Attribute
995
+ * [2072](https://github.com/AcademySoftwareFoundation/openexr/pull/2072)
996
+ Add HTJ2K Compressor support to Tiled images
997
+ * [2070](https://github.com/AcademySoftwareFoundation/openexr/pull/2070)
998
+ Drop support for python 3.7; add support for python 3.13
999
+ * [2066](https://github.com/AcademySoftwareFoundation/openexr/pull/2066)
1000
+ Standardize handling of directories and paths in ci_steps.yml
1001
+ * [2064](https://github.com/AcademySoftwareFoundation/openexr/pull/2064)
1002
+ Improve example reader code in README.md/website, and add to CI
1003
+ * [2063](https://github.com/AcademySoftwareFoundation/openexr/pull/2063)
1004
+ Fix problem with OpenJPH downstream dependency
1005
+ * [2061](https://github.com/AcademySoftwareFoundation/openexr/pull/2061)
1006
+ Remove realloc from HTJ2K coder
1007
+ * [2058](https://github.com/AcademySoftwareFoundation/openexr/pull/2058)
1008
+ Add macOS universal2 build to CI, and bump OpenJPG to 0.21.3
1009
+ * [2053](https://github.com/AcademySoftwareFoundation/openexr/pull/2053)
1010
+ Supplemental to 2051: Adjust the "Unknown" compression threshold to 11
1011
+ * [2051](https://github.com/AcademySoftwareFoundation/openexr/pull/2051)
1012
+ add htj2k as one of the compression names
1013
+ * [2048](https://github.com/AcademySoftwareFoundation/openexr/pull/2048)
1014
+ Rename "HT256" to "htj2k"
1015
+ * [2044](https://github.com/AcademySoftwareFoundation/openexr/pull/2044)
1016
+ Improve reliability/readability of bin tests scripts and failure output
1017
+ * [2041](https://github.com/AcademySoftwareFoundation/openexr/pull/2041)
1018
+ merge htj2k-beta branch with main
1019
+ * [2037](https://github.com/AcademySoftwareFoundation/openexr/pull/2037)
1020
+ Add vendored deflate
1021
+ * [2017](https://github.com/AcademySoftwareFoundation/openexr/pull/2017)
1022
+ Fix quoting an cmake args in `ci_workflow.yml`
1023
+ * [2016](https://github.com/AcademySoftwareFoundation/openexr/pull/2016)
1024
+ Address mingw32 issues
1025
+ * [2014](https://github.com/AcademySoftwareFoundation/openexr/pull/2014)
1026
+ Add MSYS2 jobs to CI
1027
+ * [2012](https://github.com/AcademySoftwareFoundation/openexr/pull/2012)
1028
+ Fix botched htj2k news title
1029
+ * [1995](https://github.com/AcademySoftwareFoundation/openexr/pull/1995)
1030
+ Bazel support: Bump rules_cc
1031
+ * [1886](https://github.com/AcademySoftwareFoundation/openexr/pull/1886)
1032
+ Bump github/codeql-action from 3.26.12 to 3.26.13
1033
+ * [1882](https://github.com/AcademySoftwareFoundation/openexr/pull/1882)
1034
+ Bazel Support: Use Imath and libdeflate live at head
1035
+ * [1879](https://github.com/AcademySoftwareFoundation/openexr/pull/1879)
1036
+ Fetch master branch of libdeflate on main
1037
+ * [1852](https://github.com/AcademySoftwareFoundation/openexr/pull/1852)
1038
+ Add an option to use TBB as the global provider
1039
+
1040
+ ## Version 3.3.11 (April 29, 2026)
1041
+
1042
+ Patch release for 3.3 that addresses the following security
1043
+ vulnerabilities:
1044
+
1045
+ * [CVE-2026-42217](https://www.cve.org/CVERecord?id=CVE-2026-42217)
1046
+ Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
1047
+ * [CVE-2026-42216](https://www.cve.org/CVERecord?id=CVE-2026-42216)
1048
+ Out-of-bounds read in `IDManifest::init()` during prefix expansion
1049
+ * [CVE-2026-41142](https://www.cve.org/CVERecord?id=CVE-2026-41142)
1050
+ Integer overflow in `ImageChannel::resize` leads to heap OOB write via OpenEXRUtil public API
1051
+
1052
+ Also:
1053
+
1054
+ * OSS-fuzz [504280155](https://issues.oss-fuzz.com/issues/504280155)
1055
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
1056
+
1057
+ ### Merged Pull Requests
1058
+
1059
+ * [2383](https://github.com/AcademySoftwareFoundation/openexr/pull/2383)
1060
+ validate that the uncompressed sizes recorded in the dwa header are valid
1061
+ * [2378](https://github.com/AcademySoftwareFoundation/openexr/pull/2378)
1062
+ Harden IDManifest parsing against illegal shift and string prefix OOB
1063
+ * [2377](https://github.com/AcademySoftwareFoundation/openexr/pull/2377)
1064
+ Fix OOB read when expanding IDManifest prefix-compressed strings
1065
+ * [2367](https://github.com/AcademySoftwareFoundation/openexr/pull/2367)
1066
+ Fix int overflow in ImageChannel::resize pixel count
1067
+
1068
+ ## Version 3.3.10 (April 17, 2026)
1069
+
1070
+ Patch release that addresses the following security vulnerabilities:
1071
+
1072
+ * [CVE-2026-40244](https://www.cve.org/CVERecord?id=CVE-2026-40244) Integer overflow in DWA setupChannelData planarUncRle pointer arithmetic (missed variant of CVE-2026-34589)
1073
+ * [CVE-2026-40250](https://www.cve.org/CVERecord?id=CVE-2026-40250) Integer overflow in DWA decoder outBufferEnd pointer arithmetic (missed variant of CVE-2026-34589)
1074
+
1075
+ ### Merged Pull Requests
1076
+
1077
+ * [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
1078
+ Fix integer overflow in internal_dwa_compressor.h
1079
+
1080
+ ## Version 3.3.9 (April 4, 2026)
1081
+
1082
+ Patch release for v3.3 that addresses the following security vulnerabilities:
1083
+
1084
+ * [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) DWA Lossy Decoder Heap Out-of-Bounds Write
1085
+ * [CVE-2026-34588](https://www.cve.org/CVERecord?id=CVE-2026-34588) Signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
1086
+ * [CVE-2026-34544](https://www.cve.org/CVERecord?id=CVE-2026-34544) integer overflow to OOB write in uncompress_b44_impl()
1087
+ * [CVE-2026-34543](https://www.cve.org/CVERecord?id=CVE-2026-34543) Heap information disclosure in PXR24 decompression via unchecked decompressed size (undo_pxr24_impl)
1088
+ * [CVE-2026-34380](https://www.cve.org/CVERecord?id=CVE-2026-34380) Signed integer overflow (undefined behavior) in undo_pxr24_impl may allow bounds-check bypass in PXR24 decompression
1089
+ * [CVE-2026-34379](https://www.cve.org/CVERecord?id=CVE-2026-34379) Misaligned write in LossyDctDecoder_execute leading to undefined behavior (DWA/DWAB decompression)
1090
+ * [CVE-2026-34378](https://www.cve.org/CVERecord?id=CVE-2026-34378) Signed integer overflow in generic_unpack() when parsing EXR files with crafted negative dataWindow.min.x
1091
+
1092
+ ### Merged Pull Requests
1093
+
1094
+ * [2329](https://github.com/AcademySoftwareFoundation/openexr/pull/2329)
1095
+ Fix signed integer overflow in `LossyDctDecoder_execute()` pointer arithmatic
1096
+ * [2328](https://github.com/AcademySoftwareFoundation/openexr/pull/2328)
1097
+ fix integer overflow in PIZ wavelet buffer arithmetic
1098
+ * [2324](https://github.com/AcademySoftwareFoundation/openexr/pull/2324)
1099
+ Fix misaligned memory access in `LossyDctDecoder_execute` HALF→FLOAT expansion
1100
+ * [2323](https://github.com/AcademySoftwareFoundation/openexr/pull/2323)
1101
+ fix signed integer overflow in `undo_pxr24_impl()`
1102
+ * [2321](https://github.com/AcademySoftwareFoundation/openexr/pull/2321)
1103
+ Fix integer overflow in `srcbuffer` pointer arithmetic in `unpack_*`
1104
+ * [2312](https://github.com/AcademySoftwareFoundation/openexr/pull/2312)
1105
+ Fix B44/B44A integer overflow: use uint64_t for row offset
1106
+ * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
1107
+ PXR24: reject zlib output that does not match packed payload size
1108
+
1109
+ ## Version 3.3.8 (March 1, 2026)
1110
+
1111
+ Patch release that prevents an integer overflow when using the
1112
+ `CompositeDeepScanLine` API to combine multiple deep parts.
1113
+
1114
+ This release addresses the following CVEs:
1115
+ * [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622)
1116
+ CompositeDeepScanLine integer-overflow leads to heap OOB write
1117
+
1118
+ ### Merged Pull Requests:
1119
+
1120
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
1121
+ Report an error if a deep pixel as more than UINT_MAX samples
1122
+
1123
+ ## Version 3.3.7 (February 19, 2026)
1124
+
1125
+ Patch release that fixes an incorrect size check in
1126
+ `istream_nonparallel_read` that could lead to a buffer overflow on
1127
+ invalid input data.
1128
+
1129
+ This release addresses the following CVEs:
1130
+ * [CVE-2026-26981](https://www.cve.org/CVERecord?id=CVE-2026-26981)
1131
+ Heap-buffer-overflow via signed integer underflow in ImfContextInit.cpp
1132
+
1133
+
1134
+ ### Merged Pull Requests:
1135
+
1136
+ * [2244](https://github.com/AcademySoftwareFoundation/openexr/pull/2244)
1137
+ Fix incorrect size check in `istream_nonparallel_read`
1138
+
1139
+ ## Version 3.3.6 (November 4, 2025)
1140
+
1141
+ Patch release that addresses several bugs, primarily involving
1142
+ properly rejecting corrupt input data.
1143
+
1144
+ Specifically:
1145
+
1146
+ * Buffer overflow in PyOpenEXR_old's `channels()` and `channel()` in
1147
+ legacy python, reported by Joshua Rogers (GitHub: MegaManSec).
1148
+ * Use after free in PyObject_StealAttrString in legacy python, reported
1149
+ by Joshua Rogers (GitHub: MegaManSec).
1150
+ * Use of Uninitialized Memory in openexr, reported by Aldo Ristori
1151
+ (GitHub: Kaldreic).
1152
+ * Heap-based Buffer Overflow Remote Code Execution Vulnerability,
1153
+ reported by Trend Micro Zero Day Initiative.
1154
+
1155
+ Other fixes:
1156
+ * Only populate `CMAKE_DEBUG_POSTFIX` with `_d` if it is undefined,
1157
+ which makes it possible to set `CMAKE_DEBUG_POSTFIX=""`.
1158
+
1159
+ This release addresses the following CVEs:
1160
+ * [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183)
1161
+ Use after free in PyObject_StealAttrString
1162
+ * [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182)
1163
+ Buffer overflow in PyOpenEXR_old's channels() and channel()
1164
+ * [CVE-2025-64181](https://www.cve.org/CVERecord?id=CVE-2025-64181)
1165
+ Security Issue: Use of Uninitialized Memory in openexr
1166
+ * [CVE-2025-12840](https://www.cve.org/CVERecord?id=CVE-2025-12840)
1167
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
1168
+ * [CVE-2025-12839](https://www.cve.org/CVERecord?id=CVE-2025-12839)
1169
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
1170
+ * [CVE-2025-12495](https://www.cve.org/CVERecord?id=CVE-2025-12495)
1171
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
1172
+
1173
+ ### Merged Pull Requests:
1174
+
1175
+ * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
1176
+ Fix improper use of `Py_DECREF` in legacy python module
1177
+ * [2166](https://github.com/AcademySoftwareFoundation/openexr/pull/2166)
1178
+ Only define CMAKE_DEBUG_POSTFIX if it is not already defined
1179
+ * [2164](https://github.com/AcademySoftwareFoundation/openexr/pull/2164)
1180
+ check storage_mode when computing chunk sizes
1181
+ * [2163](https://github.com/AcademySoftwareFoundation/openexr/pull/2163)
1182
+ Check for image size overflow in legacy python module
1183
+ * [2162](https://github.com/AcademySoftwareFoundation/openexr/pull/2162)
1184
+ verify packed/unpacked size with uncompressed data
1185
+ * [2161](https://github.com/AcademySoftwareFoundation/openexr/pull/2161)
1186
+ ImfCheckFile: handle partial deep tiles
1187
+ * [2160](https://github.com/AcademySoftwareFoundation/openexr/pull/2160)
1188
+ Fix issues with negative coordinates and sampling != 0
1189
+ * [2159](https://github.com/AcademySoftwareFoundation/openexr/pull/2159)
1190
+ Fix memset in exr_read_chunk when nread is negative
1191
+ * [2156](https://github.com/AcademySoftwareFoundation/openexr/pull/2156)
1192
+ Fix handling of corrupt RLE data
1193
+
1194
+ ## Version 3.3.5 (July 26, 2025)
1195
+
1196
+ Patch release with a couple bug/performance fixes:
1197
+
1198
+ * :bug: Fix for DeepScanlineInputFile read memory leak
1199
+ * :rocket: OpenEXRCore Deep pixel unpacking optimisation
1200
+
1201
+ ### Merged Pull Requests
1202
+
1203
+ * [2069](https://github.com/AcademySoftwareFoundation/openexr/pull/2069)
1204
+ Deep Scanline Input file read memory leak fix
1205
+ * [2067](https://github.com/AcademySoftwareFoundation/openexr/pull/2067)
1206
+ Update legacy Windows CI job from vfx2022 to vfx2023
1207
+ * [2049](https://github.com/AcademySoftwareFoundation/openexr/pull/2049)
1208
+ OpenEXRCore Deep pixel unpacking optimisation
1209
+
1210
+ ## Version 3.3.4 (June 9, 2025)
1211
+
1212
+ Patch release with several bug/build/performance fixes:
1213
+
1214
+ * :bug: Fix a crash with deep scanline input
1215
+ * :bug: Fix a bug when reading a file with missing tiles
1216
+ * :bug: Fix a crash in exrmetrics
1217
+ * :hammer_and_wrench: Fix a problem with /EHsc and /MP flags that broke CUDA compilation
1218
+ * :hammer_and_wrench: Fix a build failure on MinGW
1219
+ * :rocket: Enable vectorisation for ZIP reconstruct stage on Windows
1220
+
1221
+ ### Merged Pull Requests
1222
+
1223
+ * [2047](https://github.com/AcademySoftwareFoundation/openexr/pull/2047)
1224
+ Use default generator for oss_fuzz
1225
+ * [2046](https://github.com/AcademySoftwareFoundation/openexr/pull/2046)
1226
+ Fix crash in exrmetrics when running in single part mode.
1227
+ * [2043](https://github.com/AcademySoftwareFoundation/openexr/pull/2043)
1228
+ Enable vectorisation for ZIP reconstruct stage on Windows
1229
+ * [2042](https://github.com/AcademySoftwareFoundation/openexr/pull/2042)
1230
+ Use CMake to build oss-fuzzers
1231
+ * [2036](https://github.com/AcademySoftwareFoundation/openexr/pull/2036)
1232
+ Allow partial reconstruction of the chunk table to succeed
1233
+ * [2021](https://github.com/AcademySoftwareFoundation/openexr/pull/2021)
1234
+ Fix handling of /EHsc and /MP flags
1235
+ * [2019](https://github.com/AcademySoftwareFoundation/openexr/pull/2019)
1236
+ Fix Deep Scanline Input crash when using a framebuffer as parameter
1237
+ * [2013](https://github.com/AcademySoftwareFoundation/openexr/pull/2013)
1238
+ simplify atomic pointer code for the chunk table
1239
+
1240
+
1241
+ ## Version 3.3.3 (March 23, 2025)
1242
+
1243
+ Patch release with miscellaneous bug/build/documentation fixes:
1244
+
1245
+ * :bug: Fix a bug involving deep tiled images
1246
+ * :bug: Adjust the clamping on the dwa compression (Issue [1982](https://github.com/AcademySoftwareFoundation/openexr/issues/1982))
1247
+ * :bug: Address issues with small exr files and header parse (Issue [1984](https://github.com/AcademySoftwareFoundation/openexr/issues/1984))
1248
+ * :bug: Fix crash if user does not provide memory when filling deep framebuffer
1249
+ * :bug: Fix bad pointer SSE math causing out-of-bounds access
1250
+ * :bug: Fix potential buffer overwrite with zip data
1251
+ * :bug: Fix usage of utf-8 filenames for windows
1252
+ * :bug: Fix regression in reading EXR images on 32bit Windows involving `atomic_compare_exchange_strong`
1253
+ * :bug: Add checks to avoid using optimizations when inappropriate (Issue [1949](https://github.com/AcademySoftwareFoundation/openexr/issues/1949))
1254
+ * :bug: Convert dwa encoder to use algorithm quantize (Issue [1915](https://github.com/AcademySoftwareFoundation/openexr/issues/1915))
1255
+ * :bug: Fix incorrect v3 array size validation
1256
+ * :rocket: Add minor huf encode / decode performance optimizations
1257
+ * :hammer_and_wrench: Add numpy dependency to python wrapper (Issue [1919](https://github.com/AcademySoftwareFoundation/openexr/issues/1919))
1258
+ * :hammer_and_wrench: Remove duplicate cmake dependency from skbuild plugin (Issue [1958](https://github.com/AcademySoftwareFoundation/openexr/pull/1958))
1259
+ * :hammer_and_wrench: Don't set the library postfix in the cmake cache (Issue [1981](https://github.com/AcademySoftwareFoundation/openexr/issues/1981))
1260
+
1261
+ This version also introduces a new tool, `exrmetrics`, a utility to help analyize file i/o times and compression ratios. See
1262
+ [exrmetrics](https://openexr.com/en/latest/bin/exrmetrics.html) for details.
1263
+
1264
+ This version also officially installs the `exrcheck` utility, formerly built for internal use but not installed.
1265
+
1266
+ This version also publishes the python bindings for arm64 on Ubuntu and macOS.
1267
+
1268
+ ### Security Vulnerabilities
1269
+
1270
+ This version addresses the following security vulnerabilities:
1271
+
1272
+ * [CVE-2025-48074](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-x22w-82jp-8rvf) Out-Of-Memory via Unbounded File Header Values
1273
+ * [CVE-2025-48073](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-qhpm-86v7-phmm) ScanLineProcess::run_fill NULL Pointer Write In "reduceMemory" Mode
1274
+ * [CVE-2025-48072](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-4r7w-q3jg-ff43) Out of Bounds Heap Read due to Bad Pointer Arithmetic in LossyDctDecoder_execute
1275
+ * [CVE-2025-48071](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-h45x-qhg2-q375) Heap-Based Buffer Overflow in Deep Scanline Parsing via Forged Unpacked Size
1276
+
1277
+ ### Merged Pull Requests
1278
+
1279
+ * [2007](https://github.com/AcademySoftwareFoundation/openexr/pull/2007) Fix python publishing workflows to work with ARM
1280
+ * [2005](https://github.com/AcademySoftwareFoundation/openexr/pull/2005) Update cibuildwheel to v2.23 for arm support
1281
+ * [2003](https://github.com/AcademySoftwareFoundation/openexr/pull/2003) Update news and requirements source
1282
+ * [2002](https://github.com/AcademySoftwareFoundation/openexr/pull/2002) exrmetrics: fix isinf
1283
+ * [2001](https://github.com/AcademySoftwareFoundation/openexr/pull/2001) support subsampling in exrmetrics
1284
+ * [1999](https://github.com/AcademySoftwareFoundation/openexr/pull/1999) Fix missing variables in install manifests
1285
+ * [1997](https://github.com/AcademySoftwareFoundation/openexr/pull/1997) Better deeptile parsing
1286
+ * [1995](https://github.com/AcademySoftwareFoundation/openexr/pull/1995) Bazel support: Bump rules_cc
1287
+ * [1993](https://github.com/AcademySoftwareFoundation/openexr/pull/1993) Remove duplicate cmake dependency from skbuild plugin
1288
+ * [1990](https://github.com/AcademySoftwareFoundation/openexr/pull/1990) exrmetrics: fix json output, better testing
1289
+ * [1989](https://github.com/AcademySoftwareFoundation/openexr/pull/1989) ARM CI
1290
+ * [1987](https://github.com/AcademySoftwareFoundation/openexr/pull/1987) fix_1981: Don't set the library postfix in the cmake cache. Otherwise it will set this variable if OpenEXR is a subproject
1291
+ * [1986](https://github.com/AcademySoftwareFoundation/openexr/pull/1986) Adjust the clamping on the dwa compression
1292
+ * [1985](https://github.com/AcademySoftwareFoundation/openexr/pull/1985) Address issues with small exr files and header parse
1293
+ * [1983](https://github.com/AcademySoftwareFoundation/openexr/pull/1983) exrcheck: update CMakeLists.txt to install the tool
1294
+ * [1980](https://github.com/AcademySoftwareFoundation/openexr/pull/1980) fix crash if user does not provide memory when filling
1295
+ * [1979](https://github.com/AcademySoftwareFoundation/openexr/pull/1979) avoid large allocations
1296
+ * [1977](https://github.com/AcademySoftwareFoundation/openexr/pull/1977) Fix bad pointer math
1297
+ * [1974](https://github.com/AcademySoftwareFoundation/openexr/pull/1974) fix potential buffer overwrite with zip data
1298
+ * [1976](https://github.com/AcademySoftwareFoundation/openexr/pull/1976) Add HTJ2K news item
1299
+ * [1973](https://github.com/AcademySoftwareFoundation/openexr/pull/1973) clean up exrmetrics help, simplify JSON output
1300
+ * [1971](https://github.com/AcademySoftwareFoundation/openexr/pull/1971) Add website page for exrmetrics
1301
+ * [1970](https://github.com/AcademySoftwareFoundation/openexr/pull/1970) update all upload-artifact usage to v4
1302
+ * [1969](https://github.com/AcademySoftwareFoundation/openexr/pull/1969) Update actions/upload-artifact to @v4
1303
+ * [1968](https://github.com/AcademySoftwareFoundation/openexr/pull/1968) extend exrmetrics
1304
+ * [1966](https://github.com/AcademySoftwareFoundation/openexr/pull/1966) Fix installation of Imath and libdeflate in windows CI
1305
+ * [1965](https://github.com/AcademySoftwareFoundation/openexr/pull/1965) Fix usage of utf-8 filenames for windows
1306
+ * [1963](https://github.com/AcademySoftwareFoundation/openexr/pull/1963) docs: clarify exr2aces output format
1307
+ * [1961](https://github.com/AcademySoftwareFoundation/openexr/pull/1961) Update security policy regarding backporting patches
1308
+ * [1954](https://github.com/AcademySoftwareFoundation/openexr/pull/1954) Fix typos
1309
+ * [1952](https://github.com/AcademySoftwareFoundation/openexr/pull/1952) Fix reading EXR images on 32bit Windows with OpenEXR 3.3
1310
+ * [1950](https://github.com/AcademySoftwareFoundation/openexr/pull/1950) add checks to avoid using optimizations when inappropriate
1311
+ * [1947](https://github.com/AcademySoftwareFoundation/openexr/pull/1947) add minor huf encode / decode performance optimizations
1312
+ * [1948](https://github.com/AcademySoftwareFoundation/openexr/pull/1948) convert dwa encoder to use algorithm quantize
1313
+ * [1945](https://github.com/AcademySoftwareFoundation/openexr/pull/1945) Fix incorrect v3 array size validation
1314
+ * [1939](https://github.com/AcademySoftwareFoundation/openexr/pull/1939) Bump github/codeql-action from 3.27.6 to 3.27.9
1315
+ * [1937](https://github.com/AcademySoftwareFoundation/openexr/pull/1937) Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3
1316
+ * [1936](https://github.com/AcademySoftwareFoundation/openexr/pull/1936) Bump actions/cache from 4.1.2 to 4.2.0
1317
+ * [1935](https://github.com/AcademySoftwareFoundation/openexr/pull/1935) Add numpy dependency to python wrapper.
1318
+ * [1932](https://github.com/AcademySoftwareFoundation/openexr/pull/1932) Bump github/codeql-action from 3.27.5 to 3.27.6
1319
+ * [1931](https://github.com/AcademySoftwareFoundation/openexr/pull/1931) Workaround CI workflow for vfx 2022/2021
1320
+ * [1928](https://github.com/AcademySoftwareFoundation/openexr/pull/1928) Update link to TSC meeting calendar
1321
+ * [1924](https://github.com/AcademySoftwareFoundation/openexr/pull/1924) Bump pypa/cibuildwheel from 2.21.3 to 2.22.0
1322
+ * [1923](https://github.com/AcademySoftwareFoundation/openexr/pull/1923) Bump github/codeql-action from 3.27.4 to 3.27.5
1323
+ * [1922](https://github.com/AcademySoftwareFoundation/openexr/pull/1922) Remove copy/assign/move tests in testAttributes()
1324
+ * [1921](https://github.com/AcademySoftwareFoundation/openexr/pull/1921) Restructure CI to use reusable steps, and add new checks
1325
+ * [1920](https://github.com/AcademySoftwareFoundation/openexr/pull/1920) Fix windows build/CI with threading disabled
1326
+ * [1918](https://github.com/AcademySoftwareFoundation/openexr/pull/1918) Bump github/codeql-action from 3.27.1 to 3.27.4
1327
+ * [1914](https://github.com/AcademySoftwareFoundation/openexr/pull/1914) Bump github/codeql-action from 3.27.0 to 3.27.1
1328
+ * [1913](https://github.com/AcademySoftwareFoundation/openexr/pull/1913) Bump scikit-build-core from 0.8.1 to 0.10.7
1329
+ * [1910](https://github.com/AcademySoftwareFoundation/openexr/pull/1910) Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2
1330
+ * [1908](https://github.com/AcademySoftwareFoundation/openexr/pull/1908) Add comment about thread-safety
1331
+
1332
+
1333
+ ## Version 3.3.2 (November 11, 2024)
1334
+
1335
+ Patch release that fixes several bugs and build issues:
1336
+
1337
+ * A recent change to CMake had the unintended consequence of
1338
+ installing headers and libraries from `libdeflate` when doing an
1339
+ internal build. This is now fixed.
1340
+ * Fix custom namespaces
1341
+ * Add thread control to `exrmetrics` tool
1342
+ * Reintroduce single cache for successive scanline reads
1343
+ * Allow empty filename when providing a custom stream
1344
+ * Handle non-seekable stream in python module's `InputFile` object
1345
+
1346
+ This release fixes:
1347
+
1348
+ * OSS-fuzz [372524117](https://issues.oss-fuzz.com/issues/372524117)
1349
+ Null-dereference WRITE in Imf_3_4::ScanLineProcess::run_fill
1350
+
1351
+ ### Merged Pull Requests
1352
+
1353
+ * [1912](https://github.com/AcademySoftwareFoundation/openexr/pull/1912)
1354
+ Add missing namespace macros
1355
+ * [1907](https://github.com/AcademySoftwareFoundation/openexr/pull/1907)
1356
+ Handle non-seekable stream
1357
+ * [1905](https://github.com/AcademySoftwareFoundation/openexr/pull/1905)
1358
+ check for invalid uncompressed chunk sample count
1359
+ * [1904](https://github.com/AcademySoftwareFoundation/openexr/pull/1904)
1360
+ Add thread control to exrmetrics
1361
+ * [1880](https://github.com/AcademySoftwareFoundation/openexr/pull/1880)
1362
+ CMake: use EXCLUDE_FROM_ALL when declaring Fetch for deflate library
1363
+ * [1899](https://github.com/AcademySoftwareFoundation/openexr/pull/1899)
1364
+ Reintroduce single cache for successive scanline reads
1365
+ * [1890](https://github.com/AcademySoftwareFoundation/openexr/pull/1890)
1366
+ Added tests for ImfCRgbaFile
1367
+ * [1903](https://github.com/AcademySoftwareFoundation/openexr/pull/1903)
1368
+ Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0
1369
+ * [1898](https://github.com/AcademySoftwareFoundation/openexr/pull/1898)
1370
+ Allow empty file name
1371
+ * [1896](https://github.com/AcademySoftwareFoundation/openexr/pull/1896)
1372
+ Bump actions/setup-python from 5.2.0 to 5.3.0
1373
+ * [1892](https://github.com/AcademySoftwareFoundation/openexr/pull/1892)
1374
+ Bump actions/cache from 4.1.1 to 4.1.2
1375
+ * [1891](https://github.com/AcademySoftwareFoundation/openexr/pull/1891)
1376
+ Bump github/codeql-action from 3.26.13 to 3.27.0
1377
+ * [1886](https://github.com/AcademySoftwareFoundation/openexr/pull/1886)
1378
+ Bump github/codeql-action from 3.26.12 to 3.26.13
1379
+ * [1884](https://github.com/AcademySoftwareFoundation/openexr/pull/1884)
1380
+ Add manpage for exrmetrics
1381
+ * [1885](https://github.com/AcademySoftwareFoundation/openexr/pull/1885)
1382
+ Bump jmertic/slack-release-notifier
1383
+ * [1876](https://github.com/AcademySoftwareFoundation/openexr/pull/1876)
1384
+ news update for v3.3.1
1385
+ * [1878](https://github.com/AcademySoftwareFoundation/openexr/pull/1878)
1386
+ Bump actions/upload-artifact from 4.4.0 to 4.4.3
1387
+ * [1877](https://github.com/AcademySoftwareFoundation/openexr/pull/1877)
1388
+ Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
1389
+ * [1874](https://github.com/AcademySoftwareFoundation/openexr/pull/1874)
1390
+ Bump actions/cache from 4.0.2 to 4.1.1
1391
+ * [1872](https://github.com/AcademySoftwareFoundation/openexr/pull/1872)
1392
+ Bump github/codeql-action from 3.26.11 to 3.26.12
1393
+
1394
+
1395
+ ## Version 3.3.1 (October 8, 2024)
1396
+
1397
+ Patch release that addresses several build and performance issues:
1398
+
1399
+ * Fix a performance regression 3.3.0 in huf/piz compression
1400
+ * Replace ``FetchContent_Populate`` with ``FetchContent_MakeAvailable``
1401
+ * Build wheels for python 3.12
1402
+ * Fix a problem with python wheel sdist that caused local build to fail
1403
+ * Compile source files in parallel under MSVC
1404
+
1405
+ ### Merged Pull Requests
1406
+
1407
+ * [1868](https://github.com/AcademySoftwareFoundation/openexr/pull/1868)
1408
+ Address huf / piz performance regressions
1409
+ * [1867](https://github.com/AcademySoftwareFoundation/openexr/pull/1867)
1410
+ Fix Typo SECURITY.md
1411
+ * [1866](https://github.com/AcademySoftwareFoundation/openexr/pull/1866)
1412
+ Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3
1413
+ * [1865](https://github.com/AcademySoftwareFoundation/openexr/pull/1865)
1414
+ Bump github/codeql-action from 3.26.10 to 3.26.11
1415
+ * [1864](https://github.com/AcademySoftwareFoundation/openexr/pull/1864)
1416
+ Bump pypa/cibuildwheel from 2.21.1 to 2.21.2
1417
+ * [1863](https://github.com/AcademySoftwareFoundation/openexr/pull/1863)
1418
+ Use FetchContent_MakeAvailable instead of FetchContent_Populate
1419
+ * [1861](https://github.com/AcademySoftwareFoundation/openexr/pull/1861)
1420
+ CI: build wheels for Python 3.12
1421
+ * [1858](https://github.com/AcademySoftwareFoundation/openexr/pull/1858)
1422
+ Build: compile source files in parallel under MSVC
1423
+ * [1857](https://github.com/AcademySoftwareFoundation/openexr/pull/1857)
1424
+ Don't exclude src/test and website from sdist
1425
+ * [1856](https://github.com/AcademySoftwareFoundation/openexr/pull/1856)
1426
+ Bazel support: Switch to Imath 3.1.12
1427
+ * [1854](https://github.com/AcademySoftwareFoundation/openexr/pull/1854)
1428
+ Bump github/codeql-action from 3.26.9 to 3.26.10
1429
+ * [1851](https://github.com/AcademySoftwareFoundation/openexr/pull/1851)
1430
+ Use 64-bit values for the pointer math
1431
+ * [1848](https://github.com/AcademySoftwareFoundation/openexr/pull/1848)
1432
+ Bump version/soversion on main branch
1433
+ * [1780](https://github.com/AcademySoftwareFoundation/openexr/pull/1780)
1434
+ First draft of website documentation for python bindings
1435
+
1436
+ ## Version 3.3.0 (September 30, 2024)
1437
+
1438
+ Minor release two significant changes:
1439
+
1440
+ - The C++ API now uses the OpenEXRCore library underneath.
1441
+
1442
+ - This is a transparent change to the existing API, although the ABI
1443
+ (i.e. structure / class layout) has changed
1444
+
1445
+ - Existing reading of pixel data should be more efficient due to
1446
+ fewer memory allocations / frees during the process of
1447
+ reading. Additionally, some more specialisation of unpacking
1448
+ routines may result in faster unpack times
1449
+
1450
+ - All compression routines are implemented by the C Core layer
1451
+ underneath and no longer duplicated
1452
+
1453
+ - Initial support for "stateless" reading of scanlines has been
1454
+ proposed, allowing multiple threads to read scanlines into
1455
+ different frame buffer objects at the same time. While well tested
1456
+ at the Core level, the C++ api should be considered experimental
1457
+ for this release
1458
+
1459
+ - Thread dispatch for reading different file types has been made
1460
+ more homogeneous, so is simpler and more consistent
1461
+
1462
+ - New API for accessing compression types
1463
+
1464
+ In anticipation of future support for new compression types, there
1465
+ is now a convenience API for mapping between compression type names
1466
+ and the associated enum:
1467
+
1468
+ - ``getCompressionDescriptionFromId(Compression, std::string&)``
1469
+ - ``getCompressionIdFromName(const std::string&, Compression&)``
1470
+ - ``getCompressionNameFromId(Compression, std::string&)``
1471
+ - ``getCompressionNamesString(const std::string&, std::string&)``
1472
+ - ``getCompressionNumScanlines(Compression)``
1473
+ - ``isValidCompression(int)``
1474
+
1475
+ - New bin tools:
1476
+
1477
+ - ``exrmetrics`` - Read an OpenEXR image from infile, write an
1478
+ identical copy to outfile reporting time taken to read/write and
1479
+ file sizes. Useful for benchmarking performance in space and time.
1480
+
1481
+ - ``exrmanifest`` - Read exr files and print the contents of the
1482
+ embedded manifest. The manifest provides a mapping between integer
1483
+ object identifiers and human-readible strings. See [OpenEXR Deep
1484
+ IDs
1485
+ Specification](https://openexr.com/en/latest/DeepIDsSpecification.html)
1486
+ for more details.
1487
+
1488
+ - New python bindings.
1489
+
1490
+ This version introduces a new python API, the ``File`` object, which
1491
+ provides full support for reading and writing all types of ``.exr``
1492
+ image files, including scanline, tiled, deep, mult-part, multi-view,
1493
+ and multi-resolution images with pixel types of unsigned 32-bit
1494
+ integers and 16- and 32-bit floats. It provides access to pixel data
1495
+ through ``numpy`` arrays, as either one array per channel or with R, G,
1496
+ B, and A interleaved into a single array RGBA array.
1497
+
1498
+ Previous releases of the openexr python module supported only
1499
+ scanline files. The previous API remains in place for now for
1500
+ backwards compatibility.
1501
+
1502
+ See [src/wrappers/python/README.md](src/wrappers/python/README.md)
1503
+ for a synopsis.
1504
+
1505
+
1506
+ This release fixes:
1507
+
1508
+ * OSS-fuzz [42538530](https://issues.oss-fuzz.com/issues/42538530)
1509
+ Crash in MemcmpInterceptorCommon
1510
+ * OSS-fuzz [42538529](https://issues.oss-fuzz.com/issues/42538529)
1511
+ Null-dereference READ in internal_exr_undo_rle
1512
+ * OSS-fuzz [42538428](https://issues.oss-fuzz.com/issues/42538428)
1513
+ Integer-overflow in internal_exr_parse_header
1514
+ * OSS-fuzz [42538425](https://issues.oss-fuzz.com/issues/42538425)
1515
+ Crash in internal_exr_validate_shared_attrs
1516
+ * OSS-fuzz [42538423](https://issues.oss-fuzz.com/issues/42538423)
1517
+ Null-dereference READ in internal_rle_decompress
1518
+ * OSS-fuzz [42533565](https://issues.oss-fuzz.com/issues/42533565)
1519
+ Invalid-enum-value in Imf_3_3::isValidCompression
1520
+
1521
+ ### Merged Pull Requests
1522
+
1523
+ * [1850](https://github.com/AcademySoftwareFoundation/openexr/pull/1850)
1524
+ Fix open ossfuzz 26 sept 2024
1525
+ * [1846](https://github.com/AcademySoftwareFoundation/openexr/pull/1846)
1526
+ Bump github/codeql-action from 3.26.8 to 3.26.9
1527
+ * [1844](https://github.com/AcademySoftwareFoundation/openexr/pull/1844)
1528
+ Fix table formatting in OpenEXRFileLayout.rst
1529
+ * [1842](https://github.com/AcademySoftwareFoundation/openexr/pull/1842)
1530
+ Start adding stateless api
1531
+ * [1841](https://github.com/AcademySoftwareFoundation/openexr/pull/1841)
1532
+ Remove some warnings when compiling on newer compilers
1533
+ * [1840](https://github.com/AcademySoftwareFoundation/openexr/pull/1840)
1534
+ Add templated utility class to centralize common pattern
1535
+ * [1839](https://github.com/AcademySoftwareFoundation/openexr/pull/1839)
1536
+ Add Compression DWAA/B OpenEXRFileLayout.rst
1537
+ * [1838](https://github.com/AcademySoftwareFoundation/openexr/pull/1838)
1538
+ Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2
1539
+ * [1837](https://github.com/AcademySoftwareFoundation/openexr/pull/1837)
1540
+ Fix Typo table in TechnicalIntroduction.rst
1541
+ * [1836](https://github.com/AcademySoftwareFoundation/openexr/pull/1836)
1542
+ Bazel build fixes.
1543
+ * [1833](https://github.com/AcademySoftwareFoundation/openexr/pull/1833)
1544
+ Bump github/codeql-action from 3.26.7 to 3.26.8
1545
+ * [1832](https://github.com/AcademySoftwareFoundation/openexr/pull/1832)
1546
+ Fixed formatting issue in website/OpenEXRFileLayout.rst
1547
+ * [1833](https://github.com/AcademySoftwareFoundation/openexr/pull/1833)
1548
+ Bump github/codeql-action from 3.26.7 to 3.26.8
1549
+ * [1832](https://github.com/AcademySoftwareFoundation/openexr/pull/1832)
1550
+ Fixed formatting issue in website/OpenEXRFileLayout.rst
1551
+ * [1828](https://github.com/AcademySoftwareFoundation/openexr/pull/1828)
1552
+ Refined validation checks
1553
+ * [1827](https://github.com/AcademySoftwareFoundation/openexr/pull/1827)
1554
+ Add includes for Windows
1555
+ * [1825](https://github.com/AcademySoftwareFoundation/openexr/pull/1825)
1556
+ Add duplicate validation
1557
+ * [1824](https://github.com/AcademySoftwareFoundation/openexr/pull/1824)
1558
+ Bump pypa/cibuildwheel from 2.21.0 to 2.21.1
1559
+ * [1822](https://github.com/AcademySoftwareFoundation/openexr/pull/1822)
1560
+ Update sigstore release signing action
1561
+ * [1821](https://github.com/AcademySoftwareFoundation/openexr/pull/1821)
1562
+ Address some initial fuzz reports after core rewrite merge
1563
+ * [1820](https://github.com/AcademySoftwareFoundation/openexr/pull/1820)
1564
+ Bump github/codeql-action from 3.26.6 to 3.26.7
1565
+ * [1819](https://github.com/AcademySoftwareFoundation/openexr/pull/1819)
1566
+ Bump pypa/cibuildwheel from 2.20.0 to 2.21.0
1567
+ * [1818](https://github.com/AcademySoftwareFoundation/openexr/pull/1818)
1568
+ Rebase of staging/cpp_core_rewrite
1569
+ * [1814](https://github.com/AcademySoftwareFoundation/openexr/pull/1814)
1570
+ Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1
1571
+ * [1811](https://github.com/AcademySoftwareFoundation/openexr/pull/1811)
1572
+ Add version comment to github/codeql-action/analyze
1573
+ * [1810](https://github.com/AcademySoftwareFoundation/openexr/pull/1810)
1574
+ Pin snyk/actions/setup to v0.4.0
1575
+ * [1809](https://github.com/AcademySoftwareFoundation/openexr/pull/1809)
1576
+ Fix pypa/gh-action-pypi-publish release name comment
1577
+ * [1808](https://github.com/AcademySoftwareFoundation/openexr/pull/1808)
1578
+ Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0
1579
+ * [1807](https://github.com/AcademySoftwareFoundation/openexr/pull/1807)
1580
+ Bump actions/upload-artifact from 4.3.6 to 4.4.0
1581
+ * [1806](https://github.com/AcademySoftwareFoundation/openexr/pull/1806)
1582
+ Bump actions/setup-python from 5.1.1 to 5.2.0
1583
+ * [1805](https://github.com/AcademySoftwareFoundation/openexr/pull/1805)
1584
+ Bump github/codeql-action from 3.24.10 to 3.26.6
1585
+ * [1799](https://github.com/AcademySoftwareFoundation/openexr/pull/1799)
1586
+ Update Joseph Goldstone affiliation
1587
+ * [1795](https://github.com/AcademySoftwareFoundation/openexr/pull/1795)
1588
+ Bazel Build: Bump libdeflate to 1.21
1589
+ * [1794](https://github.com/AcademySoftwareFoundation/openexr/pull/1794)
1590
+ Bump snyk/actions from 6312a53377a551c0258438bf25fb8f378afbc977 to ae9442546152ba9bb0a1c85e2672112c97e7a06d
1591
+ * [1793](https://github.com/AcademySoftwareFoundation/openexr/pull/1793)
1592
+ Bump actions/upload-artifact from 4.3.4 to 4.3.6
1593
+ * [1791](https://github.com/AcademySoftwareFoundation/openexr/pull/1791)
1594
+ Bump pypa/cibuildwheel from 2.19.2 to 2.20.0
1595
+ * [1790](https://github.com/AcademySoftwareFoundation/openexr/pull/1790)
1596
+ Revert CodeQL to 2.18.0
1597
+ * [1788](https://github.com/AcademySoftwareFoundation/openexr/pull/1788)
1598
+ Bump snyk/actions from 640e31719aac3e44867d239dc86c20c3e34c8e4f to 6312a53377a551c0258438bf25fb8f378afbc977
1599
+ * [1787](https://github.com/AcademySoftwareFoundation/openexr/pull/1787)
1600
+ Bump ossf/scorecard-action from 2.3.3 to 2.4.0
1601
+ * [1782](https://github.com/AcademySoftwareFoundation/openexr/pull/1782)
1602
+ Bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0
1603
+ * [1781](https://github.com/AcademySoftwareFoundation/openexr/pull/1781)
1604
+ Bump actions/setup-python from 5.1.0 to 5.1.1
1605
+ * [1779](https://github.com/AcademySoftwareFoundation/openexr/pull/1779)
1606
+ Fix GHA CI after they upgraded nodejs
1607
+ * [1778](https://github.com/AcademySoftwareFoundation/openexr/pull/1778)
1608
+ Fix documentation typo: screenWindowWidth is float, not V2f
1609
+ * [1777](https://github.com/AcademySoftwareFoundation/openexr/pull/1777)
1610
+ Bump snyk/actions from 8349f9043a8b7f0f3ee8885bf28f0b388d2446e8 to 640e31719aac3e44867d239dc86c20c3e34c8e4f
1611
+ * [1775](https://github.com/AcademySoftwareFoundation/openexr/pull/1775)
1612
+ Bump actions/download-artifact from 4.1.7 to 4.1.8
1613
+ * [1774](https://github.com/AcademySoftwareFoundation/openexr/pull/1774)
1614
+ Bump actions/upload-artifact from 4.3.3 to 4.3.4
1615
+ * [1773](https://github.com/AcademySoftwareFoundation/openexr/pull/1773)
1616
+ Bump pypa/cibuildwheel from 2.18.1 to 2.19.2
1617
+ * [1769](https://github.com/AcademySoftwareFoundation/openexr/pull/1769)
1618
+ add exrmetrics tool
1619
+ * [1768](https://github.com/AcademySoftwareFoundation/openexr/pull/1768)
1620
+ Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0
1621
+ * [1763](https://github.com/AcademySoftwareFoundation/openexr/pull/1763)
1622
+ Fix duplicate `uninstall` targets
1623
+ * [1757](https://github.com/AcademySoftwareFoundation/openexr/pull/1757)
1624
+ Bump pypa/cibuildwheel from 2.17.0 to 2.18.1
1625
+ * [1756](https://github.com/AcademySoftwareFoundation/openexr/pull/1756)
1626
+ Rewrite OpenEXR python bindings using pybind11 and numpy
1627
+ * [1754](https://github.com/AcademySoftwareFoundation/openexr/pull/1754)
1628
+ 'Stop' to 'tStop' in website desc of standard attributes
1629
+ * [1750](https://github.com/AcademySoftwareFoundation/openexr/pull/1750)
1630
+ Bump ossf/scorecard-action from 2.3.1 to 2.3.3
1631
+ * [1749](https://github.com/AcademySoftwareFoundation/openexr/pull/1749)
1632
+ Install website requirements in venv
1633
+ * [1748](https://github.com/AcademySoftwareFoundation/openexr/pull/1748)
1634
+ Fix setting of part name via "name" attribute
1635
+ * [1745](https://github.com/AcademySoftwareFoundation/openexr/pull/1745)
1636
+ Update CI workflow to 2024 images.
1637
+ * [1744](https://github.com/AcademySoftwareFoundation/openexr/pull/1744)
1638
+ Bazel support: Add test output to CI Bazel tests
1639
+ * [1742](https://github.com/AcademySoftwareFoundation/openexr/pull/1742)
1640
+ Removed unused sliceOptimizationData::type
1641
+ * [1736](https://github.com/AcademySoftwareFoundation/openexr/pull/1736)
1642
+ Bump actions/download-artifact from 4.1.5 to 4.1.7
1643
+ * [1734](https://github.com/AcademySoftwareFoundation/openexr/pull/1734)
1644
+ Silence warning C4201: nonstandard extension used: nameless struct/union.
1645
+ * [1733](https://github.com/AcademySoftwareFoundation/openexr/pull/1733)
1646
+ Bump actions/upload-artifact from 4.3.2 to 4.3.3
1647
+ * [1727](https://github.com/AcademySoftwareFoundation/openexr/pull/1727)
1648
+ Fix exact file match
1649
+ * [1724](https://github.com/AcademySoftwareFoundation/openexr/pull/1724)
1650
+ Core changes for cpp rewrite
1651
+ * [1723](https://github.com/AcademySoftwareFoundation/openexr/pull/1723)
1652
+ Bump actions/upload-artifact from 4.3.1 to 4.3.2
1653
+ * [1722](https://github.com/AcademySoftwareFoundation/openexr/pull/1722)
1654
+ Bump actions/download-artifact from 4.1.4 to 4.1.5
1655
+ * [1716](https://github.com/AcademySoftwareFoundation/openexr/pull/1716)
1656
+ Add test for example python code in the pypi README.md
1657
+ * [1714](https://github.com/AcademySoftwareFoundation/openexr/pull/1714)
1658
+ fix example
1659
+ * [1713](https://github.com/AcademySoftwareFoundation/openexr/pull/1713)
1660
+ Bump actions/upload-artifact from 3.1.0 to 4.3.1
1661
+ * [1710](https://github.com/AcademySoftwareFoundation/openexr/pull/1710)
1662
+ Bump github/codeql-action from 3.24.9 to 3.24.10
1663
+ * [1709](https://github.com/AcademySoftwareFoundation/openexr/pull/1709)
1664
+ Create codeql.yml
1665
+ * [1707](https://github.com/AcademySoftwareFoundation/openexr/pull/1707)
1666
+ [StepSecurity] ci: Harden GitHub Actions
1667
+ * [1706](https://github.com/AcademySoftwareFoundation/openexr/pull/1706)
1668
+ website: fix whitespace typo
1669
+ * [1703](https://github.com/AcademySoftwareFoundation/openexr/pull/1703)
1670
+ Improve filters for ossfuzz and bazel
1671
+ * [1702](https://github.com/AcademySoftwareFoundation/openexr/pull/1702)
1672
+ Set archive prefix for signed releases
1673
+ * [1701](https://github.com/AcademySoftwareFoundation/openexr/pull/1701)
1674
+ Build website on windows/macOS, and remote unnecessary installs
1675
+ * [1699](https://github.com/AcademySoftwareFoundation/openexr/pull/1699)
1676
+ 📝 Fix OPENEXR_DEFLATE_REPO option's description
1677
+ * [1698](https://github.com/AcademySoftwareFoundation/openexr/pull/1698)
1678
+ Bump actions/cache from 4.0.0 to 4.0.2
1679
+ * [1697](https://github.com/AcademySoftwareFoundation/openexr/pull/1697)
1680
+ Bump actions/download-artifact from 4.0.0 to 4.1.4
1681
+ * [1696](https://github.com/AcademySoftwareFoundation/openexr/pull/1696)
1682
+ Bump pypa/cibuildwheel from 2.16 to 2.17
1683
+ * [1695](https://github.com/AcademySoftwareFoundation/openexr/pull/1695)
1684
+ Bump github/codeql-action from 2.2.4 to 3.24.9
1685
+ * [1694](https://github.com/AcademySoftwareFoundation/openexr/pull/1694)
1686
+ Bump sphinx from 5.3 to 7.2.6
1687
+ * [1693](https://github.com/AcademySoftwareFoundation/openexr/pull/1693)
1688
+ Improve workflow files
1689
+ * [1691](https://github.com/AcademySoftwareFoundation/openexr/pull/1691)
1690
+ Add website news items for v3.2.4, v3.2.3, and v3.1.13
1691
+ * [1688](https://github.com/AcademySoftwareFoundation/openexr/pull/1688)
1692
+ Extend exrstdattr to add -erase option
1693
+ * [1686](https://github.com/AcademySoftwareFoundation/openexr/pull/1686)
1694
+ fix: Update scorecard v2.3.1
1695
+ * [1685](https://github.com/AcademySoftwareFoundation/openexr/pull/1685)
1696
+ fix rebase commit id
1697
+ * [1683](https://github.com/AcademySoftwareFoundation/openexr/pull/1683)
1698
+ add page on scene-linear images to website
1699
+ * [1681](https://github.com/AcademySoftwareFoundation/openexr/pull/1681)
1700
+ prevent integer overflows in file exrmultipart.cpp
1701
+ * [1679](https://github.com/AcademySoftwareFoundation/openexr/pull/1679)
1702
+ Update docker images to 2024.
1703
+ * [1677](https://github.com/AcademySoftwareFoundation/openexr/pull/1677)
1704
+ Cleanup pass ahead of core expansion
1705
+ * [1674](https://github.com/AcademySoftwareFoundation/openexr/pull/1674)
1706
+ CMake packaging fix.
1707
+ * [1673](https://github.com/AcademySoftwareFoundation/openexr/pull/1673)
1708
+ Pin RTD to sphinx 5.3
1709
+ * [1672](https://github.com/AcademySoftwareFoundation/openexr/pull/1672)
1710
+ Document steps to add a new compression method in ImfCompression.h
1711
+ * [1669](https://github.com/AcademySoftwareFoundation/openexr/pull/1669)
1712
+ Add custom website footer with ASWF logo and proper copyright
1713
+ * [1667](https://github.com/AcademySoftwareFoundation/openexr/pull/1667)
1714
+ Replace auto-generation of website test image with explicit sidecar jpg files
1715
+ * [1664](https://github.com/AcademySoftwareFoundation/openexr/pull/1664)
1716
+ Add preview link to readthedocs build to PR description
1717
+ * [1663](https://github.com/AcademySoftwareFoundation/openexr/pull/1663)
1718
+ website news for v3.2.3
1719
+ * [1661](https://github.com/AcademySoftwareFoundation/openexr/pull/1661)
1720
+ Argument to isValidCompression should be int rather than Compression
1721
+ * [1660](https://github.com/AcademySoftwareFoundation/openexr/pull/1660)
1722
+ Bazel support: Support only Bzmlod and bump Imath version
1723
+ * [1658](https://github.com/AcademySoftwareFoundation/openexr/pull/1658)
1724
+ Add reference to TSC meeting notes to README and website
1725
+ * [1657](https://github.com/AcademySoftwareFoundation/openexr/pull/1657)
1726
+ Add test and website reference for exrmanifest
1727
+ * [1656](https://github.com/AcademySoftwareFoundation/openexr/pull/1656)
1728
+ Add table of linux distro openexr versions to website install page
1729
+ * [1654](https://github.com/AcademySoftwareFoundation/openexr/pull/1654)
1730
+ Fix Typo RIPMAP_LEVELS table in TechnicalIntroduction.rst
1731
+ * [1649](https://github.com/AcademySoftwareFoundation/openexr/pull/1649)
1732
+ Fix memory leaks in exrstdattr and example code
1733
+ * [1645](https://github.com/AcademySoftwareFoundation/openexr/pull/1645)
1734
+ Update release notes from recent releases
1735
+ * [1644](https://github.com/AcademySoftwareFoundation/openexr/pull/1644)
1736
+ Bump required cmake to 3.14
1737
+ * [1617](https://github.com/AcademySoftwareFoundation/openexr/pull/1617)
1738
+ Require sphinx 5.0
1739
+ * [1616](https://github.com/AcademySoftwareFoundation/openexr/pull/1616)
1740
+ Automate compression method detection
1741
+ * [1601](https://github.com/AcademySoftwareFoundation/openexr/pull/1601)
1742
+ GitHub action for release notices on Slack
1743
+ * [1599](https://github.com/AcademySoftwareFoundation/openexr/pull/1599)
1744
+ Bump version on main to 3.3.0
1745
+ * [1535](https://github.com/AcademySoftwareFoundation/openexr/pull/1535)
1746
+ Add Scorecard GitHub Action
1747
+ * [1515](https://github.com/AcademySoftwareFoundation/openexr/pull/1515)
1748
+ Release notes and news for v3.2.0
1749
+ * [1481](https://github.com/AcademySoftwareFoundation/openexr/pull/1481)
1750
+ Fix dupe word typos
1751
+ * [1465](https://github.com/AcademySoftwareFoundation/openexr/pull/1465)
1752
+ Fix link typos in news.rst
1753
+ * [1438](https://github.com/AcademySoftwareFoundation/openexr/pull/1438)
1754
+ Bazel update
1755
+ * [1436](https://github.com/AcademySoftwareFoundation/openexr/pull/1436)
1756
+ Fix spelling mistakes
1757
+ * [1435](https://github.com/AcademySoftwareFoundation/openexr/pull/1435)
1758
+ Bazel support: Update Imath to 3.1.8
1759
+ * [1434](https://github.com/AcademySoftwareFoundation/openexr/pull/1434)
1760
+ Fix macOS arm64 build
1761
+ * [1423](https://github.com/AcademySoftwareFoundation/openexr/pull/1423)
1762
+ Propagate dwa core 3 1
1763
+ * [1418](https://github.com/AcademySoftwareFoundation/openexr/pull/1418)
1764
+
1765
+ ## Version 3.2.11 (August 6, 2026)
1766
+
1767
+ v3.2.11 is a security-focused patch release for the v3.2 release
1768
+ stream. It fixes 10 CVEs plus a set of additional hardening
1769
+ changes uncovered by the same fuzzing/audit effort.
1770
+
1771
+ For each of these vulnerabilities, an attacker's vector is a
1772
+ maliciously crafted `.exr` file that must be opened by a victim,
1773
+ whether through the OpenEXR/OpenEXRUtil C++ libraries, the
1774
+ command-line tools (`exrmetrics`, `exrmultiview`, `exrmultipart`), or
1775
+ the PyOpenEXR Python bindings. The primary flaw for most of the CVEs
1776
+ is **memory corruption** — heap buffer overflows and out-of-bounds
1777
+ reads/writes — which at minimum crashes the reading process (denial of
1778
+ service) and in several cases could plausibly be leveraged for
1779
+ information disclosure or, in the worst cases, arbitrary code
1780
+ execution.
1781
+
1782
+ No user interaction beyond opening the file is required, so any
1783
+ pipeline, service, or application that decodes untrusted or
1784
+ third-party EXR files should treat this as a priority
1785
+ upgrade. Severity generally ranges from **moderate** (crash-only, or
1786
+ requiring an uncommon build configuration) to **high** (heap overflow
1787
+ reachable with a small, easily-crafted file on common configurations).
1788
+
1789
+ The individual vulnerabilities fall into four broad groups:
1790
+
1791
+ * **Integer-overflow-driven heap overflows on 32-bit (ILP32) builds**
1792
+ ([CVE-2026-59985](https://www.cve.org/CVERecord?id=CVE-2026-59985),
1793
+ [CVE-2026-59984](https://www.cve.org/CVERecord?id=CVE-2026-59984),
1794
+ [CVE-2026-59983](https://www.cve.org/CVERecord?id=CVE-2026-59983),
1795
+ [CVE-2026-59982](https://www.cve.org/CVERecord?id=CVE-2026-59982),
1796
+ [CVE-2026-59981](https://www.cve.org/CVERecord?id=CVE-2026-59981),
1797
+ [CVE-2026-59189](https://www.cve.org/CVERecord?id=CVE-2026-59189),
1798
+ [CVE-2026-59186](https://www.cve.org/CVERecord?id=CVE-2026-59186)).
1799
+ On platforms where `size_t`/`int` are 32 bits, buffer sizes computed
1800
+ from attacker-controlled header fields (dimensions, sample counts,
1801
+ tile sizes) could overflow before an allocation or bounds check,
1802
+ yielding an undersized buffer and a subsequent heap out-of-bounds
1803
+ read or write during RLE, B44/B44A, or DWAA decompression, deep
1804
+ sample-count-table decoding, or large-tile handling. These do not
1805
+ affect typical 64-bit desktop/server builds, but are significant for
1806
+ 32-bit Linux, embedded, and some mobile/CI targets.
1807
+
1808
+ * **Heap out-of-bounds access in `OpenEXRUtil` with non-default data
1809
+ windows**
1810
+ ([CVE-2026-59981](https://www.cve.org/CVERecord?id=CVE-2026-59981),
1811
+ [CVE-2026-59189](https://www.cve.org/CVERecord?id=CVE-2026-59189),
1812
+ [CVE-2026-59186](https://www.cve.org/CVERecord?id=CVE-2026-59186),
1813
+ [CVE-2026-59184](https://www.cve.org/CVERecord?id=CVE-2026-59184)).
1814
+ `FlatImageChannel`/`DeepImageChannel`/`SampleCountChannel` row
1815
+ addressing assumed a data window originating at (0, 0). Crafted files
1816
+ with a nonzero data window origin caused row-address computations to
1817
+ land outside the allocated buffer, producing a heap read or write out
1818
+ of bounds.
1819
+
1820
+ * **Crashes from malformed metadata (denial of service)**
1821
+ ([CVE-2026-61555](https://www.cve.org/CVERecord?id=CVE-2026-61555),
1822
+ [CVE-2026-59183](https://www.cve.org/CVERecord?id=CVE-2026-59183)).
1823
+ An empty `multiView` attribute could crash `viewFromChannelName()`,
1824
+ and a signed integer overflow while decoding deep tile chunks could
1825
+ lead to an out-of-bounds access. Both are reachable simply by opening
1826
+ a crafted file and result in a crash rather than corrupting memory
1827
+ in an attacker-controlled way.
1828
+
1829
+ A couple of the merged pull requests below are incidental hardening
1830
+ rather than fixes for a specific numbered CVE — avoiding an unnecessary
1831
+ allocation in idmanifest parsing and a `Name::operator=`
1832
+ null-termination fix — but the bulk of this release is driven by the
1833
+ CVEs above.
1834
+
1835
+ CVEs addressed:
1836
+
1837
+ * [CVE-2026-61555](https://www.cve.org/CVERecord?id=CVE-2026-61555)
1838
+ empty multiView viewFromChannelName file crash
1839
+ * [CVE-2026-59985](https://www.cve.org/CVERecord?id=CVE-2026-59985)
1840
+ ILP32 OpenEXRCore RLE decode heap OOB read DoS
1841
+ * [CVE-2026-59984](https://www.cve.org/CVERecord?id=CVE-2026-59984)
1842
+ ILP32 B44 InputFile decode scratch buffer overflow
1843
+ * [CVE-2026-59983](https://www.cve.org/CVERecord?id=CVE-2026-59983)
1844
+ ILP32 DeepTiledInputFile sample count table decode OOB read
1845
+ * [CVE-2026-59982](https://www.cve.org/CVERecord?id=CVE-2026-59982)
1846
+ ILP32 DWAA InputFile packed AC buffer overflow
1847
+ * [CVE-2026-59981](https://www.cve.org/CVERecord?id=CVE-2026-59981)
1848
+ OpenEXRUtil SampleCountChannel row nonzero dataWindow heap OOB read
1849
+ * [CVE-2026-59189](https://www.cve.org/CVERecord?id=CVE-2026-59189)
1850
+ OpenEXRUtil DeepImageChannel row nonzero dataWindow heap OOB read
1851
+ * [CVE-2026-59186](https://www.cve.org/CVERecord?id=CVE-2026-59186)
1852
+ OpenEXR ILP32 TiledRgbaInputFile large tile Array2D heap OOB write
1853
+ * [CVE-2026-59184](https://www.cve.org/CVERecord?id=CVE-2026-59184)
1854
+ OpenEXRUtil FlatImageChannel row nonzero dataWindow heap OOB write
1855
+ * [CVE-2026-59183](https://www.cve.org/CVERecord?id=CVE-2026-59183)
1856
+ Signed Integer Overflow Leading to Out-of-Bounds Memory Access in Deep Tile Decoding
1857
+
1858
+ ### Merged Pull Requests
1859
+
1860
+ * [2530](https://github.com/AcademySoftwareFoundation/openexr/pull/2530)
1861
+ Fix exrmultiview heap OOB when union dataWindow misaligns with subsampling
1862
+ * [2500](https://github.com/AcademySoftwareFoundation/openexr/pull/2500)
1863
+ Fix Name::operator= to null-terminate long strings
1864
+ * [2498](https://github.com/AcademySoftwareFoundation/openexr/pull/2498)
1865
+ Avoid memory allocation in idmanifest parsing
1866
+ * [2496](https://github.com/AcademySoftwareFoundation/openexr/pull/2496)
1867
+ Fix empty multiView crash in viewFromChannelName()
1868
+ * [2494](https://github.com/AcademySoftwareFoundation/openexr/pull/2494)
1869
+ Reject oversized DWAA buffer allocations on ILP32
1870
+ * [2493](https://github.com/AcademySoftwareFoundation/openexr/pull/2493)
1871
+ Fix ILP32 unpacked buffer size truncation in RLE decode
1872
+ * [2492](https://github.com/AcademySoftwareFoundation/openexr/pull/2492)
1873
+ Fix ILP32 deep sample-count table size overflow in decoding
1874
+ * [2491](https://github.com/AcademySoftwareFoundation/openexr/pull/2491)
1875
+ Fix ILP32 B44/B44A scratch buffer overflow in decode
1876
+ * [2488](https://github.com/AcademySoftwareFoundation/openexr/pull/2488)
1877
+ Fix OpenEXRUtil row() OOB read with non-zero data window origin
1878
+ * [2486](https://github.com/AcademySoftwareFoundation/openexr/pull/2486)
1879
+ Fix integer overflow in Array2D::resizeErase() on ILP32/LLP64 builds
1880
+ * [2484](https://github.com/AcademySoftwareFoundation/openexr/pull/2484)
1881
+ Fix signed integer overflow in unpack_sample_table()
1882
+
1883
+ ## Version 3.2.10 (June 21, 2026)
1884
+
1885
+ Patch release for 3.2 addressing security issues
1886
+
1887
+ ### Security
1888
+
1889
+ This release addresses the following security vulnerabilities:
1890
+
1891
+ * [CVE-2026-55373](https://www.cve.org/CVERecord?id=CVE-2026-55373)
1892
+ OpenEXRUtil SampleCountChannel endEdit() can loop forever on UINT_MAX sample counts
1893
+ * [CVE-2026-55059](https://www.cve.org/CVERecord?id=CVE-2026-55059)
1894
+ OpenEXRUtil SampleCountChannel row setter heap out-of-bounds write
1895
+ * [CVE-2026-54920](https://www.cve.org/CVERecord?id=CVE-2026-54920)
1896
+ Integer Overflow and Use of Uninitialized Pointer leading to Invalid Delete in OpenEXRUtil Image Resize
1897
+
1898
+ ### Merged Pull Requests
1899
+
1900
+ * [2476](git@github.com:AcademySoftwareFoundation/openexr/pull/2476)
1901
+ Fix the DWAA size checks regression
1902
+ * [2472](git@github.com:AcademySoftwareFoundation/openexr/pull/2472)
1903
+ Unlock write context in exr_get_chunk_table_offset() return paths
1904
+ * [2468](git@github.com:AcademySoftwareFoundation/openexr/pull/2468)
1905
+ Fix infinite loop in SampleCountChannel roundListSizeUp()
1906
+ * [2464](git@github.com:AcademySoftwareFoundation/openexr/pull/2464)
1907
+ Fix heap out-of-bounds write in SampleCountChannel row setter.
1908
+ * [2463](git@github.com:AcademySoftwareFoundation/openexr/pull/2463)
1909
+ Fix integer overflow and invalid delete in OpenEXRUtil Image::resize()
1910
+ * [2442](git@github.com:AcademySoftwareFoundation/openexr/pull/2442)
1911
+ Bugfix: Fix interger overflows
1912
+ * [2438](git@github.com:AcademySoftwareFoundation/openexr/pull/2438)
1913
+ Break release.py into separate small scripts for each step
1914
+
1915
+ ### Merged Workflow Pull Requests
1916
+
1917
+
82
1918
  ## Version 3.2.9 (April 29, 2026)
83
1919
 
84
1920
  Patch release for 3.2 that addresses the following security
@@ -145,18 +1981,18 @@ Fix B44/B44A integer overflow: use uint64_t for row offset
145
1981
  * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
146
1982
  PXR24: reject zlib output that does not match packed payload size
147
1983
 
148
- ### Merged Workflow Pull Requests
149
-
150
-
151
- ## Version 3.2.6 (February 26, 2026)
1984
+ ## Version 3.2.6 (March 1, 2026)
152
1985
 
153
1986
  Patch release that prevents an integer overflow when using the
154
- CompositeDeepScanLine API to combine multiple deep parts.
1987
+ `CompositeDeepScanLine` API to combine multiple deep parts.
155
1988
 
156
- ### Merged Pull Requests:
1989
+ This release addresses the following CVEs:
1990
+ * [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622)
1991
+ CompositeDeepScanLine integer-overflow leads to heap OOB write
157
1992
 
158
- * [2256](https://github.com/AcademySoftwareFoundation/pulls/2256)
1993
+ ### Merged Pull Requests:
159
1994
 
1995
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
160
1996
 
161
1997
  ## Version 3.2.5 (November 4, 2025)
162
1998
 
@@ -167,6 +2003,12 @@ Patch release that addresses bugs in the python module's legacy API.
167
2003
  - Use after free in PyObject_StealAttrString in legacy python, reported
168
2004
  by Joshua Rogers (GitHub: MegaManSec).
169
2005
 
2006
+ This release addresses the following CVEs:
2007
+ * [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182)
2008
+ Buffer overflow in PyOpenEXR_old's channels() and channel()
2009
+ * [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183)
2010
+ Use after free in PyObject_StealAttrString
2011
+
170
2012
  ### Merged Pull Requests:
171
2013
 
172
2014
  * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
@@ -178,18 +2020,13 @@ Check for image size overflow in legacy python module
178
2020
 
179
2021
  Patch release that fixes handling of dwa compression in OpenEXRCore library.
180
2022
 
181
- Other miscellaneous changes:
182
-
183
- - Add CMake `find_dependency` for `libdeflate`, to fix a vcpkg build error
184
- - Remove the unused CMake option ``OPENEXR_INSTALL_EXAMPLES``
185
- - Fix some other compiler warnings.
2023
+ This release also removes the unused CMake option
2024
+ ``OPENEXR_INSTALL_EXAMPLES``, and fixes some other compiler warnings.
186
2025
 
187
2026
  ### Merged Pull Requests
188
2027
 
189
2028
  * [1684](https://github.com/AcademySoftwareFoundation/openexr/pull/1684)
190
2029
  Fix typo causing prefix len to be wrong
191
- * [1674](https://github.com/AcademySoftwareFoundation/openexr/pull/1674)
192
- CMake packaging fix.
193
2030
  * [1668](https://github.com/AcademySoftwareFoundation/openexr/pull/1668)
194
2031
  Improve workflow filters
195
2032
  * [1666](https://github.com/AcademySoftwareFoundation/openexr/pull/1666)
@@ -197,7 +2034,7 @@ Improve workflow filters
197
2034
  * [1662](https://github.com/AcademySoftwareFoundation/openexr/pull/1662)
198
2035
  Initialize _ySampling to 0
199
2036
  * [1659](https://github.com/AcademySoftwareFoundation/openexr/pull/1659)
200
- Use size_t as iterator instead of int
2037
+ Use size_t as iterator instead of int
201
2038
 
202
2039
  ## Version 3.2.3 (March 6, 2024)
203
2040
 
@@ -235,7 +2072,7 @@ Fix version tag for python wheel sdist
235
2072
  * [1637](https://github.com/AcademySoftwareFoundation/openexr/pull/1637)
236
2073
  Add instructions for creating signed releases/tags
237
2074
  * [1636](https://github.com/AcademySoftwareFoundation/openexr/pull/1636)
238
- Do synk scans weekly on Sunday mornings
2075
+ Do synk scans weekly on Sunday mornings
239
2076
  * [1635](https://github.com/AcademySoftwareFoundation/openexr/pull/1635)
240
2077
  check and control reduceMemory and reduceTime in stream mode
241
2078
  * [1634](https://github.com/AcademySoftwareFoundation/openexr/pull/1634)
@@ -245,7 +2082,7 @@ Fix install of symlink
245
2082
  * [1631](https://github.com/AcademySoftwareFoundation/openexr/pull/1631)
246
2083
  Remove snyk-scan-pr.yml
247
2084
  * [1629](https://github.com/AcademySoftwareFoundation/openexr/pull/1629)
248
- Build python wheels via scikit-build-core
2085
+ Build python wheels via scikit-build-core
249
2086
  * [1626](https://github.com/AcademySoftwareFoundation/openexr/pull/1626)
250
2087
  Bazel support: Bump Imath to 3.1.10
251
2088
  * [1624](https://github.com/AcademySoftwareFoundation/openexr/pull/1624)
@@ -271,7 +2108,7 @@ CI/CD - Added Snyk C/C++ Scanning Job
271
2108
  * [1605](https://github.com/AcademySoftwareFoundation/openexr/pull/1605)
272
2109
  Bump skylib in workspace approach
273
2110
  * [1600](https://github.com/AcademySoftwareFoundation/openexr/pull/1600)
274
- Release notes and news for v2.5.10
2111
+ Release notes and news for v2.5.10
275
2112
  * [1597](https://github.com/AcademySoftwareFoundation/openexr/pull/1597)
276
2113
  Account for duplicate emails with .mailmap
277
2114
  * [1595](https://github.com/AcademySoftwareFoundation/openexr/pull/1595)
@@ -318,7 +2155,7 @@ Null-dereference in `Imf_3_3::realloc_deepdata`
318
2155
  * [1632](https://github.com/AcademySoftwareFoundation/openexr/pull/1632)
319
2156
  adjust checks for core to better match c++ checks
320
2157
  * [1630](https://github.com/AcademySoftwareFoundation/openexr/pull/1630)
321
- fix issue with unpacking sample counts
2158
+ fix issue with unpacking sample counts
322
2159
  * [1627](https://github.com/AcademySoftwareFoundation/openexr/pull/1627)
323
2160
  Fix CVE 2023 5841
324
2161
 
@@ -715,7 +2552,6 @@ Patch release that addresses
715
2552
  Note that this bug is present in the C++ API (since v3.1.0), although
716
2553
  it is in a routine that is predominantly used for development and
717
2554
  testing. It is not likely to appear in production code.
718
-
719
2555
  This release also addresses:
720
2556
 
721
2557
  * OSS-fuzz [66491](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66491)
@@ -728,7 +2564,7 @@ Null-dereference in `Imf_3_3::realloc_deepdata`
728
2564
  * [1632](https://github.com/AcademySoftwareFoundation/openexr/pull/1632)
729
2565
  adjust checks for core to better match c++ checks
730
2566
  * [1630](https://github.com/AcademySoftwareFoundation/openexr/pull/1630)
731
- fix issue with unpacking sample counts
2567
+ fix issue with unpacking sample counts
732
2568
  * [1627](https://github.com/AcademySoftwareFoundation/openexr/pull/1627)
733
2569
  Fix CVE 2023 5841
734
2570
 
@@ -1559,9 +3395,9 @@ Contains all changes in [3.0.1-beta](#version-301-beta-march-28-2021) and [3.0.0
1559
3395
 
1560
3396
  Beta patch release:
1561
3397
 
1562
- * OSS-fuzz [32370](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32370) Out-of-memory in openexr_exrcheck_fuzzer ([987](https://github.com/AcademySoftwareFoundation/openexr/pull/987))
1563
- * OSS-fuzz [32067](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32067) Out-of-memory in openexr_exrcheck_fuzzer ([966](https://github.com/AcademySoftwareFoundation/openexr/pull/966))
1564
- * OSS-fuzz [31172](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31172) Timeout in openexr_exrcheck_fuzzer ([987](https://github.com/AcademySoftwareFoundation/openexr/pull/987))
3398
+ * OSS-fuzz [32370](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32370) Out-of-memory in openexr_exrcheck_fuzzer ([987](https://github.com/AcademySoftwareFoundation/openexr/pull/987))
3399
+ * OSS-fuzz [32067](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32067) Out-of-memory in openexr_exrcheck_fuzzer ([966](https://github.com/AcademySoftwareFoundation/openexr/pull/966))
3400
+ * OSS-fuzz [31172](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31172) Timeout in openexr_exrcheck_fuzzer ([987](https://github.com/AcademySoftwareFoundation/openexr/pull/987))
1565
3401
 
1566
3402
  ### Merged Pull Requests
1567
3403
 
@@ -1624,32 +3460,32 @@ new features:
1624
3460
 
1625
3461
  Specific OSS-fuzz issues addressed include:
1626
3462
 
1627
- * OSS-fuzz [31539](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31539) Out-of-memory in openexr_exrcheck_fuzzer ([946](https://github.com/AcademySoftwareFoundation/openexr/pull/946))
1628
- * OSS-fuzz [31390](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31390) Out-of-memory in openexr_exrcheck_fuzzer ([939](https://github.com/AcademySoftwareFoundation/openexr/pull/939))
1629
- * OSS-fuzz [31293](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31293) Segv on unknown address in Imf_2_5::copyIntoFrameBuffer ([932](https://github.com/AcademySoftwareFoundation/openexr/pull/932))
1630
- * OSS-fuzz [31291](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31291) Sanitizer CHECK failure in "((0 && "Address is not in memory and not in shadow?")) != (0)" (0x0, 0x0) ([932](https://github.com/AcademySoftwareFoundation/openexr/pull/932))
1631
- * OSS-fuzz [31228](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31228) Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputFile> ([930](https://github.com/AcademySoftwareFoundation/openexr/pull/930))
1632
- * OSS-fuzz [31221](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31221) Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputPart> ([930](https://github.com/AcademySoftwareFoundation/openexr/pull/930))
1633
- * OSS-fuzz [31072](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31072) Out-of-memory in openexr_exrcheck_fuzzer ([928](https://github.com/AcademySoftwareFoundation/openexr/pull/928))
1634
- * OSS-fuzz [31044](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31044) Timeout in openexr_exrcheck_fuzzer ([926](https://github.com/AcademySoftwareFoundation/openexr/pull/926))
1635
- * OSS-fuzz [31015](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31015) Direct-leak in Imf_2_5::TypedAttribute<Imf_2_5::CompressedIDManifest>::readValueFrom ([925](https://github.com/AcademySoftwareFoundation/openexr/pull/925))
1636
- * OSS-fuzz [30969](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30969) Direct-leak in Imf_2_5::DwaCompressor::LossyDctDecoderBase::execute ([923](https://github.com/AcademySoftwareFoundation/openexr/pull/923))
1637
- * OSS-fuzz [30616](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30616) Timeout in openexr_exrcheck_fuzzer ([919](https://github.com/AcademySoftwareFoundation/openexr/pull/919))
1638
- * OSS-fuzz [30605](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30605) Out-of-memory in openexr_exrcheck_fuzzer ([920](https://github.com/AcademySoftwareFoundation/openexr/pull/920))
1639
- * OSS-fuzz [30249](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30249) Out-of-memory in openexr_exrcheck_fuzzer ([915](https://github.com/AcademySoftwareFoundation/openexr/pull/915))
1640
- * OSS-fuzz [29682](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29682) Out-of-memory in openexr_exrcheck_fuzzer ([902](https://github.com/AcademySoftwareFoundation/openexr/pull/902))
1641
- * OSS-fuzz [29393](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29393) Timeout in openexr_exrcheck_fuzzer ([902](https://github.com/AcademySoftwareFoundation/openexr/pull/902))
1642
- * OSS-fuzz [28419](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28419) Out-of-memory in openexr_exrcheck_fuzzer ([895](https://github.com/AcademySoftwareFoundation/openexr/pull/895))
1643
- * OSS-fuzz [28155](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28155) Crash in Imf_2_5::PtrIStream::read ([872](https://github.com/AcademySoftwareFoundation/openexr/pull/872))
1644
- * OSS-fuzz [28051](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28051) Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer ([872](https://github.com/AcademySoftwareFoundation/openexr/pull/872))
1645
- * OSS-fuzz [27409](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27409) Out-of-memory in openexr_exrcheck_fuzzer ([863](https://github.com/AcademySoftwareFoundation/openexr/pull/863))
1646
- * OSS-fuzz [26641](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26641) Invalid-enum-value in readSingleImage ([859](https://github.com/AcademySoftwareFoundation/openexr/pull/859))
1647
- * OSS-fuzz [25648](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25648) Out-of-memory in openexr_scanlines_fuzzer ([839](https://github.com/AcademySoftwareFoundation/openexr/pull/839))
1648
- * OSS-fuzz [25156](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25156) Out-of-memory in openexr_scanlines_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1649
- * OSS-fuzz [25002](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25002) Out-of-memory in openexr_deepscanlines_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1650
- * OSS-fuzz [24959](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24959) Integer-overflow in Imf_2_5::cachePadding ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1651
- * OSS-fuzz [24857](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24857) Out-of-memory in openexr_exrheader_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1652
- * OSS-fuzz [24573](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24573) Out-of-memory in openexr_exrenvmap_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
3463
+ * OSS-fuzz [31539](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31539) Out-of-memory in openexr_exrcheck_fuzzer ([946](https://github.com/AcademySoftwareFoundation/openexr/pull/946))
3464
+ * OSS-fuzz [31390](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31390) Out-of-memory in openexr_exrcheck_fuzzer ([939](https://github.com/AcademySoftwareFoundation/openexr/pull/939))
3465
+ * OSS-fuzz [31293](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31293) Segv on unknown address in Imf_2_5::copyIntoFrameBuffer ([932](https://github.com/AcademySoftwareFoundation/openexr/pull/932))
3466
+ * OSS-fuzz [31291](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31291) Sanitizer CHECK failure in "((0 && "Address is not in memory and not in shadow?")) != (0)" (0x0, 0x0) ([932](https://github.com/AcademySoftwareFoundation/openexr/pull/932))
3467
+ * OSS-fuzz [31228](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31228) Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputFile> ([930](https://github.com/AcademySoftwareFoundation/openexr/pull/930))
3468
+ * OSS-fuzz [31221](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31221) Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputPart> ([930](https://github.com/AcademySoftwareFoundation/openexr/pull/930))
3469
+ * OSS-fuzz [31072](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31072) Out-of-memory in openexr_exrcheck_fuzzer ([928](https://github.com/AcademySoftwareFoundation/openexr/pull/928))
3470
+ * OSS-fuzz [31044](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31044) Timeout in openexr_exrcheck_fuzzer ([926](https://github.com/AcademySoftwareFoundation/openexr/pull/926))
3471
+ * OSS-fuzz [31015](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31015) Direct-leak in Imf_2_5::TypedAttribute<Imf_2_5::CompressedIDManifest>::readValueFrom ([925](https://github.com/AcademySoftwareFoundation/openexr/pull/925))
3472
+ * OSS-fuzz [30969](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30969) Direct-leak in Imf_2_5::DwaCompressor::LossyDctDecoderBase::execute ([923](https://github.com/AcademySoftwareFoundation/openexr/pull/923))
3473
+ * OSS-fuzz [30616](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30616) Timeout in openexr_exrcheck_fuzzer ([919](https://github.com/AcademySoftwareFoundation/openexr/pull/919))
3474
+ * OSS-fuzz [30605](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30605) Out-of-memory in openexr_exrcheck_fuzzer ([920](https://github.com/AcademySoftwareFoundation/openexr/pull/920))
3475
+ * OSS-fuzz [30249](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30249) Out-of-memory in openexr_exrcheck_fuzzer ([915](https://github.com/AcademySoftwareFoundation/openexr/pull/915))
3476
+ * OSS-fuzz [29682](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29682) Out-of-memory in openexr_exrcheck_fuzzer ([902](https://github.com/AcademySoftwareFoundation/openexr/pull/902))
3477
+ * OSS-fuzz [29393](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29393) Timeout in openexr_exrcheck_fuzzer ([902](https://github.com/AcademySoftwareFoundation/openexr/pull/902))
3478
+ * OSS-fuzz [28419](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28419) Out-of-memory in openexr_exrcheck_fuzzer ([895](https://github.com/AcademySoftwareFoundation/openexr/pull/895))
3479
+ * OSS-fuzz [28155](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28155) Crash in Imf_2_5::PtrIStream::read ([872](https://github.com/AcademySoftwareFoundation/openexr/pull/872))
3480
+ * OSS-fuzz [28051](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28051) Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer ([872](https://github.com/AcademySoftwareFoundation/openexr/pull/872))
3481
+ * OSS-fuzz [27409](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27409) Out-of-memory in openexr_exrcheck_fuzzer ([863](https://github.com/AcademySoftwareFoundation/openexr/pull/863))
3482
+ * OSS-fuzz [26641](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26641) Invalid-enum-value in readSingleImage ([859](https://github.com/AcademySoftwareFoundation/openexr/pull/859))
3483
+ * OSS-fuzz [25648](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25648) Out-of-memory in openexr_scanlines_fuzzer ([839](https://github.com/AcademySoftwareFoundation/openexr/pull/839))
3484
+ * OSS-fuzz [25156](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25156) Out-of-memory in openexr_scanlines_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
3485
+ * OSS-fuzz [25002](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25002) Out-of-memory in openexr_deepscanlines_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
3486
+ * OSS-fuzz [24959](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24959) Integer-overflow in Imf_2_5::cachePadding ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
3487
+ * OSS-fuzz [24857](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24857) Out-of-memory in openexr_exrheader_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
3488
+ * OSS-fuzz [24573](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24573) Out-of-memory in openexr_exrenvmap_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1653
3489
 
1654
3490
  ### Merged Pull Requests
1655
3491
 
@@ -3096,7 +4932,7 @@ Signed-off-by: Cary Phillips <cary@ilm.com>
3096
4932
 
3097
4933
  * [New CI with aswfstaging/ci-base image](https://github.com/AcademySoftwareFoundation/openexr/commit/5e7cde5c082881009516aa57a711a19e3eb92f64) ([aloysb](@aloysb@al.com.au) 2019-06-17) Signed-off-by: Aloys Baillet <aloys.baillet@gmail.com>
3098
4934
  Conflicts:
3099
- azure-pipelines.yml
4935
+ azure-pipelines.yml
3100
4936
 
3101
4937
  * [use static_cast in error test](https://github.com/AcademySoftwareFoundation/openexr/commit/700e4996ce619743d5bebe07b4158ccc4547e9ad) ([Peter Hillman](@peterh@wetafx.co.nz) 2019-07-11)
3102
4938
 
@@ -3980,7 +5816,7 @@ documentation describing deep data in more detail.
3980
5816
  * Temporarily turning off optimisation code path (Piotr Stanczyk)
3981
5817
 
3982
5818
  * Added additional tests for future optimisation refactoring (Piotr
3983
- Stanczyk / Peter Hillman)
5819
+ Stanczyk / Peter Hillman)
3984
5820
 
3985
5821
  * Fixes for StringVectors (Peter Hillman)
3986
5822
 
@@ -4083,19 +5919,19 @@ automotive and product prototyping.
4083
5919
  ### Detailed Changes:
4084
5920
 
4085
5921
  * Updated Documentation
4086
- (Peter Hillman)
5922
+ (Peter Hillman)
4087
5923
  * Updated Namespacing mechanism
4088
- (Piotr Stanczyk)
5924
+ (Piotr Stanczyk)
4089
5925
  * Fixes for succd & predd
4090
- (Peter Hillman)
5926
+ (Peter Hillman)
4091
5927
  * Fixes for FPE control registers
4092
- (Piotr Stanczyk)
5928
+ (Piotr Stanczyk)
4093
5929
  * Additional checks and tests on DeepImages, scanlines and tiles
4094
- (Peter Hillman)
5930
+ (Peter Hillman)
4095
5931
  * Folded in Autodesk read optimisations for RGB(A) files
4096
- (Pascal Jette, Peter Hillman)
5932
+ (Pascal Jette, Peter Hillman)
4097
5933
  * Updated the bootstrap scripts to use libtoolize if glibtoolize isn't available on darwin.
4098
- (Nick Rasmussen)
5934
+ (Nick Rasmussen)
4099
5935
  * Numerous minor fixes, missing includes etc
4100
5936
 
4101
5937
  ## Version 2.0.0.beta.1 (June 15, 2012)
@@ -4131,11 +5967,11 @@ Please read the separate file for v2 additions and changes.
4131
5967
  ### Detailed Changes:
4132
5968
 
4133
5969
  * Added git specific files
4134
- (Piotr Stanczyk)
5970
+ (Piotr Stanczyk)
4135
5971
  * Updated the so verison to 20
4136
- (Piotr Stanczyk)
5972
+ (Piotr Stanczyk)
4137
5973
  * Initial use of the CMake build system
4138
- (Nicholas Yue)
5974
+ (Nicholas Yue)
4139
5975
 
4140
5976
  ## Version 1.7.1 (July 31, 2012)
4141
5977
 
@@ -4182,7 +6018,7 @@ This release addresses the following security vulnerabilities:
4182
6018
  * **M44dAttribute** 4x4 double-precision matrix
4183
6019
  * **V2d** 2D double-precision vector
4184
6020
  * **V3d** 3D double-precision vector
4185
-
6021
+
4186
6022
  * Bug fix: crash when reading a damaged image file (found by Apple).
4187
6023
  An exception thrown inside the PIZ Huffman decoder bypasses
4188
6024
  initialization of an array of pointers. The uninitialized pointers
@@ -4342,7 +6178,7 @@ IlmBase 1.0.0:
4342
6178
  link with static libraries properly
4343
6179
 
4344
6180
  * eliminated some warning messages during install (Andrew Kunz)
4345
-
6181
+
4346
6182
  ## Version 1.5.0 (December 15, 2006)
4347
6183
 
4348
6184
  The new version includes several significant changes:
@@ -4443,8 +6279,8 @@ The new version includes several significant changes:
4443
6279
  ## Version 1.4.0a (August 9, 2006)
4444
6280
 
4445
6281
  * Fixed the ReleaseDLL targets for Visual Studio 2003. (Barnaby Robson)
4446
-
4447
- ## Version 1.4.0 (August 2, 2006)
6282
+
6283
+ ## Version 1.4.0 (August 2, 2006)
4448
6284
 
4449
6285
  This is the next major production-ready release of OpenEXR and offers
4450
6286
  full compatibility with our last production release, which was
@@ -4463,7 +6299,7 @@ The new version includes several significant changes:
4463
6299
  * Fixed the ReleaseDLL targets for Visual Studio 2005. (Nick Porcino, Drew Hess)
4464
6300
 
4465
6301
  * Fixes/enhancements for createDLL. (Nick Porcino)
4466
-
6302
+
4467
6303
  ## Version 1.3.0 (June 8, 2006)
4468
6304
 
4469
6305
  This is a test release. The major new feature in this version is
@@ -4521,8 +6357,8 @@ Paul Schneider)
4521
6357
  * Minor configure.ac fix to accommodate OS X's automake. (Drew Hess)
4522
6358
 
4523
6359
  * Removed CPU-specific optimizations from configure.ac, autoconf's
4524
- guess at the CPU type isn't very useful, anyway. Closes
4525
- #13429. (Drew Hess)
6360
+ guess at the CPU type isn't very useful, anyway. Closes
6361
+ #13429. (Drew Hess)
4526
6362
 
4527
6363
  * Fixed quoting for tests in configure.ac. Closes #13428. (Drew
4528
6364
  Hess)
@@ -4650,65 +6486,65 @@ This is a relatively minor update to the project, with the following changes:
4650
6486
 
4651
6487
 
4652
6488
  * Updated README to remove option for building with Visual C++ 6.0.
4653
- (Drew Hess)
6489
+ (Drew Hess)
4654
6490
 
4655
6491
  * Some older versions of gcc don't support a full iomanip
4656
- implementation; check for this during configuration.
4657
- (Drew Hess)
6492
+ implementation; check for this during configuration.
6493
+ (Drew Hess)
4658
6494
 
4659
6495
  * Install PDF versions of documentation, remove old/out-of-date
4660
- HTML documentation. (Florian Kainz)
6496
+ HTML documentation. (Florian Kainz)
4661
6497
 
4662
6498
  * Removed vc/vc6 directory; Visual C++ 6.0 is no longer
4663
- supported. (Drew Hess)
6499
+ supported. (Drew Hess)
4664
6500
 
4665
6501
  * Updated README.win32 with details of new build system.
4666
- (Florian Kainz, Drew Hess)
6502
+ (Florian Kainz, Drew Hess)
4667
6503
 
4668
6504
  * New build system for Windows / Visual C++ 7 builds both
4669
- static libraries and DLLs.
4670
- (Nick Porcino)
6505
+ static libraries and DLLs.
6506
+ (Nick Porcino)
4671
6507
 
4672
6508
  * Removed Imath::TMatrix<T> and related classes, which are not
4673
- used anywhere in OpenEXR.
4674
- (Florian Kainz)
6509
+ used anywhere in OpenEXR.
6510
+ (Florian Kainz)
4675
6511
 
4676
6512
  * Added minimal support for "image layers" to class Imf::ChannelList
4677
- (Florian Kainz)
6513
+ (Florian Kainz)
4678
6514
 
4679
6515
  * Added new isComplete() method to InputFile, TiledInputFile
4680
- etc., that checks if a file is complete or if any pixels
4681
- are missing (for example, because writing the file was
4682
- aborted prematurely).
4683
- (Florian Kainz)
6516
+ etc., that checks if a file is complete or if any pixels
6517
+ are missing (for example, because writing the file was
6518
+ aborted prematurely).
6519
+ (Florian Kainz)
4684
6520
 
4685
6521
  * Exposed staticInitialize() function in ImfHeader.h in order
4686
- to allow thread-safe library initialization in multithreaded
4687
- programs.
4688
- (Florian Kainz)
6522
+ to allow thread-safe library initialization in multithreaded
6523
+ programs.
6524
+ (Florian Kainz)
4689
6525
 
4690
6526
  * Added a new "time code" attribute
4691
- (Florian Kainz)
6527
+ (Florian Kainz)
4692
6528
 
4693
6529
  * exrmaketiled: when a MIPMAP_LEVELS or RIPMAP_LEVELS image
4694
- is produced, low-pass filtering takes samples outside the
4695
- image's data window. This requires extrapolating the image.
4696
- The user can now specify how the image is extrapolated
4697
- horizontally and vertically (image is surrounded by black /
4698
- outermost row of pixels repeats / entire image repeats /
4699
- entire image repeats, every other copy is a mirror image).
4700
- exrdisplay: added option to swap the top and bottom half,
4701
- and the left and right half of an image, so that the image's
4702
- four corners end up in the center. This is useful for checking
4703
- the seams of wrap-around texture map images.
4704
- IlmImf library: Added new "wrapmodes" standard attribute
4705
- to indicate the extrapolation mode for MIPMAP_LEVELS and
4706
- RIPMAP_LEVELS images.
4707
- (Florian Kainz)
6530
+ is produced, low-pass filtering takes samples outside the
6531
+ image's data window. This requires extrapolating the image.
6532
+ The user can now specify how the image is extrapolated
6533
+ horizontally and vertically (image is surrounded by black /
6534
+ outermost row of pixels repeats / entire image repeats /
6535
+ entire image repeats, every other copy is a mirror image).
6536
+ exrdisplay: added option to swap the top and bottom half,
6537
+ and the left and right half of an image, so that the image's
6538
+ four corners end up in the center. This is useful for checking
6539
+ the seams of wrap-around texture map images.
6540
+ IlmImf library: Added new "wrapmodes" standard attribute
6541
+ to indicate the extrapolation mode for MIPMAP_LEVELS and
6542
+ RIPMAP_LEVELS images.
6543
+ (Florian Kainz)
4708
6544
 
4709
6545
  * Added a new "key code" attribute to identify motion picture
4710
- film frames.
4711
- (Florian Kainz)
6546
+ film frames.
6547
+ (Florian Kainz)
4712
6548
 
4713
6549
  * Removed #include <Iex.h> from ImfAttribute.h, ImfHeader.h and
4714
6550
  ImfXdr.h so that including header files such as ImfInputFile.h no
@@ -4740,15 +6576,15 @@ changes:
4740
6576
  ### Detailed Changes:
4741
6577
 
4742
6578
  * exrenvmap and exrmaketiled use slightly less memory
4743
- (Florian Kainz)
6579
+ (Florian Kainz)
4744
6580
 
4745
6581
  * Added functions to IlmImf for quickly testing if a file
4746
- is an OpenEXR file, and whether the file is scan-line
4747
- based or tiled. (Florian Kainz)
6582
+ is an OpenEXR file, and whether the file is scan-line
6583
+ based or tiled. (Florian Kainz)
4748
6584
 
4749
6585
  * Added preview image examples to IlmImfExamples. Added
4750
- description of preview images and environment maps to
4751
- docs/api.html (Florian Kainz)
6586
+ description of preview images and environment maps to
6587
+ docs/api.html (Florian Kainz)
4752
6588
 
4753
6589
  * Bug fix: PXR24 compression did not work properly for channels with
4754
6590
  ySampling != 1. (Florian Kainz)
@@ -4756,8 +6592,8 @@ changes:
4756
6592
  * Made ``template <class T>`` become ``template <class S, class T>``
4757
6593
  for the ``transform(ObjectS, ObjectT)`` methods. This was done to
4758
6594
  allow for differing templated objects to be passed in e.g. say a
4759
- ``Box<Vec3<S>>`` and a ``Matrix44<T>``, where S=float and T=double.
4760
- (Jeff Yost, Arkell Rasiah)
6595
+ ``Box<Vec3<S>>`` and a ``Matrix44<T>``, where S=float and T=double.
6596
+ (Jeff Yost, Arkell Rasiah)
4761
6597
 
4762
6598
  * New method Matrix44::setTheMatrix(). Used for assigning a M44f to a
4763
6599
  M44d. (Jeff Yost, Arkell Rasiah)
@@ -4768,13 +6604,13 @@ changes:
4768
6604
  Rasiah)
4769
6605
 
4770
6606
  * Methods equalWithAbsError() and equalWithRelError() are now
4771
- declared as const. (Colette Mullenhoff, Arkell Rasiah)
6607
+ declared as const. (Colette Mullenhoff, Arkell Rasiah)
4772
6608
 
4773
6609
  * Fixes for gcc34. Mainly typename/template/using/this syntax
4774
- correctness changes. (Nick Ramussen, Arkell Rasiah)
6610
+ correctness changes. (Nick Ramussen, Arkell Rasiah)
4775
6611
 
4776
6612
  * Added Custom low-level file I/O examples to IlmImfExamples
4777
- and to the docs/api.html document. (Florian Kainz)
6613
+ and to the docs/api.html document. (Florian Kainz)
4778
6614
 
4779
6615
  * Eliminated most warnings messages when OpenEXR is compiled with
4780
6616
  Visual C++. The OpenEXR code uses lots of (intentional and
@@ -4828,11 +6664,11 @@ in the 1.2 series as compared to the original 1.0 series:
4828
6664
  * Add new source files to VC7 IlmImfDll target. (Drew Hess)
4829
6665
 
4830
6666
  * Iex: change the way that APPEND_EXC and REPLACE_EXC modify
4831
- their what() string to work around an issue with Visual C++
4832
- 7.1. (Florian Kainz, Nick Porcino)
6667
+ their what() string to work around an issue with Visual C++
6668
+ 7.1. (Florian Kainz, Nick Porcino)
4833
6669
 
4834
6670
  * Bumped OpenEXR version to 1.2 and .so versions to 2.0.0 in
4835
- preparation for the release. (Drew Hess)
6671
+ preparation for the release. (Drew Hess)
4836
6672
 
4837
6673
  * Imath: fixed ImathTMatrix.h to work with gcc 3.4. (Drew Hess)
4838
6674
 
@@ -4841,15 +6677,15 @@ in the 1.2 series as compared to the original 1.0 series:
4841
6677
  * Quoting fix in acinclude.m4 for automake 1.8. (Brad Hards)
4842
6678
 
4843
6679
  * Imath: put inline at beginning of declaration in ImathMatrix.h
4844
- to fix a warning. (Ken McGaugh)
6680
+ to fix a warning. (Ken McGaugh)
4845
6681
 
4846
6682
  * Imath: made Vec equalWithError () methods const.
4847
6683
 
4848
6684
  * Cleaned up compile-time Win32 support. (Florian Kainz)
4849
6685
 
4850
6686
  * Bug fix: Reading a particular broken PIZ-compressed file
4851
- caused crashes by indexing off the end of an array.
4852
- (Florian Kainz)
6687
+ caused crashes by indexing off the end of an array.
6688
+ (Florian Kainz)
4853
6689
 
4854
6690
  ## Version 1.1.1 (March 27, 2004)
4855
6691
 
@@ -4875,7 +6711,7 @@ format.
4875
6711
  is not defined.
4876
6712
 
4877
6713
  * IlmImf: fixed a bug in reading scanline files on big-endian
4878
- architectures. (Drew Hess)
6714
+ architectures. (Drew Hess)
4879
6715
 
4880
6716
  * exrmaketiled: Added an option to select compression type. (Florian
4881
6717
  Kainz)
@@ -4914,15 +6750,15 @@ format.
4914
6750
  RGBA. (Florian Kainz)
4915
6751
 
4916
6752
  * IlmImf: speed up reading tiled files as scan lines.
4917
- (Florian Kainz)
6753
+ (Florian Kainz)
4918
6754
 
4919
6755
  * Half: Fixed subtle bug in Half where signaling float NaNs
4920
- were being converted to inf in half. (Florian Kainz)
6756
+ were being converted to inf in half. (Florian Kainz)
4921
6757
 
4922
6758
  * gcc 3.3 compiler warning cleanups. (various)
4923
6759
 
4924
6760
  * Imath: ImathEuler.h fixes for gcc 3.4. (Garrick Meeker)
4925
-
6761
+
4926
6762
  ## Version 1.1.0 (February 6, 2004)
4927
6763
 
4928
6764
  OpenEXR 1.1.0 is now available. This is a major new release with
@@ -4935,18 +6771,18 @@ format.
4935
6771
  ### Detailed Changes:
4936
6772
 
4937
6773
  * Added new targets to Visual C++ .NET 2003 project
4938
- for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
4939
- (Drew Hess)
6774
+ for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
6775
+ (Drew Hess)
4940
6776
 
4941
6777
  * A few assorted Win32 fixes for Imath. (Drew Hess)
4942
6778
 
4943
6779
  * GNU autoconf builds now produce versioned libraries.
4944
- This release is 1:0:0. (Drew Hess)
6780
+ This release is 1:0:0. (Drew Hess)
4945
6781
 
4946
6782
  * Fixes for Visual C++ .NET 2003. (Paul Schneider)
4947
6783
 
4948
6784
  * Updated Visual C++ zlib project file to zlib 1.2.1.
4949
- (Drew Hess)
6785
+ (Drew Hess)
4950
6786
 
4951
6787
  * exrdisplay: Fixed fragment shader version. (Drew Hess)
4952
6788
 
@@ -4955,64 +6791,64 @@ format.
4955
6791
  * Imath: Handle "restrict" keyword properly. (Drew Hess)
4956
6792
 
4957
6793
  * IlmImfExamples: Updated to latest versions of example
4958
- source code, includes tiling and multi-res images.
4959
- (Florian Kainz)
6794
+ source code, includes tiling and multi-res images.
6795
+ (Florian Kainz)
4960
6796
 
4961
6797
  * exrmakepreview: A new utility to create preview images.
4962
- (Florian Kainz)
6798
+ (Florian Kainz)
4963
6799
 
4964
6800
  * exrenvmap: A new utility to create OpenEXR environment
4965
- maps. (Florian Kainz)
6801
+ maps. (Florian Kainz)
4966
6802
 
4967
6803
  * exrstdattr: A new utility to modify standard
4968
- attributes. (Florian Kainz)
6804
+ attributes. (Florian Kainz)
4969
6805
 
4970
6806
  * Updated exrheader to print level rounding mode and
4971
- preview image size. (Florian Kainz)
6807
+ preview image size. (Florian Kainz)
4972
6808
 
4973
6809
  * Updated exrmaketiled to use level rounding mode.
4974
- (Florian Kainz)
6810
+ (Florian Kainz)
4975
6811
 
4976
6812
  * IlmImf: Changed the orientation of lat-long envmaps to
4977
- match typical panoramic camera setups. (Florian Kainz)
6813
+ match typical panoramic camera setups. (Florian Kainz)
4978
6814
 
4979
6815
  * IlmImf: Fixed a bug where partially-completed files with
4980
- DECREASING_Y could not be read. (Florian Kainz)
6816
+ DECREASING_Y could not be read. (Florian Kainz)
4981
6817
 
4982
6818
  * IlmImf: Added support for selectable rounding mode (up/down)
4983
- when generating multiresolution files. (Florian Kainz)
6819
+ when generating multiresolution files. (Florian Kainz)
4984
6820
 
4985
6821
  * exrdisplay: Support for tiled images, mip/ripmaps, preview
4986
- images, and display windows. (Florian Kainz, Drew Hess)
6822
+ images, and display windows. (Florian Kainz, Drew Hess)
4987
6823
 
4988
6824
  * exrmaketiled: A new utility which generates tiled
4989
- versions of OpenEXR images. (Florian Kainz)
6825
+ versions of OpenEXR images. (Florian Kainz)
4990
6826
 
4991
6827
  * IlmImf: Changed Imf::VERSION to Imf::EXR_VERSION to
4992
- work around problems with autoconf VERSION macro
4993
- conflict. (Drew Hess)
6828
+ work around problems with autoconf VERSION macro
6829
+ conflict. (Drew Hess)
4994
6830
 
4995
6831
  * exrheader: Support for tiles, mipmaps, environment
4996
- maps. (Florian Kainz)
6832
+ maps. (Florian Kainz)
4997
6833
 
4998
6834
  * IlmImf: Environment map support. (Florian Kainz)
4999
6835
 
5000
6836
  * IlmImf: Abstracted stream I/O support. (Florian Kainz)
5001
6837
 
5002
6838
  * IlmImf: Support for tiled and mip/ripmapped files;
5003
- requires new file format. (Wojciech Jarosz, Florian Kainz)
6839
+ requires new file format. (Wojciech Jarosz, Florian Kainz)
5004
6840
 
5005
6841
  * Imath: **TMatrix**, generic 2D matricies and algorithms.
5006
- (Francesco Callari)
6842
+ (Francesco Callari)
5007
6843
 
5008
6844
  * Imath: major quaternions cleanup. (Cary Phillips)
5009
6845
 
5010
6846
  * Imath: added GLBegin, GLPushAttrib, GLPushMatrix objects
5011
- for automatic cleanup on exceptions. (Cary Phillips)
6847
+ for automatic cleanup on exceptions. (Cary Phillips)
5012
6848
 
5013
6849
  * Imath: removed implicit scalar->vector promotions and vector
5014
- comparisons. (Nick Rasmussen)
5015
-
6850
+ comparisons. (Nick Rasmussen)
6851
+
5016
6852
  ## Version 1.0.7 (January 7, 2004)
5017
6853
 
5018
6854
  OpenEXR 1.0.7 is now available. In addition to some bug fixes, this
@@ -5032,29 +6868,29 @@ we're working to restore them.
5032
6868
  * Fixed a typo in one of the IlmImfTest tests. (Paul Schneider)
5033
6869
 
5034
6870
  * Fixed a bug in exrdisplay that causes the image to display
5035
- as all black if there's a NaN or infinity in an OpenEXR
5036
- image. (Florian Kainz)
6871
+ as all black if there's a NaN or infinity in an OpenEXR
6872
+ image. (Florian Kainz)
5037
6873
 
5038
6874
  * Updated exrheader per recent changes to IlmImf library.
5039
- (Florian Kainz)
6875
+ (Florian Kainz)
5040
6876
 
5041
6877
  * Changed an errant float to a T in ImathFrame.h nextFrame().
5042
- (Cary Phillips)
6878
+ (Cary Phillips)
5043
6879
 
5044
6880
  * Support for new "optional standard" attributes
5045
- (chromaticities, luminance, comments, etc.).
5046
- (Florian Kainz, Greg Ward, Joseph Goldstone)
6881
+ (chromaticities, luminance, comments, etc.).
6882
+ (Florian Kainz, Greg Ward, Joseph Goldstone)
5047
6883
 
5048
6884
  * Fixed a buffer overrun in ImfOpaqueAttribute. (Paul Schneider)
5049
6885
 
5050
6886
  * Added new function, isImfMagic (). (Florian Kainz)
5051
-
5052
- ## Version 1.0.6:
6887
+
6888
+ ## Version 1.0.6
5053
6889
 
5054
6890
  * Added README.win32 to disted files.
5055
6891
 
5056
6892
  * Fixed OpenEXR.pc.in pkg-config file, OpenEXR now works
5057
- with pkg-config.
6893
+ with pkg-config.
5058
6894
 
5059
6895
  * Random fixes to readme files for new release.
5060
6896
 
@@ -5063,7 +6899,7 @@ we're working to restore them.
5063
6899
  * Added Visual Studio .NET 2003 "solution."
5064
6900
 
5065
6901
  * Fixes for Visual Studio .NET 2003 w/ Microsoft C++ compiler.
5066
- (Various)
6902
+ (Various)
5067
6903
 
5068
6904
  * Random Imath fixes and enhancements. Note that extractSHRT now
5069
6905
  takes an additional optional argument, see ImathMatrixAlgo.h for
@@ -5072,25 +6908,25 @@ we're working to restore them.
5072
6908
  * Added Wojciech Jarosz to AUTHORS file.
5073
6909
 
5074
6910
  * Added test cases for uncompressed case, preview images,
5075
- frame buffer type conversion. (Wojciech Jarosz,
5076
- Florian Kainz)
6911
+ frame buffer type conversion. (Wojciech Jarosz,
6912
+ Florian Kainz)
5077
6913
 
5078
6914
  * Fix a bug in IlmImf where uncompressed data doesn't get
5079
- read/written correctly. (Wojciech Jarosz)
6915
+ read/written correctly. (Wojciech Jarosz)
5080
6916
 
5081
6917
  * Added support for preview images and preview image
5082
- attributes (thumbnail images) in IlmImf. (Florian Kainz)
6918
+ attributes (thumbnail images) in IlmImf. (Florian Kainz)
5083
6919
 
5084
6920
  * Added support for automatic frame buffer type conversion
5085
- in IlmImf. (Florian Kainz)
6921
+ in IlmImf. (Florian Kainz)
5086
6922
 
5087
6923
  * Cleaned up some compile-time checks.
5088
6924
 
5089
6925
  * Added HalfTest unit tests.
5090
6926
 
5091
6927
  * [exrdisplay] Download half framebuffer to texture memory
5092
- instead of converting to float first. Requires latest
5093
- Nvidia drivers.
6928
+ instead of converting to float first. Requires latest
6929
+ Nvidia drivers.
5094
6930
 
5095
6931
  ## Version 1.0.5 (April 3, 2003)
5096
6932
 
@@ -5106,13 +6942,13 @@ the source code.
5106
6942
  * Added exrheader project to Visual Studio 6.0 workspace.
5107
6943
 
5108
6944
  * Added some example code showing how to use the IlmImf library.
5109
- (Florian)
6945
+ (Florian)
5110
6946
 
5111
6947
  * Use DLL runtime libs for Win32 libraries rather than static
5112
- runtime libs.
6948
+ runtime libs.
5113
6949
 
5114
6950
  * Add an exrdisplay_fragshader project to the Visual Studio 6.0
5115
- workspace to enable fragment shaders in Win32.
6951
+ workspace to enable fragment shaders in Win32.
5116
6952
 
5117
6953
  * Add an IlmImfDll project to the Visual Studio 6.0 workspace.
5118
6954
 
@@ -5121,24 +6957,24 @@ the source code.
5121
6957
  (Andreas Kahler)
5122
6958
 
5123
6959
  * Use auto_ptr in ImfAutoArray on Win32, it doesn't like large
5124
- automatic stacks.
6960
+ automatic stacks.
5125
6961
 
5126
6962
  * Performance improvements in PIZ decoding, between
5127
- 20 and 60% speedup on Athlon and Pentium 4 systems.
5128
- (Florian)
6963
+ 20 and 60% speedup on Athlon and Pentium 4 systems.
6964
+ (Florian)
5129
6965
 
5130
6966
  * Updated the README with various information, made
5131
- some cosmetic changes for readability.
6967
+ some cosmetic changes for readability.
5132
6968
 
5133
6969
  * Added fragment shader support to exrdisplay.
5134
6970
 
5135
6971
  * Bumped the version to 1.0.5 in prep for release.
5136
6972
 
5137
6973
  * Updated README and README.OSX to talk about CodeWarrior
5138
- project files.
6974
+ project files.
5139
6975
 
5140
6976
  * Incorporated Rodrigo Damazio's patch for an openexr.m4
5141
- macro file and an openexr.spec file for building RPMs.
6977
+ macro file and an openexr.spec file for building RPMs.
5142
6978
 
5143
6979
  * Small change in ImfAttribute.h to make IlmImf compile with gcc 2.95.
5144
6980
 
@@ -5153,29 +6989,29 @@ the source code.
5153
6989
  * Added project files for Visual Studio 6.0.
5154
6990
 
5155
6991
  * Initial Win32 port. Requires Visual Studio 6.0 and Intel C++
5156
- compiler version 7.0.
6992
+ compiler version 7.0.
5157
6993
 
5158
6994
  * Added new intersectT method in ImathSphere.h
5159
6995
 
5160
6996
  * Fixed some bugs in ImathQuat.h
5161
6997
 
5162
6998
  * Proper use of fltk-config to get platform-specific FLTK
5163
- compile- and link-time flags.
6999
+ compile- and link-time flags.
5164
7000
 
5165
7001
  * exrdisplay uses Imath::Math<T>::pow instead of powf now.
5166
- powf is not available on all platforms.
7002
+ powf is not available on all platforms.
5167
7003
 
5168
7004
  * Roll OS X "hack" into the source until Apple fixes their
5169
- istream implementation.
5170
-
7005
+ istream implementation.
7006
+
5171
7007
  ## Version 1.0.4
5172
7008
 
5173
7009
  ### Detailed Changes:
5174
7010
 
5175
7011
  * OpenEXR is now covered by a modified BSD license. See LICENSE
5176
- for the new terms.
7012
+ for the new terms.
5177
7013
 
5178
- ## Version 1.0.3:
7014
+ ## Version 1.0.3
5179
7015
 
5180
7016
  ### Detailed Changes:
5181
7017
 
@@ -5192,12 +7028,12 @@ the source code.
5192
7028
  * Make IlmImf compile with Metrowerks Codewarrior.
5193
7029
 
5194
7030
  * Change large automatic stacks in ImfHuf.C to auto_ptrs allocated
5195
- off the heap. MacOS X default stack size isn't large enough.
7031
+ off the heap. MacOS X default stack size isn't large enough.
5196
7032
 
5197
7033
  * std::ios fix for MacOS X in ImfInputFile.C.
5198
7034
 
5199
7035
  * Added new FP predecessor/successor functions to Imath, added
5200
- tests to ImathTest
7036
+ tests to ImathTest
5201
7037
 
5202
7038
  * Fixed a bug in Imath::extractSHRT for 3x3 matricies when exactly one
5203
7039
  of the original scaling factors is negative, updated ImathTest to
@@ -5247,7 +7083,7 @@ the source code.
5247
7083
  * first official release.
5248
7084
 
5249
7085
  * added some high-level documentation, removed the old OpenEXR.html
5250
- documentation.
7086
+ documentation.
5251
7087
 
5252
7088
  * fixed a few nagging build problems.
5253
7089