Skip to content

Commit 78eff53

Browse files
committed
CHANGES update
1 parent 3287b8e commit 78eff53

File tree

2 files changed

+150
-7
lines changed

2 files changed

+150
-7
lines changed

CHANGES.md

Lines changed: 141 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ New major features and public API changes:
4040
- New `--colorconfiginfo` prints the full inventory of color management
4141
information, including color space aliases, roles, and with improved
4242
readability of output for larger configs. #3707 (2.5.0.0)
43+
- The `--resize` command takes new optional `:from=`, `:to=`, and
44+
`:edgeclamp=` modifiers to give more general and fine control over the
45+
specific correspondence between display windows in the input image and
46+
resized destination image (including allowing partial pixel offsets).
47+
#3751 #3752 (2.5.0.1)
4348
* OIIO::getattribute() new queries:
4449
- `font_list`, `font_file_list`, `font_dir_list` return, respectively, the
4550
list of fonts that OIIO found, the list of full paths to font files, and
@@ -51,7 +56,8 @@ New major features and public API changes:
5156
(2.5.0.0)
5257
* New `OIIO::print()` exposes `Strutil::print()` in the main OIIO namespace.
5358
#3667 (2.4.6/2.5.0.0)
54-
* Extensive support for OpenColorIO 2.2 functionality:
59+
* Extensive support for OpenColorIO 2.2 functionality and improved color
60+
management:
5561
- When building against OCIO 2.2, you can specify/use the new "built-in"
5662
configs, including using `ocio://default`, which will automatically be
5763
usd if no config is specified and the `$OCIO` variable is not set #3662
@@ -68,13 +74,27 @@ New major features and public API changes:
6874
name (like "sRGB") into a canonical color space name;
6975
`equivalent(n1,n2)` returns true if it can tell that the two names
7076
refer, ultimately, to equivalent color spaces #3707 (2.5.0.0)
71-
77+
- New `ImageSpec::set_colorspace()` method is a more thorough way to set
78+
the color space data than simply setting the "oiio:ColorSpace" metadata
79+
(though it also does that). #3734 (2.5.0.1)
80+
- Improve OIIO's ability to guess which of the config's color space names
81+
are aliases for common spaces such as srgb, lin_srgb, and acescg (quite
82+
robustly if using OCIO >= 2.2, even for totally nonstandard names in the
83+
config). #3755 (2.5.0.1)
84+
- New `ColorConfig::getColorSpaceIndex()` looks up a color space index by
85+
its name, alias, or role. #3758 (2.5.0.1)
7286
* New `ImageOutput::check_open()` can be used by format writers authors to
7387
centralize certain validity tests so they don't need to be implemented
7488
separately for each file type. This is not meant to be called by client
7589
application code, only by format writer authors. #3686 (2.5.0.0)
7690

7791
Performance improvements:
92+
* Fixed some ImageBuf and IBA internals to avoid unnecessary/redundant zeroing
93+
out of newly allocated buffer memory. #3754 (2.5.0.1)
94+
* Switched the default OpenEXR reading mode to use the "exrcore" APIs (if
95+
building against OpenEXR >= 3.1). It had been possible but not enabled by
96+
default for a while. This mode seems stable and results in better OpenEXR
97+
read performance. #3788 (2.5.1.0)
7898

7999
Fixes and feature enhancements:
80100
* Python bindings:
@@ -100,6 +120,15 @@ Fixes and feature enhancements:
100120
a lookup. #3694 (2.5.0.0)
101121
- Fixed `maketx --lightprobe`, which never worked properly for images
102122
that weren't `float` pixel data type. #3732 (2.5.0.0/2.4.7.0)
123+
- Fix bad handling of `maketx --cdf`, which was trying to take an extra
124+
command line argument that it didn't need. #3748 (2.5.0.1)
125+
- Improve IC statistics appearance by omitting certain meaningless stats
126+
when no files were read by the IC/TS. #3765 (2.4.9.0/2.5.0.1)
127+
- Fixes that avoid deadlock situations on the file handle cache in certain
128+
scenarios with very high thread contention. #3784 (2.4.10.0/2.5.0.3)
129+
- maketx and oiiotool --otex: Add support for CDFs of bumpslopes channels.
130+
Previously, if you used both --bumpslopes and --cdf at the same time,
131+
the CDFs were not produced for all channels. #3793 (2.4.10.0/2.5.1.0)
103132
* oiiotool improvements:
104133
- `--printinfo` now takes new optional modifiers: `:native=1` ensures
105134
that the metadata printed is of the file, not changed by the way the
@@ -151,6 +180,12 @@ Fixes and feature enhancements:
151180
* DPX:
152181
- Fix possible write errors, fixes TALOS-2022-1651 / CVE-2022-43592 and
153182
TALOS-2022-1652 / CVE-2022-43593. #3672 (2.4.6/2.5.0.0)
183+
* FITS:
184+
- Ensure that the file is closed if open fails to find the right magic
185+
number. #3771 (2.5.1.0)
186+
* GIF:
187+
- Fix potential array overrun when writing GIF files. #3789
188+
(2.4.10.0/2.5.1.0)
154189
* HDR:
155190
- Fix a 8x (!) read performance regression for HDR files that was
156191
introduced in OIIO in 2.4. On top of that, speed up by another 4x beyond
@@ -159,21 +194,27 @@ Fixes and feature enhancements:
159194
* IFF:
160195
- Protect against 0-sized allocations. #3603 (2.5.0.0)
161196
- IOProxy support. #3647 (2.4.6/2.5.0.0)
197+
FIXME Temporarily disable IOProxy support to avoid bugs in #3760
198+
(2.5.0.1)
162199
- Fix possible write errors, fixes TALOS-2022-1654 / CVE-2022-43596,
163200
TALOS-2022-1655 / CVE-2022-43597 CVE-2022-43598, TALOS-2022-1656 /
164201
CVE-2022-43599 CVE-2022-43600 CVE-2022-43601 CVE-2022-43602 #3676
165202
(2.4.6/2.5.0.0)
203+
* OpenEXR:
204+
- Fix potential use of uninitialized value when closing. #3764 (2.5.0.1)
166205
* PBM:
167206
- Fix accidental inversion for 1-bit bipmap pbm files. #3731
168207
(2.5.0.0/2.4.8.0)
169208
* PNG:
170209
- Fix memory leaks for error conditions. #3543 #3544 (2.5.0.0)
210+
- Add EXIF write support to PNG output. #3736 (2.5.0.1)
171211
* PSD:
172212
- Fix a PSD read error on ARM architecture. #3589 (2.4.5/2.5.0.0)
173213
- Protect against corrupted embedded thumbnails. (TALOS-2022-1626,
174214
CVE-2022-41794) #3629 (2.4.5/2.5.0.0)
175215
- Fix thumbnail extraction. #3668 (2.4.6/2.5.0.0)
176216
- When reading, don't reject padded thumbnails. #3677 (2.4.6/2.5.0.0)
217+
- Fix wrong "oiio:UnassociatedAlpha" metadata. #3750 (2.5.0.1)
177218
* RAW:
178219
- Add color metadata: pre_mul, cam_mul, cam_xyz, rgb_cam. #3561 #3569
179220
#3572 (2.5.0.0)
@@ -188,23 +229,42 @@ Fixes and feature enhancements:
188229
- Fix incorrect unique_ptr allocation. #3541 (2.5.0.0)
189230
- Fix string overflow safety. (TALOS-2022-1628, CVE-2022-41981) #3622
190231
(2.4.5/2.5.0.0)
232+
- Guard against corrupted tga files Fixes TALOS-2023-1707 /
233+
CVE-2023-24473, TALOS-2023-1708 / CVE-2023-22845. #3768 (2.5.1.0/2.4.8.1)
191234
* TIFF:
192235
- Guard against corrupt files with buffer overflows. (TALOS-2022-1627,
193236
CVE-2022-41977) #3628 (2.4.5/2.5.0.0)
194237
- Guard against buffer overflow for certain CMYK files. (TALOS-2022-1633,
195238
CVE-2022-41639) (TALOS-2022-1643, CVE-2022-41988) #3632 (2.4.5/2.5.0.0)
196239
- While building against the new libtiff 4.5, use its new per-tiff error
197240
handlers to ensure better thread safety. #3719 (2.5.0.0/2.4.8.0)
241+
- Better logic for making TIFF PhotometricInterpretation tag and
242+
oiio:ColorSpace metadata correspond to each other correctly for TIFF
243+
files. #3746 (2.5.0.1)
244+
- Fix: race condition in TIFF reader, fixes TALOS-2023-1709 /
245+
CVE-2023-24472. #3772 (2.5.1.0/2.4.8.1)
246+
- Disable writing TIFF files with JPEG compression -- it never worked
247+
properly and we can't seem to fix it. The fact that nobody noticed that
248+
it never worked is taken as evidence that nobody needs it. If asked for,
249+
it just uses the default ZIP compression instead. The TIFF reader can
250+
still read JPEG-compressed TIFF files just fine, it's only writing that
251+
appears problematic. #3791 (2.5.0.4)
198252
* Zfile:
199253
- Zfile write safety, fixes TALOS-2022-1657 / CVE-2022-43603. #3670
200254
(2.4.6/2.5.0.0)
201255
* Exif / TIFF/JPEG/PSD: Fix EXIF bugs where corrupted exif blocks could
202256
overrun memory. (TALOS-2022-1626, CVE-2022-41794) (TALOS-2022-1632,
203257
CVE-2022-41684) (TALOS-2022-1636 CVE-2022-41837) #3627 (2.4.5/2.5.0.0)
258+
* Exif / TIFF/JPEG/PSD: Fix typo that prevented us from correctly naming Exif
259+
"CameraElevationAngle" metadata. #3783 (2.4.10.0/2.5.1.0)
204260
* Fix missing OIIO::getattribute support for `limits:channels` and
205261
`limits:imagesize_MB`. #3617 (2.4.5/2.5.0.0)
206262
* IBA::render_text and `oiiotool --text` now can find ".ttc" font files. #3633
207263
(2.5.0.0)
264+
* Fix ImageOutput::check_open error conditions. #3769 (2.5.1.0)
265+
* Fix thread safety issue when reading ICC profiles from multiple files
266+
simultaneously. This could affect any files with ICC profiles. #3767
267+
(2.5.1.0)
208268

209269
Developer goodies / internals:
210270
* filesystem.h:
@@ -218,8 +278,6 @@ Developer goodies / internals:
218278
(2.4.6/2.5.0.0)
219279
- IOMemReader::pread now detects and correctly handles out-of-range
220280
read positions. #3712 (2.4.7/2.5.0.0)
221-
* fmath.h:
222-
- Remove useless bitcast specializations. #3728 (2.5.0.0/2.4.8.0)
223281
* platform.h:
224282
- New macros for detecting MSVS 2019 and 2022. #3727 (2.5.0.0/2.4.8.0)
225283
* span.h:
@@ -233,6 +291,8 @@ Developer goodies / internals:
233291
(`std::wchar/wstring` is not guaranteed to 16 bits on all platforms, but
234292
`u16char/u16string` is). #3553 (2.5.0.0)
235293
- New `trimmed_whitspace()`. #3636 (2.4.5/2.5.0.0)
294+
* timer.h:
295+
- Minor improvements to Timer and LoggedTimer classes. #3753 (2.5.0.1)
236296
* tiffutils.h:
237297
- `decode_icc_profile` extracts several fields from an ICC profile binary
238298
blob and adds them as metadata to an ImageSpec. #3554 (2.5.0.0)
@@ -248,6 +308,8 @@ Developer goodies / internals:
248308
- Ensure that ustring hashes are always 64 bits, even on 32-bit
249309
architectures. #3606 (2.5.0.0)
250310
- Ensure safe use of this header from Cuda. #3718 (2.4.7/2.5.0.0)
311+
- ustringhash: Make an explicit constructor from a hash value. #3778
312+
(2.4.9.0/2.5.1.0)
251313
* Safety: excise the last instances of unsafe sprintf. #3705 (2.5.0.0)
252314

253315
Build/test system improvements and platform ports:
@@ -261,15 +323,20 @@ Build/test system improvements and platform ports:
261323
(2.4.5/2.5.0.0)
262324
- CMake config should not include a find of fmt if it's internalized.
263325
#3739 (2.4.7.1/2.5.0.0)
326+
- New CMake cache variable `OIIO_DISABLE_BOOST_STACKTRACE` to disable the
327+
stacktrace functionality for users who want to avoid the Boost
328+
stacktrace library. #3777 (2.4.9.0/2.5.1.0)
329+
- Check need for libatomic with check_cxx_source_compiles instead of the
330+
more expensive check_cxx_source_runs. #3774 (2.4.9.0/2.5.1.0)
264331
* Dependency version support:
265332
- Support for OpenColorIO 2.2. #3644 (2.5.0.0)
266333
- New CMake option `INTERNALIZE_FMT` (default ON), if set to OFF, will
267334
force OIIO clients to use the system fmt library and will not copy the
268335
necessary fmt headers into the OIIO include area. #3598 (2.4.7/2.5.0.0)
269336
- build_libtiff.bash changed to build shared library by default. #3586
270337
(2.5.0.0)
271-
- build_openexr.bash changed to build v3.1.5 by default. #3703
272-
(2.5.0.0)
338+
- build_openexr.bash changed to build v3.1.5 by default. #3703 (2.5.0.0)
339+
- Qt6 support for iv. #3779 (2.4.9.0/2.5.1.0)
273340
* Testing and Continuous integration (CI) systems:
274341
- Restored sanitizer tests which had been inadvertently disabled. #3545
275342
(2.5.0.0)
@@ -282,7 +349,9 @@ Build/test system improvements and platform ports:
282349
functionality #3655, ImageCache #3654, environment mapping #3694,
283350
texture3d #3699, term output #3714, igrep #3715, oiiotool --pdiff #3723,
284351
zover, fixnan for deep images, 2D filters #3730, pbm files #3731,
285-
maketx --lightprobe #3732. (2.5.0.0)
352+
maketx --lightprobe #3732 (2.5.0.0), TypeDesc::tostring, python
353+
ImageCache and ImageBuf #3745, maketx #3748 (2.5.0.1), ImageBufAlgo
354+
python functions #3766 (2.5.1.0).
286355
- Make testsuite/oiiotool-control run much faster by combining commands
287356
into fewer oiiotool invocations (speeds up testsuite) #3618 (2.5.0.0)
288357
- CI color related tests use the OCIO buit-in configs, when OCIO 2.2+ is
@@ -305,6 +374,9 @@ Build/test system improvements and platform ports:
305374
- ARM: Fix signed/unsigned mismatch compiler errors in vbool4 methods.
306375
#3722 (2.4.7/2.5.0.0)
307376
- ARM Mac: Fix build break. #3735 (2.5.0.0/2.4.7.1)
377+
- Windows: Fix unresolved external symbol for MSVS 2017. #3763 (2.5.0.1)
378+
- Fixes to make a clean build on Mac using Apple Clang 11.0. #3795
379+
(2.4.10.0/2.5.1.0)
308380

309381
Notable documentation changes:
310382
* Added RELEASING.md documenting our versioning and release procedures #3564
@@ -313,6 +385,68 @@ Notable documentation changes:
313385

314386

315387

388+
Release 2.4.10.0 (1 Apr 2023) -- compared to 2.4.9.0
389+
-----------------------------------------------------
390+
* Exif: Fix typo that prevented us from correctly naming Exif
391+
"CameraElevationAngle" metadata. #3783
392+
* IC/TS: Fixes that avoid deadlock situations on the file handle cache
393+
in certain scenarios with very high thread contention. #3784
394+
* Docs: Some retroactive edits to INSTALL.md to correctly document changed
395+
dependencies of the 2.4 series.
396+
* GIF: Fix potential array overrun when writing GIF files. #3789
397+
* Build: Fixes to make a clean build on Mac using Apple Clang 11.0. #3795
398+
* FYI: This version of OIIO should build against Clang 16.
399+
* maketx: Fix a broken --cdf flag, which was set up to take an argument, but
400+
should always simply have acted as a simple boolean flag on its own. The
401+
incorrect way it was set up not only was useless, but also could lead to
402+
occasional crashes. #3748
403+
* maketx and oiiotool --otex: Add support for CDFs of bumpslopes channels.
404+
Previously, if you used both --bumpslopes and --cdf at the same time, the
405+
CDFs were not produced for all channels. #3793
406+
407+
Release 2.4.9.0 (1 Mar 2023) -- compared to 2.4.8.1
408+
-----------------------------------------------------
409+
* Build: check need for libatomic with check_cxx_source_compiles instead of
410+
the more expensive check_cxx_source_runs. #3774
411+
* Fix(IC): Avoid bad IC stats when no files were read. #3765
412+
* Build: Add a cmake option OIIO_DISABLE_BOOST_STACKTRACE to disable use and
413+
dependency of boost stacktrace. #3777
414+
* ustringhash: Make an explicit constructor from a hash value. #3778
415+
* Build: Add ability to build against Qt6. #3779
416+
417+
Release 2.4.8.1 (13 Feb 2023) -- compared to 2.4.8.0
418+
-----------------------------------------------------
419+
* Fix(targa): guard against corrupted tga files Fixes TALOS-2023-1707 /
420+
CVE-2023-24473, TALOS-2023-1708 / CVE-2023-22845. #3768
421+
* Fix: race condition in TIFF reader, fixes TALOS-2023-1709 / CVE-2023-24472.
422+
#3772
423+
* Windows: Fix unresolved external symbol for MSVS 2017 #3763
424+
* Fix: Initialize OpenEXROutput::m_levelmode() in init(). #3764
425+
* Fix: improve thread safety for concurrent tiff loads. #3767
426+
* Fix(fits): Make sure to close if open fails to find right magic number.
427+
#3771
428+
429+
Release 2.4.8.0 (1 Feb 2023) -- compared to 2.4.7.1
430+
----------------------------------------------------
431+
* oiiotool --pdiff: test, be sure to count it as making output. #3723
432+
* IBAprep should not zero out deep images when creating dst #3724
433+
* PBM: Fix for incorrect inverting of 1-bit pbm images. #3731
434+
* New `ImageSpec:set_colorspace()` sets color space metadata in a consistent
435+
way. #3734
436+
* BMP: set colorspace to sRGB #3701
437+
* PNG: Add EXIF support when writing PNG files. #3735
438+
* PSD: Fix wrong oiio:UnassociatedAlpha metadata for PSD files. #3750
439+
* platform.h: set up macros for detecting MSVS 2019 and 2022 #3727
440+
* typedesc.h: Extend TypeDescFromC template to the full set of pixel types
441+
#3726
442+
* Testing: many improvements for testing and code coverage. #3730 #3654 #3694
443+
#3699 #3732 #3741 #3745 #3747
444+
* Testing: Fix long-broken ref images for texture-icwrite test #3733
445+
* Docs: Updated RTD docmentation style, looks much nicer. #3737
446+
* Docs: improve description of ociodisplay and others.
447+
* Docs: Fix old release notes to document all CVEs addressed in certain
448+
prior releases.
449+
316450
Release 2.4.7.1 (3 Jan 2023) -- compared to 2.4.7.0
317451
----------------------------------------------------
318452
* Fix build break for Mac ARM. #3735

CREDITS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ lg@openimageio.org
1919
* Aman Shah
2020
* Ananth Garre
2121
* Anders Langlands
22+
* Angus Davis
2223
* Anthony Nemoff
2324
* Aras Pranckevičius
2425
* Arkady Shapkin
@@ -67,6 +68,7 @@ lg@openimageio.org
6768
* Fredrik Averpil
6869
* Frédéric Devernay
6970
* Gaurav Bansal
71+
* Gerdya
7072
* Ghislain Antony Vaillant
7173
* Gonzalo Garramuño
7274
* Gregor Mueckl
@@ -81,6 +83,7 @@ lg@openimageio.org
8183
* Irena Damsky
8284
* Ismael Cortes
8385
* Jan Hettenkofer
86+
* Jan Honsbrok
8487
* Jens Lindgren
8588
* Jep Hill
8689
* Jeph Alapat
@@ -89,9 +92,11 @@ lg@openimageio.org
8992
* Jim Hourihan
9093
* Johannes Unterguggenberger
9194
* John Burnett
95+
* John Fea
9296
* John Haddon
9397
* Jonathan Hearn
9498
* Jonathan Scruggs
99+
* Joris Nijs
95100
* Joseph Goldstone
96101
* Julien Enche
97102
* Justin Israel
@@ -119,6 +124,7 @@ lg@openimageio.org
119124
* Mariusz Szczepanczyk
120125
* Mark Boorer
121126
* Mark Visser
127+
* Massimo Paladin
122128
* Matteo F. Vescovi
123129
* Matthew E. Levine
124130
* Max Liani
@@ -160,6 +166,7 @@ lg@openimageio.org
160166
* Roeland Schoukens
161167
* Roman Zulak
162168
* Rui Li
169+
* Russell Greene
163170
* Ryen
164171
* Saket Jalan
165172
* Sam Richards
@@ -181,10 +188,12 @@ lg@openimageio.org
181188
* Till Dechent
182189
* Tim D. Smith
183190
* Tim Grant
191+
* Tom Knowles
184192
* Troy James Sobotka
185193
* Vinod Khare
186194
* Vishal Agrawal
187195
* Vitor Franchi
196+
* Wayne Arnold
188197
* Will Rosecrans
189198
* William Krick
190199
* Wormszer

0 commit comments

Comments
 (0)