Skip to content

v3.0.1

Compare
Choose a tag to compare
@cary-ilm cary-ilm released this 01 Apr 18:39
· 43 commits to RB-3.0 since this release

Major release with major build restructuring, 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 for more details.

Build improvements:

  • No more simultaneous static/shared build option.
  • Community-provided support for bazel.
  • Gnu autoconf/bootstrap/configure build setup has been retired.

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.