OpenEXR v3.0.1 Release Notes

Release Date: 2021-04-01 // about 3 years ago
  • ๐Ÿš€ 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.