Releases: AcademySoftwareFoundation/OpenColorIO
v2.3.0
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
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
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
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
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
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
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:
v2.1.1
This is an ABI compatible update for the 2.1.x series that includes important fixes and improvements over the 2.1.0 release.
New capabilities:
PR #1557, Adds Metal Shading Language generation support to the GPU renderer (#1520)
PR #1504, Adds OpenGL ES generation support to the GPU renderer (#1497)
Noteworthy bug fixes and enhancements:
PR #1565, After Effects plug-in updates
PR #1559, Adds Metal support to ociodisplay and enables running GPU tests with Metal backend (#1538)
PR #1551, Fix issue resulting in NaNs when inverting ACES Output Transforms (#1539)
PR #1548, Implement locale-agnostic number parsing (#1496)
PR #1545, Fix issue causing configs to fail validation with certain LUT search paths (#1535)
PR #1544, Python 3.10 macOS wheels
PR #1529, Remove extra commas when writing a CDL in CLF file format (#1526)
PR #1527, Fixes Unicode paths on Windows (#1363)
PR #1524, Fix issues with OSL generation and improve the OSL unit test framework (#1514)
PR #1518, Add Python GPU renderer implementation example (#1493)
PR #1511, Improvement to color space metadata in ocioconvert exports (#1500)
PR #1488, Better manage Imath dependency (#1478)
Other fixes and minor enhancements:
PR #1568, Update library name to 2.1.1
PR #1567, Update CLF test image from CLF working group (#1563)
PR #1534, Fix add_test calls and change temporary file creation (#1522)
PR #1528, ConfigTest - Virtual display python unit test (#1481)
PR #1523, CMake: remove duplicate find_package(pybind11 ...) (#1521)
PR #1517, Update to new cibuildwheel location (#1513)
PR #1512, Remove Python wheel workflow running on every pull request (#1503)
PR #1510, Fix install paths regressions (#1502)
PR #1506, Fix the analysis workflow (#1492)
PR #1505, Support for valgrind and related fixes, OIIO cmake tweak (#1489)
PR #1501, Add support for MinGW (#1485)
PR #1499, FindExpat: allow usage of expat 2.2.9 (#1483)
PR #1494, Remove the useless cmake target on oiiotool (#1477)
PR #1490, Remove OpenColorIOHeaders target and hardcoded install paths (#1471)
v2.0.3
This is an ABI compatible update for the 2.0.x series that includes the relevant bug fixes from the 2.1.1 release.
Noteworthy bug fixes and enhancements:
PR #1554, Fix issue resulting in NaNs when inverting ACES Output Transforms (#1539)
PR #1552, Fix issue causing configs to fail validation with certain LUT search paths (#1535)
PR #1531, Improvement to color space metadata in ocioconvert exports (#1500)
PR #1530, Remove extra commas when writing a CDL in CLF file format (#1526)
Other fixes and minor enhancements:
PR #1560, Update library name to 2.0.3
v2.0.2
This is an ABI compatible update for the 2.0.x series that includes the relevant bug fixes from the 2.1 release.
Noteworthy bug fixes and enhancements:
PR #1445, Allow apps to use getColorSpaceFromFilePath even for v1 configs and deprecate parseColorSpaceFromString
PR #1459, Fix problem rendering to integer pixel layouts when there is a no-op
PR #1447, Update CLF test files, add Python scripts for CLF implemenation guide
Other fixes and minor enhancements:
PR #1445, Various fixes and plug-in updates (integrate PRs #1391, #1373)
PR #1425, Minor SonarCloud related fixes
PR #1426, Add OpenColorIOConfig.cmake generation
PR #1428, Use CMake visibility flags
PR #1409, Hide dependency symbol visibility
PR #1427, Improve DX11 & Cg fragment shader support
PR #1444, Minor code & docs enhancements
PR #1430, Minor FixedFunctionTransform fix
PR #1431, Fix VisualC++ compilation flags
PR #1410, Allow choice of building against a specific Python release
PR #1443, Fix problem in LegacyViewingPipeline using a look that is a no-op
PR #1470, Fix problem with DisplayViewTransform using a look that is a no-op
PR #1467, Improve CMake for Pystring
PR #1463, Add half directory for ociodisplay, ociolutimage
PR #1412, GPU build fix