Skip to content

Releases: AcademySoftwareFoundation/OpenColorIO

v2.4.0

01 Oct 01:29
2831d25
Compare
Choose a tag to compare

This is the main new feature release for this year and is the base version for the CY2025 VFX Reference Platform (which specifies 2.4.x).

The headline feature this year is a Preview Release of ACES 2 Output Transform support. This is a work-in-progress and we anticipate that both the processing results and the API will likely change somewhat before it is finalized. Our goal is to do that by the end of the year in a 2.4.x release.

Ideally, application developers will introduce 2.4.0 into their testing programs now and then update to the latest 2.4.x release available before shipping next year.

This documentation page explains the new features in this release.

Major new features:

PR #1983, ACES 2 Output Transforms
PR #2039, Add updated CG and Studio configs for ACES 1.3
PR #1941, Builtin Transform for Apple Log
PR #1914, OCIOView: Chromaticities inspector
PR #1932, Add AVX512 accelerated LUT1D and LUT3D
PR #2029, Add new FixedFunction and Builtin Transforms

Bug fixes and minor enhancements:

PR #1988, Add NamedTransform support for ocioconvert
PR #2051, Add DCDM displays and improve HLG OOTF implementation
PR #2052, Add Wheels for Python 3.13
PR #2006, OCIOView: App mode, tests, color space menus, bug fixes
PR #1966, OCIOView: Updates & fixes
PR #1985, OCIOView: Fix color_space_to_rgb_colourspace function usage
PR #1962, Add function to check if an extension is supported by FileTransform
PR #2059, Add hasAlias method to ColorSpace and NamedTransform
PR #2038, Add bit-depth flag to ocioconvert
PR #1981, Modify half-domain LUT1D GPU shader to improve zero handling
PR #1976, Allow read and write of file rules without color space validation
PR #2026, Update supported apps info for Photoshop and After Effects
PR #2022, Add Photoshop Beta support section to documentation
PR #2025, Remove legacy Photoshop and After Effects plug-ins
PR #2062, Add Python usage example for viewing pipeline on CPU
PR #2037, Add TouchDesigner to supported apps list
PR #2024, Fix typo in documentation
PR #1989, Improve GradingPrimary documentation
PR #2020, Allow building with gcc-15
PR #2019, Harden test temp folder handling
PR #1987, Use the correct locale include for Darwin
PR #1977, TSC & Committer update, add Mark & Cuneyt, create an emeritus section
PR #1961, Replaced deprecated Carbon framework with ColorSync and CoreGraphics
PR #1960, Add ociocpuinfo utility
PR #1950, Fix CPU unit test failures on recent macOS ARM platforms
PR #2060, Update documentation for 2.4 release

Build process enhancements:

PR #2053, Add Docker images for VFX Platform 2024 to CI
PR #2058, Fix Platform Latest CI
PR #2028, Add config file to fix ReadTheDocs builds
PR #1990, Fix for GitHub Actions node.js glibc issue
PR #1986, Improve minizip-ng installer CMake
PR #1945, Various CI workflow fixes
PR #1980, Improve Windows batch files to find installed Visual Studio location

Many thanks to the following contributors:

@remia, @cozdas, @KelSolaar, @zachlewis, @michdolan, @carolalynn, @JGoldstone, @markreidvfx, @num3ric, @KevinJW, @kingsawyer, @nick-shaw, @pennelee, @meimchu, @annieln, @AlexSchwank, @amyspark, @chandyn, @heshpdx, @SlawekNowy, @shaneantrim, @alinaka, @sumana-2705, and @doug-walker

v2.3.2

30 Jan 08:03
fa52192
Compare
Choose a tag to compare

This is an ABI-compatible update for the 2.3.x series that includes all fixes since the 2.3.1 release.

In particular, this release fixes two crashes:

  1. Certain older (generally 7-12 year old) CPUs including Intel x86-64 (Sandy Bridge and Ivy Bridge) and Intel Atom (Goldmont/Apollo Lake) microarchitectures that support SSE 4.2 SIMD instructions but do not support the initial AVX set and XSAVE, or other CPUs where the OS has disabled AVX and XSAVE support, will crash when trying to evaluate a Lut1D or Lut3D in OCIO libraries compiled with SSE enabled (which is the default). More recent CPUs (e.g., those supporting AVX2 or higher) should not be affected.

  2. Users of the Linux Python bindings via PyPI will crash when trying to use OCIO from within another application that has been compiled with the new libstdc++ ABI, per the requirements of the VFX Platform for CY2023 and CY2024.

Bug fixes and minor enhancements:

PR #1935, Prevent trying to use AVX instructions on certain CPUs that don't support them
PR #1933, Add manylinux_2_28 Python wheels for compliance with the current VFX Platform libstdc++ ABI
PR #1929, Fix ssse3 detection typo
PR #1921, Fix build break with custom PyString installs by always using system include pystring.h
PR #1924, Fix narrowing conversion error in unit test on riscv64
PR #1925, Enhance the ociochecklut command-line tool to print the output after each step

Many thanks to the following contributors:

@brechtvl, Ray Molenkamp, @remia, @markreidvfx, @pennelee, @chenrui333, @wahn, Shunji Yokozawa, Wayne Arnold, @phanen, @michdolan, and @doug-walker.

v2.3.1

08 Dec 01:58
92db29b
Compare
Choose a tag to compare

v2.3.1

This is an ABI-compatible update for the 2.3.x series that includes all fixes since the 2.3.0 release.

Bug fixes and minor enhancements:

PR #1898, Add Python 3.12 wheels
PR #1913, Improve heuristics for finding known color spaces
PR #1886, Fix missing Default View Transform on equal operator
PR #1904, Fix env serialization for v1 configs
PR #1873, Fix missing cache id reset on look update
PR #1896, Skip processor concatenation if the display color space is also data
PR #1855, Fix regression in cccid handling when no value is supplied
PR #1849, Python bindings source builds failing to load libOpenColorIO
PR #1905, Fix NamedTransform context var issue
PR #1845, Improve ocioview curve inspector
PR #1853, Improve ocioview mac support and simplify dependencies
PR #1882, Remove circular import caused by typing annotations
PR #1888, ICC Profile load issue caused by improper use of std::isspace
PR #1847, Add some small arm neon optimizations
PR #1842, Fix support for X86 32-bit
PR #1848, Add links to new release notes documentation
PR #1892, Fix spelling errors in documentation

Build enhancements:

PR #1907, Fix yaml-cpp build issues
PR #1902, Improve compatibility with minizip-ng COMPAT mode
PR #1901, Improve handling of pystring include dir
PR #1899, Restore GPU workflow and minor updates to CI
PR #1891, Simplify the Findyaml-cpp module
PR #1890, Tentative fix for the doxygen installation in the Windows CI
PR #1861, Correctly recover CXX_FLAGS in CheckSupportSSE2.cmake

Many thanks to the following contributors:

@remia, @markreidvfx, @cedrik-fuoco-adsk, @michdolan, @KelSolaar, @KevinJW, @Shootfast, @carolalynn22, @num3ric, @mdecaria, @pennelee, @ajymoonILM, @tobim, @licy183, @AbhineshJha, and @doug-walker

v2.3.0

01 Sep 02:07
b35fb73
Compare
Choose a tag to compare

This is the main new feature release for this year and is the base version for the
CY2024 VFX Reference Platform (which specifies 2.3.x).

We anticipate making an ABI-compatible 2.3.x release near the end of the year that will
fix any issues found with the new features as the 2.3.0 library gets more widely tested.
Ideally, application developers will introduce 2.3.0 into their testing programs now and
then update to the latest 2.3.x release available before shipping next year.

This documentation page explains the new features in this release.

Major new features:

PR #1816, Add new ocioview config visual editor app (alpha)
PR #1687, Utilize AVX SIMD intrinsics to accelerate Lut1D and Lut3D performance
PR #1828, Utilize Neon SIMD intrinsics and improve Universal Build support for macOS
PR #1788, Enhanced methods to find an equivalent color space between configs
PR #1802, Add command-line apps to Python Wheel
PR #1808, Add GetProcessorFromConfigs variants for displays and views
PR #1762, Disallow use of 1D textures for Lut1D ops in the GPU renderer
PR #1791, Add clear Processor cache function to accomodate changes to existing LUT files
PR #1773, Add cg-config-latest & studio-config-latest short-cuts to built-in configs
PR #1812, Add built-in transform for Display P3 and bump config version

Bug fixes and minor enhancements:

PR #1792, Add isInactiveColorSpace and getRoleColorSpace methods
PR #1832, Add hasDynamic method to CPUProcessor and allow OSL language output from Python
PR #1829, Fix named transform validation issue
PR #1779, Fix GradingPrimary bypass and allow easier comparison in Python
PR #1759, Allow PyOpenColorIO module to load DLLs from Windows PATH env var
PR #1780, Improve DisplayViewTransform error message and add more unit tests
PR #1786, Remove inactive color space warnings from unit test output
PR #1822, Remove additional color space warnings from unit test output
PR #1833, Update Python docs for new texture dimensions API
PR #1812, Fix error in Baker documentation related to LUT inversion
PR #1803, Add Thomas and Zach to the TSC
PR #1782, Add 3ds Max as a supported app

Build process enhancements:

PR #1777, Add CMake support for minimum and recommended versions of dependencies
PR #1813, Add VFX Platform 2023 to CI Linux build matrix
PR #1778, Improve Python Wheel packaging
PR #1790, Make OpenColorIO usable as a sub-project using CMake's FetchContent
PR #1806, Support minizip-ng 4 API
PR #1823, CMake fixes for yaml-cpp affecting vcpkg
PR #1793, Change min ZLib version to 1.2.8
PR #1826, Adjust to change in Sphinx breaking documentation builds
PR #1809, Adjust to change in Doxygen groups to fix documentation build
PR #1797, Adjust urllib3 version to fix CI and dependencies-latest workflows
PR #1770, Update GitHub Actions workflows
PR #1795, OSL-related fix for dependencies-latest workflow on macOS
PR #1783, Docutils version fix for dependencies-latest workflow
PR #1714, Fix CI warnings / deprecations

Many thanks to the following contributors:

@cedrik-fuoco-adsk, @remia, @markreidvfx, @michdolan, @num3ric, @KelSolaar, @carolalynn22,
@jay3d, @FtZPetruska, @brkglvn01, @brad0, @anderslanglands, and @doug-walker

v2.2.1

06 Jan 03:08
d1ef24c
Compare
Choose a tag to compare

This is an ABI compatible update for the 2.2.x series that includes the relevant fixes since the 2.2.0 release.

Bug fixes and minor enhancements:

PR #1743, Fix inverse Lut1D optimization issue (may affect identity Look transforms in camera log process spaces)
PR #1742, Improve naming of ICC-based virtual displays on Windows
PR #1741, Fix Python ARM Wheel (now works on M1-based Macs)
PR #1738, Update documentation for 2.2 release
PR #1734, Fix issue with isColorSpaceLinear function (to avoid crash when color space doesn't exist)
PR #1726, Processor cache does not detect context variable changes in FileTransform cccid string
PR #1723, Replace "texture2D" function with "texture" for GLSL 1.3 (allows use of GLSL 1.3)

Build enhancements:

PR #1736, OCIO CMake improvements
PR #1729, Hiding minizip-ng symbols on Mac
PR #1725, Fix issue with minizip build
PR #1721, CheckSupportSSE2: Fix sse flags unexpected propagation
PR #1720, Configure the OpenColorIO.pc file on Windows

v2.1.3

06 Jan 02:37
66b7b7d
Compare
Choose a tag to compare

This is an ABI compatible update for the 2.1.x series that includes the relevant fixes since the 2.1.2 release.

Bug fixes:

PR #1743, Fix inverse Lut1D optimization issue (may affect identity Look transforms in camera log process spaces)
PR #1726, Processor cache does not detect context variable changes in FileTransform cccid string
PR #1723, Replace "texture2D" function with "texture" for GLSL 1.3 (allows use of GLSL 1.3)
PR #1712, Fix atan2 argument order for HLSL (may affect ACES output transforms on Windows)
PR #1697, MinGW: Work around lack of strtof_l for local-independent parsing (allows compiling with MinGW)

v2.0.5

06 Jan 02:28
d2b672f
Compare
Choose a tag to compare

This is an ABI compatible update for the 2.0.x series that includes the relevant fixes since the 2.0.4 release.

Bug fixes:

PR #1743, Fix inverse Lut1D optimization issue (may affect identity Look transforms in camera log process spaces)
PR #1726, Processor cache does not detect context variable changes in FileTransform cccid string
PR #1723, Replace "texture2D" function with "texture" for GLSL 1.3
PR #1712, Fix atan2 argument order for HLSL (may affect ACES output transforms on Windows)

v2.2.0

31 Oct 23:11
fb9390e
Compare
Choose a tag to compare

This is the main new feature release for this year and is the base version for the CY2023 VFX Reference Platform (which specifies 2.2.x).

We anticipate making an ABI-compatible 2.2.1 release near the end of the year that will fix any bugs found with the new features as the 2.2.0 library gets more widely tested.

New features:

PR #1659, Build the new ACES CG and Studio configs into the library itself
PR #1696, Allow OCIO configs to be archived, introducing the .ocioz file format
PR #1710, Convert to or from a known external color space
PR #1703, Add a method to query whether a color space is linear
PR #1637, Address circular build dependency between OCIO and OpenImageIO

Noteworthy bug fixes and enhancements:

PR #1711, Make the interchange roles required for config versions 2.2 or higher
PR #1691, Add support for ICC Parametric curves type 1-4
PR #1689, Add getProcessor calls that take a NamedTransform
PR #1604, Add preliminary support for ACES Metadata Files (AMF)
PR #1693, Add NamedTransform support for Baking and fix crosstalk issue
PR #1704, Add Built-in Transforms for ARRI LogC4 and Canon curves
PR #1706, Add Python 3.11 wheels
PR #1712, Fix atan2 issue with ACES viewing transforms in HLSL
PR #1656, Speed up config ID hashing (replace md5 with xxhash)
PR #1684, Allow ocioconvert, ociowrite, ocioperf to invert a DisplayViewTransform
PR #1646, Provide scripts to facilitate building OCIO on Windows
PR #1630, Improve iridas_cube parsing speed
PR #1605, Add Python source distribution package for PyPI
PR #1598, Add DisplayViewTransform support to Baker
PR #1516, Default to C++ 14 and remove OIIO from ocioperf
PR #1532, Update default branch name to "main"

Other fixes and minor enhancements:

PR #1715, Fix missing warnings issue with ociocheck command-line tool
PR #1713, Update Built-in configs with official 1.0.0 CG and Studio release
PR #1708, Enforce GL_NEAREST with GPU tetrahedral interpolation
PR #1697, Built fix (strtof_l) for MinGW
PR #1695, Add anchorpoint to supported applications
PR #1694, Log OCIO version for debugging purposes
PR #1692, Fix OpenEXR build on ninja
PR #1684, Fix for const literals in HLSL
PR #1678, Build fix (from_chars, strtol_l) for those using the musl-libc library
PR #1669, Correct http links to https
PR #1647, Build fixes for MS Visual Studio 2022
PR #1636, Print version in cmake find_package
PR #1635, Adjust 'family' description in OpenColorIO.h
PR #1632, Fix "requirement" typo in installation.rst
PR #1599, Minor build and CI fixes
PR #1594, Fix cmake issue with Windows Unicode support
PR #1542, Build fixes for C++ 20
PR #1596, Update Carol Payne as TSC Chair in GOVERNANCE.md
PR #1498, Add Rémi Achard to GOVERNANCE.md & COMMITTERS.md

v2.1.2

02 Jun 01:18
e670cd9
Compare
Choose a tag to compare

This is an ABI compatible update for the 2.1.x series that includes the relevant fixes since the 2.1.1 release.

Noteworthy bug fixes and enhancements:

PR #1626, Fix half-domain Lut1D issue for certain values above HALF_MAX (#1614)
PR #1589, Python copy support (#1575)
PR #1585, Fix support for ARM64 macOS Python wheels (#1574)

Other fixes and minor enhancements:

PR #1610, Improve OpenImageIO dependency management of Imath headers (#1572)
PR #1592, Improve CMake and library install step (#1578)
PR #1591, Remove "expat" symbols (#1582)
PR #1587, Improve the GPU unit test framework (#1562)
PR #1586, Improve the OSL integration (#1561)
PR #1584, Propagate Android CMake configuration to external projects (#1579)
PR #1571, #1653, Update library name to 2.1.2

v2.0.4

02 Jun 00:48
d4435d3
Compare
Choose a tag to compare

This is an ABI compatible update for the 2.0.x series that includes the relevant fixes since the 2.0.3 release.

Noteworthy bug fixes and enhancements:

PR #1625, Fix half-domain Lut1D issue for certain values above HALF_MAX (#1614)
PR #1612, Python copy support (#1589)
PR #1611, Add virtual display Python bindings (#1464)

Other fixes and minor enhancements:

PR #1570, #1652, Update library name to 2.0.4