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 oflibIlmImf
). No header files have been renamed, they retain theImf
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:
- ID Manifest Attributes, as described in "A Scheme for Storing Object ID Manifests in OpenEXR Images", Peter Hillman, DigiPro 18: Proceedings of the 8th Annual Digital Production Symposium, August 2018.
- New program: exrcheck validates the contents of an EXR file.
๐ 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
andSInt64
types are deprecated in favor ofuint64_t
andint64_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.