All Versions
53
Latest Version
Avg Release Cycle
189 days
Latest Release
1022 days ago

Changelog History
Page 1

  • v3.0.5 Changes

    July 01, 2021

    ๐Ÿš€ Patch release that fixes problems with library symlinks and ๐Ÿ”’ pkg-config, as well as miscellaneous bugs/security issues.

    • 1064 Use CMAKE_INSTALL_FULL_LIBDIR/INCLUDEDIR in pkgconfig for 3.*
    • ๐Ÿ— 1051 Fix non-versioned library symlinks in debug build.
    • 1050 Use CMAKE__POSTFIX for .pc file lib suffix.
    • ๐Ÿ›  1045 Fixes #1039: The vtable for TiledRgbaInputFile was not properly tagged as export
    • 1038 fix/extend part number validation in MultiPart methods
    • 1037 verify data size in deepscanlines with NO_COMPRESSION
    • 1036 detect buffer overflows in RleUncompress
    • ๐Ÿ— The Imath auto-build version defaults to Imath v3.0.5.
  • v3.0.4 Changes

    June 03, 2021

    ๐Ÿš€ Patch release that corrects a problem with the release version number of v3.0.2/v3.0.3:

    • ๐Ÿ”– 1025 Set OPENEXR_VERSION from OpenEXR_VERSION variables
    • 1028 Fix break of OpenEXRConfig.h generation after PR 1025
  • v3.0.3 Changes

    May 18, 2021

    ๐Ÿš€ Patch release that fixes a regression in v3.0.2 the prevented headers from being installed properly.

  • v3.0.2 Changes

    May 17, 2021

    ๐Ÿš€ Patch release with miscellaneous bug/build fixes, including:

    • ๐Ÿ›  Fix TimeCode.frame max value
    • Don't impose C++14 on downstream projects
    • ๐ŸŽ Restore fix to macOS universal 2 build lost from #854
    • ๐Ÿ— Imath auto-build version defaults to v3.0.2

    Specific OSS-fuzz issues:

    • OSS-fuzz 33741 Integer-overflow in Imf_3_0::getScanlineChunkOffsetTableSize
    • OSS-fuzz 32620 Out-of-memory in openexr_exrcheck_fuzzer

    ๐Ÿ”€ Merged Pull Requests:

    • ๐Ÿ— 1015 Improvements for Bazel build support
    • ๐ŸŽ 1011 Restore fix to macOS universal 2 build lost from #854
    • ๐Ÿšš 1009 Remove test/warning about CMake version < 3.11
    • 1008 Clean up setting of OpenEXR version
    • 1007 Fix TimeCode.frame max value to be 29 instead of 59
    • 1003 Prevent overflow in getScanlineChunkOffsetTableSize
    • โšก๏ธ 1001 Update CHANGES and SECURITY with recent CVE's
    • 995 Don't impose C++14 on downstream projects
    • 993 Add STATUS message showing Imath_DIR
    • ๐Ÿ–จ 992 exrcheck -v prints OpenEXR and Imath versions and lib versions
    • 991 exrcheck: make readDeepTile allocate memory for just one tile
  • v3.0.1 Changes

    April 01, 2021

    ๐Ÿš€ Major release with major build restructing, security improvements, and ๐Ÿ†• new features:

    • Restructuring:

      • The IlmBase/PyIlmBase submodules have been separated into the Imath project, now included by OpenEXR via a CMake submodule dependency, fetched automatically via CMake's FetchContent if necessary.
      • The library is now called libOpenEXR (instead of libIlmImf). No header files have been renamed, they retain the Imf prefix.
      • Symbol linkage visibility is limited to specific public symbols.
    • ๐Ÿ— Build improvements:

      • No more simultaneous static/shared build option.
      • Community-provided support for bazel.
    • ๐Ÿ†• New Features:

    • ๐Ÿ”„ Changes:

      • EXR files with no channels are no longer allowed.
      • Hard limit on the size of deep tile sizes; tiles must be less than 230 pixels.
      • Tiled DWAB files used STATIC_HUFFMAN compression.
      • Int64 and SInt64 types are deprecated in favor of uint64_t and int64_t.
      • Header files have been pruned of extraneous #include's ("Include What You Use"), which may generate compiler errors in application source code from undefined symbols or partially-defined types. These can be resolved by identifying and including the appropriate header.
      • See the porting guide for details about differences from previous releases and how to address them.
      • Also refer to the porting guide for details about changes to Imath.

    Contains all changes in 3.0.1-beta and 3.0.0-beta.

  • v3.0.1-beta Changes

    March 28, 2021

    ๐Ÿš€ Beta patch release:

    • OSS-fuzz 32370 Out-of-memory in openexr_exrcheck_fuzzer (987)
    • OSS-fuzz 32067 Out-of-memory in openexr_exrcheck_fuzzer (966)
    • OSS-fuzz 31172 Timeout in openexr_exrcheck_fuzzer (987)

    ๐Ÿ”€ Merged Pull Requests:

    • ๐Ÿš€ 989 Release notes for 3.0.1-beta
    • ๐Ÿšš 988 Remove deprecated argument to getChunkOffsetTableSize()
    • 987 exrcheck: reduceMemory now checks pixel size and scanline compression mode
    • 983 Reduce warnigns reported in #982
    • 980 Bazel cherry picks
    • ๐Ÿ“Œ 979 Pin Imath version to 3.0.0-beta on RB-3.0
    • โœ๏ธ 968 Fix typos in Int64/SInt64 deprecation warnings
    • 966 exrcheck: account for size of pixels when estimating memory
  • v3.0.0-beta Changes

    March 16, 2021

    ๐Ÿš€ Major release with major build restructing, security improvements, and ๐Ÿ†• new features:

    • Restructuring:

      • The IlmBase/PyIlmBase submodules have been separated into the Imath project, now included by OpenEXR via a CMake submodule dependency, fetched automatically via CMake's FetchContent if necessary.
      • The library is now called libOpenEXR (instead of libIlmImf). No header files have been renamed, they retain the Imf prefix.
      • Symbol linkage visibility is limited to specific public symbols. See [SymbolVisibility.md](docs/SymbolVisibility.md) for more details.
    • ๐Ÿ— Build improvements:

      • No more simultaneous static/shared build option.
      • Community-provided support for bazel.
    • ๐Ÿ†• New Features:

    • ๐Ÿ”„ Changes:

      • EXR files with no channels are no longer allowed.
      • Hard limit on the size of deep tile sizes; tiles must be less than 230 pixels.
      • Tiled DWAB files used STATIC_HUFFMAN compression.
      • Int64 and SInt64 types are deprecated in favor of uint64_t and int64_t.
      • Header files have been pruned of extraneous #include's ("Include What You Use"), which may generate compiler errors in application source code from undefined symbols or partially-defined types. These can be resolved by identifying and including the appropriate header.
      • See the porting guide for details about differences from previous releases and how to address them.
      • Also refer to the porting guide for details about changes to Imath.

    Specific OSS-fuzz issues addressed include:

    • OSS-fuzz 31539 Out-of-memory in openexr_exrcheck_fuzzer (946)
    • OSS-fuzz 31390 Out-of-memory in openexr_exrcheck_fuzzer (939)
    • OSS-fuzz 31293 Segv on unknown address in Imf_2_5::copyIntoFrameBuffer (932)
    • OSS-fuzz 31291 Sanitizer CHECK failure in "((0 && "Address is not in memory and not in shadow?")) != (0)" (0x0, 0x0) (932)
    • OSS-fuzz 31228 Integer-overflow in bool Imf_2_5::readDeepTile (930)
    • OSS-fuzz 31221 Integer-overflow in bool Imf_2_5::readDeepTile (930)
    • OSS-fuzz 31072 Out-of-memory in openexr_exrcheck_fuzzer (928)
    • OSS-fuzz 31044 Timeout in openexr_exrcheck_fuzzer (926)
    • OSS-fuzz 31015 Direct-leak in Imf_2_5::TypedAttribute::readValueFrom (925)
    • OSS-fuzz 30969 Direct-leak in Imf_2_5::DwaCompressor::LossyDctDecoderBase::execute (923)
    • OSS-fuzz 30616 Timeout in openexr_exrcheck_fuzzer (919)
    • OSS-fuzz 30605 Out-of-memory in openexr_exrcheck_fuzzer (920)
    • OSS-fuzz 30249 Out-of-memory in openexr_exrcheck_fuzzer (915)
    • OSS-fuzz 29682 Out-of-memory in openexr_exrcheck_fuzzer (902)
    • OSS-fuzz 29393 Timeout in openexr_exrcheck_fuzzer (902)
    • OSS-fuzz 28419 Out-of-memory in openexr_exrcheck_fuzzer (895)
    • OSS-fuzz 28155 Crash in Imf_2_5::PtrIStream::read (872)
    • OSS-fuzz 28051 Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer (872)
    • OSS-fuzz 27409 Out-of-memory in openexr_exrcheck_fuzzer (863)
    • OSS-fuzz 26641 Invalid-enum-value in readSingleImage (859)
    • OSS-fuzz 25648 Out-of-memory in openexr_scanlines_fuzzer (839)
    • OSS-fuzz 25156 Out-of-memory in openexr_scanlines_fuzzer (824)
    • OSS-fuzz 25002 Out-of-memory in openexr_deepscanlines_fuzzer (824)
    • OSS-fuzz 24959 Integer-overflow in Imf_2_5::cachePadding (824)
    • OSS-fuzz 24857 Out-of-memory in openexr_exrheader_fuzzer (824)
    • OSS-fuzz 24573 Out-of-memory in openexr_exrenvmap_fuzzer (824)

    ๐Ÿ”€ Merged Pull Requests

    • โœ… 971 Add missing #includes in OpenEXRFuzzTest
    • ๐Ÿš€ 967 3.0.0-beta release notes
    • 965 Bump version to 3.0.0
    • โšก๏ธ 964 Bazel-Support: Update Bazel build files to reflect CMake state
    • 963 Properly expose header files for float exceptions
    • ๐Ÿšš 962 Remove IexMath as a library
    • 961 Enable policy 77 if possible.
    • 960 Still needed to push the OPENEXR_INSTALL definition higher
    • 959 The OPENEXR_INSTALL option needs to be defined before it's used
    • 956 Replace stray Imath:: with IMATH_NAMESPACE::
    • 955 Usability improvements for submodule use.
    • 953 Add GLOBAL to add_library(zlib)
    • ๐Ÿšš 952 Remove 'long' overloads for Xdr::read and Xdr::write functions
    • 951 Change copyright notices to standard SPDX format
    • 950 Don't install ImfB44Compressor.h
    • ๐Ÿ— 949 Bazel build: Bump Imath version to current master
    • 948 Replace Int64/SInt64 with uint64_t/int64_t
    • ๐Ÿ‘ 946 better flag/type verification in deep input files
    • โš  945 Fix sign-compare warning
    • ๐Ÿ— 944 Build-time options for where to get Imath
    • 943 Add include/OpenEXR to -I and OpenEXRUtil,Iex,IlmThread to -L
    • ๐Ÿ— 942 Resolve #882 static/shared dual build
    • 939 enforce limit on area of deep tiles to prevent excessive memory use
    • 938 Replace UINT_MAX with explicit cast
    • ๐Ÿ 937 Add #include to fix Windows compile error
    • ๐Ÿ— 936 Incorporate recent config changes into BUILD.bazel
    • 932 exrcheck: fix handling xSampling when computating slice base
    • 930 exrcheck: use 64 bit integer math to prevent pointer overflows
    • ๐Ÿšš 929 Remove all references to "IlmBase"
    • ๐Ÿ‘ 928 exrcheck: better tile checks in reduceMemory mode
    • โช 926 exrcheck: Revert to using 'getStep' for Rgba interfaces
    • 925 handle reallocation of idmanifest attributes
    • ๐Ÿ†“ 923 free up memory if DWA unRle throws
    • 921 Only wait for and join joinable threads
    • 920 exrcheck: check for tilesize in reduceMemory mode
    • 919 validate size of DWA RLE buffer in decompress
    • โœ… 916 use NO_COMPRESSION in OpenEXRTest/testBackwardCompatibility
    • 915 exrcheck: assume lots of memory required whenever MultiPart ctor throws
    • ๐Ÿ—„ 913 Fixes for recent Imath deprecations
    • 911 Prevent reading or writing OpenEXR images with no channels
    • ๐Ÿ‘ 909 Add idmanifest attribute support
    • โœ… 906 expand testCompression to better test DWAA, DWAB and tiled images
    • 902 exrcheck: rework 'reduceMemory' and 'reduceTime' modes
    • 899 Change NOTICE to STATUS to address #891
    • ๐Ÿ‘ 898 Add support for Bazel
    • 895 exrcheck: make reduced memory/time modes more sensitive
    • 893 Include where required by newer compilers
    • 877 ImfCompressor: use STATIC_HUFFMAN for tiled DWAB files (fix #344)
    • 874 Fix missing header for Visual Studio
    • ๐Ÿ‘€ 872 Handle xsampling and bad seekg() calls in exrcheck
    • 869 Enable extra version tag
    • ๐Ÿ— 868 Make the default symbol visibility hidden for unixen builds
    • ๐Ÿšš 864 Remove legacy throw() specifications, conform to c++11
    • ๐Ÿ‘ 862 E2K: added initial support of MCST Elbrus 2000 CPU architecture
    • โ†ช 859 Invalidenum workaround
    • ๐Ÿ”€ 858 Merge RC-3 to master
    • 848 Validate reconstructed chunk sizes
    • 846 fix extra byte in DWA compressed data
    • 839 Validate tileoffset table size
    • โœ… 828 Address issues reported by Undefined Behavior Sanitizer running IlmImfTest
    • 824 reduce size limit for scanline files; prevent large chunkoffset allocations
    • 819 re-order shift/compare in FastHuf to prevent undefined shift overflow
    • 815 cmake: Fix paths in .pc files
    • 802 Modernize mutex
    • โœ… 796 Initial rename of OpenEXR and IlmBase directories and seperation of Test
    • 791 Initial removal of all Imath source files and minimal cmake adjustments
    • ๐Ÿ›  769 Bugfix/arkellr remove cvsignore files
  • v2.5.7 Changes

    June 16, 2021

    ๐Ÿš€ Patch release with security and build fixes:

    • OSS-fuzz 28051 Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer
    • OSS-fuzz 28155 Crash in Imf_2_5::PtrIStream::read
    • ๐Ÿ›  Fix pkg-config lib suffix for cmake debug builds

    ๐Ÿ”€ Merged Pull Requests

    • #1037 verify data size in deepscanlines which are not compressed
    • #1036 detect buffer overflows in RleUncompress
    • ๐Ÿ— #1032 Fix pkg-config lib suffix for cmake debug builds
    • ๐Ÿ‘€ #872 Handle xsampling and bad seekg() calls in exrcheck
  • v2.5.6 Changes

    May 17, 2021

    ๐Ÿš€ Patch release that fixes a regression in Imath::succf()/Imath::predf():

    • #1013 ๐Ÿ›  Fixed regression in Imath::succf() and Imath::predf() when negative values are given
  • v2.5.5 Changes

    February 12, 2021

    ๐Ÿš€ Patch release with various bug/sanitizer/security fixes, primarily related to reading corrupted input files, but also a fix for universal ๐ŸŽ build support on macOS.

    Specific OSS-fuzz issues include:

    • OSS-fuzz 30291 Timeout in openexr_exrcheck_fuzzer
    • OSS-fuzz 29106 Heap-buffer-overflow in Imf_2_5::FastHufDecoder::decode
    • OSS-fuzz 28971 Undefined-shift in Imf_2_5::cachePadding
    • OSS-fuzz 29829 Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers
    • OSS-fuzz 30121 Out-of-memory in openexr_exrcheck_fuzzer

    ๐Ÿ”€ Merged Pull Requests

    • 914 additional verification of DWA data sizes
    • โšก๏ธ 910 update tileoffset sanitycheck to handle ripmaps
    • 903 prevent overflows by using Int64 for all vars in DWA initialize
    • 901 Use size_t for DWA buffersize calculation
    • 897 prevent overflow in RgbaFile cachePadding
    • 896 add buffer size validation to FastHuf decode
    • 893 Include where required by newer compilers
    • 889 Add explicit #include for numeric_limits
    • ๐Ÿ— 854 Fix Apple Universal 2 (arm64/x86_64) builds