Releases: AcademySoftwareFoundation/OpenColorIO
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
v2.1.0
This is the main new feature release for this year and is the base version for the CY2022 VFX Reference Platform (which specifies 2.1.x).
New features:
PR #1404, Add ACES 1.3 Gamut Compression implementation
PR #1371, Add OpenFX OCIO plug-in framework and examples
PR #1401, Add Python wheel generation and support for PyPI (pip install)
PR #1462, Add preliminary support for emitting Open Shading Language (OSL)
Noteworthy bug fixes and enhancements:
PR #1432, Add Imath 3 support for Half dependency and update CI workflow
PR #1472, Increment version number for the config file and CTF formats to 2.1
PR #1417, Allow apps to use getColorSpaceFromFilePath even for v1 configs and deprecate parseColorSpaceFromString
PR #1422, Add getDefaultView(display, colorspaceName) method
PR #1446, Fix problem rendering to integer pixel layouts when there is a no-op
PR #1436, Update CLF test files, add Python scripts for CLF implemenation guide
Other fixes and minor enhancements:
PR #1391, Minor GPU build fix
PR #1403, Minor SonarCloud related fixes
PR #1373, After Effects & Photoshop plug-in updates
PR #1397, Add OpenColorIOConfig.cmake generation
PR #1411, Use CMake visibility flags
PR #1416, Hide dependency symbol visbility
PR #1406, Improve DX11 & Cg fragment shader support
PR #1414, Minor code & docs enhancements
PR #1418, Minor FixedFunctionTransform fix
PR #1419, Fix VisualC++ compilation flags
PR #1424, Allow choice of building against a specific Python release
PR #1421, Test CMake Config script
PR #1437, Fix problem in LegacyViewingPipeline using a look that is a no-op
PR #1460, Fix problem with DisplayViewTransform using a look that is a no-op
PR #1438, Correct error in installation documentation
PR #1407, Improve debugging of multiple threads
PR #1449, Improve CMake for Pystring
PR #1450, Fix for Windows library name
PR #1464, Add Python bindings for virtual display methods
PR #1469, Fix minor template instantiation issue
v2.0.1
This is a patch release containing the following fixes and minor enhancements:
PR #1303, Update the After Effects and Photoshop plug-ins to OCIO v2.
PR #1352, Fix a problem with allocation vars not being used for the legacy GPU processing path. This provides a new getOptimizedLegacyGPUProcessor call for developers to access the legacy GPU processing (although you should be using the new GPU processor anyway!) and deprecates the previous CreateLegacyShaderDesc method.
PR #1387, Fix an issue where the environment section of the config was not being validated correctly for vars without a default. This also introduces stricter rules for validation of this part of the config and prevents a possible crash affecting both v1 and v2.
PR #1394, After Effects and Photoshop plug-in build updates.
PR #1370, Fix a minor issue with how CDL ops are optimized.
PR #1365, Enable gcc -Wextra build flag and clean up the resulting warnings.
PR #1353, Re-enable support for negative stride values for packed and planar ImageDescs.
PR #1351, Improve C++ version detection and fix some compilation issues.
PR #1350, Fix and update 'setup_ocio' script.
PR #1339, Correct a typo in the OCIO_USER_CATEGORIES environment variable name.
PR #1338, Fix an issue with the RPATH that was impacting the Python binding.
PR #1336, Improvements to cmake scripts and remove the OCIO_ADD_EXTRA_BUILTINS flag.
PR #1306, Correct the minimum GLSL version specified in some places (is now GPU_LANGUAGE_GLSL_1_2).
v2.0.0
This is the official release of OpenColorIO v2! The noteworthy changes relative to v2.0.0rc1 are:
PR #1291, Fixed a bug in the single-pixel applyRGB call.
PR #1281, Additional ACES Built-in Transforms -- The built-ins now include all transforms identified by the config working group for the initial ACES config, including all of the ACES Output Transforms.
PR #1280, Add to Python binding Uniform_Float3 and setStrictParsingEnabled.
PR #1277, Fixed pybind issue to allow children of Transform class to have the correct type.
PR #1275, Restructure PyOpenColorIO -- Completed PyGpuShaderDesc and moved declarations. Fixed a number of issues with the Python documentation.
PR #1274, Added lots of new Python unit tests, adjusted a few bindings as a result. Reserved some enums for future work.
PR #1272, Avoid NaN values during Lut1D composition.
PR #1271, Python dynamic property fixes and added unit tests. Warn if more than one property is active.
PR #1270, Modify Python LogCameraTransform and FixedFunctionTransform constructors to require arguments. Direct operator<< to Python repr rather than str.
PR #1268, Make shader textures available via the Python API.
PR #1267, Add constants for new roles to the API. Have parseColorSpaceFromString include inactive spaces. Modify ociocheck to warn if roles are missing, rather than error. Fix exception propagation issue from FileRules.
PR #1266, Use OIIO-provided CMake find module to fix build issue.
v2.0.0-rc1
This is the first release candidate for OCIO v2. The final release is about two weeks away, we request people test this thoroughly and help us find any issues. Here are the noteworthy changes relative to beta2:
PR #1241, Color Space Aliases -- It is now possible to define several alternate names for a color space, for example, a full name and an abbreviated name appropriate for use in image file paths. An optional "name" attribute was also added to the config.
PR #1220, App Helpers and Category improvements -- The App Helpers functions to ease use of the library have been moved into OCIO core. Also, the options for filtering color spaces based on category is now more powerful, implementing issue #1222.
PR #1197, New API Docs implementation -- This overhauls the way the API documentation for both C++ and Python are generated. Contributors now need to manually update the frozen Python .rst files and should review the issue for details.
PR #1249, Improved Python apply functions -- This fixed several Python applyRGB issues and the unit test for PyCPUProcessor now requires NumPy.
PR #1244, Improved version handling and config synonyms -- The parser will now throw if reading a minor version higher than current (i.e. a config version 2.1 or higher will now throw). This also fixed a bug when writing v1 configs that caused them to not load correctly. Several syntax enhancements requested related to view transforms were added: - The from/to_reference color space attributes are now written as from/to_scene_reference in v2 configs, although the old syntax is also supported. - The config also now has an attribute to identify the default view transform.
PR #1221, CDLTransform cleanup -- The code for reading and writing CDLs was refactored and the API changed so that they are written more like CLF and CTF files. The write method on Processor was moved to GroupTransform. The way CDL metadata is handled was made more consistent with CLF/CTF. Files with several CDLS (e.g. ccc) may now be loaded into a single GroupTransform.
PR #1245, Finish inversion of new look ops -- This complete the work on issue #1100, these operators all work in both forward and inverse direction.
PR #1251, Fix ACEScc and XYZ built-in transforms -- Addresses issues with several built-in transforms.
PR #1252, Misc fixes -- The ColorSpaceMenuHelpers code no longer warns on v1 configs. An edge case of using LegacyViewingPipeline with named transforms was addressed.
PR #1214, Minor file rules fixes.
v2.0.0-beta2
This is the second beta for OCIO v2. The release candidate is not far off, we request people test this thoroughly and help us find any issues. Here are the noteworthy changes relative to beta1:
PR #1189, Named Color Transforms -- It is now possible to include color transforms in a config separately from color spaces.
PR #1229, Data bypass fix -- Critical bug fix for an issue where conversions on data color spaces were sometimes not bypassed.
PR #1205, Remove dynamic properties from configs -- It is not possible to use dynamic properties in configs, configs are intended to be fixed representations.
PR #1228, Bump pybind11 required version to 2.6.1 -- Moving from 2.4.3 to 2.6.1 removes a dependency that was causing build issues.
PR #1204, Some API cleanup -- Capitalization change for three functions used for iterating over available LUT file formats.
PR #1208, Remove the 'unknown' shader language -- Minor cleanup of GPU renderer API.
v2.0.0-beta1
That's the beta1 step for the coming version 2 release.
v1.1.1
- Added optional compatibility for building apps with OpenImageIO 1.9+
- Added USE_SSE checks to fix Linux build failure
- getDisplays() result ordering now matches the active_displays config
definition or OCIO_ACTIVE_DISPLAYS env var override. - Fixed incorrect getDefaultDisplay()/getDefaultView() result when
OCIO_ACTIVE_DISPLAYS or OCIO_ACTIVE_VIEWS env vars are unset. - Fixed Windows-specific GetEnv() bug
- Fixed Windows and MacOS CI failure cases