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