OpenEXR 3.2.9__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.9 → openexr-3.2.10}/CHANGES.md +1902 -185
  2. {openexr-3.2.9 → openexr-3.2.10}/CONTRIBUTING.md +269 -256
  3. {openexr-3.2.9 → openexr-3.2.10}/PKG-INFO +1 -1
  4. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/encoding.c +14 -6
  5. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_compressor.h +1 -2
  6. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_encoder.h +4 -4
  7. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_version.h +1 -1
  8. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/part_attr.c +2 -1
  9. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImage.cpp +87 -56
  10. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +3 -2
  11. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +22 -1
  12. {openexr-3.2.9 → openexr-3.2.10}/.bazelversion +0 -0
  13. {openexr-3.2.9 → openexr-3.2.10}/.clang-format +0 -0
  14. {openexr-3.2.9 → openexr-3.2.10}/.git-blame-ignore-revs +0 -0
  15. {openexr-3.2.9 → openexr-3.2.10}/.gitignore +0 -0
  16. {openexr-3.2.9 → openexr-3.2.10}/.mailmap +0 -0
  17. {openexr-3.2.9 → openexr-3.2.10}/.readthedocs.yml +0 -0
  18. {openexr-3.2.9 → openexr-3.2.10}/BUILD.bazel +0 -0
  19. {openexr-3.2.9 → openexr-3.2.10}/CMakeLists.txt +0 -0
  20. {openexr-3.2.9 → openexr-3.2.10}/CODEOWNERS +0 -0
  21. {openexr-3.2.9 → openexr-3.2.10}/CODE_OF_CONDUCT.md +0 -0
  22. {openexr-3.2.9 → openexr-3.2.10}/CONTRIBUTORS.md +0 -0
  23. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/AUTHORS +0 -0
  24. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/ChangeLog +0 -0
  25. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
  26. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/Makefile.test +0 -0
  27. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
  28. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
  29. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
  30. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
  31. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
  32. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
  33. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
  34. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
  35. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/README +0 -0
  36. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/bootstrap +0 -0
  37. {openexr-3.2.9 → openexr-3.2.10}/Contrib/DtexToExr/configure.ac +0 -0
  38. {openexr-3.2.9 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
  39. {openexr-3.2.9 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
  40. {openexr-3.2.9 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
  41. {openexr-3.2.9 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
  42. {openexr-3.2.9 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
  43. {openexr-3.2.9 → openexr-3.2.10}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
  44. {openexr-3.2.9 → openexr-3.2.10}/GOVERNANCE.md +0 -0
  45. {openexr-3.2.9 → openexr-3.2.10}/LICENSE.md +0 -0
  46. {openexr-3.2.9 → openexr-3.2.10}/MODULE.bazel +0 -0
  47. {openexr-3.2.9 → openexr-3.2.10}/PATENTS +0 -0
  48. {openexr-3.2.9 → openexr-3.2.10}/README.md +0 -0
  49. {openexr-3.2.9 → openexr-3.2.10}/SECURITY.md +0 -0
  50. {openexr-3.2.9 → openexr-3.2.10}/WORKSPACE.bazel +0 -0
  51. {openexr-3.2.9 → openexr-3.2.10}/cmake/CMakeLists.txt +0 -0
  52. {openexr-3.2.9 → openexr-3.2.10}/cmake/FindPythonPackage.cmake +0 -0
  53. {openexr-3.2.9 → openexr-3.2.10}/cmake/FindSphinx.cmake +0 -0
  54. {openexr-3.2.9 → openexr-3.2.10}/cmake/IexConfig.h.in +0 -0
  55. {openexr-3.2.9 → openexr-3.2.10}/cmake/IexConfigInternal.h.in +0 -0
  56. {openexr-3.2.9 → openexr-3.2.10}/cmake/IlmThreadConfig.h.in +0 -0
  57. {openexr-3.2.9 → openexr-3.2.10}/cmake/JoinPaths.cmake +0 -0
  58. {openexr-3.2.9 → openexr-3.2.10}/cmake/LibraryDefine.cmake +0 -0
  59. {openexr-3.2.9 → openexr-3.2.10}/cmake/OpenEXR.pc.in +0 -0
  60. {openexr-3.2.9 → openexr-3.2.10}/cmake/OpenEXRConfig.cmake.in +0 -0
  61. {openexr-3.2.9 → openexr-3.2.10}/cmake/OpenEXRConfig.h.in +0 -0
  62. {openexr-3.2.9 → openexr-3.2.10}/cmake/OpenEXRConfigInternal.h.in +0 -0
  63. {openexr-3.2.9 → openexr-3.2.10}/cmake/OpenEXRLibraryDefine.cmake +0 -0
  64. {openexr-3.2.9 → openexr-3.2.10}/cmake/OpenEXRSetup.cmake +0 -0
  65. {openexr-3.2.9 → openexr-3.2.10}/cmake/SampleCTestScript.cmake +0 -0
  66. {openexr-3.2.9 → openexr-3.2.10}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
  67. {openexr-3.2.9 → openexr-3.2.10}/cmake/Toolchain-mingw.cmake +0 -0
  68. {openexr-3.2.9 → openexr-3.2.10}/cmake/clang-format.cmake +0 -0
  69. {openexr-3.2.9 → openexr-3.2.10}/cmake/cmake_uninstall.cmake.in +0 -0
  70. {openexr-3.2.9 → openexr-3.2.10}/docs/CMakeLists.txt +0 -0
  71. {openexr-3.2.9 → openexr-3.2.10}/pyproject.toml +0 -0
  72. {openexr-3.2.9 → openexr-3.2.10}/sonar-project.properties +0 -0
  73. {openexr-3.2.9 → openexr-3.2.10}/src/bin/CMakeLists.txt +0 -0
  74. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exr2aces/CMakeLists.txt +0 -0
  75. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exr2aces/main.cpp +0 -0
  76. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrcheck/CMakeLists.txt +0 -0
  77. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrcheck/main.cpp +0 -0
  78. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/CMakeLists.txt +0 -0
  79. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
  80. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/EnvmapImage.h +0 -0
  81. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/blurImage.cpp +0 -0
  82. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/blurImage.h +0 -0
  83. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/main.cpp +0 -0
  84. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
  85. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/makeCubeMap.h +0 -0
  86. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
  87. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
  88. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/namespaceAlias.h +0 -0
  89. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/readInputImage.cpp +0 -0
  90. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/readInputImage.h +0 -0
  91. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/resizeImage.cpp +0 -0
  92. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrenvmap/resizeImage.h +0 -0
  93. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrheader/CMakeLists.txt +0 -0
  94. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrheader/main.cpp +0 -0
  95. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrinfo/CMakeLists.txt +0 -0
  96. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrinfo/main.c +0 -0
  97. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
  98. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmakepreview/main.cpp +0 -0
  99. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmakepreview/makePreview.cpp +0 -0
  100. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmakepreview/makePreview.h +0 -0
  101. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
  102. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/Image.cpp +0 -0
  103. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/Image.h +0 -0
  104. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/main.cpp +0 -0
  105. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
  106. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/makeTiled.h +0 -0
  107. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
  108. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmanifest/CMakeLists.txt +0 -0
  109. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmanifest/main.cpp +0 -0
  110. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultipart/CMakeLists.txt +0 -0
  111. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
  112. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/CMakeLists.txt +0 -0
  113. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/Image.cpp +0 -0
  114. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/Image.h +0 -0
  115. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/main.cpp +0 -0
  116. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/makeMultiView.cpp +0 -0
  117. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/makeMultiView.h +0 -0
  118. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrmultiview/namespaceAlias.h +0 -0
  119. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrstdattr/CMakeLists.txt +0 -0
  120. {openexr-3.2.9 → openexr-3.2.10}/src/bin/exrstdattr/main.cpp +0 -0
  121. {openexr-3.2.9 → openexr-3.2.10}/src/lib/.gitignore +0 -0
  122. {openexr-3.2.9 → openexr-3.2.10}/src/lib/CMakeLists.txt +0 -0
  123. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/CMakeLists.txt +0 -0
  124. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/Iex.h +0 -0
  125. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexBaseExc.cpp +0 -0
  126. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexBaseExc.h +0 -0
  127. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexErrnoExc.h +0 -0
  128. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexExport.h +0 -0
  129. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexForward.h +0 -0
  130. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMacros.h +0 -0
  131. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMathExc.h +0 -0
  132. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
  133. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMathFloatExc.h +0 -0
  134. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMathFpu.cpp +0 -0
  135. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMathFpu.h +0 -0
  136. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexMathIeeeExc.h +0 -0
  137. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexNamespace.h +0 -0
  138. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
  139. {openexr-3.2.9 → openexr-3.2.10}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
  140. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/CMakeLists.txt +0 -0
  141. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThread.cpp +0 -0
  142. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThread.h +0 -0
  143. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadExport.h +0 -0
  144. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadForward.h +0 -0
  145. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
  146. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
  147. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
  148. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadPool.h +0 -0
  149. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
  150. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
  151. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
  152. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
  153. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
  154. {openexr-3.2.9 → openexr-3.2.10}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
  155. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/CMakeLists.txt +0 -0
  156. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
  157. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
  158. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfArray.h +0 -0
  159. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
  160. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfAttribute.h +0 -0
  161. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
  162. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
  163. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
  164. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
  165. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
  166. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
  167. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
  168. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
  169. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelList.h +0 -0
  170. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
  171. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
  172. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
  173. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
  174. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
  175. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
  176. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
  177. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
  178. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
  179. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompression.h +0 -0
  180. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
  181. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
  182. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
  183. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfCompressor.h +0 -0
  184. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
  185. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfConvert.h +0 -0
  186. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
  187. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
  188. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
  189. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
  190. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
  191. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
  192. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
  193. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
  194. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
  195. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
  196. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
  197. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +0 -0
  198. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
  199. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
  200. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
  201. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
  202. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
  203. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
  204. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
  205. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +0 -0
  206. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
  207. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
  208. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
  209. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
  210. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
  211. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
  212. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
  213. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfDwaCompressorSimd.h +0 -0
  214. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
  215. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
  216. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
  217. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
  218. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfExport.h +0 -0
  219. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
  220. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
  221. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
  222. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
  223. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
  224. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
  225. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfForward.h +0 -0
  226. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
  227. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
  228. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
  229. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
  230. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
  231. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
  232. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
  233. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
  234. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
  235. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfHeader.h +0 -0
  236. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
  237. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfHuf.h +0 -0
  238. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifest.cpp +0 -0
  239. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
  240. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
  241. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
  242. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIO.cpp +0 -0
  243. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIO.h +0 -0
  244. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
  245. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputFile.h +0 -0
  246. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
  247. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPart.h +0 -0
  248. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
  249. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
  250. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
  251. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfInt64.h +0 -0
  252. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
  253. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
  254. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
  255. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
  256. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
  257. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
  258. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
  259. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
  260. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
  261. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfLut.cpp +0 -0
  262. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfLut.h +0 -0
  263. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
  264. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
  265. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
  266. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMisc.h +0 -0
  267. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
  268. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
  269. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
  270. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
  271. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiView.cpp +0 -0
  272. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfMultiView.h +0 -0
  273. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfName.h +0 -0
  274. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfNamespace.h +0 -0
  275. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
  276. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
  277. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
  278. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
  279. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
  280. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
  281. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
  282. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
  283. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
  284. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
  285. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
  286. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
  287. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPartType.h +0 -0
  288. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPixelType.h +0 -0
  289. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
  290. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
  291. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
  292. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
  293. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
  294. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
  295. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
  296. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
  297. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRational.cpp +0 -0
  298. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRational.h +0 -0
  299. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
  300. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
  301. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgba.h +0 -0
  302. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
  303. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
  304. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
  305. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
  306. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRle.cpp +0 -0
  307. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRle.h +0 -0
  308. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
  309. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
  310. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
  311. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
  312. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfSimd.h +0 -0
  313. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
  314. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
  315. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
  316. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStdIO.h +0 -0
  317. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
  318. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
  319. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
  320. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
  321. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
  322. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
  323. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
  324. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTestFile.h +0 -0
  325. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
  326. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfThreading.h +0 -0
  327. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
  328. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
  329. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
  330. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
  331. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
  332. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
  333. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
  334. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
  335. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
  336. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
  337. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
  338. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
  339. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
  340. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
  341. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
  342. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
  343. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
  344. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
  345. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
  346. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
  347. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
  348. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
  349. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
  350. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
  351. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfVersion.h +0 -0
  352. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfWav.cpp +0 -0
  353. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfWav.h +0 -0
  354. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfXdr.h +0 -0
  355. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfZip.cpp +0 -0
  356. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfZip.h +0 -0
  357. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
  358. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
  359. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/b44ExpLogTable.cpp +0 -0
  360. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/b44ExpLogTable.h +0 -0
  361. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
  362. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXR/dwaLookups.h +0 -0
  363. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
  364. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/attributes.c +0 -0
  365. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
  366. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/base.c +0 -0
  367. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/channel_list.c +0 -0
  368. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/chunk.c +0 -0
  369. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/coding.c +0 -0
  370. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/compression.c +0 -0
  371. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/context.c +0 -0
  372. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/debug.c +0 -0
  373. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/decoding.c +0 -0
  374. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/float_vector.c +0 -0
  375. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_attr.h +0 -0
  376. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_b44.c +0 -0
  377. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
  378. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
  379. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_coding.h +0 -0
  380. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_compress.h +0 -0
  381. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_constants.h +0 -0
  382. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
  383. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
  384. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
  385. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
  386. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
  387. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_decoder.h +0 -0
  388. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
  389. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
  390. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_file.h +0 -0
  391. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
  392. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_huf.c +0 -0
  393. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_huf.h +0 -0
  394. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_memory.h +0 -0
  395. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
  396. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_piz.c +0 -0
  397. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
  398. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_preview.h +0 -0
  399. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
  400. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_rle.c +0 -0
  401. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_string.h +0 -0
  402. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
  403. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_structs.c +0 -0
  404. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_structs.h +0 -0
  405. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_util.h +0 -0
  406. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
  407. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
  408. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/internal_zip.c +0 -0
  409. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/memory.c +0 -0
  410. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/opaque.c +0 -0
  411. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr.h +0 -0
  412. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
  413. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_base.h +0 -0
  414. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_chunkio.h +0 -0
  415. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
  416. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
  417. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_config.h +0 -0
  418. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_context.h +0 -0
  419. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
  420. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
  421. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
  422. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
  423. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_part.h +0 -0
  424. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
  425. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/pack.c +0 -0
  426. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/parse_header.c +0 -0
  427. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/part.c +0 -0
  428. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/preview.c +0 -0
  429. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/std_attr.c +0 -0
  430. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/string.c +0 -0
  431. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/string_vector.c +0 -0
  432. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/unpack.c +0 -0
  433. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/validation.c +0 -0
  434. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRCore/write_header.c +0 -0
  435. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
  436. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
  437. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
  438. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
  439. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
  440. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
  441. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +0 -0
  442. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
  443. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
  444. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
  445. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
  446. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
  447. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
  448. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
  449. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +0 -0
  450. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
  451. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
  452. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
  453. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
  454. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
  455. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +0 -0
  456. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
  457. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
  458. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
  459. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
  460. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
  461. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
  462. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
  463. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +0 -0
  464. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
  465. {openexr-3.2.9 → openexr-3.2.10}/src/lib/OpenEXRUtil/README +0 -0
  466. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/CMakeLists.txt +0 -0
  467. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/Imath.py +0 -0
  468. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/OpenEXR.cpp +0 -0
  469. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/README.md +0 -0
  470. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
  471. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/tests/test_minimal.py +0 -0
  472. {openexr-3.2.9 → openexr-3.2.10}/src/wrappers/python/tests/test_unittest.py +0 -0
@@ -3,10 +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
6
32
  * [Version 3.2.9](#version-329-april-29-2026) April 29, 2026
7
33
  * [Version 3.2.8](#version-328-april-17-2026) April 17, 2026
8
34
  * [Version 3.2.7](#version-327-april-3-2026) April 3, 2026
9
- * [Version 3.2.6](#version-326-february-26-2026) February 26, 2026
35
+ * [Version 3.2.6](#version-326-march-1-2026) March 1, 2026
10
36
  * [Version 3.2.5](#version-325-november-4-2025) November 4, 2025
11
37
  * [Version 3.2.4](#version-324-march-26-2024) March 26, 2024
12
38
  * [Version 3.2.3](#version-323-march-6-2024) March 6, 2024
@@ -79,6 +105,1697 @@
79
105
  * [Version 1.0.1](#version-101)
80
106
  * [Version 1.0](#version-10)
81
107
 
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)
1068
+
1069
+ Patch release that addresses the following security vulnerabilities:
1070
+
1071
+ * [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)
1072
+ * [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)
1073
+
1074
+ ### Merged Pull Requests
1075
+
1076
+ * [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
1077
+ Fix integer overflow in internal_dwa_compressor.h
1078
+
1079
+ ## Version 3.3.9 (April 4, 2026)
1080
+
1081
+ Patch release for v3.3 that addresses the following security vulnerabilities:
1082
+
1083
+ * [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) DWA Lossy Decoder Heap Out-of-Bounds Write
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
1085
+ * [CVE-2026-34544](https://www.cve.org/CVERecord?id=CVE-2026-34544) integer overflow to OOB write in uncompress_b44_impl()
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)
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
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
1090
+
1091
+ ### Merged Pull Requests
1092
+
1093
+ * [2329](https://github.com/AcademySoftwareFoundation/openexr/pull/2329)
1094
+ Fix signed integer overflow in `LossyDctDecoder_execute()` pointer arithmatic
1095
+ * [2328](https://github.com/AcademySoftwareFoundation/openexr/pull/2328)
1096
+ fix integer overflow in PIZ wavelet buffer arithmetic
1097
+ * [2324](https://github.com/AcademySoftwareFoundation/openexr/pull/2324)
1098
+ Fix misaligned memory access in `LossyDctDecoder_execute` HALF→FLOAT expansion
1099
+ * [2323](https://github.com/AcademySoftwareFoundation/openexr/pull/2323)
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_*`
1103
+ * [2312](https://github.com/AcademySoftwareFoundation/openexr/pull/2312)
1104
+ Fix B44/B44A integer overflow: use uint64_t for row offset
1105
+ * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
1106
+ PXR24: reject zlib output that does not match packed payload size
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
+
1796
+ ### Merged Workflow Pull Requests
1797
+
1798
+
82
1799
  ## Version 3.2.9 (April 29, 2026)
83
1800
 
84
1801
  Patch release for 3.2 that addresses the following security
@@ -145,18 +1862,18 @@ Fix B44/B44A integer overflow: use uint64_t for row offset
145
1862
  * [2310](https://github.com/AcademySoftwareFoundation/openexr/pull/2310)
146
1863
  PXR24: reject zlib output that does not match packed payload size
147
1864
 
148
- ### Merged Workflow Pull Requests
149
-
150
-
151
- ## Version 3.2.6 (February 26, 2026)
1865
+ ## Version 3.2.6 (March 1, 2026)
152
1866
 
153
1867
  Patch release that prevents an integer overflow when using the
154
- CompositeDeepScanLine API to combine multiple deep parts.
1868
+ `CompositeDeepScanLine` API to combine multiple deep parts.
155
1869
 
156
- ### 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
157
1873
 
158
- * [2256](https://github.com/AcademySoftwareFoundation/pulls/2256)
1874
+ ### Merged Pull Requests:
159
1875
 
1876
+ * [2256](https://github.com/AcademySoftwareFoundation/openexr/pull/2256)
160
1877
 
161
1878
  ## Version 3.2.5 (November 4, 2025)
162
1879
 
@@ -167,6 +1884,12 @@ Patch release that addresses bugs in the python module's legacy API.
167
1884
  - Use after free in PyObject_StealAttrString in legacy python, reported
168
1885
  by Joshua Rogers (GitHub: MegaManSec).
169
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
+
170
1893
  ### Merged Pull Requests:
171
1894
 
172
1895
  * [2168](https://github.com/AcademySoftwareFoundation/openexr/pull/2168)
@@ -178,18 +1901,13 @@ Check for image size overflow in legacy python module
178
1901
 
179
1902
  Patch release that fixes handling of dwa compression in OpenEXRCore library.
180
1903
 
181
- Other miscellaneous changes:
182
-
183
- - Add CMake `find_dependency` for `libdeflate`, to fix a vcpkg build error
184
- - Remove the unused CMake option ``OPENEXR_INSTALL_EXAMPLES``
185
- - Fix some other compiler warnings.
1904
+ This release also removes the unused CMake option
1905
+ ``OPENEXR_INSTALL_EXAMPLES``, and fixes some other compiler warnings.
186
1906
 
187
1907
  ### Merged Pull Requests
188
1908
 
189
1909
  * [1684](https://github.com/AcademySoftwareFoundation/openexr/pull/1684)
190
1910
  Fix typo causing prefix len to be wrong
191
- * [1674](https://github.com/AcademySoftwareFoundation/openexr/pull/1674)
192
- CMake packaging fix.
193
1911
  * [1668](https://github.com/AcademySoftwareFoundation/openexr/pull/1668)
194
1912
  Improve workflow filters
195
1913
  * [1666](https://github.com/AcademySoftwareFoundation/openexr/pull/1666)
@@ -197,7 +1915,7 @@ Improve workflow filters
197
1915
  * [1662](https://github.com/AcademySoftwareFoundation/openexr/pull/1662)
198
1916
  Initialize _ySampling to 0
199
1917
  * [1659](https://github.com/AcademySoftwareFoundation/openexr/pull/1659)
200
- Use size_t as iterator instead of int
1918
+ Use size_t as iterator instead of int
201
1919
 
202
1920
  ## Version 3.2.3 (March 6, 2024)
203
1921
 
@@ -235,7 +1953,7 @@ Fix version tag for python wheel sdist
235
1953
  * [1637](https://github.com/AcademySoftwareFoundation/openexr/pull/1637)
236
1954
  Add instructions for creating signed releases/tags
237
1955
  * [1636](https://github.com/AcademySoftwareFoundation/openexr/pull/1636)
238
- Do synk scans weekly on Sunday mornings
1956
+ Do synk scans weekly on Sunday mornings
239
1957
  * [1635](https://github.com/AcademySoftwareFoundation/openexr/pull/1635)
240
1958
  check and control reduceMemory and reduceTime in stream mode
241
1959
  * [1634](https://github.com/AcademySoftwareFoundation/openexr/pull/1634)
@@ -245,7 +1963,7 @@ Fix install of symlink
245
1963
  * [1631](https://github.com/AcademySoftwareFoundation/openexr/pull/1631)
246
1964
  Remove snyk-scan-pr.yml
247
1965
  * [1629](https://github.com/AcademySoftwareFoundation/openexr/pull/1629)
248
- Build python wheels via scikit-build-core
1966
+ Build python wheels via scikit-build-core
249
1967
  * [1626](https://github.com/AcademySoftwareFoundation/openexr/pull/1626)
250
1968
  Bazel support: Bump Imath to 3.1.10
251
1969
  * [1624](https://github.com/AcademySoftwareFoundation/openexr/pull/1624)
@@ -271,7 +1989,7 @@ CI/CD - Added Snyk C/C++ Scanning Job
271
1989
  * [1605](https://github.com/AcademySoftwareFoundation/openexr/pull/1605)
272
1990
  Bump skylib in workspace approach
273
1991
  * [1600](https://github.com/AcademySoftwareFoundation/openexr/pull/1600)
274
- Release notes and news for v2.5.10
1992
+ Release notes and news for v2.5.10
275
1993
  * [1597](https://github.com/AcademySoftwareFoundation/openexr/pull/1597)
276
1994
  Account for duplicate emails with .mailmap
277
1995
  * [1595](https://github.com/AcademySoftwareFoundation/openexr/pull/1595)
@@ -318,7 +2036,7 @@ Null-dereference in `Imf_3_3::realloc_deepdata`
318
2036
  * [1632](https://github.com/AcademySoftwareFoundation/openexr/pull/1632)
319
2037
  adjust checks for core to better match c++ checks
320
2038
  * [1630](https://github.com/AcademySoftwareFoundation/openexr/pull/1630)
321
- fix issue with unpacking sample counts
2039
+ fix issue with unpacking sample counts
322
2040
  * [1627](https://github.com/AcademySoftwareFoundation/openexr/pull/1627)
323
2041
  Fix CVE 2023 5841
324
2042
 
@@ -715,7 +2433,6 @@ Patch release that addresses
715
2433
  Note that this bug is present in the C++ API (since v3.1.0), although
716
2434
  it is in a routine that is predominantly used for development and
717
2435
  testing. It is not likely to appear in production code.
718
-
719
2436
  This release also addresses:
720
2437
 
721
2438
  * OSS-fuzz [66491](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66491)
@@ -728,7 +2445,7 @@ Null-dereference in `Imf_3_3::realloc_deepdata`
728
2445
  * [1632](https://github.com/AcademySoftwareFoundation/openexr/pull/1632)
729
2446
  adjust checks for core to better match c++ checks
730
2447
  * [1630](https://github.com/AcademySoftwareFoundation/openexr/pull/1630)
731
- fix issue with unpacking sample counts
2448
+ fix issue with unpacking sample counts
732
2449
  * [1627](https://github.com/AcademySoftwareFoundation/openexr/pull/1627)
733
2450
  Fix CVE 2023 5841
734
2451
 
@@ -1559,9 +3276,9 @@ Contains all changes in [3.0.1-beta](#version-301-beta-march-28-2021) and [3.0.0
1559
3276
 
1560
3277
  Beta patch release:
1561
3278
 
1562
- * OSS-fuzz [32370](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32370) Out-of-memory in openexr_exrcheck_fuzzer ([987](https://github.com/AcademySoftwareFoundation/openexr/pull/987))
1563
- * OSS-fuzz [32067](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32067) Out-of-memory in openexr_exrcheck_fuzzer ([966](https://github.com/AcademySoftwareFoundation/openexr/pull/966))
1564
- * OSS-fuzz [31172](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31172) Timeout in openexr_exrcheck_fuzzer ([987](https://github.com/AcademySoftwareFoundation/openexr/pull/987))
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))
1565
3282
 
1566
3283
  ### Merged Pull Requests
1567
3284
 
@@ -1624,32 +3341,32 @@ new features:
1624
3341
 
1625
3342
  Specific OSS-fuzz issues addressed include:
1626
3343
 
1627
- * OSS-fuzz [31539](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31539) Out-of-memory in openexr_exrcheck_fuzzer ([946](https://github.com/AcademySoftwareFoundation/openexr/pull/946))
1628
- * OSS-fuzz [31390](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31390) Out-of-memory in openexr_exrcheck_fuzzer ([939](https://github.com/AcademySoftwareFoundation/openexr/pull/939))
1629
- * OSS-fuzz [31293](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31293) Segv on unknown address in Imf_2_5::copyIntoFrameBuffer ([932](https://github.com/AcademySoftwareFoundation/openexr/pull/932))
1630
- * OSS-fuzz [31291](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31291) Sanitizer CHECK failure in "((0 && "Address is not in memory and not in shadow?")) != (0)" (0x0, 0x0) ([932](https://github.com/AcademySoftwareFoundation/openexr/pull/932))
1631
- * OSS-fuzz [31228](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31228) Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputFile> ([930](https://github.com/AcademySoftwareFoundation/openexr/pull/930))
1632
- * OSS-fuzz [31221](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31221) Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputPart> ([930](https://github.com/AcademySoftwareFoundation/openexr/pull/930))
1633
- * OSS-fuzz [31072](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31072) Out-of-memory in openexr_exrcheck_fuzzer ([928](https://github.com/AcademySoftwareFoundation/openexr/pull/928))
1634
- * OSS-fuzz [31044](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31044) Timeout in openexr_exrcheck_fuzzer ([926](https://github.com/AcademySoftwareFoundation/openexr/pull/926))
1635
- * OSS-fuzz [31015](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31015) Direct-leak in Imf_2_5::TypedAttribute<Imf_2_5::CompressedIDManifest>::readValueFrom ([925](https://github.com/AcademySoftwareFoundation/openexr/pull/925))
1636
- * OSS-fuzz [30969](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30969) Direct-leak in Imf_2_5::DwaCompressor::LossyDctDecoderBase::execute ([923](https://github.com/AcademySoftwareFoundation/openexr/pull/923))
1637
- * OSS-fuzz [30616](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30616) Timeout in openexr_exrcheck_fuzzer ([919](https://github.com/AcademySoftwareFoundation/openexr/pull/919))
1638
- * OSS-fuzz [30605](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30605) Out-of-memory in openexr_exrcheck_fuzzer ([920](https://github.com/AcademySoftwareFoundation/openexr/pull/920))
1639
- * OSS-fuzz [30249](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30249) Out-of-memory in openexr_exrcheck_fuzzer ([915](https://github.com/AcademySoftwareFoundation/openexr/pull/915))
1640
- * OSS-fuzz [29682](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29682) Out-of-memory in openexr_exrcheck_fuzzer ([902](https://github.com/AcademySoftwareFoundation/openexr/pull/902))
1641
- * OSS-fuzz [29393](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29393) Timeout in openexr_exrcheck_fuzzer ([902](https://github.com/AcademySoftwareFoundation/openexr/pull/902))
1642
- * OSS-fuzz [28419](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28419) Out-of-memory in openexr_exrcheck_fuzzer ([895](https://github.com/AcademySoftwareFoundation/openexr/pull/895))
1643
- * OSS-fuzz [28155](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28155) Crash in Imf_2_5::PtrIStream::read ([872](https://github.com/AcademySoftwareFoundation/openexr/pull/872))
1644
- * OSS-fuzz [28051](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28051) Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer ([872](https://github.com/AcademySoftwareFoundation/openexr/pull/872))
1645
- * OSS-fuzz [27409](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27409) Out-of-memory in openexr_exrcheck_fuzzer ([863](https://github.com/AcademySoftwareFoundation/openexr/pull/863))
1646
- * OSS-fuzz [26641](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26641) Invalid-enum-value in readSingleImage ([859](https://github.com/AcademySoftwareFoundation/openexr/pull/859))
1647
- * OSS-fuzz [25648](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25648) Out-of-memory in openexr_scanlines_fuzzer ([839](https://github.com/AcademySoftwareFoundation/openexr/pull/839))
1648
- * OSS-fuzz [25156](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25156) Out-of-memory in openexr_scanlines_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1649
- * OSS-fuzz [25002](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25002) Out-of-memory in openexr_deepscanlines_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1650
- * OSS-fuzz [24959](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24959) Integer-overflow in Imf_2_5::cachePadding ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1651
- * OSS-fuzz [24857](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24857) Out-of-memory in openexr_exrheader_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
1652
- * OSS-fuzz [24573](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24573) Out-of-memory in openexr_exrenvmap_fuzzer ([824](https://github.com/AcademySoftwareFoundation/openexr/pull/824))
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))
1653
3370
 
1654
3371
  ### Merged Pull Requests
1655
3372
 
@@ -3096,7 +4813,7 @@ Signed-off-by: Cary Phillips <cary@ilm.com>
3096
4813
 
3097
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>
3098
4815
  Conflicts:
3099
- azure-pipelines.yml
4816
+ azure-pipelines.yml
3100
4817
 
3101
4818
  * [use static_cast in error test](https://github.com/AcademySoftwareFoundation/openexr/commit/700e4996ce619743d5bebe07b4158ccc4547e9ad) ([Peter Hillman](@peterh@wetafx.co.nz) 2019-07-11)
3102
4819
 
@@ -3980,7 +5697,7 @@ documentation describing deep data in more detail.
3980
5697
  * Temporarily turning off optimisation code path (Piotr Stanczyk)
3981
5698
 
3982
5699
  * Added additional tests for future optimisation refactoring (Piotr
3983
- Stanczyk / Peter Hillman)
5700
+ Stanczyk / Peter Hillman)
3984
5701
 
3985
5702
  * Fixes for StringVectors (Peter Hillman)
3986
5703
 
@@ -4083,19 +5800,19 @@ automotive and product prototyping.
4083
5800
  ### Detailed Changes:
4084
5801
 
4085
5802
  * Updated Documentation
4086
- (Peter Hillman)
5803
+ (Peter Hillman)
4087
5804
  * Updated Namespacing mechanism
4088
- (Piotr Stanczyk)
5805
+ (Piotr Stanczyk)
4089
5806
  * Fixes for succd & predd
4090
- (Peter Hillman)
5807
+ (Peter Hillman)
4091
5808
  * Fixes for FPE control registers
4092
- (Piotr Stanczyk)
5809
+ (Piotr Stanczyk)
4093
5810
  * Additional checks and tests on DeepImages, scanlines and tiles
4094
- (Peter Hillman)
5811
+ (Peter Hillman)
4095
5812
  * Folded in Autodesk read optimisations for RGB(A) files
4096
- (Pascal Jette, Peter Hillman)
5813
+ (Pascal Jette, Peter Hillman)
4097
5814
  * Updated the bootstrap scripts to use libtoolize if glibtoolize isn't available on darwin.
4098
- (Nick Rasmussen)
5815
+ (Nick Rasmussen)
4099
5816
  * Numerous minor fixes, missing includes etc
4100
5817
 
4101
5818
  ## Version 2.0.0.beta.1 (June 15, 2012)
@@ -4131,11 +5848,11 @@ Please read the separate file for v2 additions and changes.
4131
5848
  ### Detailed Changes:
4132
5849
 
4133
5850
  * Added git specific files
4134
- (Piotr Stanczyk)
5851
+ (Piotr Stanczyk)
4135
5852
  * Updated the so verison to 20
4136
- (Piotr Stanczyk)
5853
+ (Piotr Stanczyk)
4137
5854
  * Initial use of the CMake build system
4138
- (Nicholas Yue)
5855
+ (Nicholas Yue)
4139
5856
 
4140
5857
  ## Version 1.7.1 (July 31, 2012)
4141
5858
 
@@ -4182,7 +5899,7 @@ This release addresses the following security vulnerabilities:
4182
5899
  * **M44dAttribute** 4x4 double-precision matrix
4183
5900
  * **V2d** 2D double-precision vector
4184
5901
  * **V3d** 3D double-precision vector
4185
-
5902
+
4186
5903
  * Bug fix: crash when reading a damaged image file (found by Apple).
4187
5904
  An exception thrown inside the PIZ Huffman decoder bypasses
4188
5905
  initialization of an array of pointers. The uninitialized pointers
@@ -4342,7 +6059,7 @@ IlmBase 1.0.0:
4342
6059
  link with static libraries properly
4343
6060
 
4344
6061
  * eliminated some warning messages during install (Andrew Kunz)
4345
-
6062
+
4346
6063
  ## Version 1.5.0 (December 15, 2006)
4347
6064
 
4348
6065
  The new version includes several significant changes:
@@ -4443,8 +6160,8 @@ The new version includes several significant changes:
4443
6160
  ## Version 1.4.0a (August 9, 2006)
4444
6161
 
4445
6162
  * Fixed the ReleaseDLL targets for Visual Studio 2003. (Barnaby Robson)
4446
-
4447
- ## Version 1.4.0 (August 2, 2006)
6163
+
6164
+ ## Version 1.4.0 (August 2, 2006)
4448
6165
 
4449
6166
  This is the next major production-ready release of OpenEXR and offers
4450
6167
  full compatibility with our last production release, which was
@@ -4463,7 +6180,7 @@ The new version includes several significant changes:
4463
6180
  * Fixed the ReleaseDLL targets for Visual Studio 2005. (Nick Porcino, Drew Hess)
4464
6181
 
4465
6182
  * Fixes/enhancements for createDLL. (Nick Porcino)
4466
-
6183
+
4467
6184
  ## Version 1.3.0 (June 8, 2006)
4468
6185
 
4469
6186
  This is a test release. The major new feature in this version is
@@ -4521,8 +6238,8 @@ Paul Schneider)
4521
6238
  * Minor configure.ac fix to accommodate OS X's automake. (Drew Hess)
4522
6239
 
4523
6240
  * Removed CPU-specific optimizations from configure.ac, autoconf's
4524
- guess at the CPU type isn't very useful, anyway. Closes
4525
- #13429. (Drew Hess)
6241
+ guess at the CPU type isn't very useful, anyway. Closes
6242
+ #13429. (Drew Hess)
4526
6243
 
4527
6244
  * Fixed quoting for tests in configure.ac. Closes #13428. (Drew
4528
6245
  Hess)
@@ -4650,65 +6367,65 @@ This is a relatively minor update to the project, with the following changes:
4650
6367
 
4651
6368
 
4652
6369
  * Updated README to remove option for building with Visual C++ 6.0.
4653
- (Drew Hess)
6370
+ (Drew Hess)
4654
6371
 
4655
6372
  * Some older versions of gcc don't support a full iomanip
4656
- implementation; check for this during configuration.
4657
- (Drew Hess)
6373
+ implementation; check for this during configuration.
6374
+ (Drew Hess)
4658
6375
 
4659
6376
  * Install PDF versions of documentation, remove old/out-of-date
4660
- HTML documentation. (Florian Kainz)
6377
+ HTML documentation. (Florian Kainz)
4661
6378
 
4662
6379
  * Removed vc/vc6 directory; Visual C++ 6.0 is no longer
4663
- supported. (Drew Hess)
6380
+ supported. (Drew Hess)
4664
6381
 
4665
6382
  * Updated README.win32 with details of new build system.
4666
- (Florian Kainz, Drew Hess)
6383
+ (Florian Kainz, Drew Hess)
4667
6384
 
4668
6385
  * New build system for Windows / Visual C++ 7 builds both
4669
- static libraries and DLLs.
4670
- (Nick Porcino)
6386
+ static libraries and DLLs.
6387
+ (Nick Porcino)
4671
6388
 
4672
6389
  * Removed Imath::TMatrix<T> and related classes, which are not
4673
- used anywhere in OpenEXR.
4674
- (Florian Kainz)
6390
+ used anywhere in OpenEXR.
6391
+ (Florian Kainz)
4675
6392
 
4676
6393
  * Added minimal support for "image layers" to class Imf::ChannelList
4677
- (Florian Kainz)
6394
+ (Florian Kainz)
4678
6395
 
4679
6396
  * Added new isComplete() method to InputFile, TiledInputFile
4680
- etc., that checks if a file is complete or if any pixels
4681
- are missing (for example, because writing the file was
4682
- aborted prematurely).
4683
- (Florian Kainz)
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)
4684
6401
 
4685
6402
  * Exposed staticInitialize() function in ImfHeader.h in order
4686
- to allow thread-safe library initialization in multithreaded
4687
- programs.
4688
- (Florian Kainz)
6403
+ to allow thread-safe library initialization in multithreaded
6404
+ programs.
6405
+ (Florian Kainz)
4689
6406
 
4690
6407
  * Added a new "time code" attribute
4691
- (Florian Kainz)
6408
+ (Florian Kainz)
4692
6409
 
4693
6410
  * exrmaketiled: when a MIPMAP_LEVELS or RIPMAP_LEVELS image
4694
- is produced, low-pass filtering takes samples outside the
4695
- image's data window. This requires extrapolating the image.
4696
- The user can now specify how the image is extrapolated
4697
- horizontally and vertically (image is surrounded by black /
4698
- outermost row of pixels repeats / entire image repeats /
4699
- entire image repeats, every other copy is a mirror image).
4700
- exrdisplay: added option to swap the top and bottom half,
4701
- and the left and right half of an image, so that the image's
4702
- four corners end up in the center. This is useful for checking
4703
- the seams of wrap-around texture map images.
4704
- IlmImf library: Added new "wrapmodes" standard attribute
4705
- to indicate the extrapolation mode for MIPMAP_LEVELS and
4706
- RIPMAP_LEVELS images.
4707
- (Florian Kainz)
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)
4708
6425
 
4709
6426
  * Added a new "key code" attribute to identify motion picture
4710
- film frames.
4711
- (Florian Kainz)
6427
+ film frames.
6428
+ (Florian Kainz)
4712
6429
 
4713
6430
  * Removed #include <Iex.h> from ImfAttribute.h, ImfHeader.h and
4714
6431
  ImfXdr.h so that including header files such as ImfInputFile.h no
@@ -4740,15 +6457,15 @@ changes:
4740
6457
  ### Detailed Changes:
4741
6458
 
4742
6459
  * exrenvmap and exrmaketiled use slightly less memory
4743
- (Florian Kainz)
6460
+ (Florian Kainz)
4744
6461
 
4745
6462
  * Added functions to IlmImf for quickly testing if a file
4746
- is an OpenEXR file, and whether the file is scan-line
4747
- based or tiled. (Florian Kainz)
6463
+ is an OpenEXR file, and whether the file is scan-line
6464
+ based or tiled. (Florian Kainz)
4748
6465
 
4749
6466
  * Added preview image examples to IlmImfExamples. Added
4750
- description of preview images and environment maps to
4751
- docs/api.html (Florian Kainz)
6467
+ description of preview images and environment maps to
6468
+ docs/api.html (Florian Kainz)
4752
6469
 
4753
6470
  * Bug fix: PXR24 compression did not work properly for channels with
4754
6471
  ySampling != 1. (Florian Kainz)
@@ -4756,8 +6473,8 @@ changes:
4756
6473
  * Made ``template <class T>`` become ``template <class S, class T>``
4757
6474
  for the ``transform(ObjectS, ObjectT)`` methods. This was done to
4758
6475
  allow for differing templated objects to be passed in e.g. say a
4759
- ``Box<Vec3<S>>`` and a ``Matrix44<T>``, where S=float and T=double.
4760
- (Jeff Yost, Arkell Rasiah)
6476
+ ``Box<Vec3<S>>`` and a ``Matrix44<T>``, where S=float and T=double.
6477
+ (Jeff Yost, Arkell Rasiah)
4761
6478
 
4762
6479
  * New method Matrix44::setTheMatrix(). Used for assigning a M44f to a
4763
6480
  M44d. (Jeff Yost, Arkell Rasiah)
@@ -4768,13 +6485,13 @@ changes:
4768
6485
  Rasiah)
4769
6486
 
4770
6487
  * Methods equalWithAbsError() and equalWithRelError() are now
4771
- declared as const. (Colette Mullenhoff, Arkell Rasiah)
6488
+ declared as const. (Colette Mullenhoff, Arkell Rasiah)
4772
6489
 
4773
6490
  * Fixes for gcc34. Mainly typename/template/using/this syntax
4774
- correctness changes. (Nick Ramussen, Arkell Rasiah)
6491
+ correctness changes. (Nick Ramussen, Arkell Rasiah)
4775
6492
 
4776
6493
  * Added Custom low-level file I/O examples to IlmImfExamples
4777
- and to the docs/api.html document. (Florian Kainz)
6494
+ and to the docs/api.html document. (Florian Kainz)
4778
6495
 
4779
6496
  * Eliminated most warnings messages when OpenEXR is compiled with
4780
6497
  Visual C++. The OpenEXR code uses lots of (intentional and
@@ -4828,11 +6545,11 @@ in the 1.2 series as compared to the original 1.0 series:
4828
6545
  * Add new source files to VC7 IlmImfDll target. (Drew Hess)
4829
6546
 
4830
6547
  * Iex: change the way that APPEND_EXC and REPLACE_EXC modify
4831
- their what() string to work around an issue with Visual C++
4832
- 7.1. (Florian Kainz, Nick Porcino)
6548
+ their what() string to work around an issue with Visual C++
6549
+ 7.1. (Florian Kainz, Nick Porcino)
4833
6550
 
4834
6551
  * Bumped OpenEXR version to 1.2 and .so versions to 2.0.0 in
4835
- preparation for the release. (Drew Hess)
6552
+ preparation for the release. (Drew Hess)
4836
6553
 
4837
6554
  * Imath: fixed ImathTMatrix.h to work with gcc 3.4. (Drew Hess)
4838
6555
 
@@ -4841,15 +6558,15 @@ in the 1.2 series as compared to the original 1.0 series:
4841
6558
  * Quoting fix in acinclude.m4 for automake 1.8. (Brad Hards)
4842
6559
 
4843
6560
  * Imath: put inline at beginning of declaration in ImathMatrix.h
4844
- to fix a warning. (Ken McGaugh)
6561
+ to fix a warning. (Ken McGaugh)
4845
6562
 
4846
6563
  * Imath: made Vec equalWithError () methods const.
4847
6564
 
4848
6565
  * Cleaned up compile-time Win32 support. (Florian Kainz)
4849
6566
 
4850
6567
  * Bug fix: Reading a particular broken PIZ-compressed file
4851
- caused crashes by indexing off the end of an array.
4852
- (Florian Kainz)
6568
+ caused crashes by indexing off the end of an array.
6569
+ (Florian Kainz)
4853
6570
 
4854
6571
  ## Version 1.1.1 (March 27, 2004)
4855
6572
 
@@ -4875,7 +6592,7 @@ format.
4875
6592
  is not defined.
4876
6593
 
4877
6594
  * IlmImf: fixed a bug in reading scanline files on big-endian
4878
- architectures. (Drew Hess)
6595
+ architectures. (Drew Hess)
4879
6596
 
4880
6597
  * exrmaketiled: Added an option to select compression type. (Florian
4881
6598
  Kainz)
@@ -4914,15 +6631,15 @@ format.
4914
6631
  RGBA. (Florian Kainz)
4915
6632
 
4916
6633
  * IlmImf: speed up reading tiled files as scan lines.
4917
- (Florian Kainz)
6634
+ (Florian Kainz)
4918
6635
 
4919
6636
  * Half: Fixed subtle bug in Half where signaling float NaNs
4920
- were being converted to inf in half. (Florian Kainz)
6637
+ were being converted to inf in half. (Florian Kainz)
4921
6638
 
4922
6639
  * gcc 3.3 compiler warning cleanups. (various)
4923
6640
 
4924
6641
  * Imath: ImathEuler.h fixes for gcc 3.4. (Garrick Meeker)
4925
-
6642
+
4926
6643
  ## Version 1.1.0 (February 6, 2004)
4927
6644
 
4928
6645
  OpenEXR 1.1.0 is now available. This is a major new release with
@@ -4935,18 +6652,18 @@ format.
4935
6652
  ### Detailed Changes:
4936
6653
 
4937
6654
  * Added new targets to Visual C++ .NET 2003 project
4938
- for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
4939
- (Drew Hess)
6655
+ for exrmaketiled, exrenvmap, exrmakepreview, and exrstdattr.
6656
+ (Drew Hess)
4940
6657
 
4941
6658
  * A few assorted Win32 fixes for Imath. (Drew Hess)
4942
6659
 
4943
6660
  * GNU autoconf builds now produce versioned libraries.
4944
- This release is 1:0:0. (Drew Hess)
6661
+ This release is 1:0:0. (Drew Hess)
4945
6662
 
4946
6663
  * Fixes for Visual C++ .NET 2003. (Paul Schneider)
4947
6664
 
4948
6665
  * Updated Visual C++ zlib project file to zlib 1.2.1.
4949
- (Drew Hess)
6666
+ (Drew Hess)
4950
6667
 
4951
6668
  * exrdisplay: Fixed fragment shader version. (Drew Hess)
4952
6669
 
@@ -4955,64 +6672,64 @@ format.
4955
6672
  * Imath: Handle "restrict" keyword properly. (Drew Hess)
4956
6673
 
4957
6674
  * IlmImfExamples: Updated to latest versions of example
4958
- source code, includes tiling and multi-res images.
4959
- (Florian Kainz)
6675
+ source code, includes tiling and multi-res images.
6676
+ (Florian Kainz)
4960
6677
 
4961
6678
  * exrmakepreview: A new utility to create preview images.
4962
- (Florian Kainz)
6679
+ (Florian Kainz)
4963
6680
 
4964
6681
  * exrenvmap: A new utility to create OpenEXR environment
4965
- maps. (Florian Kainz)
6682
+ maps. (Florian Kainz)
4966
6683
 
4967
6684
  * exrstdattr: A new utility to modify standard
4968
- attributes. (Florian Kainz)
6685
+ attributes. (Florian Kainz)
4969
6686
 
4970
6687
  * Updated exrheader to print level rounding mode and
4971
- preview image size. (Florian Kainz)
6688
+ preview image size. (Florian Kainz)
4972
6689
 
4973
6690
  * Updated exrmaketiled to use level rounding mode.
4974
- (Florian Kainz)
6691
+ (Florian Kainz)
4975
6692
 
4976
6693
  * IlmImf: Changed the orientation of lat-long envmaps to
4977
- match typical panoramic camera setups. (Florian Kainz)
6694
+ match typical panoramic camera setups. (Florian Kainz)
4978
6695
 
4979
6696
  * IlmImf: Fixed a bug where partially-completed files with
4980
- DECREASING_Y could not be read. (Florian Kainz)
6697
+ DECREASING_Y could not be read. (Florian Kainz)
4981
6698
 
4982
6699
  * IlmImf: Added support for selectable rounding mode (up/down)
4983
- when generating multiresolution files. (Florian Kainz)
6700
+ when generating multiresolution files. (Florian Kainz)
4984
6701
 
4985
6702
  * exrdisplay: Support for tiled images, mip/ripmaps, preview
4986
- images, and display windows. (Florian Kainz, Drew Hess)
6703
+ images, and display windows. (Florian Kainz, Drew Hess)
4987
6704
 
4988
6705
  * exrmaketiled: A new utility which generates tiled
4989
- versions of OpenEXR images. (Florian Kainz)
6706
+ versions of OpenEXR images. (Florian Kainz)
4990
6707
 
4991
6708
  * IlmImf: Changed Imf::VERSION to Imf::EXR_VERSION to
4992
- work around problems with autoconf VERSION macro
4993
- conflict. (Drew Hess)
6709
+ work around problems with autoconf VERSION macro
6710
+ conflict. (Drew Hess)
4994
6711
 
4995
6712
  * exrheader: Support for tiles, mipmaps, environment
4996
- maps. (Florian Kainz)
6713
+ maps. (Florian Kainz)
4997
6714
 
4998
6715
  * IlmImf: Environment map support. (Florian Kainz)
4999
6716
 
5000
6717
  * IlmImf: Abstracted stream I/O support. (Florian Kainz)
5001
6718
 
5002
6719
  * IlmImf: Support for tiled and mip/ripmapped files;
5003
- requires new file format. (Wojciech Jarosz, Florian Kainz)
6720
+ requires new file format. (Wojciech Jarosz, Florian Kainz)
5004
6721
 
5005
6722
  * Imath: **TMatrix**, generic 2D matricies and algorithms.
5006
- (Francesco Callari)
6723
+ (Francesco Callari)
5007
6724
 
5008
6725
  * Imath: major quaternions cleanup. (Cary Phillips)
5009
6726
 
5010
6727
  * Imath: added GLBegin, GLPushAttrib, GLPushMatrix objects
5011
- for automatic cleanup on exceptions. (Cary Phillips)
6728
+ for automatic cleanup on exceptions. (Cary Phillips)
5012
6729
 
5013
6730
  * Imath: removed implicit scalar->vector promotions and vector
5014
- comparisons. (Nick Rasmussen)
5015
-
6731
+ comparisons. (Nick Rasmussen)
6732
+
5016
6733
  ## Version 1.0.7 (January 7, 2004)
5017
6734
 
5018
6735
  OpenEXR 1.0.7 is now available. In addition to some bug fixes, this
@@ -5032,29 +6749,29 @@ we're working to restore them.
5032
6749
  * Fixed a typo in one of the IlmImfTest tests. (Paul Schneider)
5033
6750
 
5034
6751
  * Fixed a bug in exrdisplay that causes the image to display
5035
- as all black if there's a NaN or infinity in an OpenEXR
5036
- image. (Florian Kainz)
6752
+ as all black if there's a NaN or infinity in an OpenEXR
6753
+ image. (Florian Kainz)
5037
6754
 
5038
6755
  * Updated exrheader per recent changes to IlmImf library.
5039
- (Florian Kainz)
6756
+ (Florian Kainz)
5040
6757
 
5041
6758
  * Changed an errant float to a T in ImathFrame.h nextFrame().
5042
- (Cary Phillips)
6759
+ (Cary Phillips)
5043
6760
 
5044
6761
  * Support for new "optional standard" attributes
5045
- (chromaticities, luminance, comments, etc.).
5046
- (Florian Kainz, Greg Ward, Joseph Goldstone)
6762
+ (chromaticities, luminance, comments, etc.).
6763
+ (Florian Kainz, Greg Ward, Joseph Goldstone)
5047
6764
 
5048
6765
  * Fixed a buffer overrun in ImfOpaqueAttribute. (Paul Schneider)
5049
6766
 
5050
6767
  * Added new function, isImfMagic (). (Florian Kainz)
5051
-
5052
- ## Version 1.0.6:
6768
+
6769
+ ## Version 1.0.6
5053
6770
 
5054
6771
  * Added README.win32 to disted files.
5055
6772
 
5056
6773
  * Fixed OpenEXR.pc.in pkg-config file, OpenEXR now works
5057
- with pkg-config.
6774
+ with pkg-config.
5058
6775
 
5059
6776
  * Random fixes to readme files for new release.
5060
6777
 
@@ -5063,7 +6780,7 @@ we're working to restore them.
5063
6780
  * Added Visual Studio .NET 2003 "solution."
5064
6781
 
5065
6782
  * Fixes for Visual Studio .NET 2003 w/ Microsoft C++ compiler.
5066
- (Various)
6783
+ (Various)
5067
6784
 
5068
6785
  * Random Imath fixes and enhancements. Note that extractSHRT now
5069
6786
  takes an additional optional argument, see ImathMatrixAlgo.h for
@@ -5072,25 +6789,25 @@ we're working to restore them.
5072
6789
  * Added Wojciech Jarosz to AUTHORS file.
5073
6790
 
5074
6791
  * Added test cases for uncompressed case, preview images,
5075
- frame buffer type conversion. (Wojciech Jarosz,
5076
- Florian Kainz)
6792
+ frame buffer type conversion. (Wojciech Jarosz,
6793
+ Florian Kainz)
5077
6794
 
5078
6795
  * Fix a bug in IlmImf where uncompressed data doesn't get
5079
- read/written correctly. (Wojciech Jarosz)
6796
+ read/written correctly. (Wojciech Jarosz)
5080
6797
 
5081
6798
  * Added support for preview images and preview image
5082
- attributes (thumbnail images) in IlmImf. (Florian Kainz)
6799
+ attributes (thumbnail images) in IlmImf. (Florian Kainz)
5083
6800
 
5084
6801
  * Added support for automatic frame buffer type conversion
5085
- in IlmImf. (Florian Kainz)
6802
+ in IlmImf. (Florian Kainz)
5086
6803
 
5087
6804
  * Cleaned up some compile-time checks.
5088
6805
 
5089
6806
  * Added HalfTest unit tests.
5090
6807
 
5091
6808
  * [exrdisplay] Download half framebuffer to texture memory
5092
- instead of converting to float first. Requires latest
5093
- Nvidia drivers.
6809
+ instead of converting to float first. Requires latest
6810
+ Nvidia drivers.
5094
6811
 
5095
6812
  ## Version 1.0.5 (April 3, 2003)
5096
6813
 
@@ -5106,13 +6823,13 @@ the source code.
5106
6823
  * Added exrheader project to Visual Studio 6.0 workspace.
5107
6824
 
5108
6825
  * Added some example code showing how to use the IlmImf library.
5109
- (Florian)
6826
+ (Florian)
5110
6827
 
5111
6828
  * Use DLL runtime libs for Win32 libraries rather than static
5112
- runtime libs.
6829
+ runtime libs.
5113
6830
 
5114
6831
  * Add an exrdisplay_fragshader project to the Visual Studio 6.0
5115
- workspace to enable fragment shaders in Win32.
6832
+ workspace to enable fragment shaders in Win32.
5116
6833
 
5117
6834
  * Add an IlmImfDll project to the Visual Studio 6.0 workspace.
5118
6835
 
@@ -5121,24 +6838,24 @@ the source code.
5121
6838
  (Andreas Kahler)
5122
6839
 
5123
6840
  * Use auto_ptr in ImfAutoArray on Win32, it doesn't like large
5124
- automatic stacks.
6841
+ automatic stacks.
5125
6842
 
5126
6843
  * Performance improvements in PIZ decoding, between
5127
- 20 and 60% speedup on Athlon and Pentium 4 systems.
5128
- (Florian)
6844
+ 20 and 60% speedup on Athlon and Pentium 4 systems.
6845
+ (Florian)
5129
6846
 
5130
6847
  * Updated the README with various information, made
5131
- some cosmetic changes for readability.
6848
+ some cosmetic changes for readability.
5132
6849
 
5133
6850
  * Added fragment shader support to exrdisplay.
5134
6851
 
5135
6852
  * Bumped the version to 1.0.5 in prep for release.
5136
6853
 
5137
6854
  * Updated README and README.OSX to talk about CodeWarrior
5138
- project files.
6855
+ project files.
5139
6856
 
5140
6857
  * Incorporated Rodrigo Damazio's patch for an openexr.m4
5141
- macro file and an openexr.spec file for building RPMs.
6858
+ macro file and an openexr.spec file for building RPMs.
5142
6859
 
5143
6860
  * Small change in ImfAttribute.h to make IlmImf compile with gcc 2.95.
5144
6861
 
@@ -5153,29 +6870,29 @@ the source code.
5153
6870
  * Added project files for Visual Studio 6.0.
5154
6871
 
5155
6872
  * Initial Win32 port. Requires Visual Studio 6.0 and Intel C++
5156
- compiler version 7.0.
6873
+ compiler version 7.0.
5157
6874
 
5158
6875
  * Added new intersectT method in ImathSphere.h
5159
6876
 
5160
6877
  * Fixed some bugs in ImathQuat.h
5161
6878
 
5162
6879
  * Proper use of fltk-config to get platform-specific FLTK
5163
- compile- and link-time flags.
6880
+ compile- and link-time flags.
5164
6881
 
5165
6882
  * exrdisplay uses Imath::Math<T>::pow instead of powf now.
5166
- powf is not available on all platforms.
6883
+ powf is not available on all platforms.
5167
6884
 
5168
6885
  * Roll OS X "hack" into the source until Apple fixes their
5169
- istream implementation.
5170
-
6886
+ istream implementation.
6887
+
5171
6888
  ## Version 1.0.4
5172
6889
 
5173
6890
  ### Detailed Changes:
5174
6891
 
5175
6892
  * OpenEXR is now covered by a modified BSD license. See LICENSE
5176
- for the new terms.
6893
+ for the new terms.
5177
6894
 
5178
- ## Version 1.0.3:
6895
+ ## Version 1.0.3
5179
6896
 
5180
6897
  ### Detailed Changes:
5181
6898
 
@@ -5192,12 +6909,12 @@ the source code.
5192
6909
  * Make IlmImf compile with Metrowerks Codewarrior.
5193
6910
 
5194
6911
  * Change large automatic stacks in ImfHuf.C to auto_ptrs allocated
5195
- 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.
5196
6913
 
5197
6914
  * std::ios fix for MacOS X in ImfInputFile.C.
5198
6915
 
5199
6916
  * Added new FP predecessor/successor functions to Imath, added
5200
- tests to ImathTest
6917
+ tests to ImathTest
5201
6918
 
5202
6919
  * Fixed a bug in Imath::extractSHRT for 3x3 matricies when exactly one
5203
6920
  of the original scaling factors is negative, updated ImathTest to
@@ -5247,7 +6964,7 @@ the source code.
5247
6964
  * first official release.
5248
6965
 
5249
6966
  * added some high-level documentation, removed the old OpenEXR.html
5250
- documentation.
6967
+ documentation.
5251
6968
 
5252
6969
  * fixed a few nagging build problems.
5253
6970