OpenEXR 3.2.8__tar.gz → 3.2.10__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.8 → openexr-3.2.10}/CHANGES.md +1931 -185
  2. {openexr-3.2.8 → openexr-3.2.10}/CONTRIBUTING.md +269 -256
  3. {openexr-3.2.8 → openexr-3.2.10}/PKG-INFO +1 -1
  4. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifest.cpp +14 -0
  5. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/encoding.c +14 -6
  6. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_compressor.h +10 -0
  7. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_encoder.h +4 -4
  8. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_version.h +1 -1
  9. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/part_attr.c +2 -1
  10. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImage.cpp +87 -56
  11. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +21 -1
  12. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +3 -2
  13. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +22 -1
  14. {openexr-3.2.8 → openexr-3.2.10}/.bazelversion +0 -0
  15. {openexr-3.2.8 → openexr-3.2.10}/.clang-format +0 -0
  16. {openexr-3.2.8 → openexr-3.2.10}/.git-blame-ignore-revs +0 -0
  17. {openexr-3.2.8 → openexr-3.2.10}/.gitignore +0 -0
  18. {openexr-3.2.8 → openexr-3.2.10}/.mailmap +0 -0
  19. {openexr-3.2.8 → openexr-3.2.10}/.readthedocs.yml +0 -0
  20. {openexr-3.2.8 → openexr-3.2.10}/BUILD.bazel +0 -0
  21. {openexr-3.2.8 → openexr-3.2.10}/CMakeLists.txt +0 -0
  22. {openexr-3.2.8 → openexr-3.2.10}/CODEOWNERS +0 -0
  23. {openexr-3.2.8 → openexr-3.2.10}/CODE_OF_CONDUCT.md +0 -0
  24. {openexr-3.2.8 → openexr-3.2.10}/CONTRIBUTORS.md +0 -0
  25. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/AUTHORS +0 -0
  26. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/ChangeLog +0 -0
  27. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
  28. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/Makefile.test +0 -0
  29. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
  30. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
  31. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
  32. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
  33. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
  34. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
  35. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
  36. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
  37. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/README +0 -0
  38. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/bootstrap +0 -0
  39. {openexr-3.2.8 → openexr-3.2.10}/Contrib/DtexToExr/configure.ac +0 -0
  40. {openexr-3.2.8 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
  41. {openexr-3.2.8 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
  42. {openexr-3.2.8 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
  43. {openexr-3.2.8 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
  44. {openexr-3.2.8 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
  45. {openexr-3.2.8 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
  46. {openexr-3.2.8 → openexr-3.2.10}/GOVERNANCE.md +0 -0
  47. {openexr-3.2.8 → openexr-3.2.10}/LICENSE.md +0 -0
  48. {openexr-3.2.8 → openexr-3.2.10}/MODULE.bazel +0 -0
  49. {openexr-3.2.8 → openexr-3.2.10}/PATENTS +0 -0
  50. {openexr-3.2.8 → openexr-3.2.10}/README.md +0 -0
  51. {openexr-3.2.8 → openexr-3.2.10}/SECURITY.md +0 -0
  52. {openexr-3.2.8 → openexr-3.2.10}/WORKSPACE.bazel +0 -0
  53. {openexr-3.2.8 → openexr-3.2.10}/cmake/CMakeLists.txt +0 -0
  54. {openexr-3.2.8 → openexr-3.2.10}/cmake/FindPythonPackage.cmake +0 -0
  55. {openexr-3.2.8 → openexr-3.2.10}/cmake/FindSphinx.cmake +0 -0
  56. {openexr-3.2.8 → openexr-3.2.10}/cmake/IexConfig.h.in +0 -0
  57. {openexr-3.2.8 → openexr-3.2.10}/cmake/IexConfigInternal.h.in +0 -0
  58. {openexr-3.2.8 → openexr-3.2.10}/cmake/IlmThreadConfig.h.in +0 -0
  59. {openexr-3.2.8 → openexr-3.2.10}/cmake/JoinPaths.cmake +0 -0
  60. {openexr-3.2.8 → openexr-3.2.10}/cmake/LibraryDefine.cmake +0 -0
  61. {openexr-3.2.8 → openexr-3.2.10}/cmake/OpenEXR.pc.in +0 -0
  62. {openexr-3.2.8 → openexr-3.2.10}/cmake/OpenEXRConfig.cmake.in +0 -0
  63. {openexr-3.2.8 → openexr-3.2.10}/cmake/OpenEXRConfig.h.in +0 -0
  64. {openexr-3.2.8 → openexr-3.2.10}/cmake/OpenEXRConfigInternal.h.in +0 -0
  65. {openexr-3.2.8 → openexr-3.2.10}/cmake/OpenEXRLibraryDefine.cmake +0 -0
  66. {openexr-3.2.8 → openexr-3.2.10}/cmake/OpenEXRSetup.cmake +0 -0
  67. {openexr-3.2.8 → openexr-3.2.10}/cmake/SampleCTestScript.cmake +0 -0
  68. {openexr-3.2.8 → openexr-3.2.10}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
  69. {openexr-3.2.8 → openexr-3.2.10}/cmake/Toolchain-mingw.cmake +0 -0
  70. {openexr-3.2.8 → openexr-3.2.10}/cmake/clang-format.cmake +0 -0
  71. {openexr-3.2.8 → openexr-3.2.10}/cmake/cmake_uninstall.cmake.in +0 -0
  72. {openexr-3.2.8 → openexr-3.2.10}/docs/CMakeLists.txt +0 -0
  73. {openexr-3.2.8 → openexr-3.2.10}/pyproject.toml +0 -0
  74. {openexr-3.2.8 → openexr-3.2.10}/sonar-project.properties +0 -0
  75. {openexr-3.2.8 → openexr-3.2.10}/src/bin/CMakeLists.txt +0 -0
  76. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exr2aces/CMakeLists.txt +0 -0
  77. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exr2aces/main.cpp +0 -0
  78. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrcheck/CMakeLists.txt +0 -0
  79. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrcheck/main.cpp +0 -0
  80. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/CMakeLists.txt +0 -0
  81. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
  82. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/EnvmapImage.h +0 -0
  83. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/blurImage.cpp +0 -0
  84. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/blurImage.h +0 -0
  85. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/main.cpp +0 -0
  86. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
  87. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/makeCubeMap.h +0 -0
  88. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
  89. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
  90. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/namespaceAlias.h +0 -0
  91. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/readInputImage.cpp +0 -0
  92. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/readInputImage.h +0 -0
  93. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/resizeImage.cpp +0 -0
  94. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrenvmap/resizeImage.h +0 -0
  95. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrheader/CMakeLists.txt +0 -0
  96. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrheader/main.cpp +0 -0
  97. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrinfo/CMakeLists.txt +0 -0
  98. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrinfo/main.c +0 -0
  99. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
  100. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmakepreview/main.cpp +0 -0
  101. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmakepreview/makePreview.cpp +0 -0
  102. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmakepreview/makePreview.h +0 -0
  103. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
  104. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/Image.cpp +0 -0
  105. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/Image.h +0 -0
  106. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/main.cpp +0 -0
  107. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
  108. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/makeTiled.h +0 -0
  109. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
  110. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmanifest/CMakeLists.txt +0 -0
  111. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmanifest/main.cpp +0 -0
  112. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultipart/CMakeLists.txt +0 -0
  113. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
  114. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/CMakeLists.txt +0 -0
  115. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/Image.cpp +0 -0
  116. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/Image.h +0 -0
  117. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/main.cpp +0 -0
  118. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/makeMultiView.cpp +0 -0
  119. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/makeMultiView.h +0 -0
  120. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrmultiview/namespaceAlias.h +0 -0
  121. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrstdattr/CMakeLists.txt +0 -0
  122. {openexr-3.2.8 → openexr-3.2.10}/src/bin/exrstdattr/main.cpp +0 -0
  123. {openexr-3.2.8 → openexr-3.2.10}/src/lib/.gitignore +0 -0
  124. {openexr-3.2.8 → openexr-3.2.10}/src/lib/CMakeLists.txt +0 -0
  125. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/CMakeLists.txt +0 -0
  126. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/Iex.h +0 -0
  127. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexBaseExc.cpp +0 -0
  128. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexBaseExc.h +0 -0
  129. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexErrnoExc.h +0 -0
  130. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexExport.h +0 -0
  131. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexForward.h +0 -0
  132. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMacros.h +0 -0
  133. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMathExc.h +0 -0
  134. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
  135. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMathFloatExc.h +0 -0
  136. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMathFpu.cpp +0 -0
  137. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMathFpu.h +0 -0
  138. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexMathIeeeExc.h +0 -0
  139. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexNamespace.h +0 -0
  140. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
  141. {openexr-3.2.8 → openexr-3.2.10}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
  142. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/CMakeLists.txt +0 -0
  143. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThread.cpp +0 -0
  144. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThread.h +0 -0
  145. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadExport.h +0 -0
  146. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadForward.h +0 -0
  147. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
  148. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
  149. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
  150. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadPool.h +0 -0
  151. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
  152. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
  153. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
  154. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
  155. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
  156. {openexr-3.2.8 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
  157. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/CMakeLists.txt +0 -0
  158. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
  159. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
  160. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfArray.h +0 -0
  161. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
  162. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfAttribute.h +0 -0
  163. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
  164. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
  165. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
  166. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
  167. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
  168. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
  169. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
  170. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
  171. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelList.h +0 -0
  172. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
  173. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
  174. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
  175. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
  176. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
  177. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
  178. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
  179. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
  180. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
  181. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompression.h +0 -0
  182. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
  183. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
  184. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
  185. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressor.h +0 -0
  186. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
  187. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfConvert.h +0 -0
  188. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
  189. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
  190. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
  191. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
  192. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
  193. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
  194. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
  195. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
  196. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
  197. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
  198. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
  199. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +0 -0
  200. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
  201. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
  202. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
  203. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
  204. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
  205. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
  206. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
  207. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +0 -0
  208. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
  209. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
  210. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
  211. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
  212. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
  213. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
  214. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
  215. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfDwaCompressorSimd.h +0 -0
  216. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
  217. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
  218. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
  219. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
  220. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfExport.h +0 -0
  221. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
  222. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
  223. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
  224. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
  225. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
  226. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
  227. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfForward.h +0 -0
  228. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
  229. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
  230. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
  231. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
  232. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
  233. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
  234. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
  235. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
  236. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
  237. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfHeader.h +0 -0
  238. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
  239. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfHuf.h +0 -0
  240. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
  241. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
  242. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
  243. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIO.cpp +0 -0
  244. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIO.h +0 -0
  245. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
  246. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputFile.h +0 -0
  247. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
  248. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPart.h +0 -0
  249. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
  250. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
  251. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
  252. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfInt64.h +0 -0
  253. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
  254. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
  255. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
  256. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
  257. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
  258. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
  259. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
  260. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
  261. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
  262. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfLut.cpp +0 -0
  263. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfLut.h +0 -0
  264. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
  265. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
  266. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
  267. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMisc.h +0 -0
  268. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
  269. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
  270. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
  271. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
  272. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiView.cpp +0 -0
  273. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiView.h +0 -0
  274. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfName.h +0 -0
  275. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfNamespace.h +0 -0
  276. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
  277. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
  278. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
  279. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
  280. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
  281. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
  282. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
  283. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
  284. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
  285. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
  286. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
  287. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
  288. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPartType.h +0 -0
  289. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPixelType.h +0 -0
  290. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
  291. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
  292. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
  293. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
  294. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
  295. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
  296. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
  297. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
  298. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRational.cpp +0 -0
  299. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRational.h +0 -0
  300. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
  301. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
  302. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgba.h +0 -0
  303. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
  304. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
  305. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
  306. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
  307. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRle.cpp +0 -0
  308. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRle.h +0 -0
  309. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
  310. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
  311. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
  312. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
  313. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfSimd.h +0 -0
  314. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
  315. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
  316. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
  317. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStdIO.h +0 -0
  318. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
  319. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
  320. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
  321. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
  322. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
  323. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
  324. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
  325. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTestFile.h +0 -0
  326. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
  327. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfThreading.h +0 -0
  328. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
  329. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
  330. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
  331. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
  332. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
  333. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
  334. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
  335. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
  336. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
  337. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
  338. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
  339. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
  340. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
  341. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
  342. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
  343. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
  344. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
  345. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
  346. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
  347. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
  348. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
  349. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
  350. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
  351. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
  352. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfVersion.h +0 -0
  353. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfWav.cpp +0 -0
  354. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfWav.h +0 -0
  355. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfXdr.h +0 -0
  356. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfZip.cpp +0 -0
  357. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfZip.h +0 -0
  358. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
  359. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
  360. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/b44ExpLogTable.cpp +0 -0
  361. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/b44ExpLogTable.h +0 -0
  362. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
  363. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXR/dwaLookups.h +0 -0
  364. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
  365. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/attributes.c +0 -0
  366. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
  367. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/base.c +0 -0
  368. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/channel_list.c +0 -0
  369. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/chunk.c +0 -0
  370. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/coding.c +0 -0
  371. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/compression.c +0 -0
  372. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/context.c +0 -0
  373. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/debug.c +0 -0
  374. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/decoding.c +0 -0
  375. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/float_vector.c +0 -0
  376. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_attr.h +0 -0
  377. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_b44.c +0 -0
  378. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
  379. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
  380. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_coding.h +0 -0
  381. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_compress.h +0 -0
  382. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_constants.h +0 -0
  383. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
  384. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
  385. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
  386. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
  387. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
  388. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_decoder.h +0 -0
  389. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
  390. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
  391. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_file.h +0 -0
  392. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
  393. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_huf.c +0 -0
  394. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_huf.h +0 -0
  395. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_memory.h +0 -0
  396. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
  397. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_piz.c +0 -0
  398. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
  399. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_preview.h +0 -0
  400. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
  401. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_rle.c +0 -0
  402. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_string.h +0 -0
  403. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
  404. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_structs.c +0 -0
  405. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_structs.h +0 -0
  406. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_util.h +0 -0
  407. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
  408. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
  409. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_zip.c +0 -0
  410. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/memory.c +0 -0
  411. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/opaque.c +0 -0
  412. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr.h +0 -0
  413. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
  414. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_base.h +0 -0
  415. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_chunkio.h +0 -0
  416. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
  417. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
  418. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_config.h +0 -0
  419. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_context.h +0 -0
  420. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
  421. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
  422. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
  423. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
  424. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_part.h +0 -0
  425. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
  426. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/pack.c +0 -0
  427. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/parse_header.c +0 -0
  428. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/part.c +0 -0
  429. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/preview.c +0 -0
  430. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/std_attr.c +0 -0
  431. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/string.c +0 -0
  432. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/string_vector.c +0 -0
  433. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/unpack.c +0 -0
  434. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/validation.c +0 -0
  435. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRCore/write_header.c +0 -0
  436. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
  437. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
  438. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
  439. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
  440. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
  441. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
  442. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +0 -0
  443. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
  444. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
  445. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
  446. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
  447. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
  448. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
  449. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
  450. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +0 -0
  451. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
  452. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
  453. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
  454. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
  455. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
  456. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
  457. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
  458. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
  459. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
  460. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
  461. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
  462. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
  463. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +0 -0
  464. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
  465. {openexr-3.2.8 → openexr-3.2.10}/src/lib/OpenEXRUtil/README +0 -0
  466. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/CMakeLists.txt +0 -0
  467. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/Imath.py +0 -0
  468. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/OpenEXR.cpp +0 -0
  469. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/README.md +0 -0
  470. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
  471. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/tests/test_minimal.py +0 -0
  472. {openexr-3.2.8 → openexr-3.2.10}/src/wrappers/python/tests/test_unittest.py +0 -0
@@ -3,9 +3,36 @@
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.10](#version-3210-june-21-2026) June 21, 2026
32
+ * [Version 3.2.9](#version-329-april-29-2026) April 29, 2026
6
33
  * [Version 3.2.8](#version-328-april-17-2026) April 17, 2026
7
34
  * [Version 3.2.7](#version-327-april-3-2026) April 3, 2026
8
- * [Version 3.2.6](#version-326-february-26-2026) February 26, 2026
35
+ * [Version 3.2.6](#version-326-march-1-2026) March 1, 2026
9
36
  * [Version 3.2.5](#version-325-november-4-2025) November 4, 2025
10
37
  * [Version 3.2.4](#version-324-march-26-2024) March 26, 2024
11
38
  * [Version 3.2.3](#version-323-march-6-2024) March 6, 2024
@@ -78,7 +105,966 @@
78
105
  * [Version 1.0.1](#version-101)
79
106
  * [Version 1.0](#version-10)
80
107
 
81
- ## Version 3.2.8 (April 17, 2026)
108
+ ## Version 3.4.12 (May 24, 2026)
109
+
110
+ Patch release that addresses several bugs and security
111
+ vulnerabilities.
112
+
113
+ * :bug: Fix several minor memory leaks recovering from reading invalid
114
+ files.
115
+ * :bug: The compressor API incorrectly identfied `HTJ2K` and `HTJ2K256` as
116
+ lossy; they are lossles.
117
+ * :bug: Fix CMake AVX feature detection that caused DWA SIMD code to fail on
118
+ certain architectures.
119
+ * :warning: The `WidenFilename` utility function is marked as deprecated, to be
120
+ removed in a future release.
121
+ * :sparkles: `exrmetrics` now print the on-disk size of the data portion of each
122
+ part. Useful for determining compression impact on part data
123
+
124
+ For the python module:
125
+
126
+ * :snake: :bug: Reject files where the dataWindows does not match the
127
+ pixel array dimensions.
128
+ * :snake: :sparkles: Support NumPy float vector attributes
129
+ * :snake: :sparkles: Reading now skips over invalid parts, returns the valid parts only.
130
+ * :snake: :book: Doc strings have proper indentation
131
+
132
+ This release addresses the following security vulnerabilities:
133
+
134
+ * [CVE-2026-45696](https://www.cve.org/CVERecord?id=CVE-2026-45696)
135
+ OpenEXR `ht_undo_impl` heap-buffer-overflow READ via
136
+ codestream/channel width mismatch in HTJ2K decode
137
+ * [CVE-2026-44663](https://www.cve.org/CVERecord?id=CVE-2026-44663)
138
+ Integer overflow in HTJ2K decoder ( `ht_undo_impl` ) leading to
139
+ heap-buffer-overflow
140
+ * [OSS-fuzz 512895184](https://issues.oss-fuzz.com/issues/512895184)
141
+ Null-dereference WRITE in `Imf_4_0::TileProcess::run_decode`
142
+ * [OSS-fuzz 512314697](https://issues.oss-fuzz.com/issues/512314697)
143
+ Direct-leak in `internal_exr_add_part`
144
+ * [OSS-fuzz 508362159](https://issues.oss-fuzz.com/issues/508362159)
145
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
146
+ * [OSS-fuzz 507413960](https://issues.oss-fuzz.com/issues/507413960)
147
+ Heap-buffer-overflow in `generic_unpack`
148
+
149
+
150
+ ### Merged Pull Requests
151
+
152
+ * [2424](https://github.com/AcademySoftwareFoundation/openexr/pull/2424)
153
+ exrmetrics print disk size of part
154
+ * [2423](https://github.com/AcademySoftwareFoundation/openexr/pull/2423)
155
+ Fix computation of chunk height
156
+ * [2422](https://github.com/AcademySoftwareFoundation/openexr/pull/2422)
157
+ Fix memory leaks
158
+ * [2421](https://github.com/AcademySoftwareFoundation/openexr/pull/2421)
159
+ Add test to validate python module reading of unfinished parts
160
+ * [2416](https://github.com/AcademySoftwareFoundation/openexr/pull/2416)
161
+ Add HTJ2K256 and HTJ2K32 to data compression scheme list
162
+ * [2414](https://github.com/AcademySoftwareFoundation/openexr/pull/2414)
163
+ Check for invalid Slice base and type in `TileProcess::copy_sample_count`
164
+ * [2413](https://github.com/AcademySoftwareFoundation/openexr/pull/2413)
165
+ Python: reject dataWindow size mismatch before write
166
+ * [2409](https://github.com/AcademySoftwareFoundation/openexr/pull/2409)
167
+ Python: fix docstring indentation
168
+ * [2407](https://github.com/AcademySoftwareFoundation/openexr/pull/2407)
169
+ Support NumPy float vectors in Python headers
170
+ * [2406](https://github.com/AcademySoftwareFoundation/openexr/pull/2406)
171
+ Update urllib3 to 2.7 in website/requirements.txt
172
+ * [2405](https://github.com/AcademySoftwareFoundation/openexr/pull/2405)
173
+ Signal HTJ2K* compressors as lossless
174
+ * [2403](https://github.com/AcademySoftwareFoundation/openexr/pull/2403)
175
+ htj2k compressor: validate codestream dimensions
176
+ * [2402](https://github.com/AcademySoftwareFoundation/openexr/pull/2402)
177
+ Release notes, news, and CVE info for v3.4.11, 3.3.11, 3.2.9
178
+ * [2398](https://github.com/AcademySoftwareFoundation/openexr/pull/2398)
179
+ Arcmantis/warning deprecate WidenFilename
180
+ * [2397](https://github.com/AcademySoftwareFoundation/openexr/pull/2397)
181
+ Cast to `size_t` to avoid int overflow in `ht_undo_impl`
182
+ * [2392](https://github.com/AcademySoftwareFoundation/openexr/pull/2392)
183
+ Correct index rejection for string access.
184
+ * [2388](https://github.com/AcademySoftwareFoundation/openexr/pull/2388)
185
+ Relax NaN comparison in compression tests
186
+ * [2387](https://github.com/AcademySoftwareFoundation/openexr/pull/2387)
187
+ Add install instructions for python module
188
+ * [2385](https://github.com/AcademySoftwareFoundation/openexr/pull/2385)
189
+ cmake: require YMM asm for inline AVX probe
190
+ * [2373](https://github.com/AcademySoftwareFoundation/openexr/pull/2373)
191
+ Bump and pin website/requirements.txt
192
+ * [2359](https://github.com/AcademySoftwareFoundation/openexr/pull/2359)
193
+ Add reference to "contribute" and Clotributor in README.md and website
194
+ * [2148](https://github.com/AcademySoftwareFoundation/openexr/pull/2148)
195
+ Fix unfinished multi-part file loading in the python wrapper
196
+
197
+ ### Merged Workflow Pull Requests
198
+
199
+ * [2399](https://github.com/AcademySoftwareFoundation/openexr/pull/2399)
200
+ Bump github/codeql-action from 4.35.2 to 4.35.4
201
+ * [2396](https://github.com/AcademySoftwareFoundation/openexr/pull/2396)
202
+ Bump sphinx from 7.2.6 to 7.4.7 in /website
203
+ * [2394](https://github.com/AcademySoftwareFoundation/openexr/pull/2394)
204
+ Bump platforms from 1.0.0 to 1.1.0
205
+
206
+ ## Version 3.4.11 (April 29, 2026)
207
+
208
+ Patch release that addresses the following security vulnerabilities:
209
+
210
+ * [CVE-2026-42217](https://www.cve.org/CVERecord?id=CVE-2026-42217)
211
+ Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
212
+ * [CVE-2026-42216](https://www.cve.org/CVERecord?id=CVE-2026-42216)
213
+ Out-of-bounds read in `IDManifest::init()` during prefix expansion
214
+ * [CVE-2026-41142](https://www.cve.org/CVERecord?id=CVE-2026-41142)
215
+ Integer overflow in `ImageChannel::resize` leads to heap OOB write via OpenEXRUtil public API
216
+
217
+ Also:
218
+
219
+ * OSS-fuzz [504280155](https://issues.oss-fuzz.com/issues/504280155)
220
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
221
+ * OSS-fuzz [505062709](https://issues.oss-fuzz.com/issues/505062709)
222
+ Null-dereference READ in `Imf_3_3::prefixFromLayerName`
223
+
224
+ Build fixes:
225
+
226
+ - Fix Windows ARM64EC build issues and correct SIMD ARM NEON path for ARM64/EC
227
+
228
+ Also, some minor documentation updates:
229
+
230
+ - GitHub Security Advisories are the preferred way of reporting
231
+ vulnerabilities, not email.
232
+ - Some clarification around handling of UFT-8 of file paths
233
+
234
+ ### Merged Pull Requests
235
+
236
+ * [2383](https://github.com/AcademySoftwareFoundation/openexr/pull/2383)
237
+ validate that the uncompressed sizes recorded in the dwa header are valid
238
+ * [2382](https://github.com/AcademySoftwareFoundation/openexr/pull/2382)
239
+ Fix Null-dereference READ in prefixFromLayerName
240
+ * [2378](https://github.com/AcademySoftwareFoundation/openexr/pull/2378)
241
+ Harden IDManifest parsing against illegal shift and string prefix OOB
242
+ * [2377](https://github.com/AcademySoftwareFoundation/openexr/pull/2377)
243
+ Fix OOB read when expanding IDManifest prefix-compressed strings
244
+ * [2375](https://github.com/AcademySoftwareFoundation/openexr/pull/2375)
245
+ Minor changes to website index page to make some sentences clearer. A…
246
+ * [2368](https://github.com/AcademySoftwareFoundation/openexr/pull/2368)
247
+ Add release notes and news for v3.4.10, v3.3.10, v3.2.8
248
+ * [2367](https://github.com/AcademySoftwareFoundation/openexr/pull/2367)
249
+ Fix int overflow in ImageChannel::resize pixel count
250
+ * [2364](https://github.com/AcademySoftwareFoundation/openexr/pull/2364)
251
+ Recommend GH Security Advisories for vulnerability reporting
252
+ * [2361](https://github.com/AcademySoftwareFoundation/openexr/pull/2361)
253
+ Add documentation and test for UTF-8 file paths
254
+ * [2344](https://github.com/AcademySoftwareFoundation/openexr/pull/2344)
255
+ Fix Windows ARM64EC build issues and correct SIMD ARM NEON path for ARM64/EC
256
+
257
+ ### Merged Workflow Pull Requests
258
+
259
+ * [2370](https://github.com/AcademySoftwareFoundation/openexr/pull/2370)
260
+ Bump msys2/setup-msys2 from 2.31.0 to 2.31.1
261
+ * [2366](https://github.com/AcademySoftwareFoundation/openexr/pull/2366)
262
+ Add workflow dispatch trigger to release-sign.yml
263
+ * [2363](https://github.com/AcademySoftwareFoundation/openexr/pull/2363)
264
+ Bump vmactions/freebsd-vm from 1.4.4 to 1.4.5
265
+ * [2362](https://github.com/AcademySoftwareFoundation/openexr/pull/2362)
266
+ Bump github/codeql-action from 4.35.1 to 4.35.2
267
+
268
+ ## Version 3.4.10 (April 17, 2026)
269
+
270
+ Patch release that addresses the following security vulnerabilities:
271
+
272
+ * [CVE-2026-39886](https://www.cve.org/CVERecord?id=CVE-2026-39886) HTJ2K Signed Integer Overflow in `ht_undo_impl()`
273
+ * [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)
274
+ * [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)
275
+
276
+ ### Merged Pull Requests
277
+
278
+ * [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
279
+ Fix integer overflow in internal_dwa_compressor.h
280
+ * [2345](https://github.com/AcademySoftwareFoundation/openexr/pull/2345)
281
+ Fix HTJ2K bytes-per-line integer overflow in internal_ht.cpp
282
+ * [2340](https://github.com/AcademySoftwareFoundation/openexr/pull/2340)
283
+ Fix 3.4.9 cve list formatting
284
+ * [2339](https://github.com/AcademySoftwareFoundation/openexr/pull/2339)
285
+ fix link formatting typo
286
+ * [2337](https://github.com/AcademySoftwareFoundation/openexr/pull/2337)
287
+ notes and news for v3.4.9, v3.3.9, v3.2.7
288
+ * [2334](https://github.com/AcademySoftwareFoundation/openexr/pull/2334)
289
+ Add CVE-2026-34589,34588,34545,34544,34543,34380,34379,34378 to SECURITY.md
290
+ * [2316](https://github.com/AcademySoftwareFoundation/openexr/pull/2316)
291
+ Fix Pinned-Dependencies Scorecard alert in website workflow
292
+
293
+ ### Merged Workflow Pull Requests
294
+
295
+ * [2360](https://github.com/AcademySoftwareFoundation/openexr/pull/2360)
296
+ Bump actions/cache from 5.0.4 to 5.0.5
297
+ * [2354](https://github.com/AcademySoftwareFoundation/openexr/pull/2354)
298
+ Bump actions/upload-artifact from 7.0.0 to 7.0.1
299
+ * [2343](https://github.com/AcademySoftwareFoundation/openexr/pull/2343)
300
+ Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0
301
+ * [2341](https://github.com/AcademySoftwareFoundation/openexr/pull/2341)
302
+ Bump jmertic/slack-release-notifier from 32206e01ee0b0f66865d2be13bb3c62e474b5ce0 to 9d7d3a84563d2ebc8f7b2271be6c9568fedd7f3a
303
+ * [2338](https://github.com/AcademySoftwareFoundation/openexr/pull/2338)
304
+ Fix CodeQL SARIF upload ref for pull_request workflows
305
+ * [2336](https://github.com/AcademySoftwareFoundation/openexr/pull/2336)
306
+ Bump pypa/cibuildwheel from 3.4.0 to 3.4.1
307
+ * [2333](https://github.com/AcademySoftwareFoundation/openexr/pull/2333)
308
+ Add CI test to validate "cmake --install .. --prefix <path>
309
+
310
+ ## Version 3.4.9 (April 3, 2026)
311
+
312
+ Patch release that addresses several security vulnerabilities.
313
+
314
+ This release also fixes a build issue where the library symlinks would
315
+ get installed in the incorrect location when overriding the cached
316
+ install prefix path.
317
+
318
+ This release addresses the following CVEs:
319
+ * [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) DWA Lossy Decoder Heap Out-of-Bounds Write
320
+ * [CVE-2026-34588](https://www.cve.org/CVERecord?id=CVE-2026-34588) Signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
321
+ * [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
322
+ * [CVE-2026-34379](https://www.cve.org/CVERecord?id=CVE-2026-34379) Misaligned write in LossyDctDecoder_execute leading to undefined behavior (DWA/DWAB decompression)
323
+ * [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
324
+
325
+ ### Merged Pull Requests
326
+
327
+ * [2329](https://github.com/AcademySoftwareFoundation/openexr/pull/2329)
328
+ Fix signed integer overflow in `LossyDctDecoder_execute()` pointer arithmatic
329
+ * [2328](https://github.com/AcademySoftwareFoundation/openexr/pull/2328)
330
+ fix integer overflow in PIZ wavelet buffer arithmetic
331
+ * [2327](https://github.com/AcademySoftwareFoundation/openexr/pull/2327)
332
+ Add a message about image size limits and OOM errors to SECURITY.md and website
333
+ * [2326](https://github.com/AcademySoftwareFoundation/openexr/pull/2326)
334
+ Fix shared lib symlink installation path
335
+ * [2324](https://github.com/AcademySoftwareFoundation/openexr/pull/2324)
336
+ Fix misaligned memory access in `LossyDctDecoder_execute` HALF→FLOAT expansion
337
+ * [2323](https://github.com/AcademySoftwareFoundation/openexr/pull/2323)
338
+ fix signed integer overflow in `undo_pxr24_impl()`
339
+ * [2321](https://github.com/AcademySoftwareFoundation/openexr/pull/2321)
340
+ Fix integer overflow in `srcbuffer` pointer arithmetic in `unpack_*`
341
+ * [2317](https://github.com/AcademySoftwareFoundation/openexr/pull/2317)
342
+ Add "cherry" and "changes" options to release.py
343
+
344
+ ### Merged Workflow Pull Requests
345
+
346
+ * [2332](https://github.com/AcademySoftwareFoundation/openexr/pull/2332)
347
+ Bump vmactions/freebsd-vm from 1.4.3 to 1.4.4
348
+ * [2331](https://github.com/AcademySoftwareFoundation/openexr/pull/2331)
349
+ Bump github/codeql-action from 4.34.1 to 4.35.1
350
+ * [2330](https://github.com/AcademySoftwareFoundation/openexr/pull/2330)
351
+ Bump jmertic/slack-release-notifier from f824585541879ef2a6388268eccb9be210aa6878 to 32206e01ee0b0f66865d2be13bb3c62e474b5ce0
352
+ * [2325](https://github.com/AcademySoftwareFoundation/openexr/pull/2325)
353
+ Bump sigstore/gh-action-sigstore-python from 3.2.0 to 3.3.0
354
+ * [2320](https://github.com/AcademySoftwareFoundation/openexr/pull/2320)
355
+ Bump jmertic/slack-release-notifier from 35fad060af5559c24decdec0f701e6ba93566704 to f824585541879ef2a6388268eccb9be210aa6878
356
+ * [2319](https://github.com/AcademySoftwareFoundation/openexr/pull/2319)
357
+ Bump msys2/setup-msys2 from 2.30.0 to 2.31.0
358
+ * [2318](https://github.com/AcademySoftwareFoundation/openexr/pull/2318)
359
+ Bump github/codeql-action from 4.33.0 to 4.34.1
360
+
361
+ ## Version 3.4.8 (March 26, 2026)
362
+
363
+ Patch release with several bug/build fixes:
364
+
365
+ - Fix an integer-overflow bug reading malformed files compressed with
366
+ B44A/B44B
367
+ - Fix a buffer-overrun bug reading malformed files compressed with PXR24
368
+ - Fix a bug compressing half data with ZIPS/ZIP data when the
369
+ compressed size equals packed size
370
+ - Single part files no longer get assigned a part name when writing
371
+ via the python module
372
+ - Fix a build failure on FreeBSD involving `threads.h`
373
+
374
+ This also eliminates several compiler warnings, particularly about the
375
+ deprecated `isOptimizationEnabled()` API and deprecates standard
376
+ attributes.
377
+
378
+ This version addresses the following security vulnerabilities:
379
+
380
+ * [CVE-2026-34544](https://www.cve.org/CVERecord?id=CVE-2026-34544) integer overflow to OOB write in uncompress_b44_impl()
381
+ * [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)
382
+
383
+ ### Merged Pull Requests
384
+
385
+ * [2312](https://github.com/AcademySoftwareFoundation/openexr/pull/2312)
386
+ Fix B44/B44A integer overflow: use uint64_t for row offset
387
+ * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
388
+ PXR24: reject zlib output that does not match packed payload size
389
+ * [2307](https://github.com/AcademySoftwareFoundation/openexr/pull/2307)
390
+ Fix ZIPS/ZIP encoder corruption when compressed size equals packed size
391
+ * [2303](https://github.com/AcademySoftwareFoundation/openexr/pull/2303)
392
+ Fix MinGW -Walloc-size-larger-than= in general_attr string test
393
+ * [2301](https://github.com/AcademySoftwareFoundation/openexr/pull/2301)
394
+ don't insert name attributes into single part files
395
+ * [2300](https://github.com/AcademySoftwareFoundation/openexr/pull/2300)
396
+ Fix FreeBSD build failure involving threads.h, and add FreeBSD CI build
397
+ * [2124](https://github.com/AcademySoftwareFoundation/openexr/pull/2124)
398
+ Suppress deprecation warnings for isOptimizationEnabled and standard attributes
399
+
400
+ ### Merged Workflow Pull Requests
401
+
402
+ * [2315](https://github.com/AcademySoftwareFoundation/openexr/pull/2315)
403
+ Force macos cibuildwheel to use Xcode clang
404
+ * [2311](https://github.com/AcademySoftwareFoundation/openexr/pull/2311)
405
+ Bump actions/cache from 5.0.3 to 5.0.4
406
+ * [2304](https://github.com/AcademySoftwareFoundation/openexr/pull/2304)
407
+ Bump github/codeql-action from 4.32.6 to 4.33.0
408
+ * [2297](https://github.com/AcademySoftwareFoundation/openexr/pull/2297)
409
+ Restore Analysis build
410
+ * [2295](https://github.com/AcademySoftwareFoundation/openexr/pull/2295)
411
+ Restrict workflow permissions for ci_steps, release-sign, and codeql
412
+ * [2294](https://github.com/AcademySoftwareFoundation/openexr/pull/2294)
413
+ Pin pypa/cibuildwheel actions to release sha
414
+
415
+ ## Version 3.4.7 (March 15, 2026)
416
+
417
+ Patch release bug/build fixes:
418
+
419
+ * Fix an integer overflow decoding very wide htj2k images
420
+ * Fix build failure with glibc 2.43
421
+ * Fix Windows symbol visibility warnings
422
+
423
+ Full changelog: [v3.4.6..v3.4.7](https://github.com/AcademySoftwareFoundation/openexr/compare/v3.4.6..v3.4.7)
424
+
425
+ This version addresses the following security vulnerabilities:
426
+
427
+ * [CVE-2026-34545](https://www.cve.org/CVERecord?id=CVE-2026-34545)
428
+ integer overflow lead to OOB in HTJ2K decoder
429
+
430
+ ### Merged Pull Requests
431
+
432
+ * [2291](https://github.com/AcademySoftwareFoundation/openexr/pull/2291)
433
+ Fix integer overflow in htj2k decode with width > 32767
434
+
435
+ * [2283](https://github.com/AcademySoftwareFoundation/openexr/pull/2283)
436
+ update SECURITY with CVE info for PR #2256
437
+
438
+ * [2282](https://github.com/AcademySoftwareFoundation/openexr/pull/2282)
439
+ Remove `website_preview_link` workflow
440
+
441
+ * [2281](https://github.com/AcademySoftwareFoundation/openexr/pull/2281)
442
+ Disable visibility attributes on Windows to fix msys2 -Wattributes warning
443
+
444
+ * [2262](https://github.com/AcademySoftwareFoundation/openexr/pull/2262)
445
+ Fix build failure with glibc 2.43 due to C11 threads.h conflicts
446
+
447
+ ### Merged Workflow Pull Requests
448
+
449
+ * [2292](https://github.com/AcademySoftwareFoundation/openexr/pull/2292)
450
+ Bump actions/download-artifact from 8.0.0 to 8.0.1
451
+
452
+ * [2289](https://github.com/AcademySoftwareFoundation/openexr/pull/2289)
453
+ Bump scikit-build-core from 0.12.1 to 0.12.2
454
+
455
+ * [2288](https://github.com/AcademySoftwareFoundation/openexr/pull/2288)
456
+ Bump jmertic/slack-release-notifier from 6fa159048d5313ff1177d248ad84beb627571670 to 35fad060af5559c24decdec0f701e6ba93566704
457
+
458
+ * [2287](https://github.com/AcademySoftwareFoundation/openexr/pull/2287)
459
+ Bump pypa/cibuildwheel from 3.3 to 3.4
460
+
461
+ ## Version 3.4.6 (March 1, 2026)
462
+
463
+ Patch release with several bug fixes, enhancements, and build improvements.
464
+
465
+ * :bug: A limit of ``UINT_MAX`` deep samples per pixel is now
466
+ enforced, which prevents an integer overflow when using the
467
+ `CompositeDeepScanLine` API to combine multiple deep parts.
468
+
469
+ * :wrench: In `IlmThreadPool`, replace deprecated `std::atomic_load /
470
+ std::atomic_exchange` overloads for `std::shared_ptr` with the C++20
471
+ `std::atomic<std::shared_ptr<T>>` interface when available.
472
+
473
+ * :bug: The ``ZIP`` and ``ZIPS`` Compressor objects had incorrect
474
+ compression types set, although the ill effects were minimal as the
475
+ value is seldom used.
476
+
477
+ * :bug: Enable SSE2 on 32-bit x86 builds to fix test failures
478
+
479
+ Build improvements:
480
+
481
+ * :hammer_and_wrench: OpenEXR now ships with an internal "vendored" copy of the
482
+ ``OpenJPH`` library. At configuration time, if CMake finds an
483
+ external installation of ``OpenJPH``, it will use it, but if that
484
+ fails, or the CMake configuration option
485
+ ``OPENEXR_FORCE_INTERNAL_OPENJPH`` is set, it will use the internal
486
+ copy. For OpenEXR v3.4.6, the vendored version of OpenJPH is 0.26.3.
487
+
488
+ * :hammer_and_wrench: A new CMake build option `DOPENEXR_FORCE_EMBEDDED_CORE`
489
+ builds the `OpenEXRCore` library statically and links it into the
490
+ `OpenEXR` library with symbols hidden, making it possible to link
491
+ multiple versions of OpenEXR into the same executable. The `OpenEXR`
492
+ library has namespaces for this situation, but the `OpenEXRCore`
493
+ library is written in C with no configurable namespace. See [Linking
494
+ Multiple OpenEXR Versions in the
495
+ Executable](https://openexr.com/en/latest/install.html#linking-multiple-openexr-versions-in-the-executable)
496
+ for details.
497
+
498
+ * :hammer_and_wrench: Fix build failure with ``-march=sandybridge``
499
+
500
+ Python:
501
+
502
+ * :snake: :sparkles: Add python support for Opaque Attributes
503
+
504
+ * :rocket: Python module I/O operations now release the GIL,
505
+ preventing blocking.
506
+
507
+ Tools:
508
+
509
+ * :sparkles: Add sanity check for correct arguments to exrstdattr, to
510
+ catch mistakes such as ``exrstdattr input.exr output.exr -comment
511
+ hello`` which would formerly write to a file called ``hello`` but
512
+ now fails with a usage error.
513
+
514
+ Also, this release bumps the vendered version of `libdeflate` to 1.25.
515
+
516
+ This release addresses the following CVEs:
517
+ * [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622)
518
+ CompositeDeepScanLine integer-overflow leads to heap OOB write
519
+
520
+ ### Merged Pull Requests:
521
+
522
+ * [2274](https://github.com/AcademySoftwareFoundation/openexr/pull/2274)
523
+ Update the vendored libdeflate to 1.25
524
+ * [2273](https://github.com/AcademySoftwareFoundation/openexr/pull/2273)
525
+ Release Python GIL during I/O operations in bindings
526
+ * [2272](https://github.com/AcademySoftwareFoundation/openexr/pull/2272)
527
+ Fix build failure with -march=sandybridge (#2231)
528
+ * [2271](https://github.com/AcademySoftwareFoundation/openexr/pull/2271)
529
+ Enable SSE2 on 32-bit x86 builds to fix test failures
530
+ * [2269](https://github.com/AcademySoftwareFoundation/openexr/pull/2269)
531
+ Mention OpenEXR dependencies on README
532
+ * [2268](https://github.com/AcademySoftwareFoundation/openexr/pull/2268)
533
+ Bazel: Use openjph 0.26.3
534
+ * [2267](https://github.com/AcademySoftwareFoundation/openexr/pull/2267)
535
+ Bump rules_cc from 0.2.16 to 0.2.17
536
+ * [2265](https://github.com/AcademySoftwareFoundation/openexr/pull/2265)
537
+ Bump jmertic/slack-release-notifier
538
+ * [2264](https://github.com/AcademySoftwareFoundation/openexr/pull/2264)
539
+ Bump github/codeql-action from 4.32.3 to 4.32.4
540
+ * [2263](https://github.com/AcademySoftwareFoundation/openexr/pull/2263)
541
+ Add sanity check for correct arguments to exrstdattr
542
+ * [2261](https://github.com/AcademySoftwareFoundation/openexr/pull/2261)
543
+ Fix sentence fragment typo in website python docs
544
+ * [2260](https://github.com/AcademySoftwareFoundation/openexr/pull/2260)
545
+ Add reference to `OPENEXR_FORCE_EMBEDDED_CORE` on install page
546
+ * [2259](https://github.com/AcademySoftwareFoundation/openexr/pull/2259)
547
+ Fix ZipCompressor to initialize compresson type correctly
548
+ * [2258](https://github.com/AcademySoftwareFoundation/openexr/pull/2258)
549
+ Bazel: Remove WORKSPACE.bazel file
550
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
551
+ Report an error if a deep pixel as more than `UINT_MAX` samples
552
+ * [2253](https://github.com/AcademySoftwareFoundation/openexr/pull/2253)
553
+ Add CVE-2025-64181 to SECURITY.md
554
+ * [2252](https://github.com/AcademySoftwareFoundation/openexr/pull/2252)
555
+ Add news and release notes for v3.4.5 and v3.3.7
556
+ * [2250](https://github.com/AcademySoftwareFoundation/openexr/pull/2250)
557
+ Vendor OpenJPH v0.26.3
558
+ * [2249](https://github.com/AcademySoftwareFoundation/openexr/pull/2249)
559
+ Add python support for Opaque Attributes
560
+ * [2248](https://github.com/AcademySoftwareFoundation/openexr/pull/2248)
561
+ Fix tag check, git rm, and sed calls in vendor_openjph.sh
562
+ * [2247](https://github.com/AcademySoftwareFoundation/openexr/pull/2247)
563
+ Bump github/codeql-action from 4.31.9 to 4.32.3
564
+ * [2243](https://github.com/AcademySoftwareFoundation/openexr/pull/2243)
565
+ IlmThread: fix deprecated atomic `shared_ptr` ops for `shared_ptr` (GCC 15)
566
+ * [2240](https://github.com/AcademySoftwareFoundation/openexr/pull/2240)
567
+ Bump actions/cache from 5.0.1 to 5.0.3
568
+ * [2239](https://github.com/AcademySoftwareFoundation/openexr/pull/2239)
569
+ Fix links and formatting in CONTRIBUTING.md
570
+ * [2236](https://github.com/AcademySoftwareFoundation/openexr/pull/2236)
571
+ Bump actions/checkout from 6.0.1 to 6.0.2
572
+ * [2235](https://github.com/AcademySoftwareFoundation/openexr/pull/2235)
573
+ Bump actions/setup-python from 6.1.0 to 6.2.0
574
+ * [2227](https://github.com/AcademySoftwareFoundation/openexr/pull/2227)
575
+ Bump rules_cc from 0.2.14 to 0.2.16
576
+ * [2226](https://github.com/AcademySoftwareFoundation/openexr/pull/2226)
577
+ Bump bazel_skylib from 1.8.2 to 1.9.0
578
+ * [2225](https://github.com/AcademySoftwareFoundation/openexr/pull/2225)
579
+ Rename external/OpenJPH/src/core/common to openjph, instead of using a symlink
580
+ * [2224](https://github.com/AcademySoftwareFoundation/openexr/pull/2224)
581
+ Bump github/codeql-action from 4.31.8 to 4.31.9
582
+ * [2222](https://github.com/AcademySoftwareFoundation/openexr/pull/2222)
583
+ Bump actions/upload-artifact from 5 to 6
584
+ * [2221](https://github.com/AcademySoftwareFoundation/openexr/pull/2221)
585
+ Bump actions/cache from 4.3.0 to 5.0.1
586
+ * [2220](https://github.com/AcademySoftwareFoundation/openexr/pull/2220)
587
+ Bump msys2/setup-msys2 from 2.29.0 to 2.30.0
588
+ * [2219](https://github.com/AcademySoftwareFoundation/openexr/pull/2219)
589
+ Bump actions/download-artifact from 6.0.0 to 7.0.0
590
+ * [2218](https://github.com/AcademySoftwareFoundation/openexr/pull/2218)
591
+ Bump github/codeql-action from 4.31.7 to 4.31.8
592
+ * [2216](https://github.com/AcademySoftwareFoundation/openexr/pull/2216)
593
+ Add option to compile c++ libraries with an embedded core library
594
+ * [2215](https://github.com/AcademySoftwareFoundation/openexr/pull/2215)
595
+ Bump imath from 3.2.2 to 3.2.2.bcr.1
596
+ * [2214](https://github.com/AcademySoftwareFoundation/openexr/pull/2214)
597
+ Bump github/codeql-action from 4.31.5 to 4.31.7
598
+ * [2213](https://github.com/AcademySoftwareFoundation/openexr/pull/2213)
599
+ Bump sigstore/gh-action-sigstore-python from 3.1.0 to 3.2.0
600
+ * [2212](https://github.com/AcademySoftwareFoundation/openexr/pull/2212)
601
+ Bump actions/checkout from 6.0.0 to 6.0.1
602
+ * [2210](https://github.com/AcademySoftwareFoundation/openexr/pull/2210)
603
+ Bump actions/setup-python from 6.0.0 to 6.1.0
604
+ * [2209](https://github.com/AcademySoftwareFoundation/openexr/pull/2209)
605
+ Bump github/codeql-action from 4.31.4 to 4.31.5
606
+ * [2208](https://github.com/AcademySoftwareFoundation/openexr/pull/2208)
607
+ Remove enable-beta-ecosystem since Bazel is no officially supported
608
+ * [2204](https://github.com/AcademySoftwareFoundation/openexr/pull/2204)
609
+ Bump actions/checkout from 3.6.0 to 6.0.0
610
+ * [2202](https://github.com/AcademySoftwareFoundation/openexr/pull/2202)
611
+ Bump github/codeql-action from 4.31.3 to 4.31.4
612
+ * [2193](https://github.com/AcademySoftwareFoundation/openexr/pull/2193)
613
+ Vendor in an internal version of OpenJPH
614
+ * [2167](https://github.com/AcademySoftwareFoundation/openexr/pull/2167)
615
+ Bazel build: Bump openjph to 0.25.0 and libdeflate to 1.25
616
+
617
+ ## Version 3.4.5 (February 21, 2026)
618
+
619
+ Patch release that fixes an incorrect size check in
620
+ `istream_nonparallel_read` that could lead to a buffer overflow on
621
+ invalid input data.
622
+
623
+ This release addresses the following CVEs:
624
+ * [CVE-2026-26981](https://www.cve.org/CVERecord?id=CVE-2026-26981)
625
+ Heap-buffer-overflow via signed integer underflow in ImfContextInit.cpp
626
+
627
+ ### Merged Pull Requests:
628
+
629
+ * [2244](https://github.com/AcademySoftwareFoundation/openexr/pull/2244)
630
+ Fix incorrect size check in `istream_nonparallel_read`
631
+
632
+ ## Version 3.4.4 (November 19, 2025)
633
+
634
+ Patch release with an optimization to reduce the size of the library.
635
+
636
+ B44 and DWA compression tables are now initialized at first use rather
637
+ than being hard-coded in the source code and compiled binary. This
638
+ reduces the library size at a slight performance cost. Initialization
639
+ takes under a millisecond, but the size of libOpenEXRCore.so is
640
+ reduced from 890K to 360K.
641
+
642
+ This also fixes a build issue with `ILMTHREAD_THREADING_ENABLED` which
643
+ inadvertently enabled threading when it should have been disabed.
644
+
645
+ This also fixes a bug where importing the python module from a parent
646
+ directory would fail.
647
+
648
+ ### Merged Pull Requests:
649
+
650
+ * [2199](https://github.com/AcademySoftwareFoundation/openexr/pull/2199)
651
+ OpenEXRCore: fix `ILMTHREAD_THREADING_ENABLED` checks
652
+ * [2198](https://github.com/AcademySoftwareFoundation/openexr/pull/2198)
653
+ OpenEXRCore: avoid direct dependency on imath
654
+ * [2196](https://github.com/AcademySoftwareFoundation/openexr/pull/2196)
655
+ Bump github/codeql-action from 4.31.2 to 4.31.3
656
+ * [2194](https://github.com/AcademySoftwareFoundation/openexr/pull/2194)
657
+ Add missing copywrite comments
658
+ * [2192](https://github.com/AcademySoftwareFoundation/openexr/pull/2192)
659
+ Bump pypa/cibuildwheel from 3.2 to 3.3
660
+ * [2190](https://github.com/AcademySoftwareFoundation/openexr/pull/2190)
661
+ Bump github/codeql-action from 3.27.9 to 4.31.2
662
+ * [2189](https://github.com/AcademySoftwareFoundation/openexr/pull/2189)
663
+ Bump msys2/setup-msys2 from 2.27.0 to 2.29.0
664
+ * [2188](https://github.com/AcademySoftwareFoundation/openexr/pull/2188)
665
+ Bump actions/download-artifact from 4.1.8 to 6.0.0
666
+ * [2187](https://github.com/AcademySoftwareFoundation/openexr/pull/2187)
667
+ Bump ossf/scorecard-action from 2.4.0 to 2.4.3
668
+ * [2186](https://github.com/AcademySoftwareFoundation/openexr/pull/2186)
669
+ Bump pypa/cibuildwheel from 2.23 to 3.2
670
+ * [2185](https://github.com/AcademySoftwareFoundation/openexr/pull/2185)
671
+ Bump actions/cache from 4.2.0 to 4.3.0
672
+ * [2184](https://github.com/AcademySoftwareFoundation/openexr/pull/2184)
673
+ Bump actions/upload-artifact from 4 to 5
674
+ * [2183](https://github.com/AcademySoftwareFoundation/openexr/pull/2183)
675
+ Bump actions/checkout from 2.7.0 to 5.0.0
676
+ * [2182](https://github.com/AcademySoftwareFoundation/openexr/pull/2182)
677
+ Add recent CVEs to SECURITY.md
678
+ * [2181](https://github.com/AcademySoftwareFoundation/openexr/pull/2181)
679
+ Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.1.0
680
+ * [2180](https://github.com/AcademySoftwareFoundation/openexr/pull/2180)
681
+ Bump actions/setup-python from 5.3.0 to 6.0.0
682
+ * [2178](https://github.com/AcademySoftwareFoundation/openexr/pull/2178)
683
+ Bump snyk/actions from 0.4.0 to 1.0.0
684
+ * [2177](https://github.com/AcademySoftwareFoundation/openexr/pull/2177)
685
+ Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.13.0
686
+ * [2176](https://github.com/AcademySoftwareFoundation/openexr/pull/2176)
687
+ Imporve Bazel support
688
+ * [2175](https://github.com/AcademySoftwareFoundation/openexr/pull/2175)
689
+ Converts asserts in internal_ht.cpp to if statement that throws an exception.
690
+ * [2174](https://github.com/AcademySoftwareFoundation/openexr/pull/2174)
691
+ DWA: initialize linear/nonlinear tables at runtime
692
+ * [2173](https://github.com/AcademySoftwareFoundation/openexr/pull/2173)
693
+ Update macos-13 to macos-15-intel
694
+ * [2171](https://github.com/AcademySoftwareFoundation/openexr/pull/2171)
695
+ Properly set `OpenEXR_error` in legacy python API
696
+ * [2126](https://github.com/AcademySoftwareFoundation/openexr/pull/2126)
697
+ B44: initialize exp/log tables at runtime
698
+
699
+
700
+ ## Version 3.4.3 (November 4, 2025)
701
+
702
+ Patch release that addresses several bugs, primarily involving
703
+ properly rejecting corrupt input data.
704
+
705
+ Specifically:
706
+
707
+ - Buffer overflow in PyOpenEXR_old's `channels()` and `channel()` in
708
+ legacy python, reported by Joshua Rogers (GitHub: MegaManSec).
709
+ - Use after free in PyObject_StealAttrString in legacy python, reported
710
+ by Joshua Rogers (GitHub: MegaManSec).
711
+ - Use of Uninitialized Memory in openexr, reported by Aldo Ristori
712
+ (GitHub: Kaldreic).
713
+ - Heap-based Buffer Overflow Remote Code Execution Vulnerability,
714
+ reported by Trend Micro Zero Day Initiative.
715
+
716
+ This release addresses the following CVEs:
717
+ * [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183)
718
+ Use after free in PyObject_StealAttrString
719
+ * [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182)
720
+ Buffer overflow in PyOpenEXR_old's channels() and channel()
721
+ * [CVE-2025-64181](https://www.cve.org/CVERecord?id=CVE-2025-64181)
722
+ Security Issue: Use of Uninitialized Memory in openexr
723
+ * [CVE-2025-12840](https://www.cve.org/CVERecord?id=CVE-2025-12840)
724
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
725
+ * [CVE-2025-12839](https://www.cve.org/CVERecord?id=CVE-2025-12839)
726
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
727
+ * [CVE-2025-12495](https://www.cve.org/CVERecord?id=CVE-2025-12495)
728
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
729
+
730
+ Also:
731
+
732
+ * OSS-fuzz [456158449](https://issues.oss-fuzz.com/issues/456158449)
733
+ Heap-buffer-overflow in `generic_unpack`
734
+ * OSS-fuzz [447429458](https://issues.oss-fuzz.com/issues/447429458)
735
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
736
+ * OSS-fuzz [439237843](https://issues.oss-fuzz.com/issues/439237843)
737
+ Heap-buffer-overflow in `internal_exr_undo_ht`
738
+ * OSS-fuzz [436037111](https://issues.oss-fuzz.com/issues/436037111)
739
+ Heap-buffer-overflow in `generic_unpack`
740
+ * OSS-fuzz [435779241](https://issues.oss-fuzz.com/issues/435779241)
741
+ Heap-buffer-overflow in `generic_unpack`
742
+ * OSS-fuzz [420744464](https://issues.oss-fuzz.com/issues/420744464)
743
+ Abrt in `__cxxabiv1::failed_throw`
744
+
745
+ Other fixes:
746
+ * Fix a bug with re-reading a scanline file with a different set of
747
+ channels.
748
+ * Only populate `CMAKE_DEBUG_POSTFIX` with `_d` if it is undefined,
749
+ which makes it possible to set `CMAKE_DEBUG_POSTFIX=""`.
750
+
751
+ This version also bumps the auto-fetched version of OpenJPH to
752
+ 0.24.4. OpenJPH 0.24.4 addresses these OSS-Fuzz issues:
753
+
754
+ * OSS-fuzz [455374208](https://issues.oss-fuzz.com/issues/455374208)
755
+ Floating-point-exception in `ojph::local::tile::pre_alloc`
756
+ * OSS-fuzz [444963190](https://issues.oss-fuzz.com/issues/444963190)
757
+ Index-out-of-bounds in `ojph::local::param_qcd::read_qcc`
758
+ * OSS-fuzz [444878558](https://issues.oss-fuzz.com/issues/444878558)
759
+ Segv on unknown address in `ojph::local::param_qcd::~param_qcd`
760
+ * OSS-fuzz [444878557](https://issues.oss-fuzz.com/issues/444878557)
761
+ Null-dereference READ in `ojph::local::param_qcd::~param_qcd`
762
+
763
+ ### Merged Pull Requests:
764
+
765
+ * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
766
+ Fix improper use of `Py_DECREF` in legacy python module
767
+ * [2166](https://github.com/AcademySoftwareFoundation/openexr/pull/2166)
768
+ Only define `CMAKE_DEBUG_POSTFIX` if it is not already defined
769
+ * [2164](https://github.com/AcademySoftwareFoundation/openexr/pull/2164)
770
+ check storage_mode when computing chunk sizes
771
+ * [2163](https://github.com/AcademySoftwareFoundation/openexr/pull/2163)
772
+ Check for image size overflow in legacy python module
773
+ * [2162](https://github.com/AcademySoftwareFoundation/openexr/pull/2162)
774
+ verify packed/unpacked size with uncompressed data
775
+ * [2161](https://github.com/AcademySoftwareFoundation/openexr/pull/2161)
776
+ ImfCheckFile: handle partial deep tiles
777
+ * [2160](https://github.com/AcademySoftwareFoundation/openexr/pull/2160)
778
+ Fix issues with negative coordinates and sampling != 0
779
+ * [2159](https://github.com/AcademySoftwareFoundation/openexr/pull/2159)
780
+ Fix memset in `exr_read_chunk` when nread is negative
781
+ * [2156](https://github.com/AcademySoftwareFoundation/openexr/pull/2156)
782
+ Fix handling of corrupt RLE data
783
+ * [2150](https://github.com/AcademySoftwareFoundation/openexr/pull/2150)
784
+ Fix bug with re-reading scanline file with a different set of channels
785
+
786
+
787
+ ## Version 3.4.2 (October 15, 2025)
788
+
789
+ Patch release that fixes a Windows build issue introduced in v3.4.1.
790
+
791
+ No change in functionality.
792
+
793
+ ### Merged Pull Requests:
794
+
795
+ * [2146](https://github.com/AcademySoftwareFoundation/openexr/pull/2146)
796
+ Update Bazel dependencies
797
+ * [2144](https://github.com/AcademySoftwareFoundation/openexr/pull/2144)
798
+ handle CMake CREATE_LINK failures for openjph headers
799
+
800
+ ## Version 3.4.1 (October 8, 2025)
801
+
802
+ Patch release that fixes a build issue: OpenJPH headers are now
803
+ included from the openjph folder, as required by OpenJPH 0.23+.
804
+
805
+ No change in functionality.
806
+
807
+ ### Merged Pull Requests:
808
+
809
+ * [2140](https://github.com/AcademySoftwareFoundation/openexr/pull/2140)
810
+ Update `HELP2MAN_URL` in `install_help2man.sh`
811
+ * [2139](https://github.com/AcademySoftwareFoundation/openexr/pull/2139)
812
+ Fix doxygen/sphinx/rst website issues
813
+ * [2138](https://github.com/AcademySoftwareFoundation/openexr/pull/2138)
814
+ Bazel cleanup
815
+ * [2137](https://github.com/AcademySoftwareFoundation/openexr/pull/2137)
816
+ Bump macos runners to 14 and 15, drop 13
817
+ * [2136](https://github.com/AcademySoftwareFoundation/openexr/pull/2136)
818
+ Include the openjph headers from the openjph folder, required for OpenJPH 0.23+
819
+ * [2127](https://github.com/AcademySoftwareFoundation/openexr/pull/2127)
820
+ cmake: remove trailing spaces
821
+ * [2119](https://github.com/AcademySoftwareFoundation/openexr/pull/2119)
822
+ News for v3.4.0 release
823
+ * [2118](https://github.com/AcademySoftwareFoundation/openexr/pull/2118)
824
+ fix formatting in release notes
825
+ * [2107](https://github.com/AcademySoftwareFoundation/openexr/pull/2107)
826
+ Add section on OpenEXR/Imath version compatibility to install instructions
827
+
828
+ ## Version 3.4.0 (September 5, 2025)
829
+
830
+ OpenEXR v3.4 introduces a new, additional compression option to the
831
+ OpenEXR file format for **lossless compression with High Throughput
832
+ JPEG-2000 (HTJ2K)** encoding:
833
+
834
+ * A new HTJ2K compressor uses the **High-Throughput (HT) block
835
+ coder**. It supports the full range of OpenEXR features, including
836
+ 16-bit and 32-bit floating-point image channels, both scanline and
837
+ tiled.
838
+
839
+ * The HT block coder is standardized in [Rec. ITU-T
840
+ T.814](https://loc.gov/preservation/digital/formats/fdd/fdd000566.shtml)
841
+ and [ISO/IEC 15444-15](https://www.iso.org/standard/76621.html). It
842
+ is **royalty-free**, widely used in cinema and distribution servicing,
843
+ and implemented in both commercial and open-source toolkits.
844
+
845
+ * In experiments, we've found that HTJ2K produces smaller files, and
846
+ depending on the nature of the image data, is one of the fastest
847
+ compression types available in OpenEXR.
848
+
849
+ * Integration with OpenEXR uses the
850
+ [OpenJPH](https://github.com/aous72/OpenJPH) open-source
851
+ library. For ease in managing the dependency, the OpenEXR CMake
852
+ configuration supports **automatically fetching and building `OpenJPH`
853
+ internally**, or linking against an **external installation**.
854
+
855
+ * OpenEXR supports two new compression types with distinct space/time
856
+ trade-offs:
857
+
858
+ - `htj2k256` -- encodes/decodes chunks of 256 scanlines, producing
859
+ slightly smaller file size than `htj2k32`.
860
+
861
+ - `htj2k32` -- encodes/decodes chunks of 32 scanlines, better suited
862
+ to multi-threading, so it offers significantly faster encoding and
863
+ decoding (4-6x in some cases) than `htj2k256`, with a slight
864
+ increase in file size.
865
+
866
+ * All existing OpenEXR compression options remain unchanged. This new
867
+ feature simply extends the range of compression types available.
868
+
869
+ * Software compiled with OpenEXR v3.4 will be able to read HTJ2K
870
+ compressed OpenEXRs without any code changes. Software that writes
871
+ files may automatically support the new type, but may need a small
872
+ update to make the new type available as a user option.
873
+
874
+ * :warning: This is a **backwards-compatible extension** to the OpenEXR
875
+ file format. Files written with OpenEXR v3.4 will be readable by
876
+ applications built against previous releases, _unless_ they use the
877
+ new `htj2k32` or `htj2k256` compression options.
878
+
879
+ * :warning: This feature was first introduced for evaluation in
880
+ February, 2025 via the `htj2k-beta` branch with a single 256
881
+ scanlines/chunk compression option, with the 32-scanline option
882
+ added more recently. Application software written during this
883
+ evaluation period will need to change `IMF_HTJ2K_COMPRESSION` to
884
+ `IMF_HTJ2K256_COMPRESSION`, although files written with the earlier
885
+ evaluation version should still read properly.
886
+
887
+ ### Other New Features:
888
+
889
+ * :sparkles: **New `colorInteropID` standard attribute**
890
+
891
+ The ID string endorsed by the Color Interop Forum to communicate the
892
+ color space of RGB images in an interoperable manner.
893
+
894
+ - The contents of the string is described in the specification [An
895
+ ID for Color
896
+ Interop](https://docs.google.com/document/d/1T94lYbis9uCskL_ZEMxGBF2JryLfZnjxlEoNgRHZzBE/edit?usp=sharing).
897
+
898
+ - Guidance to application developers is provided in [Identifying the
899
+ Color Space of OpenEXR
900
+ Files](https://docs.google.com/document/d/1MTH1bq2L67ifvdDf64Amhzg4AbkIM5LG6yPHrB96Vwo/edit?usp=sharing)
901
+
902
+ * :sparkles: **New `bytes` attribute type**
903
+
904
+ Designed to hold an arbitrary binary blob of metadata.
905
+
906
+ - The OpenEXR library forces no interpretations of the attribute
907
+ contents; it is strictly application-dependent.
908
+
909
+ - The attribute also holds a `typeHint` string which applications
910
+ can use to suggest the intended interpretation of the contents,
911
+ but it is strictly informational.
912
+
913
+ * :wrench: **TBB as a global thread provider**
914
+
915
+ - A new cmake option `-DOPENEXR_USE_TBB=ON` switches the internals
916
+ of the thread pool to use TBB by default.
917
+ - Building with this option adds a link dependency on the `OneAPI
918
+ TBB` distribution.
919
+
920
+ * :wrench: **Vendored `libdeflate`**
921
+
922
+ - OpenEXR v3.4 now ships with a bundled distribution of the
923
+ `libdeflate` library, replacing the previous "auto-fetch"
924
+ mechanism.
925
+ - By default, building OpenEXR will use a system installation of
926
+ `libdeflate` as before, but if none is found, the build will use
927
+ the internal copy of `libdeflate`.
928
+ - Use `-DOPENEXR_USE_INTERNAL_DEFLATE=ON` to force the use of the
929
+ internal vendored version.
930
+
931
+ ### Bug fixes:
932
+
933
+ * :bug: Using openexr via cmake `add_subdirectory` now works properly.
934
+
935
+ ### Changes to the OpenEXR Python module:
936
+
937
+ * :snake: :bug: The Python module now allows an empty part name for a
938
+ single-part file
939
+ * :snake: :bug: The `header_only` option for Python module's `OpenEXR.File`
940
+ now works properly.
941
+ * :snake: :package: :warning: `pypi` distributions now **add support
942
+ for Python 3.13** and **drop support for Python 3.7**xc.
943
+
944
+ ### Merged Pull Requests:
945
+
946
+ * [2115](https://github.com/AcademySoftwareFoundation/openexr/pull/2115)
947
+ Move openjph to Requires.private in OpenEXR.pc
948
+ * [2114](https://github.com/AcademySoftwareFoundation/openexr/pull/2114)
949
+ Remove openjph includes from ImfHTCompressor.h
950
+ * [2113](https://github.com/AcademySoftwareFoundation/openexr/pull/2113)
951
+ Improve handling of Imath and OpenJPH library versions
952
+ * [2112](https://github.com/AcademySoftwareFoundation/openexr/pull/2112)
953
+ Fix compiler warnings
954
+ * [2106](https://github.com/AcademySoftwareFoundation/openexr/pull/2106)
955
+ Bump scikit-build-core from 0.11.5 to 0.11.6
956
+ * [2105](https://github.com/AcademySoftwareFoundation/openexr/pull/2105)
957
+ Add details about branches to install instructions
958
+ * [2104](https://github.com/AcademySoftwareFoundation/openexr/pull/2104)
959
+ Add support for 32-line HTJ2K Compressor
960
+ * [2103](https://github.com/AcademySoftwareFoundation/openexr/pull/2103)
961
+ remove extra allocation, fix invalid dereference on corrupt file
962
+ * [2102](https://github.com/AcademySoftwareFoundation/openexr/pull/2102)
963
+ add fallback catch to avoid exceptions from crossing C boundary
964
+ * [2099](https://github.com/AcademySoftwareFoundation/openexr/pull/2099)
965
+ documentation install OpenJPH
966
+ * [2098](https://github.com/AcademySoftwareFoundation/openexr/pull/2098)
967
+ Create symlink for the `add_subdirectory` CI test in the CI step
968
+ * [2097](https://github.com/AcademySoftwareFoundation/openexr/pull/2097)
969
+ Bump OpenJPH to 0.21.5
970
+ * [2095](https://github.com/AcademySoftwareFoundation/openexr/pull/2095)
971
+ docs: fix incorrect function names in C API docs
972
+ * [2094](https://github.com/AcademySoftwareFoundation/openexr/pull/2094)
973
+ Properly implement header_only for python module's OpenEXR.File
974
+ * [2093](https://github.com/AcademySoftwareFoundation/openexr/pull/2093)
975
+ Update CVE links in SECURITY.md to https://www.cve.org
976
+ * [2090](https://github.com/AcademySoftwareFoundation/openexr/pull/2090)
977
+ Fix python module to allow empty part name for single-part file
978
+ * [2088](https://github.com/AcademySoftwareFoundation/openexr/pull/2088)
979
+ Add CI test to validate cmake add_subdirectory(openexr)
980
+ * [2087](https://github.com/AcademySoftwareFoundation/openexr/pull/2087)
981
+ Fix aliases for IexConfig and IlmThreadConfig
982
+ * [2086](https://github.com/AcademySoftwareFoundation/openexr/pull/2086)
983
+ Fix HTJ2K chunk header length error and group common HTJ2K functions
984
+ * [2084](https://github.com/AcademySoftwareFoundation/openexr/pull/2084)
985
+ Add CVEs from OSTIF report to SECURITY.md and CHANGES.md
986
+ * [2083](https://github.com/AcademySoftwareFoundation/openexr/pull/2083)
987
+ Add CI jobs for C++20, and build tools/tests against standard
988
+ * [2079](https://github.com/AcademySoftwareFoundation/openexr/pull/2079)
989
+ Helper script release.py to automate release notes steps
990
+ * [2075](https://github.com/AcademySoftwareFoundation/openexr/pull/2075)
991
+ Add colorInteropID standard attribute
992
+ * [2074](https://github.com/AcademySoftwareFoundation/openexr/pull/2074)
993
+ OpenEXR - Adds New Bytes Attribute
994
+ * [2072](https://github.com/AcademySoftwareFoundation/openexr/pull/2072)
995
+ Add HTJ2K Compressor support to Tiled images
996
+ * [2070](https://github.com/AcademySoftwareFoundation/openexr/pull/2070)
997
+ Drop support for python 3.7; add support for python 3.13
998
+ * [2066](https://github.com/AcademySoftwareFoundation/openexr/pull/2066)
999
+ Standardize handling of directories and paths in ci_steps.yml
1000
+ * [2064](https://github.com/AcademySoftwareFoundation/openexr/pull/2064)
1001
+ Improve example reader code in README.md/website, and add to CI
1002
+ * [2063](https://github.com/AcademySoftwareFoundation/openexr/pull/2063)
1003
+ Fix problem with OpenJPH downstream dependency
1004
+ * [2061](https://github.com/AcademySoftwareFoundation/openexr/pull/2061)
1005
+ Remove realloc from HTJ2K coder
1006
+ * [2058](https://github.com/AcademySoftwareFoundation/openexr/pull/2058)
1007
+ Add macOS universal2 build to CI, and bump OpenJPG to 0.21.3
1008
+ * [2053](https://github.com/AcademySoftwareFoundation/openexr/pull/2053)
1009
+ Supplemental to 2051: Adjust the "Unknown" compression threshold to 11
1010
+ * [2051](https://github.com/AcademySoftwareFoundation/openexr/pull/2051)
1011
+ add htj2k as one of the compression names
1012
+ * [2048](https://github.com/AcademySoftwareFoundation/openexr/pull/2048)
1013
+ Rename "HT256" to "htj2k"
1014
+ * [2044](https://github.com/AcademySoftwareFoundation/openexr/pull/2044)
1015
+ Improve reliability/readability of bin tests scripts and failure output
1016
+ * [2041](https://github.com/AcademySoftwareFoundation/openexr/pull/2041)
1017
+ merge htj2k-beta branch with main
1018
+ * [2037](https://github.com/AcademySoftwareFoundation/openexr/pull/2037)
1019
+ Add vendored deflate
1020
+ * [2017](https://github.com/AcademySoftwareFoundation/openexr/pull/2017)
1021
+ Fix quoting an cmake args in `ci_workflow.yml`
1022
+ * [2016](https://github.com/AcademySoftwareFoundation/openexr/pull/2016)
1023
+ Address mingw32 issues
1024
+ * [2014](https://github.com/AcademySoftwareFoundation/openexr/pull/2014)
1025
+ Add MSYS2 jobs to CI
1026
+ * [2012](https://github.com/AcademySoftwareFoundation/openexr/pull/2012)
1027
+ Fix botched htj2k news title
1028
+ * [1995](https://github.com/AcademySoftwareFoundation/openexr/pull/1995)
1029
+ Bazel support: Bump rules_cc
1030
+ * [1886](https://github.com/AcademySoftwareFoundation/openexr/pull/1886)
1031
+ Bump github/codeql-action from 3.26.12 to 3.26.13
1032
+ * [1882](https://github.com/AcademySoftwareFoundation/openexr/pull/1882)
1033
+ Bazel Support: Use Imath and libdeflate live at head
1034
+ * [1879](https://github.com/AcademySoftwareFoundation/openexr/pull/1879)
1035
+ Fetch master branch of libdeflate on main
1036
+ * [1852](https://github.com/AcademySoftwareFoundation/openexr/pull/1852)
1037
+ Add an option to use TBB as the global provider
1038
+
1039
+ ## Version 3.3.11 (April 29, 2026)
1040
+
1041
+ Patch release for 3.3 that addresses the following security
1042
+ vulnerabilities:
1043
+
1044
+ * [CVE-2026-42217](https://www.cve.org/CVERecord?id=CVE-2026-42217)
1045
+ Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
1046
+ * [CVE-2026-42216](https://www.cve.org/CVERecord?id=CVE-2026-42216)
1047
+ Out-of-bounds read in `IDManifest::init()` during prefix expansion
1048
+ * [CVE-2026-41142](https://www.cve.org/CVERecord?id=CVE-2026-41142)
1049
+ Integer overflow in `ImageChannel::resize` leads to heap OOB write via OpenEXRUtil public API
1050
+
1051
+ Also:
1052
+
1053
+ * OSS-fuzz [504280155](https://issues.oss-fuzz.com/issues/504280155)
1054
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
1055
+
1056
+ ### Merged Pull Requests
1057
+
1058
+ * [2383](https://github.com/AcademySoftwareFoundation/openexr/pull/2383)
1059
+ validate that the uncompressed sizes recorded in the dwa header are valid
1060
+ * [2378](https://github.com/AcademySoftwareFoundation/openexr/pull/2378)
1061
+ Harden IDManifest parsing against illegal shift and string prefix OOB
1062
+ * [2377](https://github.com/AcademySoftwareFoundation/openexr/pull/2377)
1063
+ Fix OOB read when expanding IDManifest prefix-compressed strings
1064
+ * [2367](https://github.com/AcademySoftwareFoundation/openexr/pull/2367)
1065
+ Fix int overflow in ImageChannel::resize pixel count
1066
+
1067
+ ## Version 3.3.10 (April 17, 2026)
82
1068
 
83
1069
  Patch release that addresses the following security vulnerabilities:
84
1070
 
@@ -90,9 +1076,9 @@ Patch release that addresses the following security vulnerabilities:
90
1076
  * [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
91
1077
  Fix integer overflow in internal_dwa_compressor.h
92
1078
 
93
- ## Version 3.2.7 (April 3, 2026)
1079
+ ## Version 3.3.9 (April 4, 2026)
94
1080
 
95
- Patch release for v3.2 that addresses the following security vulnerabilities:
1081
+ Patch release for v3.3 that addresses the following security vulnerabilities:
96
1082
 
97
1083
  * [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) DWA Lossy Decoder Heap Out-of-Bounds Write
98
1084
  * [CVE-2026-34588](https://www.cve.org/CVERecord?id=CVE-2026-34588) Signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
@@ -100,6 +1086,7 @@ Patch release for v3.2 that addresses the following security vulnerabilities:
100
1086
  * [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)
101
1087
  * [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
102
1088
  * [CVE-2026-34379](https://www.cve.org/CVERecord?id=CVE-2026-34379) Misaligned write in LossyDctDecoder_execute leading to undefined behavior (DWA/DWAB decompression)
1089
+ * [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
103
1090
 
104
1091
  ### Merged Pull Requests
105
1092
 
@@ -111,23 +1098,782 @@ fix integer overflow in PIZ wavelet buffer arithmetic
111
1098
  Fix misaligned memory access in `LossyDctDecoder_execute` HALF→FLOAT expansion
112
1099
  * [2323](https://github.com/AcademySoftwareFoundation/openexr/pull/2323)
113
1100
  fix signed integer overflow in `undo_pxr24_impl()`
1101
+ * [2321](https://github.com/AcademySoftwareFoundation/openexr/pull/2321)
1102
+ Fix integer overflow in `srcbuffer` pointer arithmetic in `unpack_*`
114
1103
  * [2312](https://github.com/AcademySoftwareFoundation/openexr/pull/2312)
115
1104
  Fix B44/B44A integer overflow: use uint64_t for row offset
116
1105
  * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
117
1106
  PXR24: reject zlib output that does not match packed payload size
118
1107
 
1108
+ ## Version 3.3.8 (March 1, 2026)
1109
+
1110
+ Patch release that prevents an integer overflow when using the
1111
+ `CompositeDeepScanLine` API to combine multiple deep parts.
1112
+
1113
+ This release addresses the following CVEs:
1114
+ * [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622)
1115
+ CompositeDeepScanLine integer-overflow leads to heap OOB write
1116
+
1117
+ ### Merged Pull Requests:
1118
+
1119
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
1120
+ Report an error if a deep pixel as more than UINT_MAX samples
1121
+
1122
+ ## Version 3.3.7 (February 19, 2026)
1123
+
1124
+ Patch release that fixes an incorrect size check in
1125
+ `istream_nonparallel_read` that could lead to a buffer overflow on
1126
+ invalid input data.
1127
+
1128
+ This release addresses the following CVEs:
1129
+ * [CVE-2026-26981](https://www.cve.org/CVERecord?id=CVE-2026-26981)
1130
+ Heap-buffer-overflow via signed integer underflow in ImfContextInit.cpp
1131
+
1132
+
1133
+ ### Merged Pull Requests:
1134
+
1135
+ * [2244](https://github.com/AcademySoftwareFoundation/openexr/pull/2244)
1136
+ Fix incorrect size check in `istream_nonparallel_read`
1137
+
1138
+ ## Version 3.3.6 (November 4, 2025)
1139
+
1140
+ Patch release that addresses several bugs, primarily involving
1141
+ properly rejecting corrupt input data.
1142
+
1143
+ Specifically:
1144
+
1145
+ * Buffer overflow in PyOpenEXR_old's `channels()` and `channel()` in
1146
+ legacy python, reported by Joshua Rogers (GitHub: MegaManSec).
1147
+ * Use after free in PyObject_StealAttrString in legacy python, reported
1148
+ by Joshua Rogers (GitHub: MegaManSec).
1149
+ * Use of Uninitialized Memory in openexr, reported by Aldo Ristori
1150
+ (GitHub: Kaldreic).
1151
+ * Heap-based Buffer Overflow Remote Code Execution Vulnerability,
1152
+ reported by Trend Micro Zero Day Initiative.
1153
+
1154
+ Other fixes:
1155
+ * Only populate `CMAKE_DEBUG_POSTFIX` with `_d` if it is undefined,
1156
+ which makes it possible to set `CMAKE_DEBUG_POSTFIX=""`.
1157
+
1158
+ This release addresses the following CVEs:
1159
+ * [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183)
1160
+ Use after free in PyObject_StealAttrString
1161
+ * [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182)
1162
+ Buffer overflow in PyOpenEXR_old's channels() and channel()
1163
+ * [CVE-2025-64181](https://www.cve.org/CVERecord?id=CVE-2025-64181)
1164
+ Security Issue: Use of Uninitialized Memory in openexr
1165
+ * [CVE-2025-12840](https://www.cve.org/CVERecord?id=CVE-2025-12840)
1166
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
1167
+ * [CVE-2025-12839](https://www.cve.org/CVERecord?id=CVE-2025-12839)
1168
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
1169
+ * [CVE-2025-12495](https://www.cve.org/CVERecord?id=CVE-2025-12495)
1170
+ Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability
1171
+
1172
+ ### Merged Pull Requests:
1173
+
1174
+ * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
1175
+ Fix improper use of `Py_DECREF` in legacy python module
1176
+ * [2166](https://github.com/AcademySoftwareFoundation/openexr/pull/2166)
1177
+ Only define CMAKE_DEBUG_POSTFIX if it is not already defined
1178
+ * [2164](https://github.com/AcademySoftwareFoundation/openexr/pull/2164)
1179
+ check storage_mode when computing chunk sizes
1180
+ * [2163](https://github.com/AcademySoftwareFoundation/openexr/pull/2163)
1181
+ Check for image size overflow in legacy python module
1182
+ * [2162](https://github.com/AcademySoftwareFoundation/openexr/pull/2162)
1183
+ verify packed/unpacked size with uncompressed data
1184
+ * [2161](https://github.com/AcademySoftwareFoundation/openexr/pull/2161)
1185
+ ImfCheckFile: handle partial deep tiles
1186
+ * [2160](https://github.com/AcademySoftwareFoundation/openexr/pull/2160)
1187
+ Fix issues with negative coordinates and sampling != 0
1188
+ * [2159](https://github.com/AcademySoftwareFoundation/openexr/pull/2159)
1189
+ Fix memset in exr_read_chunk when nread is negative
1190
+ * [2156](https://github.com/AcademySoftwareFoundation/openexr/pull/2156)
1191
+ Fix handling of corrupt RLE data
1192
+
1193
+ ## Version 3.3.5 (July 26, 2025)
1194
+
1195
+ Patch release with a couple bug/performance fixes:
1196
+
1197
+ * :bug: Fix for DeepScanlineInputFile read memory leak
1198
+ * :rocket: OpenEXRCore Deep pixel unpacking optimisation
1199
+
1200
+ ### Merged Pull Requests
1201
+
1202
+ * [2069](https://github.com/AcademySoftwareFoundation/openexr/pull/2069)
1203
+ Deep Scanline Input file read memory leak fix
1204
+ * [2067](https://github.com/AcademySoftwareFoundation/openexr/pull/2067)
1205
+ Update legacy Windows CI job from vfx2022 to vfx2023
1206
+ * [2049](https://github.com/AcademySoftwareFoundation/openexr/pull/2049)
1207
+ OpenEXRCore Deep pixel unpacking optimisation
1208
+
1209
+ ## Version 3.3.4 (June 9, 2025)
1210
+
1211
+ Patch release with several bug/build/performance fixes:
1212
+
1213
+ * :bug: Fix a crash with deep scanline input
1214
+ * :bug: Fix a bug when reading a file with missing tiles
1215
+ * :bug: Fix a crash in exrmetrics
1216
+ * :hammer_and_wrench: Fix a problem with /EHsc and /MP flags that broke CUDA compilation
1217
+ * :hammer_and_wrench: Fix a build failure on MinGW
1218
+ * :rocket: Enable vectorisation for ZIP reconstruct stage on Windows
1219
+
1220
+ ### Merged Pull Requests
1221
+
1222
+ * [2047](https://github.com/AcademySoftwareFoundation/openexr/pull/2047)
1223
+ Use default generator for oss_fuzz
1224
+ * [2046](https://github.com/AcademySoftwareFoundation/openexr/pull/2046)
1225
+ Fix crash in exrmetrics when running in single part mode.
1226
+ * [2043](https://github.com/AcademySoftwareFoundation/openexr/pull/2043)
1227
+ Enable vectorisation for ZIP reconstruct stage on Windows
1228
+ * [2042](https://github.com/AcademySoftwareFoundation/openexr/pull/2042)
1229
+ Use CMake to build oss-fuzzers
1230
+ * [2036](https://github.com/AcademySoftwareFoundation/openexr/pull/2036)
1231
+ Allow partial reconstruction of the chunk table to succeed
1232
+ * [2021](https://github.com/AcademySoftwareFoundation/openexr/pull/2021)
1233
+ Fix handling of /EHsc and /MP flags
1234
+ * [2019](https://github.com/AcademySoftwareFoundation/openexr/pull/2019)
1235
+ Fix Deep Scanline Input crash when using a framebuffer as parameter
1236
+ * [2013](https://github.com/AcademySoftwareFoundation/openexr/pull/2013)
1237
+ simplify atomic pointer code for the chunk table
1238
+
1239
+
1240
+ ## Version 3.3.3 (March 23, 2025)
1241
+
1242
+ Patch release with miscellaneous bug/build/documentation fixes:
1243
+
1244
+ * :bug: Fix a bug involving deep tiled images
1245
+ * :bug: Adjust the clamping on the dwa compression (Issue [1982](https://github.com/AcademySoftwareFoundation/openexr/issues/1982))
1246
+ * :bug: Address issues with small exr files and header parse (Issue [1984](https://github.com/AcademySoftwareFoundation/openexr/issues/1984))
1247
+ * :bug: Fix crash if user does not provide memory when filling deep framebuffer
1248
+ * :bug: Fix bad pointer SSE math causing out-of-bounds access
1249
+ * :bug: Fix potential buffer overwrite with zip data
1250
+ * :bug: Fix usage of utf-8 filenames for windows
1251
+ * :bug: Fix regression in reading EXR images on 32bit Windows involving `atomic_compare_exchange_strong`
1252
+ * :bug: Add checks to avoid using optimizations when inappropriate (Issue [1949](https://github.com/AcademySoftwareFoundation/openexr/issues/1949))
1253
+ * :bug: Convert dwa encoder to use algorithm quantize (Issue [1915](https://github.com/AcademySoftwareFoundation/openexr/issues/1915))
1254
+ * :bug: Fix incorrect v3 array size validation
1255
+ * :rocket: Add minor huf encode / decode performance optimizations
1256
+ * :hammer_and_wrench: Add numpy dependency to python wrapper (Issue [1919](https://github.com/AcademySoftwareFoundation/openexr/issues/1919))
1257
+ * :hammer_and_wrench: Remove duplicate cmake dependency from skbuild plugin (Issue [1958](https://github.com/AcademySoftwareFoundation/openexr/pull/1958))
1258
+ * :hammer_and_wrench: Don't set the library postfix in the cmake cache (Issue [1981](https://github.com/AcademySoftwareFoundation/openexr/issues/1981))
1259
+
1260
+ This version also introduces a new tool, `exrmetrics`, a utility to help analyize file i/o times and compression ratios. See
1261
+ [exrmetrics](https://openexr.com/en/latest/bin/exrmetrics.html) for details.
1262
+
1263
+ This version also officially installs the `exrcheck` utility, formerly built for internal use but not installed.
1264
+
1265
+ This version also publishes the python bindings for arm64 on Ubuntu and macOS.
1266
+
1267
+ ### Security Vulnerabilities
1268
+
1269
+ This version addresses the following security vulnerabilities:
1270
+
1271
+ * [CVE-2025-48074](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-x22w-82jp-8rvf) Out-Of-Memory via Unbounded File Header Values
1272
+ * [CVE-2025-48073](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-qhpm-86v7-phmm) ScanLineProcess::run_fill NULL Pointer Write In "reduceMemory" Mode
1273
+ * [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
1274
+ * [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
1275
+
1276
+ ### Merged Pull Requests
1277
+
1278
+ * [2007](https://github.com/AcademySoftwareFoundation/openexr/pull/2007) Fix python publishing workflows to work with ARM
1279
+ * [2005](https://github.com/AcademySoftwareFoundation/openexr/pull/2005) Update cibuildwheel to v2.23 for arm support
1280
+ * [2003](https://github.com/AcademySoftwareFoundation/openexr/pull/2003) Update news and requirements source
1281
+ * [2002](https://github.com/AcademySoftwareFoundation/openexr/pull/2002) exrmetrics: fix isinf
1282
+ * [2001](https://github.com/AcademySoftwareFoundation/openexr/pull/2001) support subsampling in exrmetrics
1283
+ * [1999](https://github.com/AcademySoftwareFoundation/openexr/pull/1999) Fix missing variables in install manifests
1284
+ * [1997](https://github.com/AcademySoftwareFoundation/openexr/pull/1997) Better deeptile parsing
1285
+ * [1995](https://github.com/AcademySoftwareFoundation/openexr/pull/1995) Bazel support: Bump rules_cc
1286
+ * [1993](https://github.com/AcademySoftwareFoundation/openexr/pull/1993) Remove duplicate cmake dependency from skbuild plugin
1287
+ * [1990](https://github.com/AcademySoftwareFoundation/openexr/pull/1990) exrmetrics: fix json output, better testing
1288
+ * [1989](https://github.com/AcademySoftwareFoundation/openexr/pull/1989) ARM CI
1289
+ * [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
1290
+ * [1986](https://github.com/AcademySoftwareFoundation/openexr/pull/1986) Adjust the clamping on the dwa compression
1291
+ * [1985](https://github.com/AcademySoftwareFoundation/openexr/pull/1985) Address issues with small exr files and header parse
1292
+ * [1983](https://github.com/AcademySoftwareFoundation/openexr/pull/1983) exrcheck: update CMakeLists.txt to install the tool
1293
+ * [1980](https://github.com/AcademySoftwareFoundation/openexr/pull/1980) fix crash if user does not provide memory when filling
1294
+ * [1979](https://github.com/AcademySoftwareFoundation/openexr/pull/1979) avoid large allocations
1295
+ * [1977](https://github.com/AcademySoftwareFoundation/openexr/pull/1977) Fix bad pointer math
1296
+ * [1974](https://github.com/AcademySoftwareFoundation/openexr/pull/1974) fix potential buffer overwrite with zip data
1297
+ * [1976](https://github.com/AcademySoftwareFoundation/openexr/pull/1976) Add HTJ2K news item
1298
+ * [1973](https://github.com/AcademySoftwareFoundation/openexr/pull/1973) clean up exrmetrics help, simplify JSON output
1299
+ * [1971](https://github.com/AcademySoftwareFoundation/openexr/pull/1971) Add website page for exrmetrics
1300
+ * [1970](https://github.com/AcademySoftwareFoundation/openexr/pull/1970) update all upload-artifact usage to v4
1301
+ * [1969](https://github.com/AcademySoftwareFoundation/openexr/pull/1969) Update actions/upload-artifact to @v4
1302
+ * [1968](https://github.com/AcademySoftwareFoundation/openexr/pull/1968) extend exrmetrics
1303
+ * [1966](https://github.com/AcademySoftwareFoundation/openexr/pull/1966) Fix installation of Imath and libdeflate in windows CI
1304
+ * [1965](https://github.com/AcademySoftwareFoundation/openexr/pull/1965) Fix usage of utf-8 filenames for windows
1305
+ * [1963](https://github.com/AcademySoftwareFoundation/openexr/pull/1963) docs: clarify exr2aces output format
1306
+ * [1961](https://github.com/AcademySoftwareFoundation/openexr/pull/1961) Update security policy regarding backporting patches
1307
+ * [1954](https://github.com/AcademySoftwareFoundation/openexr/pull/1954) Fix typos
1308
+ * [1952](https://github.com/AcademySoftwareFoundation/openexr/pull/1952) Fix reading EXR images on 32bit Windows with OpenEXR 3.3
1309
+ * [1950](https://github.com/AcademySoftwareFoundation/openexr/pull/1950) add checks to avoid using optimizations when inappropriate
1310
+ * [1947](https://github.com/AcademySoftwareFoundation/openexr/pull/1947) add minor huf encode / decode performance optimizations
1311
+ * [1948](https://github.com/AcademySoftwareFoundation/openexr/pull/1948) convert dwa encoder to use algorithm quantize
1312
+ * [1945](https://github.com/AcademySoftwareFoundation/openexr/pull/1945) Fix incorrect v3 array size validation
1313
+ * [1939](https://github.com/AcademySoftwareFoundation/openexr/pull/1939) Bump github/codeql-action from 3.27.6 to 3.27.9
1314
+ * [1937](https://github.com/AcademySoftwareFoundation/openexr/pull/1937) Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3
1315
+ * [1936](https://github.com/AcademySoftwareFoundation/openexr/pull/1936) Bump actions/cache from 4.1.2 to 4.2.0
1316
+ * [1935](https://github.com/AcademySoftwareFoundation/openexr/pull/1935) Add numpy dependency to python wrapper.
1317
+ * [1932](https://github.com/AcademySoftwareFoundation/openexr/pull/1932) Bump github/codeql-action from 3.27.5 to 3.27.6
1318
+ * [1931](https://github.com/AcademySoftwareFoundation/openexr/pull/1931) Workaround CI workflow for vfx 2022/2021
1319
+ * [1928](https://github.com/AcademySoftwareFoundation/openexr/pull/1928) Update link to TSC meeting calendar
1320
+ * [1924](https://github.com/AcademySoftwareFoundation/openexr/pull/1924) Bump pypa/cibuildwheel from 2.21.3 to 2.22.0
1321
+ * [1923](https://github.com/AcademySoftwareFoundation/openexr/pull/1923) Bump github/codeql-action from 3.27.4 to 3.27.5
1322
+ * [1922](https://github.com/AcademySoftwareFoundation/openexr/pull/1922) Remove copy/assign/move tests in testAttributes()
1323
+ * [1921](https://github.com/AcademySoftwareFoundation/openexr/pull/1921) Restructure CI to use reusable steps, and add new checks
1324
+ * [1920](https://github.com/AcademySoftwareFoundation/openexr/pull/1920) Fix windows build/CI with threading disabled
1325
+ * [1918](https://github.com/AcademySoftwareFoundation/openexr/pull/1918) Bump github/codeql-action from 3.27.1 to 3.27.4
1326
+ * [1914](https://github.com/AcademySoftwareFoundation/openexr/pull/1914) Bump github/codeql-action from 3.27.0 to 3.27.1
1327
+ * [1913](https://github.com/AcademySoftwareFoundation/openexr/pull/1913) Bump scikit-build-core from 0.8.1 to 0.10.7
1328
+ * [1910](https://github.com/AcademySoftwareFoundation/openexr/pull/1910) Bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2
1329
+ * [1908](https://github.com/AcademySoftwareFoundation/openexr/pull/1908) Add comment about thread-safety
1330
+
1331
+
1332
+ ## Version 3.3.2 (November 11, 2024)
1333
+
1334
+ Patch release that fixes several bugs and build issues:
1335
+
1336
+ * A recent change to CMake had the unintended consequence of
1337
+ installing headers and libraries from `libdeflate` when doing an
1338
+ internal build. This is now fixed.
1339
+ * Fix custom namespaces
1340
+ * Add thread control to `exrmetrics` tool
1341
+ * Reintroduce single cache for successive scanline reads
1342
+ * Allow empty filename when providing a custom stream
1343
+ * Handle non-seekable stream in python module's `InputFile` object
1344
+
1345
+ This release fixes:
1346
+
1347
+ * OSS-fuzz [372524117](https://issues.oss-fuzz.com/issues/372524117)
1348
+ Null-dereference WRITE in Imf_3_4::ScanLineProcess::run_fill
1349
+
1350
+ ### Merged Pull Requests
1351
+
1352
+ * [1912](https://github.com/AcademySoftwareFoundation/openexr/pull/1912)
1353
+ Add missing namespace macros
1354
+ * [1907](https://github.com/AcademySoftwareFoundation/openexr/pull/1907)
1355
+ Handle non-seekable stream
1356
+ * [1905](https://github.com/AcademySoftwareFoundation/openexr/pull/1905)
1357
+ check for invalid uncompressed chunk sample count
1358
+ * [1904](https://github.com/AcademySoftwareFoundation/openexr/pull/1904)
1359
+ Add thread control to exrmetrics
1360
+ * [1880](https://github.com/AcademySoftwareFoundation/openexr/pull/1880)
1361
+ CMake: use EXCLUDE_FROM_ALL when declaring Fetch for deflate library
1362
+ * [1899](https://github.com/AcademySoftwareFoundation/openexr/pull/1899)
1363
+ Reintroduce single cache for successive scanline reads
1364
+ * [1890](https://github.com/AcademySoftwareFoundation/openexr/pull/1890)
1365
+ Added tests for ImfCRgbaFile
1366
+ * [1903](https://github.com/AcademySoftwareFoundation/openexr/pull/1903)
1367
+ Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0
1368
+ * [1898](https://github.com/AcademySoftwareFoundation/openexr/pull/1898)
1369
+ Allow empty file name
1370
+ * [1896](https://github.com/AcademySoftwareFoundation/openexr/pull/1896)
1371
+ Bump actions/setup-python from 5.2.0 to 5.3.0
1372
+ * [1892](https://github.com/AcademySoftwareFoundation/openexr/pull/1892)
1373
+ Bump actions/cache from 4.1.1 to 4.1.2
1374
+ * [1891](https://github.com/AcademySoftwareFoundation/openexr/pull/1891)
1375
+ Bump github/codeql-action from 3.26.13 to 3.27.0
1376
+ * [1886](https://github.com/AcademySoftwareFoundation/openexr/pull/1886)
1377
+ Bump github/codeql-action from 3.26.12 to 3.26.13
1378
+ * [1884](https://github.com/AcademySoftwareFoundation/openexr/pull/1884)
1379
+ Add manpage for exrmetrics
1380
+ * [1885](https://github.com/AcademySoftwareFoundation/openexr/pull/1885)
1381
+ Bump jmertic/slack-release-notifier
1382
+ * [1876](https://github.com/AcademySoftwareFoundation/openexr/pull/1876)
1383
+ news update for v3.3.1
1384
+ * [1878](https://github.com/AcademySoftwareFoundation/openexr/pull/1878)
1385
+ Bump actions/upload-artifact from 4.4.0 to 4.4.3
1386
+ * [1877](https://github.com/AcademySoftwareFoundation/openexr/pull/1877)
1387
+ Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
1388
+ * [1874](https://github.com/AcademySoftwareFoundation/openexr/pull/1874)
1389
+ Bump actions/cache from 4.0.2 to 4.1.1
1390
+ * [1872](https://github.com/AcademySoftwareFoundation/openexr/pull/1872)
1391
+ Bump github/codeql-action from 3.26.11 to 3.26.12
1392
+
1393
+
1394
+ ## Version 3.3.1 (October 8, 2024)
1395
+
1396
+ Patch release that addresses several build and performance issues:
1397
+
1398
+ * Fix a performance regression 3.3.0 in huf/piz compression
1399
+ * Replace ``FetchContent_Populate`` with ``FetchContent_MakeAvailable``
1400
+ * Build wheels for python 3.12
1401
+ * Fix a problem with python wheel sdist that caused local build to fail
1402
+ * Compile source files in parallel under MSVC
1403
+
1404
+ ### Merged Pull Requests
1405
+
1406
+ * [1868](https://github.com/AcademySoftwareFoundation/openexr/pull/1868)
1407
+ Address huf / piz performance regressions
1408
+ * [1867](https://github.com/AcademySoftwareFoundation/openexr/pull/1867)
1409
+ Fix Typo SECURITY.md
1410
+ * [1866](https://github.com/AcademySoftwareFoundation/openexr/pull/1866)
1411
+ Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3
1412
+ * [1865](https://github.com/AcademySoftwareFoundation/openexr/pull/1865)
1413
+ Bump github/codeql-action from 3.26.10 to 3.26.11
1414
+ * [1864](https://github.com/AcademySoftwareFoundation/openexr/pull/1864)
1415
+ Bump pypa/cibuildwheel from 2.21.1 to 2.21.2
1416
+ * [1863](https://github.com/AcademySoftwareFoundation/openexr/pull/1863)
1417
+ Use FetchContent_MakeAvailable instead of FetchContent_Populate
1418
+ * [1861](https://github.com/AcademySoftwareFoundation/openexr/pull/1861)
1419
+ CI: build wheels for Python 3.12
1420
+ * [1858](https://github.com/AcademySoftwareFoundation/openexr/pull/1858)
1421
+ Build: compile source files in parallel under MSVC
1422
+ * [1857](https://github.com/AcademySoftwareFoundation/openexr/pull/1857)
1423
+ Don't exclude src/test and website from sdist
1424
+ * [1856](https://github.com/AcademySoftwareFoundation/openexr/pull/1856)
1425
+ Bazel support: Switch to Imath 3.1.12
1426
+ * [1854](https://github.com/AcademySoftwareFoundation/openexr/pull/1854)
1427
+ Bump github/codeql-action from 3.26.9 to 3.26.10
1428
+ * [1851](https://github.com/AcademySoftwareFoundation/openexr/pull/1851)
1429
+ Use 64-bit values for the pointer math
1430
+ * [1848](https://github.com/AcademySoftwareFoundation/openexr/pull/1848)
1431
+ Bump version/soversion on main branch
1432
+ * [1780](https://github.com/AcademySoftwareFoundation/openexr/pull/1780)
1433
+ First draft of website documentation for python bindings
1434
+
1435
+ ## Version 3.3.0 (September 30, 2024)
1436
+
1437
+ Minor release two significant changes:
1438
+
1439
+ - The C++ API now uses the OpenEXRCore library underneath.
1440
+
1441
+ - This is a transparent change to the existing API, although the ABI
1442
+ (i.e. structure / class layout) has changed
1443
+
1444
+ - Existing reading of pixel data should be more efficient due to
1445
+ fewer memory allocations / frees during the process of
1446
+ reading. Additionally, some more specialisation of unpacking
1447
+ routines may result in faster unpack times
1448
+
1449
+ - All compression routines are implemented by the C Core layer
1450
+ underneath and no longer duplicated
1451
+
1452
+ - Initial support for "stateless" reading of scanlines has been
1453
+ proposed, allowing multiple threads to read scanlines into
1454
+ different frame buffer objects at the same time. While well tested
1455
+ at the Core level, the C++ api should be considered experimental
1456
+ for this release
1457
+
1458
+ - Thread dispatch for reading different file types has been made
1459
+ more homogeneous, so is simpler and more consistent
1460
+
1461
+ - New API for accessing compression types
1462
+
1463
+ In anticipation of future support for new compression types, there
1464
+ is now a convenience API for mapping between compression type names
1465
+ and the associated enum:
1466
+
1467
+ - ``getCompressionDescriptionFromId(Compression, std::string&)``
1468
+ - ``getCompressionIdFromName(const std::string&, Compression&)``
1469
+ - ``getCompressionNameFromId(Compression, std::string&)``
1470
+ - ``getCompressionNamesString(const std::string&, std::string&)``
1471
+ - ``getCompressionNumScanlines(Compression)``
1472
+ - ``isValidCompression(int)``
1473
+
1474
+ - New bin tools:
1475
+
1476
+ - ``exrmetrics`` - Read an OpenEXR image from infile, write an
1477
+ identical copy to outfile reporting time taken to read/write and
1478
+ file sizes. Useful for benchmarking performance in space and time.
1479
+
1480
+ - ``exrmanifest`` - Read exr files and print the contents of the
1481
+ embedded manifest. The manifest provides a mapping between integer
1482
+ object identifiers and human-readible strings. See [OpenEXR Deep
1483
+ IDs
1484
+ Specification](https://openexr.com/en/latest/DeepIDsSpecification.html)
1485
+ for more details.
1486
+
1487
+ - New python bindings.
1488
+
1489
+ This version introduces a new python API, the ``File`` object, which
1490
+ provides full support for reading and writing all types of ``.exr``
1491
+ image files, including scanline, tiled, deep, mult-part, multi-view,
1492
+ and multi-resolution images with pixel types of unsigned 32-bit
1493
+ integers and 16- and 32-bit floats. It provides access to pixel data
1494
+ through ``numpy`` arrays, as either one array per channel or with R, G,
1495
+ B, and A interleaved into a single array RGBA array.
1496
+
1497
+ Previous releases of the openexr python module supported only
1498
+ scanline files. The previous API remains in place for now for
1499
+ backwards compatibility.
1500
+
1501
+ See [src/wrappers/python/README.md](src/wrappers/python/README.md)
1502
+ for a synopsis.
1503
+
1504
+
1505
+ This release fixes:
1506
+
1507
+ * OSS-fuzz [42538530](https://issues.oss-fuzz.com/issues/42538530)
1508
+ Crash in MemcmpInterceptorCommon
1509
+ * OSS-fuzz [42538529](https://issues.oss-fuzz.com/issues/42538529)
1510
+ Null-dereference READ in internal_exr_undo_rle
1511
+ * OSS-fuzz [42538428](https://issues.oss-fuzz.com/issues/42538428)
1512
+ Integer-overflow in internal_exr_parse_header
1513
+ * OSS-fuzz [42538425](https://issues.oss-fuzz.com/issues/42538425)
1514
+ Crash in internal_exr_validate_shared_attrs
1515
+ * OSS-fuzz [42538423](https://issues.oss-fuzz.com/issues/42538423)
1516
+ Null-dereference READ in internal_rle_decompress
1517
+ * OSS-fuzz [42533565](https://issues.oss-fuzz.com/issues/42533565)
1518
+ Invalid-enum-value in Imf_3_3::isValidCompression
1519
+
1520
+ ### Merged Pull Requests
1521
+
1522
+ * [1850](https://github.com/AcademySoftwareFoundation/openexr/pull/1850)
1523
+ Fix open ossfuzz 26 sept 2024
1524
+ * [1846](https://github.com/AcademySoftwareFoundation/openexr/pull/1846)
1525
+ Bump github/codeql-action from 3.26.8 to 3.26.9
1526
+ * [1844](https://github.com/AcademySoftwareFoundation/openexr/pull/1844)
1527
+ Fix table formatting in OpenEXRFileLayout.rst
1528
+ * [1842](https://github.com/AcademySoftwareFoundation/openexr/pull/1842)
1529
+ Start adding stateless api
1530
+ * [1841](https://github.com/AcademySoftwareFoundation/openexr/pull/1841)
1531
+ Remove some warnings when compiling on newer compilers
1532
+ * [1840](https://github.com/AcademySoftwareFoundation/openexr/pull/1840)
1533
+ Add templated utility class to centralize common pattern
1534
+ * [1839](https://github.com/AcademySoftwareFoundation/openexr/pull/1839)
1535
+ Add Compression DWAA/B OpenEXRFileLayout.rst
1536
+ * [1838](https://github.com/AcademySoftwareFoundation/openexr/pull/1838)
1537
+ Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2
1538
+ * [1837](https://github.com/AcademySoftwareFoundation/openexr/pull/1837)
1539
+ Fix Typo table in TechnicalIntroduction.rst
1540
+ * [1836](https://github.com/AcademySoftwareFoundation/openexr/pull/1836)
1541
+ Bazel build fixes.
1542
+ * [1833](https://github.com/AcademySoftwareFoundation/openexr/pull/1833)
1543
+ Bump github/codeql-action from 3.26.7 to 3.26.8
1544
+ * [1832](https://github.com/AcademySoftwareFoundation/openexr/pull/1832)
1545
+ Fixed formatting issue in website/OpenEXRFileLayout.rst
1546
+ * [1833](https://github.com/AcademySoftwareFoundation/openexr/pull/1833)
1547
+ Bump github/codeql-action from 3.26.7 to 3.26.8
1548
+ * [1832](https://github.com/AcademySoftwareFoundation/openexr/pull/1832)
1549
+ Fixed formatting issue in website/OpenEXRFileLayout.rst
1550
+ * [1828](https://github.com/AcademySoftwareFoundation/openexr/pull/1828)
1551
+ Refined validation checks
1552
+ * [1827](https://github.com/AcademySoftwareFoundation/openexr/pull/1827)
1553
+ Add includes for Windows
1554
+ * [1825](https://github.com/AcademySoftwareFoundation/openexr/pull/1825)
1555
+ Add duplicate validation
1556
+ * [1824](https://github.com/AcademySoftwareFoundation/openexr/pull/1824)
1557
+ Bump pypa/cibuildwheel from 2.21.0 to 2.21.1
1558
+ * [1822](https://github.com/AcademySoftwareFoundation/openexr/pull/1822)
1559
+ Update sigstore release signing action
1560
+ * [1821](https://github.com/AcademySoftwareFoundation/openexr/pull/1821)
1561
+ Address some initial fuzz reports after core rewrite merge
1562
+ * [1820](https://github.com/AcademySoftwareFoundation/openexr/pull/1820)
1563
+ Bump github/codeql-action from 3.26.6 to 3.26.7
1564
+ * [1819](https://github.com/AcademySoftwareFoundation/openexr/pull/1819)
1565
+ Bump pypa/cibuildwheel from 2.20.0 to 2.21.0
1566
+ * [1818](https://github.com/AcademySoftwareFoundation/openexr/pull/1818)
1567
+ Rebase of staging/cpp_core_rewrite
1568
+ * [1814](https://github.com/AcademySoftwareFoundation/openexr/pull/1814)
1569
+ Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1
1570
+ * [1811](https://github.com/AcademySoftwareFoundation/openexr/pull/1811)
1571
+ Add version comment to github/codeql-action/analyze
1572
+ * [1810](https://github.com/AcademySoftwareFoundation/openexr/pull/1810)
1573
+ Pin snyk/actions/setup to v0.4.0
1574
+ * [1809](https://github.com/AcademySoftwareFoundation/openexr/pull/1809)
1575
+ Fix pypa/gh-action-pypi-publish release name comment
1576
+ * [1808](https://github.com/AcademySoftwareFoundation/openexr/pull/1808)
1577
+ Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0
1578
+ * [1807](https://github.com/AcademySoftwareFoundation/openexr/pull/1807)
1579
+ Bump actions/upload-artifact from 4.3.6 to 4.4.0
1580
+ * [1806](https://github.com/AcademySoftwareFoundation/openexr/pull/1806)
1581
+ Bump actions/setup-python from 5.1.1 to 5.2.0
1582
+ * [1805](https://github.com/AcademySoftwareFoundation/openexr/pull/1805)
1583
+ Bump github/codeql-action from 3.24.10 to 3.26.6
1584
+ * [1799](https://github.com/AcademySoftwareFoundation/openexr/pull/1799)
1585
+ Update Joseph Goldstone affiliation
1586
+ * [1795](https://github.com/AcademySoftwareFoundation/openexr/pull/1795)
1587
+ Bazel Build: Bump libdeflate to 1.21
1588
+ * [1794](https://github.com/AcademySoftwareFoundation/openexr/pull/1794)
1589
+ Bump snyk/actions from 6312a53377a551c0258438bf25fb8f378afbc977 to ae9442546152ba9bb0a1c85e2672112c97e7a06d
1590
+ * [1793](https://github.com/AcademySoftwareFoundation/openexr/pull/1793)
1591
+ Bump actions/upload-artifact from 4.3.4 to 4.3.6
1592
+ * [1791](https://github.com/AcademySoftwareFoundation/openexr/pull/1791)
1593
+ Bump pypa/cibuildwheel from 2.19.2 to 2.20.0
1594
+ * [1790](https://github.com/AcademySoftwareFoundation/openexr/pull/1790)
1595
+ Revert CodeQL to 2.18.0
1596
+ * [1788](https://github.com/AcademySoftwareFoundation/openexr/pull/1788)
1597
+ Bump snyk/actions from 640e31719aac3e44867d239dc86c20c3e34c8e4f to 6312a53377a551c0258438bf25fb8f378afbc977
1598
+ * [1787](https://github.com/AcademySoftwareFoundation/openexr/pull/1787)
1599
+ Bump ossf/scorecard-action from 2.3.3 to 2.4.0
1600
+ * [1782](https://github.com/AcademySoftwareFoundation/openexr/pull/1782)
1601
+ Bump sigstore/gh-action-sigstore-python from 2.1.1 to 3.0.0
1602
+ * [1781](https://github.com/AcademySoftwareFoundation/openexr/pull/1781)
1603
+ Bump actions/setup-python from 5.1.0 to 5.1.1
1604
+ * [1779](https://github.com/AcademySoftwareFoundation/openexr/pull/1779)
1605
+ Fix GHA CI after they upgraded nodejs
1606
+ * [1778](https://github.com/AcademySoftwareFoundation/openexr/pull/1778)
1607
+ Fix documentation typo: screenWindowWidth is float, not V2f
1608
+ * [1777](https://github.com/AcademySoftwareFoundation/openexr/pull/1777)
1609
+ Bump snyk/actions from 8349f9043a8b7f0f3ee8885bf28f0b388d2446e8 to 640e31719aac3e44867d239dc86c20c3e34c8e4f
1610
+ * [1775](https://github.com/AcademySoftwareFoundation/openexr/pull/1775)
1611
+ Bump actions/download-artifact from 4.1.7 to 4.1.8
1612
+ * [1774](https://github.com/AcademySoftwareFoundation/openexr/pull/1774)
1613
+ Bump actions/upload-artifact from 4.3.3 to 4.3.4
1614
+ * [1773](https://github.com/AcademySoftwareFoundation/openexr/pull/1773)
1615
+ Bump pypa/cibuildwheel from 2.18.1 to 2.19.2
1616
+ * [1769](https://github.com/AcademySoftwareFoundation/openexr/pull/1769)
1617
+ add exrmetrics tool
1618
+ * [1768](https://github.com/AcademySoftwareFoundation/openexr/pull/1768)
1619
+ Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0
1620
+ * [1763](https://github.com/AcademySoftwareFoundation/openexr/pull/1763)
1621
+ Fix duplicate `uninstall` targets
1622
+ * [1757](https://github.com/AcademySoftwareFoundation/openexr/pull/1757)
1623
+ Bump pypa/cibuildwheel from 2.17.0 to 2.18.1
1624
+ * [1756](https://github.com/AcademySoftwareFoundation/openexr/pull/1756)
1625
+ Rewrite OpenEXR python bindings using pybind11 and numpy
1626
+ * [1754](https://github.com/AcademySoftwareFoundation/openexr/pull/1754)
1627
+ 'Stop' to 'tStop' in website desc of standard attributes
1628
+ * [1750](https://github.com/AcademySoftwareFoundation/openexr/pull/1750)
1629
+ Bump ossf/scorecard-action from 2.3.1 to 2.3.3
1630
+ * [1749](https://github.com/AcademySoftwareFoundation/openexr/pull/1749)
1631
+ Install website requirements in venv
1632
+ * [1748](https://github.com/AcademySoftwareFoundation/openexr/pull/1748)
1633
+ Fix setting of part name via "name" attribute
1634
+ * [1745](https://github.com/AcademySoftwareFoundation/openexr/pull/1745)
1635
+ Update CI workflow to 2024 images.
1636
+ * [1744](https://github.com/AcademySoftwareFoundation/openexr/pull/1744)
1637
+ Bazel support: Add test output to CI Bazel tests
1638
+ * [1742](https://github.com/AcademySoftwareFoundation/openexr/pull/1742)
1639
+ Removed unused sliceOptimizationData::type
1640
+ * [1736](https://github.com/AcademySoftwareFoundation/openexr/pull/1736)
1641
+ Bump actions/download-artifact from 4.1.5 to 4.1.7
1642
+ * [1734](https://github.com/AcademySoftwareFoundation/openexr/pull/1734)
1643
+ Silence warning C4201: nonstandard extension used: nameless struct/union.
1644
+ * [1733](https://github.com/AcademySoftwareFoundation/openexr/pull/1733)
1645
+ Bump actions/upload-artifact from 4.3.2 to 4.3.3
1646
+ * [1727](https://github.com/AcademySoftwareFoundation/openexr/pull/1727)
1647
+ Fix exact file match
1648
+ * [1724](https://github.com/AcademySoftwareFoundation/openexr/pull/1724)
1649
+ Core changes for cpp rewrite
1650
+ * [1723](https://github.com/AcademySoftwareFoundation/openexr/pull/1723)
1651
+ Bump actions/upload-artifact from 4.3.1 to 4.3.2
1652
+ * [1722](https://github.com/AcademySoftwareFoundation/openexr/pull/1722)
1653
+ Bump actions/download-artifact from 4.1.4 to 4.1.5
1654
+ * [1716](https://github.com/AcademySoftwareFoundation/openexr/pull/1716)
1655
+ Add test for example python code in the pypi README.md
1656
+ * [1714](https://github.com/AcademySoftwareFoundation/openexr/pull/1714)
1657
+ fix example
1658
+ * [1713](https://github.com/AcademySoftwareFoundation/openexr/pull/1713)
1659
+ Bump actions/upload-artifact from 3.1.0 to 4.3.1
1660
+ * [1710](https://github.com/AcademySoftwareFoundation/openexr/pull/1710)
1661
+ Bump github/codeql-action from 3.24.9 to 3.24.10
1662
+ * [1709](https://github.com/AcademySoftwareFoundation/openexr/pull/1709)
1663
+ Create codeql.yml
1664
+ * [1707](https://github.com/AcademySoftwareFoundation/openexr/pull/1707)
1665
+ [StepSecurity] ci: Harden GitHub Actions
1666
+ * [1706](https://github.com/AcademySoftwareFoundation/openexr/pull/1706)
1667
+ website: fix whitespace typo
1668
+ * [1703](https://github.com/AcademySoftwareFoundation/openexr/pull/1703)
1669
+ Improve filters for ossfuzz and bazel
1670
+ * [1702](https://github.com/AcademySoftwareFoundation/openexr/pull/1702)
1671
+ Set archive prefix for signed releases
1672
+ * [1701](https://github.com/AcademySoftwareFoundation/openexr/pull/1701)
1673
+ Build website on windows/macOS, and remote unnecessary installs
1674
+ * [1699](https://github.com/AcademySoftwareFoundation/openexr/pull/1699)
1675
+ 📝 Fix OPENEXR_DEFLATE_REPO option's description
1676
+ * [1698](https://github.com/AcademySoftwareFoundation/openexr/pull/1698)
1677
+ Bump actions/cache from 4.0.0 to 4.0.2
1678
+ * [1697](https://github.com/AcademySoftwareFoundation/openexr/pull/1697)
1679
+ Bump actions/download-artifact from 4.0.0 to 4.1.4
1680
+ * [1696](https://github.com/AcademySoftwareFoundation/openexr/pull/1696)
1681
+ Bump pypa/cibuildwheel from 2.16 to 2.17
1682
+ * [1695](https://github.com/AcademySoftwareFoundation/openexr/pull/1695)
1683
+ Bump github/codeql-action from 2.2.4 to 3.24.9
1684
+ * [1694](https://github.com/AcademySoftwareFoundation/openexr/pull/1694)
1685
+ Bump sphinx from 5.3 to 7.2.6
1686
+ * [1693](https://github.com/AcademySoftwareFoundation/openexr/pull/1693)
1687
+ Improve workflow files
1688
+ * [1691](https://github.com/AcademySoftwareFoundation/openexr/pull/1691)
1689
+ Add website news items for v3.2.4, v3.2.3, and v3.1.13
1690
+ * [1688](https://github.com/AcademySoftwareFoundation/openexr/pull/1688)
1691
+ Extend exrstdattr to add -erase option
1692
+ * [1686](https://github.com/AcademySoftwareFoundation/openexr/pull/1686)
1693
+ fix: Update scorecard v2.3.1
1694
+ * [1685](https://github.com/AcademySoftwareFoundation/openexr/pull/1685)
1695
+ fix rebase commit id
1696
+ * [1683](https://github.com/AcademySoftwareFoundation/openexr/pull/1683)
1697
+ add page on scene-linear images to website
1698
+ * [1681](https://github.com/AcademySoftwareFoundation/openexr/pull/1681)
1699
+ prevent integer overflows in file exrmultipart.cpp
1700
+ * [1679](https://github.com/AcademySoftwareFoundation/openexr/pull/1679)
1701
+ Update docker images to 2024.
1702
+ * [1677](https://github.com/AcademySoftwareFoundation/openexr/pull/1677)
1703
+ Cleanup pass ahead of core expansion
1704
+ * [1674](https://github.com/AcademySoftwareFoundation/openexr/pull/1674)
1705
+ CMake packaging fix.
1706
+ * [1673](https://github.com/AcademySoftwareFoundation/openexr/pull/1673)
1707
+ Pin RTD to sphinx 5.3
1708
+ * [1672](https://github.com/AcademySoftwareFoundation/openexr/pull/1672)
1709
+ Document steps to add a new compression method in ImfCompression.h
1710
+ * [1669](https://github.com/AcademySoftwareFoundation/openexr/pull/1669)
1711
+ Add custom website footer with ASWF logo and proper copyright
1712
+ * [1667](https://github.com/AcademySoftwareFoundation/openexr/pull/1667)
1713
+ Replace auto-generation of website test image with explicit sidecar jpg files
1714
+ * [1664](https://github.com/AcademySoftwareFoundation/openexr/pull/1664)
1715
+ Add preview link to readthedocs build to PR description
1716
+ * [1663](https://github.com/AcademySoftwareFoundation/openexr/pull/1663)
1717
+ website news for v3.2.3
1718
+ * [1661](https://github.com/AcademySoftwareFoundation/openexr/pull/1661)
1719
+ Argument to isValidCompression should be int rather than Compression
1720
+ * [1660](https://github.com/AcademySoftwareFoundation/openexr/pull/1660)
1721
+ Bazel support: Support only Bzmlod and bump Imath version
1722
+ * [1658](https://github.com/AcademySoftwareFoundation/openexr/pull/1658)
1723
+ Add reference to TSC meeting notes to README and website
1724
+ * [1657](https://github.com/AcademySoftwareFoundation/openexr/pull/1657)
1725
+ Add test and website reference for exrmanifest
1726
+ * [1656](https://github.com/AcademySoftwareFoundation/openexr/pull/1656)
1727
+ Add table of linux distro openexr versions to website install page
1728
+ * [1654](https://github.com/AcademySoftwareFoundation/openexr/pull/1654)
1729
+ Fix Typo RIPMAP_LEVELS table in TechnicalIntroduction.rst
1730
+ * [1649](https://github.com/AcademySoftwareFoundation/openexr/pull/1649)
1731
+ Fix memory leaks in exrstdattr and example code
1732
+ * [1645](https://github.com/AcademySoftwareFoundation/openexr/pull/1645)
1733
+ Update release notes from recent releases
1734
+ * [1644](https://github.com/AcademySoftwareFoundation/openexr/pull/1644)
1735
+ Bump required cmake to 3.14
1736
+ * [1617](https://github.com/AcademySoftwareFoundation/openexr/pull/1617)
1737
+ Require sphinx 5.0
1738
+ * [1616](https://github.com/AcademySoftwareFoundation/openexr/pull/1616)
1739
+ Automate compression method detection
1740
+ * [1601](https://github.com/AcademySoftwareFoundation/openexr/pull/1601)
1741
+ GitHub action for release notices on Slack
1742
+ * [1599](https://github.com/AcademySoftwareFoundation/openexr/pull/1599)
1743
+ Bump version on main to 3.3.0
1744
+ * [1535](https://github.com/AcademySoftwareFoundation/openexr/pull/1535)
1745
+ Add Scorecard GitHub Action
1746
+ * [1515](https://github.com/AcademySoftwareFoundation/openexr/pull/1515)
1747
+ Release notes and news for v3.2.0
1748
+ * [1481](https://github.com/AcademySoftwareFoundation/openexr/pull/1481)
1749
+ Fix dupe word typos
1750
+ * [1465](https://github.com/AcademySoftwareFoundation/openexr/pull/1465)
1751
+ Fix link typos in news.rst
1752
+ * [1438](https://github.com/AcademySoftwareFoundation/openexr/pull/1438)
1753
+ Bazel update
1754
+ * [1436](https://github.com/AcademySoftwareFoundation/openexr/pull/1436)
1755
+ Fix spelling mistakes
1756
+ * [1435](https://github.com/AcademySoftwareFoundation/openexr/pull/1435)
1757
+ Bazel support: Update Imath to 3.1.8
1758
+ * [1434](https://github.com/AcademySoftwareFoundation/openexr/pull/1434)
1759
+ Fix macOS arm64 build
1760
+ * [1423](https://github.com/AcademySoftwareFoundation/openexr/pull/1423)
1761
+ Propagate dwa core 3 1
1762
+ * [1418](https://github.com/AcademySoftwareFoundation/openexr/pull/1418)
1763
+
1764
+ ## Version 3.2.10 (June 21, 2026)
1765
+
1766
+ Patch release for 3.2 addressing security issues
1767
+
1768
+ ### Security
1769
+
1770
+ This release addresses the following security vulnerabilities:
1771
+
1772
+ * [CVE-2026-55373](https://www.cve.org/CVERecord?id=CVE-2026-55373)
1773
+ OpenEXRUtil SampleCountChannel endEdit() can loop forever on UINT_MAX sample counts
1774
+ * [CVE-2026-55059](https://www.cve.org/CVERecord?id=CVE-2026-55059)
1775
+ OpenEXRUtil SampleCountChannel row setter heap out-of-bounds write
1776
+ * [CVE-2026-54920](https://www.cve.org/CVERecord?id=CVE-2026-54920)
1777
+ Integer Overflow and Use of Uninitialized Pointer leading to Invalid Delete in OpenEXRUtil Image Resize
1778
+
1779
+ ### Merged Pull Requests
1780
+
1781
+ * [2476](git@github.com:AcademySoftwareFoundation/openexr/pull/2476)
1782
+ Fix the DWAA size checks regression
1783
+ * [2472](git@github.com:AcademySoftwareFoundation/openexr/pull/2472)
1784
+ Unlock write context in exr_get_chunk_table_offset() return paths
1785
+ * [2468](git@github.com:AcademySoftwareFoundation/openexr/pull/2468)
1786
+ Fix infinite loop in SampleCountChannel roundListSizeUp()
1787
+ * [2464](git@github.com:AcademySoftwareFoundation/openexr/pull/2464)
1788
+ Fix heap out-of-bounds write in SampleCountChannel row setter.
1789
+ * [2463](git@github.com:AcademySoftwareFoundation/openexr/pull/2463)
1790
+ Fix integer overflow and invalid delete in OpenEXRUtil Image::resize()
1791
+ * [2442](git@github.com:AcademySoftwareFoundation/openexr/pull/2442)
1792
+ Bugfix: Fix interger overflows
1793
+ * [2438](git@github.com:AcademySoftwareFoundation/openexr/pull/2438)
1794
+ Break release.py into separate small scripts for each step
1795
+
119
1796
  ### Merged Workflow Pull Requests
120
1797
 
121
1798
 
122
- ## Version 3.2.6 (February 26, 2026)
1799
+ ## Version 3.2.9 (April 29, 2026)
1800
+
1801
+ Patch release for 3.2 that addresses the following security
1802
+ vulnerabilities:
1803
+
1804
+ * [CVE-2026-42217](https://www.cve.org/CVERecord?id=CVE-2026-42217)
1805
+ Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
1806
+ * [CVE-2026-42216](https://www.cve.org/CVERecord?id=CVE-2026-42216)
1807
+ Out-of-bounds read in `IDManifest::init()` during prefix expansion
1808
+ * [CVE-2026-41142](https://www.cve.org/CVERecord?id=CVE-2026-41142)
1809
+ Integer overflow in `ImageChannel::resize` leads to heap OOB write via OpenEXRUtil public API
1810
+
1811
+ Also:
1812
+
1813
+ * OSS-fuzz [504280155](https://issues.oss-fuzz.com/issues/504280155)
1814
+ Heap-buffer-overflow in `DwaCompressor_uncompress`
1815
+
1816
+ ### Merged Pull Requests
1817
+
1818
+ * [2383](https://github.com/AcademySoftwareFoundation/openexr/pull/2383)
1819
+ validate that the uncompressed sizes recorded in the dwa header are valid
1820
+ * [2378](https://github.com/AcademySoftwareFoundation/openexr/pull/2378)
1821
+ Harden IDManifest parsing against illegal shift and string prefix OOB
1822
+ * [2377](https://github.com/AcademySoftwareFoundation/openexr/pull/2377)
1823
+ Fix OOB read when expanding IDManifest prefix-compressed strings
1824
+ * [2367](https://github.com/AcademySoftwareFoundation/openexr/pull/2367)
1825
+ Fix int overflow in ImageChannel::resize pixel count
1826
+
1827
+ ## Version 3.2.8 (April 17, 2026)
1828
+
1829
+ Patch release that addresses the following security vulnerabilities:
1830
+
1831
+ * [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)
1832
+ * [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)
1833
+
1834
+ ### Merged Pull Requests
1835
+
1836
+ * [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
1837
+ Fix integer overflow in internal_dwa_compressor.h
1838
+
1839
+ ## Version 3.2.7 (April 3, 2026)
1840
+
1841
+ Patch release for v3.2 that addresses the following security vulnerabilities:
1842
+
1843
+ * [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) DWA Lossy Decoder Heap Out-of-Bounds Write
1844
+ * [CVE-2026-34588](https://www.cve.org/CVERecord?id=CVE-2026-34588) Signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
1845
+ * [CVE-2026-34544](https://www.cve.org/CVERecord?id=CVE-2026-34544) integer overflow to OOB write in uncompress_b44_impl()
1846
+ * [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)
1847
+ * [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
1848
+ * [CVE-2026-34379](https://www.cve.org/CVERecord?id=CVE-2026-34379) Misaligned write in LossyDctDecoder_execute leading to undefined behavior (DWA/DWAB decompression)
1849
+
1850
+ ### Merged Pull Requests
1851
+
1852
+ * [2329](https://github.com/AcademySoftwareFoundation/openexr/pull/2329)
1853
+ Fix signed integer overflow in `LossyDctDecoder_execute()` pointer arithmatic
1854
+ * [2328](https://github.com/AcademySoftwareFoundation/openexr/pull/2328)
1855
+ fix integer overflow in PIZ wavelet buffer arithmetic
1856
+ * [2324](https://github.com/AcademySoftwareFoundation/openexr/pull/2324)
1857
+ Fix misaligned memory access in `LossyDctDecoder_execute` HALF→FLOAT expansion
1858
+ * [2323](https://github.com/AcademySoftwareFoundation/openexr/pull/2323)
1859
+ fix signed integer overflow in `undo_pxr24_impl()`
1860
+ * [2312](https://github.com/AcademySoftwareFoundation/openexr/pull/2312)
1861
+ Fix B44/B44A integer overflow: use uint64_t for row offset
1862
+ * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
1863
+ PXR24: reject zlib output that does not match packed payload size
1864
+
1865
+ ## Version 3.2.6 (March 1, 2026)
123
1866
 
124
1867
  Patch release that prevents an integer overflow when using the
125
- CompositeDeepScanLine API to combine multiple deep parts.
1868
+ `CompositeDeepScanLine` API to combine multiple deep parts.
126
1869
 
127
- ### Merged Pull Requests:
1870
+ This release addresses the following CVEs:
1871
+ * [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622)
1872
+ CompositeDeepScanLine integer-overflow leads to heap OOB write
128
1873
 
129
- * [2256](https://github.com/AcademySoftwareFoundation/pulls/2256)
1874
+ ### Merged Pull Requests:
130
1875
 
1876
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
131
1877
 
132
1878
  ## Version 3.2.5 (November 4, 2025)
133
1879
 
@@ -138,6 +1884,12 @@ Patch release that addresses bugs in the python module's legacy API.
138
1884
  - Use after free in PyObject_StealAttrString in legacy python, reported
139
1885
  by Joshua Rogers (GitHub: MegaManSec).
140
1886
 
1887
+ This release addresses the following CVEs:
1888
+ * [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182)
1889
+ Buffer overflow in PyOpenEXR_old's channels() and channel()
1890
+ * [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183)
1891
+ Use after free in PyObject_StealAttrString
1892
+
141
1893
  ### Merged Pull Requests:
142
1894
 
143
1895
  * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
@@ -149,18 +1901,13 @@ Check for image size overflow in legacy python module
149
1901
 
150
1902
  Patch release that fixes handling of dwa compression in OpenEXRCore library.
151
1903
 
152
- Other miscellaneous changes:
153
-
154
- - Add CMake `find_dependency` for `libdeflate`, to fix a vcpkg build error
155
- - Remove the unused CMake option ``OPENEXR_INSTALL_EXAMPLES``
156
- - Fix some other compiler warnings.
1904
+ This release also removes the unused CMake option
1905
+ ``OPENEXR_INSTALL_EXAMPLES``, and fixes some other compiler warnings.
157
1906
 
158
1907
  ### Merged Pull Requests
159
1908
 
160
1909
  * [1684](https://github.com/AcademySoftwareFoundation/openexr/pull/1684)
161
1910
  Fix typo causing prefix len to be wrong
162
- * [1674](https://github.com/AcademySoftwareFoundation/openexr/pull/1674)
163
- CMake packaging fix.
164
1911
  * [1668](https://github.com/AcademySoftwareFoundation/openexr/pull/1668)
165
1912
  Improve workflow filters
166
1913
  * [1666](https://github.com/AcademySoftwareFoundation/openexr/pull/1666)
@@ -168,7 +1915,7 @@ Improve workflow filters
168
1915
  * [1662](https://github.com/AcademySoftwareFoundation/openexr/pull/1662)
169
1916
  Initialize _ySampling to 0
170
1917
  * [1659](https://github.com/AcademySoftwareFoundation/openexr/pull/1659)
171
- Use size_t as iterator instead of int
1918
+ Use size_t as iterator instead of int
172
1919
 
173
1920
  ## Version 3.2.3 (March 6, 2024)
174
1921
 
@@ -206,7 +1953,7 @@ Fix version tag for python wheel sdist
206
1953
  * [1637](https://github.com/AcademySoftwareFoundation/openexr/pull/1637)
207
1954
  Add instructions for creating signed releases/tags
208
1955
  * [1636](https://github.com/AcademySoftwareFoundation/openexr/pull/1636)
209
- Do synk scans weekly on Sunday mornings
1956
+ Do synk scans weekly on Sunday mornings
210
1957
  * [1635](https://github.com/AcademySoftwareFoundation/openexr/pull/1635)
211
1958
  check and control reduceMemory and reduceTime in stream mode
212
1959
  * [1634](https://github.com/AcademySoftwareFoundation/openexr/pull/1634)
@@ -216,7 +1963,7 @@ Fix install of symlink
216
1963
  * [1631](https://github.com/AcademySoftwareFoundation/openexr/pull/1631)
217
1964
  Remove snyk-scan-pr.yml
218
1965
  * [1629](https://github.com/AcademySoftwareFoundation/openexr/pull/1629)
219
- Build python wheels via scikit-build-core
1966
+ Build python wheels via scikit-build-core
220
1967
  * [1626](https://github.com/AcademySoftwareFoundation/openexr/pull/1626)
221
1968
  Bazel support: Bump Imath to 3.1.10
222
1969
  * [1624](https://github.com/AcademySoftwareFoundation/openexr/pull/1624)
@@ -242,7 +1989,7 @@ CI/CD - Added Snyk C/C++ Scanning Job
242
1989
  * [1605](https://github.com/AcademySoftwareFoundation/openexr/pull/1605)
243
1990
  Bump skylib in workspace approach
244
1991
  * [1600](https://github.com/AcademySoftwareFoundation/openexr/pull/1600)
245
- Release notes and news for v2.5.10
1992
+ Release notes and news for v2.5.10
246
1993
  * [1597](https://github.com/AcademySoftwareFoundation/openexr/pull/1597)
247
1994
  Account for duplicate emails with .mailmap
248
1995
  * [1595](https://github.com/AcademySoftwareFoundation/openexr/pull/1595)
@@ -289,7 +2036,7 @@ Null-dereference in `Imf_3_3::realloc_deepdata`
289
2036
  * [1632](https://github.com/AcademySoftwareFoundation/openexr/pull/1632)
290
2037
  adjust checks for core to better match c++ checks
291
2038
  * [1630](https://github.com/AcademySoftwareFoundation/openexr/pull/1630)
292
- fix issue with unpacking sample counts
2039
+ fix issue with unpacking sample counts
293
2040
  * [1627](https://github.com/AcademySoftwareFoundation/openexr/pull/1627)
294
2041
  Fix CVE 2023 5841
295
2042
 
@@ -686,7 +2433,6 @@ Patch release that addresses
686
2433
  Note that this bug is present in the C++ API (since v3.1.0), although
687
2434
  it is in a routine that is predominantly used for development and
688
2435
  testing. It is not likely to appear in production code.
689
-
690
2436
  This release also addresses:
691
2437
 
692
2438
  * OSS-fuzz [66491](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66491)
@@ -699,7 +2445,7 @@ Null-dereference in `Imf_3_3::realloc_deepdata`
699
2445
  * [1632](https://github.com/AcademySoftwareFoundation/openexr/pull/1632)
700
2446
  adjust checks for core to better match c++ checks
701
2447
  * [1630](https://github.com/AcademySoftwareFoundation/openexr/pull/1630)
702
- fix issue with unpacking sample counts
2448
+ fix issue with unpacking sample counts
703
2449
  * [1627](https://github.com/AcademySoftwareFoundation/openexr/pull/1627)
704
2450
  Fix CVE 2023 5841
705
2451
 
@@ -1530,9 +3276,9 @@ Contains all changes in [3.0.1-beta](#version-301-beta-march-28-2021) and [3.0.0
1530
3276
 
1531
3277
  Beta patch release:
1532
3278
 
1533
- * 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))
1534
- * 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))
1535
- * 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))
3279
+ * 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))
3280
+ * 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))
3281
+ * 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))
1536
3282
 
1537
3283
  ### Merged Pull Requests
1538
3284
 
@@ -1595,32 +3341,32 @@ new features:
1595
3341
 
1596
3342
  Specific OSS-fuzz issues addressed include:
1597
3343
 
1598
- * 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))
1599
- * 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))
1600
- * 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))
1601
- * 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))
1602
- * 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))
1603
- * 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))
1604
- * 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))
1605
- * 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))
1606
- * 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))
1607
- * 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))
1608
- * 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))
1609
- * 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))
1610
- * 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))
1611
- * 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))
1612
- * 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))
1613
- * 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))
1614
- * 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))
1615
- * 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))
1616
- * 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))
1617
- * 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))
1618
- * 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))
1619
- * 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))
1620
- * 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))
1621
- * 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))
1622
- * 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))
1623
- * 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))
3344
+ * 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))
3345
+ * 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))
3346
+ * 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))
3347
+ * 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))
3348
+ * 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))
3349
+ * 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))
3350
+ * 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))
3351
+ * 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))
3352
+ * 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))
3353
+ * 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))
3354
+ * 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))
3355
+ * 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))
3356
+ * 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))
3357
+ * 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))
3358
+ * 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))
3359
+ * 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))
3360
+ * 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))
3361
+ * 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))
3362
+ * 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))
3363
+ * 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))
3364
+ * 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))
3365
+ * 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))
3366
+ * 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))
3367
+ * 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))
3368
+ * 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))
3369
+ * 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))
1624
3370
 
1625
3371
  ### Merged Pull Requests
1626
3372
 
@@ -3067,7 +4813,7 @@ Signed-off-by: Cary Phillips <cary@ilm.com>
3067
4813
 
3068
4814
  * [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>
3069
4815
  Conflicts:
3070
- azure-pipelines.yml
4816
+ azure-pipelines.yml
3071
4817
 
3072
4818
  * [use static_cast in error test](https://github.com/AcademySoftwareFoundation/openexr/commit/700e4996ce619743d5bebe07b4158ccc4547e9ad) ([Peter Hillman](@peterh@wetafx.co.nz) 2019-07-11)
3073
4819
 
@@ -3951,7 +5697,7 @@ documentation describing deep data in more detail.
3951
5697
  * Temporarily turning off optimisation code path (Piotr Stanczyk)
3952
5698
 
3953
5699
  * Added additional tests for future optimisation refactoring (Piotr
3954
- Stanczyk / Peter Hillman)
5700
+ Stanczyk / Peter Hillman)
3955
5701
 
3956
5702
  * Fixes for StringVectors (Peter Hillman)
3957
5703
 
@@ -4054,19 +5800,19 @@ automotive and product prototyping.
4054
5800
  ### Detailed Changes:
4055
5801
 
4056
5802
  * Updated Documentation
4057
- (Peter Hillman)
5803
+ (Peter Hillman)
4058
5804
  * Updated Namespacing mechanism
4059
- (Piotr Stanczyk)
5805
+ (Piotr Stanczyk)
4060
5806
  * Fixes for succd & predd
4061
- (Peter Hillman)
5807
+ (Peter Hillman)
4062
5808
  * Fixes for FPE control registers
4063
- (Piotr Stanczyk)
5809
+ (Piotr Stanczyk)
4064
5810
  * Additional checks and tests on DeepImages, scanlines and tiles
4065
- (Peter Hillman)
5811
+ (Peter Hillman)
4066
5812
  * Folded in Autodesk read optimisations for RGB(A) files
4067
- (Pascal Jette, Peter Hillman)
5813
+ (Pascal Jette, Peter Hillman)
4068
5814
  * Updated the bootstrap scripts to use libtoolize if glibtoolize isn't available on darwin.
4069
- (Nick Rasmussen)
5815
+ (Nick Rasmussen)
4070
5816
  * Numerous minor fixes, missing includes etc
4071
5817
 
4072
5818
  ## Version 2.0.0.beta.1 (June 15, 2012)
@@ -4102,11 +5848,11 @@ Please read the separate file for v2 additions and changes.
4102
5848
  ### Detailed Changes:
4103
5849
 
4104
5850
  * Added git specific files
4105
- (Piotr Stanczyk)
5851
+ (Piotr Stanczyk)
4106
5852
  * Updated the so verison to 20
4107
- (Piotr Stanczyk)
5853
+ (Piotr Stanczyk)
4108
5854
  * Initial use of the CMake build system
4109
- (Nicholas Yue)
5855
+ (Nicholas Yue)
4110
5856
 
4111
5857
  ## Version 1.7.1 (July 31, 2012)
4112
5858
 
@@ -4153,7 +5899,7 @@ This release addresses the following security vulnerabilities:
4153
5899
  * **M44dAttribute** 4x4 double-precision matrix
4154
5900
  * **V2d** 2D double-precision vector
4155
5901
  * **V3d** 3D double-precision vector
4156
-
5902
+
4157
5903
  * Bug fix: crash when reading a damaged image file (found by Apple).
4158
5904
  An exception thrown inside the PIZ Huffman decoder bypasses
4159
5905
  initialization of an array of pointers. The uninitialized pointers
@@ -4313,7 +6059,7 @@ IlmBase 1.0.0:
4313
6059
  link with static libraries properly
4314
6060
 
4315
6061
  * eliminated some warning messages during install (Andrew Kunz)
4316
-
6062
+
4317
6063
  ## Version 1.5.0 (December 15, 2006)
4318
6064
 
4319
6065
  The new version includes several significant changes:
@@ -4414,8 +6160,8 @@ The new version includes several significant changes:
4414
6160
  ## Version 1.4.0a (August 9, 2006)
4415
6161
 
4416
6162
  * Fixed the ReleaseDLL targets for Visual Studio 2003. (Barnaby Robson)
4417
-
4418
- ## Version 1.4.0 (August 2, 2006)
6163
+
6164
+ ## Version 1.4.0 (August 2, 2006)
4419
6165
 
4420
6166
  This is the next major production-ready release of OpenEXR and offers
4421
6167
  full compatibility with our last production release, which was
@@ -4434,7 +6180,7 @@ The new version includes several significant changes:
4434
6180
  * Fixed the ReleaseDLL targets for Visual Studio 2005. (Nick Porcino, Drew Hess)
4435
6181
 
4436
6182
  * Fixes/enhancements for createDLL. (Nick Porcino)
4437
-
6183
+
4438
6184
  ## Version 1.3.0 (June 8, 2006)
4439
6185
 
4440
6186
  This is a test release. The major new feature in this version is
@@ -4492,8 +6238,8 @@ Paul Schneider)
4492
6238
  * Minor configure.ac fix to accommodate OS X's automake. (Drew Hess)
4493
6239
 
4494
6240
  * Removed CPU-specific optimizations from configure.ac, autoconf's
4495
- guess at the CPU type isn't very useful, anyway. Closes
4496
- #13429. (Drew Hess)
6241
+ guess at the CPU type isn't very useful, anyway. Closes
6242
+ #13429. (Drew Hess)
4497
6243
 
4498
6244
  * Fixed quoting for tests in configure.ac. Closes #13428. (Drew
4499
6245
  Hess)
@@ -4621,65 +6367,65 @@ This is a relatively minor update to the project, with the following changes:
4621
6367
 
4622
6368
 
4623
6369
  * Updated README to remove option for building with Visual C++ 6.0.
4624
- (Drew Hess)
6370
+ (Drew Hess)
4625
6371
 
4626
6372
  * Some older versions of gcc don't support a full iomanip
4627
- implementation; check for this during configuration.
4628
- (Drew Hess)
6373
+ implementation; check for this during configuration.
6374
+ (Drew Hess)
4629
6375
 
4630
6376
  * Install PDF versions of documentation, remove old/out-of-date
4631
- HTML documentation. (Florian Kainz)
6377
+ HTML documentation. (Florian Kainz)
4632
6378
 
4633
6379
  * Removed vc/vc6 directory; Visual C++ 6.0 is no longer
4634
- supported. (Drew Hess)
6380
+ supported. (Drew Hess)
4635
6381
 
4636
6382
  * Updated README.win32 with details of new build system.
4637
- (Florian Kainz, Drew Hess)
6383
+ (Florian Kainz, Drew Hess)
4638
6384
 
4639
6385
  * New build system for Windows / Visual C++ 7 builds both
4640
- static libraries and DLLs.
4641
- (Nick Porcino)
6386
+ static libraries and DLLs.
6387
+ (Nick Porcino)
4642
6388
 
4643
6389
  * Removed Imath::TMatrix<T> and related classes, which are not
4644
- used anywhere in OpenEXR.
4645
- (Florian Kainz)
6390
+ used anywhere in OpenEXR.
6391
+ (Florian Kainz)
4646
6392
 
4647
6393
  * Added minimal support for "image layers" to class Imf::ChannelList
4648
- (Florian Kainz)
6394
+ (Florian Kainz)
4649
6395
 
4650
6396
  * Added new isComplete() method to InputFile, TiledInputFile
4651
- etc., that checks if a file is complete or if any pixels
4652
- are missing (for example, because writing the file was
4653
- aborted prematurely).
4654
- (Florian Kainz)
6397
+ etc., that checks if a file is complete or if any pixels
6398
+ are missing (for example, because writing the file was
6399
+ aborted prematurely).
6400
+ (Florian Kainz)
4655
6401
 
4656
6402
  * Exposed staticInitialize() function in ImfHeader.h in order
4657
- to allow thread-safe library initialization in multithreaded
4658
- programs.
4659
- (Florian Kainz)
6403
+ to allow thread-safe library initialization in multithreaded
6404
+ programs.
6405
+ (Florian Kainz)
4660
6406
 
4661
6407
  * Added a new "time code" attribute
4662
- (Florian Kainz)
6408
+ (Florian Kainz)
4663
6409
 
4664
6410
  * exrmaketiled: when a MIPMAP_LEVELS or RIPMAP_LEVELS image
4665
- is produced, low-pass filtering takes samples outside the
4666
- image's data window. This requires extrapolating the image.
4667
- The user can now specify how the image is extrapolated
4668
- horizontally and vertically (image is surrounded by black /
4669
- outermost row of pixels repeats / entire image repeats /
4670
- entire image repeats, every other copy is a mirror image).
4671
- exrdisplay: added option to swap the top and bottom half,
4672
- and the left and right half of an image, so that the image's
4673
- four corners end up in the center. This is useful for checking
4674
- the seams of wrap-around texture map images.
4675
- IlmImf library: Added new "wrapmodes" standard attribute
4676
- to indicate the extrapolation mode for MIPMAP_LEVELS and
4677
- RIPMAP_LEVELS images.
4678
- (Florian Kainz)
6411
+ is produced, low-pass filtering takes samples outside the
6412
+ image's data window. This requires extrapolating the image.
6413
+ The user can now specify how the image is extrapolated
6414
+ horizontally and vertically (image is surrounded by black /
6415
+ outermost row of pixels repeats / entire image repeats /
6416
+ entire image repeats, every other copy is a mirror image).
6417
+ exrdisplay: added option to swap the top and bottom half,
6418
+ and the left and right half of an image, so that the image's
6419
+ four corners end up in the center. This is useful for checking
6420
+ the seams of wrap-around texture map images.
6421
+ IlmImf library: Added new "wrapmodes" standard attribute
6422
+ to indicate the extrapolation mode for MIPMAP_LEVELS and
6423
+ RIPMAP_LEVELS images.
6424
+ (Florian Kainz)
4679
6425
 
4680
6426
  * Added a new "key code" attribute to identify motion picture
4681
- film frames.
4682
- (Florian Kainz)
6427
+ film frames.
6428
+ (Florian Kainz)
4683
6429
 
4684
6430
  * Removed #include <Iex.h> from ImfAttribute.h, ImfHeader.h and
4685
6431
  ImfXdr.h so that including header files such as ImfInputFile.h no
@@ -4711,15 +6457,15 @@ changes:
4711
6457
  ### Detailed Changes:
4712
6458
 
4713
6459
  * exrenvmap and exrmaketiled use slightly less memory
4714
- (Florian Kainz)
6460
+ (Florian Kainz)
4715
6461
 
4716
6462
  * Added functions to IlmImf for quickly testing if a file
4717
- is an OpenEXR file, and whether the file is scan-line
4718
- based or tiled. (Florian Kainz)
6463
+ is an OpenEXR file, and whether the file is scan-line
6464
+ based or tiled. (Florian Kainz)
4719
6465
 
4720
6466
  * Added preview image examples to IlmImfExamples. Added
4721
- description of preview images and environment maps to
4722
- docs/api.html (Florian Kainz)
6467
+ description of preview images and environment maps to
6468
+ docs/api.html (Florian Kainz)
4723
6469
 
4724
6470
  * Bug fix: PXR24 compression did not work properly for channels with
4725
6471
  ySampling != 1. (Florian Kainz)
@@ -4727,8 +6473,8 @@ changes:
4727
6473
  * Made ``template <class T>`` become ``template <class S, class T>``
4728
6474
  for the ``transform(ObjectS, ObjectT)`` methods. This was done to
4729
6475
  allow for differing templated objects to be passed in e.g. say a
4730
- ``Box<Vec3<S>>`` and a ``Matrix44<T>``, where S=float and T=double.
4731
- (Jeff Yost, Arkell Rasiah)
6476
+ ``Box<Vec3<S>>`` and a ``Matrix44<T>``, where S=float and T=double.
6477
+ (Jeff Yost, Arkell Rasiah)
4732
6478
 
4733
6479
  * New method Matrix44::setTheMatrix(). Used for assigning a M44f to a
4734
6480
  M44d. (Jeff Yost, Arkell Rasiah)
@@ -4739,13 +6485,13 @@ changes:
4739
6485
  Rasiah)
4740
6486
 
4741
6487
  * Methods equalWithAbsError() and equalWithRelError() are now
4742
- declared as const. (Colette Mullenhoff, Arkell Rasiah)
6488
+ declared as const. (Colette Mullenhoff, Arkell Rasiah)
4743
6489
 
4744
6490
  * Fixes for gcc34. Mainly typename/template/using/this syntax
4745
- correctness changes. (Nick Ramussen, Arkell Rasiah)
6491
+ correctness changes. (Nick Ramussen, Arkell Rasiah)
4746
6492
 
4747
6493
  * Added Custom low-level file I/O examples to IlmImfExamples
4748
- and to the docs/api.html document. (Florian Kainz)
6494
+ and to the docs/api.html document. (Florian Kainz)
4749
6495
 
4750
6496
  * Eliminated most warnings messages when OpenEXR is compiled with
4751
6497
  Visual C++. The OpenEXR code uses lots of (intentional and
@@ -4799,11 +6545,11 @@ in the 1.2 series as compared to the original 1.0 series:
4799
6545
  * Add new source files to VC7 IlmImfDll target. (Drew Hess)
4800
6546
 
4801
6547
  * Iex: change the way that APPEND_EXC and REPLACE_EXC modify
4802
- their what() string to work around an issue with Visual C++
4803
- 7.1. (Florian Kainz, Nick Porcino)
6548
+ their what() string to work around an issue with Visual C++
6549
+ 7.1. (Florian Kainz, Nick Porcino)
4804
6550
 
4805
6551
  * Bumped OpenEXR version to 1.2 and .so versions to 2.0.0 in
4806
- preparation for the release. (Drew Hess)
6552
+ preparation for the release. (Drew Hess)
4807
6553
 
4808
6554
  * Imath: fixed ImathTMatrix.h to work with gcc 3.4. (Drew Hess)
4809
6555
 
@@ -4812,15 +6558,15 @@ in the 1.2 series as compared to the original 1.0 series:
4812
6558
  * Quoting fix in acinclude.m4 for automake 1.8. (Brad Hards)
4813
6559
 
4814
6560
  * Imath: put inline at beginning of declaration in ImathMatrix.h
4815
- to fix a warning. (Ken McGaugh)
6561
+ to fix a warning. (Ken McGaugh)
4816
6562
 
4817
6563
  * Imath: made Vec equalWithError () methods const.
4818
6564
 
4819
6565
  * Cleaned up compile-time Win32 support. (Florian Kainz)
4820
6566
 
4821
6567
  * Bug fix: Reading a particular broken PIZ-compressed file
4822
- caused crashes by indexing off the end of an array.
4823
- (Florian Kainz)
6568
+ caused crashes by indexing off the end of an array.
6569
+ (Florian Kainz)
4824
6570
 
4825
6571
  ## Version 1.1.1 (March 27, 2004)
4826
6572
 
@@ -4846,7 +6592,7 @@ format.
4846
6592
  is not defined.
4847
6593
 
4848
6594
  * IlmImf: fixed a bug in reading scanline files on big-endian
4849
- architectures. (Drew Hess)
6595
+ architectures. (Drew Hess)
4850
6596
 
4851
6597
  * exrmaketiled: Added an option to select compression type. (Florian
4852
6598
  Kainz)
@@ -4885,15 +6631,15 @@ format.
4885
6631
  RGBA. (Florian Kainz)
4886
6632
 
4887
6633
  * IlmImf: speed up reading tiled files as scan lines.
4888
- (Florian Kainz)
6634
+ (Florian Kainz)
4889
6635
 
4890
6636
  * Half: Fixed subtle bug in Half where signaling float NaNs
4891
- were being converted to inf in half. (Florian Kainz)
6637
+ were being converted to inf in half. (Florian Kainz)
4892
6638
 
4893
6639
  * gcc 3.3 compiler warning cleanups. (various)
4894
6640
 
4895
6641
  * Imath: ImathEuler.h fixes for gcc 3.4. (Garrick Meeker)
4896
-
6642
+
4897
6643
  ## Version 1.1.0 (February 6, 2004)
4898
6644
 
4899
6645
  OpenEXR 1.1.0 is now available. This is a major new release with
@@ -4906,18 +6652,18 @@ format.
4906
6652
  ### Detailed Changes:
4907
6653
 
4908
6654
  * Added new targets to Visual C++ .NET 2003 project
4909
- for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
4910
- (Drew Hess)
6655
+ for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
6656
+ (Drew Hess)
4911
6657
 
4912
6658
  * A few assorted Win32 fixes for Imath. (Drew Hess)
4913
6659
 
4914
6660
  * GNU autoconf builds now produce versioned libraries.
4915
- This release is 1:0:0. (Drew Hess)
6661
+ This release is 1:0:0. (Drew Hess)
4916
6662
 
4917
6663
  * Fixes for Visual C++ .NET 2003. (Paul Schneider)
4918
6664
 
4919
6665
  * Updated Visual C++ zlib project file to zlib 1.2.1.
4920
- (Drew Hess)
6666
+ (Drew Hess)
4921
6667
 
4922
6668
  * exrdisplay: Fixed fragment shader version. (Drew Hess)
4923
6669
 
@@ -4926,64 +6672,64 @@ format.
4926
6672
  * Imath: Handle "restrict" keyword properly. (Drew Hess)
4927
6673
 
4928
6674
  * IlmImfExamples: Updated to latest versions of example
4929
- source code, includes tiling and multi-res images.
4930
- (Florian Kainz)
6675
+ source code, includes tiling and multi-res images.
6676
+ (Florian Kainz)
4931
6677
 
4932
6678
  * exrmakepreview: A new utility to create preview images.
4933
- (Florian Kainz)
6679
+ (Florian Kainz)
4934
6680
 
4935
6681
  * exrenvmap: A new utility to create OpenEXR environment
4936
- maps. (Florian Kainz)
6682
+ maps. (Florian Kainz)
4937
6683
 
4938
6684
  * exrstdattr: A new utility to modify standard
4939
- attributes. (Florian Kainz)
6685
+ attributes. (Florian Kainz)
4940
6686
 
4941
6687
  * Updated exrheader to print level rounding mode and
4942
- preview image size. (Florian Kainz)
6688
+ preview image size. (Florian Kainz)
4943
6689
 
4944
6690
  * Updated exrmaketiled to use level rounding mode.
4945
- (Florian Kainz)
6691
+ (Florian Kainz)
4946
6692
 
4947
6693
  * IlmImf: Changed the orientation of lat-long envmaps to
4948
- match typical panoramic camera setups. (Florian Kainz)
6694
+ match typical panoramic camera setups. (Florian Kainz)
4949
6695
 
4950
6696
  * IlmImf: Fixed a bug where partially-completed files with
4951
- DECREASING_Y could not be read. (Florian Kainz)
6697
+ DECREASING_Y could not be read. (Florian Kainz)
4952
6698
 
4953
6699
  * IlmImf: Added support for selectable rounding mode (up/down)
4954
- when generating multiresolution files. (Florian Kainz)
6700
+ when generating multiresolution files. (Florian Kainz)
4955
6701
 
4956
6702
  * exrdisplay: Support for tiled images, mip/ripmaps, preview
4957
- images, and display windows. (Florian Kainz, Drew Hess)
6703
+ images, and display windows. (Florian Kainz, Drew Hess)
4958
6704
 
4959
6705
  * exrmaketiled: A new utility which generates tiled
4960
- versions of OpenEXR images. (Florian Kainz)
6706
+ versions of OpenEXR images. (Florian Kainz)
4961
6707
 
4962
6708
  * IlmImf: Changed Imf::VERSION to Imf::EXR_VERSION to
4963
- work around problems with autoconf VERSION macro
4964
- conflict. (Drew Hess)
6709
+ work around problems with autoconf VERSION macro
6710
+ conflict. (Drew Hess)
4965
6711
 
4966
6712
  * exrheader: Support for tiles, mipmaps, environment
4967
- maps. (Florian Kainz)
6713
+ maps. (Florian Kainz)
4968
6714
 
4969
6715
  * IlmImf: Environment map support. (Florian Kainz)
4970
6716
 
4971
6717
  * IlmImf: Abstracted stream I/O support. (Florian Kainz)
4972
6718
 
4973
6719
  * IlmImf: Support for tiled and mip/ripmapped files;
4974
- requires new file format. (Wojciech Jarosz, Florian Kainz)
6720
+ requires new file format. (Wojciech Jarosz, Florian Kainz)
4975
6721
 
4976
6722
  * Imath: **TMatrix**, generic 2D matricies and algorithms.
4977
- (Francesco Callari)
6723
+ (Francesco Callari)
4978
6724
 
4979
6725
  * Imath: major quaternions cleanup. (Cary Phillips)
4980
6726
 
4981
6727
  * Imath: added GLBegin, GLPushAttrib, GLPushMatrix objects
4982
- for automatic cleanup on exceptions. (Cary Phillips)
6728
+ for automatic cleanup on exceptions. (Cary Phillips)
4983
6729
 
4984
6730
  * Imath: removed implicit scalar->vector promotions and vector
4985
- comparisons. (Nick Rasmussen)
4986
-
6731
+ comparisons. (Nick Rasmussen)
6732
+
4987
6733
  ## Version 1.0.7 (January 7, 2004)
4988
6734
 
4989
6735
  OpenEXR 1.0.7 is now available. In addition to some bug fixes, this
@@ -5003,29 +6749,29 @@ we're working to restore them.
5003
6749
  * Fixed a typo in one of the IlmImfTest tests. (Paul Schneider)
5004
6750
 
5005
6751
  * Fixed a bug in exrdisplay that causes the image to display
5006
- as all black if there's a NaN or infinity in an OpenEXR
5007
- image. (Florian Kainz)
6752
+ as all black if there's a NaN or infinity in an OpenEXR
6753
+ image. (Florian Kainz)
5008
6754
 
5009
6755
  * Updated exrheader per recent changes to IlmImf library.
5010
- (Florian Kainz)
6756
+ (Florian Kainz)
5011
6757
 
5012
6758
  * Changed an errant float to a T in ImathFrame.h nextFrame().
5013
- (Cary Phillips)
6759
+ (Cary Phillips)
5014
6760
 
5015
6761
  * Support for new "optional standard" attributes
5016
- (chromaticities, luminance, comments, etc.).
5017
- (Florian Kainz, Greg Ward, Joseph Goldstone)
6762
+ (chromaticities, luminance, comments, etc.).
6763
+ (Florian Kainz, Greg Ward, Joseph Goldstone)
5018
6764
 
5019
6765
  * Fixed a buffer overrun in ImfOpaqueAttribute. (Paul Schneider)
5020
6766
 
5021
6767
  * Added new function, isImfMagic (). (Florian Kainz)
5022
-
5023
- ## Version 1.0.6:
6768
+
6769
+ ## Version 1.0.6
5024
6770
 
5025
6771
  * Added README.win32 to disted files.
5026
6772
 
5027
6773
  * Fixed OpenEXR.pc.in pkg-config file, OpenEXR now works
5028
- with pkg-config.
6774
+ with pkg-config.
5029
6775
 
5030
6776
  * Random fixes to readme files for new release.
5031
6777
 
@@ -5034,7 +6780,7 @@ we're working to restore them.
5034
6780
  * Added Visual Studio .NET 2003 "solution."
5035
6781
 
5036
6782
  * Fixes for Visual Studio .NET 2003 w/ Microsoft C++ compiler.
5037
- (Various)
6783
+ (Various)
5038
6784
 
5039
6785
  * Random Imath fixes and enhancements. Note that extractSHRT now
5040
6786
  takes an additional optional argument, see ImathMatrixAlgo.h for
@@ -5043,25 +6789,25 @@ we're working to restore them.
5043
6789
  * Added Wojciech Jarosz to AUTHORS file.
5044
6790
 
5045
6791
  * Added test cases for uncompressed case, preview images,
5046
- frame buffer type conversion. (Wojciech Jarosz,
5047
- Florian Kainz)
6792
+ frame buffer type conversion. (Wojciech Jarosz,
6793
+ Florian Kainz)
5048
6794
 
5049
6795
  * Fix a bug in IlmImf where uncompressed data doesn't get
5050
- read/written correctly. (Wojciech Jarosz)
6796
+ read/written correctly. (Wojciech Jarosz)
5051
6797
 
5052
6798
  * Added support for preview images and preview image
5053
- attributes (thumbnail images) in IlmImf. (Florian Kainz)
6799
+ attributes (thumbnail images) in IlmImf. (Florian Kainz)
5054
6800
 
5055
6801
  * Added support for automatic frame buffer type conversion
5056
- in IlmImf. (Florian Kainz)
6802
+ in IlmImf. (Florian Kainz)
5057
6803
 
5058
6804
  * Cleaned up some compile-time checks.
5059
6805
 
5060
6806
  * Added HalfTest unit tests.
5061
6807
 
5062
6808
  * [exrdisplay] Download half framebuffer to texture memory
5063
- instead of converting to float first. Requires latest
5064
- Nvidia drivers.
6809
+ instead of converting to float first. Requires latest
6810
+ Nvidia drivers.
5065
6811
 
5066
6812
  ## Version 1.0.5 (April 3, 2003)
5067
6813
 
@@ -5077,13 +6823,13 @@ the source code.
5077
6823
  * Added exrheader project to Visual Studio 6.0 workspace.
5078
6824
 
5079
6825
  * Added some example code showing how to use the IlmImf library.
5080
- (Florian)
6826
+ (Florian)
5081
6827
 
5082
6828
  * Use DLL runtime libs for Win32 libraries rather than static
5083
- runtime libs.
6829
+ runtime libs.
5084
6830
 
5085
6831
  * Add an exrdisplay_fragshader project to the Visual Studio 6.0
5086
- workspace to enable fragment shaders in Win32.
6832
+ workspace to enable fragment shaders in Win32.
5087
6833
 
5088
6834
  * Add an IlmImfDll project to the Visual Studio 6.0 workspace.
5089
6835
 
@@ -5092,24 +6838,24 @@ the source code.
5092
6838
  (Andreas Kahler)
5093
6839
 
5094
6840
  * Use auto_ptr in ImfAutoArray on Win32, it doesn't like large
5095
- automatic stacks.
6841
+ automatic stacks.
5096
6842
 
5097
6843
  * Performance improvements in PIZ decoding, between
5098
- 20 and 60% speedup on Athlon and Pentium 4 systems.
5099
- (Florian)
6844
+ 20 and 60% speedup on Athlon and Pentium 4 systems.
6845
+ (Florian)
5100
6846
 
5101
6847
  * Updated the README with various information, made
5102
- some cosmetic changes for readability.
6848
+ some cosmetic changes for readability.
5103
6849
 
5104
6850
  * Added fragment shader support to exrdisplay.
5105
6851
 
5106
6852
  * Bumped the version to 1.0.5 in prep for release.
5107
6853
 
5108
6854
  * Updated README and README.OSX to talk about CodeWarrior
5109
- project files.
6855
+ project files.
5110
6856
 
5111
6857
  * Incorporated Rodrigo Damazio's patch for an openexr.m4
5112
- macro file and an openexr.spec file for building RPMs.
6858
+ macro file and an openexr.spec file for building RPMs.
5113
6859
 
5114
6860
  * Small change in ImfAttribute.h to make IlmImf compile with gcc 2.95.
5115
6861
 
@@ -5124,29 +6870,29 @@ the source code.
5124
6870
  * Added project files for Visual Studio 6.0.
5125
6871
 
5126
6872
  * Initial Win32 port. Requires Visual Studio 6.0 and Intel C++
5127
- compiler version 7.0.
6873
+ compiler version 7.0.
5128
6874
 
5129
6875
  * Added new intersectT method in ImathSphere.h
5130
6876
 
5131
6877
  * Fixed some bugs in ImathQuat.h
5132
6878
 
5133
6879
  * Proper use of fltk-config to get platform-specific FLTK
5134
- compile- and link-time flags.
6880
+ compile- and link-time flags.
5135
6881
 
5136
6882
  * exrdisplay uses Imath::Math<T>::pow instead of powf now.
5137
- powf is not available on all platforms.
6883
+ powf is not available on all platforms.
5138
6884
 
5139
6885
  * Roll OS X "hack" into the source until Apple fixes their
5140
- istream implementation.
5141
-
6886
+ istream implementation.
6887
+
5142
6888
  ## Version 1.0.4
5143
6889
 
5144
6890
  ### Detailed Changes:
5145
6891
 
5146
6892
  * OpenEXR is now covered by a modified BSD license. See LICENSE
5147
- for the new terms.
6893
+ for the new terms.
5148
6894
 
5149
- ## Version 1.0.3:
6895
+ ## Version 1.0.3
5150
6896
 
5151
6897
  ### Detailed Changes:
5152
6898
 
@@ -5163,12 +6909,12 @@ the source code.
5163
6909
  * Make IlmImf compile with Metrowerks Codewarrior.
5164
6910
 
5165
6911
  * Change large automatic stacks in ImfHuf.C to auto_ptrs allocated
5166
- off the heap. MacOS X default stack size isn't large enough.
6912
+ off the heap. MacOS X default stack size isn't large enough.
5167
6913
 
5168
6914
  * std::ios fix for MacOS X in ImfInputFile.C.
5169
6915
 
5170
6916
  * Added new FP predecessor/successor functions to Imath, added
5171
- tests to ImathTest
6917
+ tests to ImathTest
5172
6918
 
5173
6919
  * Fixed a bug in Imath::extractSHRT for 3x3 matricies when exactly one
5174
6920
  of the original scaling factors is negative, updated ImathTest to
@@ -5218,7 +6964,7 @@ the source code.
5218
6964
  * first official release.
5219
6965
 
5220
6966
  * added some high-level documentation, removed the old OpenEXR.html
5221
- documentation.
6967
+ documentation.
5222
6968
 
5223
6969
  * fixed a few nagging build problems.
5224
6970