Releases: AcademySoftwareFoundation/OpenImageIO
Releases · AcademySoftwareFoundation/OpenImageIO
v3.1.12.0
Release 3.1.12.0 (Apr 1, 2026) -- compared to 3.1.11.0
- oiiotool: Better type understanding with
-i:ch=and other cleanup #5056 - texture: Fix texture overblur with st-blur parameters #5071 #5080 (by Pascal Lecocq) (3.1.12.0, 3.0.17.0)
- IBA: Handle offset data windows in fillholes_pushpull #5105 (3.1.12.0, 3.0.17.0)
- ImageInput: check_open fixes and new validity checks #5087 (3.1.12.0, 3.0.17.0)
- bmp: Use check_open to guard against corrupt resolutions #5086 (3.1.12.0, 3.0.17.0)
- heif: Fix invalid read writing 8-bit images with dimensions not a multiple of 64 #5095 (by Brecht Van Lommel)
- ico: Various validity checks and error handling for corruptions #5088 (3.1.12.0, 3.0.17.0)
- jpeg: Improved safety and error reporting for jpeg and iptc #5081
- jpeg2000: Suppress leak when reading with OpenJPH #5098
- psd: Fixes against corrupt files with better validation #5089 (3.1.12.0, 3.0.17.0)
- rla: Lots of additional validity checking and safety #5094 (3.1.12.0, 3.0.17.0)
- tiff: Support GPS fields, and other metadata enhancements #5050
- tiff: Fix buffer overrun and improve error reporting #5082, fix wrong number of values passed to
invert_photometric#5083, check for invalid bit depth in palette images #5091 - ImageSpec: metadata_val improved safety #5096 (3.1.12.0, 3.0.17.0)
- fix: Fix UB-sanitizer warning about alignment #5097
- fix: Catch exceptions in print-uncaught-messages destructor #5103
- fix: Enhanced exception safety for our use of OpenColorIO #5114
- fix: Fix possible fmt exceptions where we might have passed null string #5115
- build: Test building with clang 22.1, fix warnings uncovered #5067
- build: Improve security by pinning auto-build dependencies by hash #5076
- build: Include idiff in the python wheels we build #5104 (3.1.12.0, 3.0.17.0)
- build(pybind11): Address new pybind11 float/int auto-conversion behavior #5058
- build(win): Embed manifest in OIIO executables to enable long path handling #5066 (by Nathan Rusch)
- ci: Add CI test for MSVS 2026 #5060 (3.1.12.0, 3.0.17.0)
- ci: For security, replace workflow substitutions with safer env substitutions #5070
- ci: Speed up slow benchmarks for debug and sanitizer CI tests #5077
- ci: On Mac Intel CI variant, don't install openvdb, for speed #5065 (3.1.12.0, 3.0.17.0)
- ci: Bump GitHub Actions to latest versions #5078 #5110 #5119
- ci: Fix broken Mac CI and wheel building by specifying full compiler paths #5100 #5101 (3.1.12.0, 3.0.17.0)
- ci: Update certificates to be able to install icc #5122 (3.1.12.0, 3.0.17.0)
- ci: Turn off nightly workflows for user forks #5042
- tests: New ref outputs for tiff-misc, heif no-avif, and ffmpeg 8.1 cases #5075 #5079 #5099 #5112
- docs: Update description for dwaCompressionLevel #5074 (by Aamir Raza)
- docs: Fix formatting examples for version macros #5073
- docs: Keep TextureSystem docs in sync with ImageCache #5085 (3.1.12.0, 3.0.17.0)
- docs: Fix typos and incorrect attribute name in a comment #5093 (3.1.12.0, 3.0.17.0)
- docs: Fix misstatement about oiiotool
--if#5102 (3.1.12.0, 3.0.17.0) - admin: Draft policy on use of AI coding assistants #5072 (3.1.12.0, 3.0.17.0)
- ci: Freetype adjustments #4999
v3.0.17.0
Release 3.0.17.0 (Apr 1, 2026) -- compared to 3.0.16.0
(note: this is the obsolete branch)
- IBA: Handle offset data windows in fillholes_pushpull #5105 (3.1.12.0, 3.0.17.0)
- texture: Fix texture overblur with st-blur parameters #5071 #5080 (by Pascal Lecocq) (3.1.12.0, 3.0.17.0)
- tiff: Wrong number of values passed to invert_photometric #5083
- ImageInput: check_open fixes and new validity checks #5087 (3.1.12.0, 3.0.17.0)
- bmp: Use check_open to guard against corrupt resolutions #5086 (3.1.12.0, 3.0.17.0)
- ico: Various validity checks and error handling for corruptions #5088 (3.1.12.0, 3.0.17.0)
- psd: Fixes against corrupt files with better validation #5089 (3.1.12.0, 3.0.17.0)
- rla: Lots of additional validity checking and safety #5094 (3.1.12.0, 3.0.17.0)
- ImageSpec: metadata_val improved safety #5096 (3.1.12.0, 3.0.17.0)
- build: Include idiff in the python wheels we build #5104 (3.1.12.0, 3.0.17.0)
- ci: Add CI test for MSVS 2026 #5060 (3.1.12.0, 3.0.17.0)
- ci: On Mac Intel CI variant, don't install openvdb, for speed #5065 (3.1.12.0, 3.0.17.0)
- ci: Fix broken Mac CI and wheel building by specifying full compiler paths #5100 #5101 (3.1.12.0, 3.0.17.0)
- ci: Update certificates to be able to install icc #5122 (3.1.12.0, 3.0.17.0)
- tests: New ref outputs for heif no-avif, ffmpeg 8.1, and tiff-misc cases #5079 #5099 #5112 (3.1.12.0, 3.0.17.0)
- docs: Keep TextureSystem docs in sync with ImageCache #5085 (3.1.12.0, 3.0.17.0)
- docs: Fix typos and incorrect attribute name in a comment #5093 (3.1.12.0, 3.0.17.0)
- docs: Fix misstatement about oiiotool
--if#5102 (3.1.12.0, 3.0.17.0) - admin: Draft policy on use of AI coding assistants #5072 (3.1.12.0, 3.0.17.0)
v3.1.11.0
Release 3.1.11.0 (Mar 1, 2026) -- compared to 3.1.10.0
- oiiotool: Fix expression BOTTOM when there are exactly two images #5046
- oiiotool:
-d SUBIMAGENAME.*didn't work properly #5048 - oiiotool: Make sure
oiiotool --compressiondoes expression substitution #5055 - iv: Ability to flip, rotate and save image #5003 (by Valery Angelique)
- fix: Gamma precision #5038 (by Lumina Wang)
- bmp: Detect corrupt files where palette doesn't match bpp #5030
- heif: Monochrome channel read and write support, fix crash #5043 (by Brecht Van Lommel)
- jpeg-xl / color mgmt: Extending JXL CICP support to include P3 / color primaries 12 #5054 (by Shane Smith)
- tiff: Fix TIFF output crash for multi-count Exif metadata #5035
- tiff: Improve TIFF robustness for non-matching tag/metadata types #5036
- tiff: Correctly read TIFF EXIF fields for ExifVersion and FlashPixVersion #5045
- typedesc.h: New TypeURational type definition is like TypeRational, but with unsigned components. #5036 #5057
- win:
oiiotool --buildinfomisreported platform on MSVS #5027 - build: Raise fmt auto-build version to 12.1, handle Windows flags #5039
- build: Self-builder logic fixes for deep vs shallow clones #5034
- build: Use quote to avoid error if variable is empty #5053
- tests: Add testsuite/heif ref output for libheif 1.21 + avif support #5031
- tests: Adjust test comparision thresholds for Mac ARM #5026
- tests: Imageinout_test: add benchmark of read and write speed vs tile size #5037
- ci: Don't install OpenCV on Mac Intel job variant #5032
- ci: Temporarily disable python stub checking #5061
- ci: Add MacOS 26 (ARM) to the CI lineup #5059
v3.0.16.0
Release 3.0.16.0 (Mar 1, 2026) -- compared to 3.0.15.0
- oiiotool: Fix expression BOTTOM when there are exactly two images #5046
- bmp: Detect corrupt files where palette doesn't match bpp #5030
- tiff: Fix TIFF output crash for multi-count Exif metadata #5035
- windows:
oiiotool --buildinfomisreported platform on MSVS #5027 - build: Raise fmt auto-build version to 12.1, handle Windows flags #5039
- ci: Optimize install_homebrew_deps by coalescing installs #4975
- ci: Don't install OpenCV on Mac Intel job variant #5032
- ci: Temporarily disable python stub checking #5061
- ci: Add MacOS 26 (ARM) to the CI lineup #5059
- tests: Add testsuite/heif ref output for libheif 1.21 + avif support #5031
- tests: Adjust test comparision thresholds for Mac ARM #5026
v3.1.10.0
Release 3.1.10.0 (Feb 1, 2026) -- compared to 3.1.9.0
- perf:
IBA::resample()andoiiotool --resampleimprovements to speed up 20x or more #4993 - ImageBuf: IB::localpixels_as_[writable_]byte_image_span #5011
- ImageBufAlgo*: IBA::make_texture now honors "maketx:threads" hint #5014
- heif: Add IOProxy for input and output #5017 (by Brecht Van Lommel)
- heif: Can not output AVIF when libheif has no HEVC support #5013 (by Brecht Van Lommel)
- heif: Error saving multiple images with different bit depths #5018 (by Brecht Van Lommel)
- webp: Use correct resolution limits for WebpOutput::open #5016 (by Jesse Yurkovich)
- webp: Missing oiio:UnassociatedAlpha on input #5020 (by Brecht Van Lommel)
- fix: Several bug fixes related to internal use of image_span #5004
- build: Fix building on OpenBSD #5001 (by Brad Smith)
- deps: Libheif 1.21 support #4992
- deps: Bump build ver to 2.5.1 #5022 (by Zach Lewis)
- deps: Use libheif exported config if available #5012
- tests: Add new ref image for jpeg test #5007
- tests: Fully disable tests when their required dependencies are missing #5005
- ci: Speed up macos15 intel variant by not installing Qt #4998
- ci: Don't run non-wheel workflows when only pyproject.toml changes #4997
- ci: Windows runners switched which python version they had #5010
- ci: Test against libraw 0.22 for 'latest' test variants #5009
- ci: Lock bleeding edge to pybind11 latest version #5024
v3.0.15.0
Release 3.0.15.0 (Feb 1, 2026) -- compared to 3.0.14.0
- heif: Can not output AVIF when libheif has no HEVC support #5013 (by Brecht Van Lommel)
- heif: Error saving multiple images with different bit depths #5018 (by Brecht Van Lommel)
- webp: Use correct resolution limits for WebpOutput::open #5016 (by Jesse Yurkovich)
- ci: Speed up macos15 intel variant by not installing Qt #4998
- ci: Windows runners switched which python version they had #5010
- ci: Lock bleeding edge to pybind11 latest version #5024
v3.1.9.0
Release 3.1.9.0 (Jan 1, 2026) -- compared to 3.1.8.0
- Color management improvements:
- Auto convert between oiio:ColorSpace and CICP attributes in I/O #4964 (by Brecht Van Lommel)
- exr: Write OpenEXR colorInteropID metadata based on oiio:ColorSpace #4967 (by Brecht Van Lommel)
- jpeg-xl: CICP read and write support for JPEG-XL #4968 (by Brecht Van Lommel)
- jpeg-xl: ICC read and write for JPEG-XL files (issue 4649) #4905 (by shanesmith-dwa)
- png: We were not correctly suppressing hint metadata #4983
- sgi: Implement RLE encoding support for output #4990 (by Jesse Yurkovich)
- webp: Allow out-of-order scanlines when writing webp #4973 (by Pavan Madduri)
- fix/IBA: IBA::compare_Yee() accessed the wrong channel #4976 (by Pavan Madduri)
- perf/filesystem.h: Speedup to detect the existence of files on Windows #4977 (by JacksonSun-adsk)
- ci: Address tight disk space on GHA runners #4974
- ci: Optimize install_homebrew_deps by coalescing installs #4975
- ci: Build_Ptex.bash should build Ptex using C++17 #4978
- ci: Unbreak CI by adjusting Ubuntu installs #4981
- ci: Test against libraw 0.21.5 #4988
- docs: Fix missing docs for
OIIO:attribute()andOIIO::getattribute()#4987
v3.0.14.0
v3.1.8.0
Release 3.1.8.0 (Dec 1, 2025) -- compared to 3.1.7.0
- exif: Support EXIF 3.0 tags #4961
- jpeg: Fix wrong pointers/crashing when decodng CMYK jpeg files #4963
- openexr: Improve attribute translation rules #4946
- openexr: ACES container writes colorInteropId instead of colorInteropID #4966 (by Brecht Van Lommel)
- color mgmt: Fix some legacy 'Linear' color references #4959
- imagebuf: Fix
ImageBuf::set_pixels()bug, didn't consider roi = All #4949 - tests: Image_span_test reduce benchmark load for debug and CI renders #4951
- build: Type warning in assertion in jpeg2000output.cpp #4952
- build: Disable LERC in libTIFF local build script #4957 (by LI JI)
- ci: Fix broken ci, debug and static cases, bump some latest #4954
- ci: Unbreak icc/icx CI #4958
- admin: Update some license notices #4955