@@ -40,6 +40,11 @@ New major features and public API changes:
40
40
- New ` --colorconfiginfo ` prints the full inventory of color management
41
41
information, including color space aliases, roles, and with improved
42
42
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)
43
48
* OIIO::getattribute() new queries:
44
49
- ` font_list ` , ` font_file_list ` , ` font_dir_list ` return, respectively, the
45
50
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:
51
56
(2.5.0.0)
52
57
* New ` OIIO::print() ` exposes ` Strutil::print() ` in the main OIIO namespace.
53
58
#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:
55
61
- When building against OCIO 2.2, you can specify/use the new "built-in"
56
62
configs, including using ` ocio://default ` , which will automatically be
57
63
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:
68
74
name (like "sRGB") into a canonical color space name;
69
75
` equivalent(n1,n2) ` returns true if it can tell that the two names
70
76
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)
72
86
* New ` ImageOutput::check_open() ` can be used by format writers authors to
73
87
centralize certain validity tests so they don't need to be implemented
74
88
separately for each file type. This is not meant to be called by client
75
89
application code, only by format writer authors. #3686 (2.5.0.0)
76
90
77
91
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)
78
98
79
99
Fixes and feature enhancements:
80
100
* Python bindings:
@@ -100,6 +120,15 @@ Fixes and feature enhancements:
100
120
a lookup. #3694 (2.5.0.0)
101
121
- Fixed ` maketx --lightprobe ` , which never worked properly for images
102
122
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)
103
132
* oiiotool improvements:
104
133
- ` --printinfo ` now takes new optional modifiers: ` :native=1 ` ensures
105
134
that the metadata printed is of the file, not changed by the way the
@@ -151,6 +180,12 @@ Fixes and feature enhancements:
151
180
* DPX:
152
181
- Fix possible write errors, fixes TALOS-2022-1651 / CVE-2022 -43592 and
153
182
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)
154
189
* HDR:
155
190
- Fix a 8x (!) read performance regression for HDR files that was
156
191
introduced in OIIO in 2.4. On top of that, speed up by another 4x beyond
@@ -159,21 +194,27 @@ Fixes and feature enhancements:
159
194
* IFF:
160
195
- Protect against 0-sized allocations. #3603 (2.5.0.0)
161
196
- 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)
162
199
- Fix possible write errors, fixes TALOS-2022-1654 / CVE-2022 -43596,
163
200
TALOS-2022-1655 / CVE-2022 -43597 CVE-2022 -43598, TALOS-2022-1656 /
164
201
CVE-2022 -43599 CVE-2022 -43600 CVE-2022 -43601 CVE-2022 -43602 #3676
165
202
(2.4.6/2.5.0.0)
203
+ * OpenEXR:
204
+ - Fix potential use of uninitialized value when closing. #3764 (2.5.0.1)
166
205
* PBM:
167
206
- Fix accidental inversion for 1-bit bipmap pbm files. #3731
168
207
(2.5.0.0/2.4.8.0)
169
208
* PNG:
170
209
- 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)
171
211
* PSD:
172
212
- Fix a PSD read error on ARM architecture. #3589 (2.4.5/2.5.0.0)
173
213
- Protect against corrupted embedded thumbnails. (TALOS-2022-1626,
174
214
CVE-2022 -41794) #3629 (2.4.5/2.5.0.0)
175
215
- Fix thumbnail extraction. #3668 (2.4.6/2.5.0.0)
176
216
- 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)
177
218
* RAW:
178
219
- Add color metadata: pre_mul, cam_mul, cam_xyz, rgb_cam. #3561 #3569
179
220
#3572 (2.5.0.0)
@@ -188,23 +229,42 @@ Fixes and feature enhancements:
188
229
- Fix incorrect unique_ptr allocation. #3541 (2.5.0.0)
189
230
- Fix string overflow safety. (TALOS-2022-1628, CVE-2022 -41981) #3622
190
231
(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)
191
234
* TIFF:
192
235
- Guard against corrupt files with buffer overflows. (TALOS-2022-1627,
193
236
CVE-2022 -41977) #3628 (2.4.5/2.5.0.0)
194
237
- Guard against buffer overflow for certain CMYK files. (TALOS-2022-1633,
195
238
CVE-2022 -41639) (TALOS-2022-1643, CVE-2022 -41988) #3632 (2.4.5/2.5.0.0)
196
239
- While building against the new libtiff 4.5, use its new per-tiff error
197
240
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)
198
252
* Zfile:
199
253
- Zfile write safety, fixes TALOS-2022-1657 / CVE-2022 -43603. #3670
200
254
(2.4.6/2.5.0.0)
201
255
* Exif / TIFF/JPEG/PSD: Fix EXIF bugs where corrupted exif blocks could
202
256
overrun memory. (TALOS-2022-1626, CVE-2022 -41794) (TALOS-2022-1632,
203
257
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)
204
260
* Fix missing OIIO::getattribute support for ` limits:channels ` and
205
261
` limits:imagesize_MB ` . #3617 (2.4.5/2.5.0.0)
206
262
* IBA::render_text and ` oiiotool --text ` now can find ".ttc" font files. #3633
207
263
(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)
208
268
209
269
Developer goodies / internals:
210
270
* filesystem.h:
@@ -218,8 +278,6 @@ Developer goodies / internals:
218
278
(2.4.6/2.5.0.0)
219
279
- IOMemReader::pread now detects and correctly handles out-of-range
220
280
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)
223
281
* platform.h:
224
282
- New macros for detecting MSVS 2019 and 2022. #3727 (2.5.0.0/2.4.8.0)
225
283
* span.h:
@@ -233,6 +291,8 @@ Developer goodies / internals:
233
291
(` std::wchar/wstring ` is not guaranteed to 16 bits on all platforms, but
234
292
` u16char/u16string ` is). #3553 (2.5.0.0)
235
293
- 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)
236
296
* tiffutils.h:
237
297
- ` decode_icc_profile ` extracts several fields from an ICC profile binary
238
298
blob and adds them as metadata to an ImageSpec. #3554 (2.5.0.0)
@@ -248,6 +308,8 @@ Developer goodies / internals:
248
308
- Ensure that ustring hashes are always 64 bits, even on 32-bit
249
309
architectures. #3606 (2.5.0.0)
250
310
- 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)
251
313
* Safety: excise the last instances of unsafe sprintf. #3705 (2.5.0.0)
252
314
253
315
Build/test system improvements and platform ports:
@@ -261,15 +323,20 @@ Build/test system improvements and platform ports:
261
323
(2.4.5/2.5.0.0)
262
324
- CMake config should not include a find of fmt if it's internalized.
263
325
#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)
264
331
* Dependency version support:
265
332
- Support for OpenColorIO 2.2. #3644 (2.5.0.0)
266
333
- New CMake option ` INTERNALIZE_FMT ` (default ON), if set to OFF, will
267
334
force OIIO clients to use the system fmt library and will not copy the
268
335
necessary fmt headers into the OIIO include area. #3598 (2.4.7/2.5.0.0)
269
336
- build_libtiff.bash changed to build shared library by default. #3586
270
337
(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)
273
340
* Testing and Continuous integration (CI) systems:
274
341
- Restored sanitizer tests which had been inadvertently disabled. #3545
275
342
(2.5.0.0)
@@ -282,7 +349,9 @@ Build/test system improvements and platform ports:
282
349
functionality #3655 , ImageCache #3654 , environment mapping #3694 ,
283
350
texture3d #3699 , term output #3714 , igrep #3715 , oiiotool --pdiff #3723 ,
284
351
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).
286
355
- Make testsuite/oiiotool-control run much faster by combining commands
287
356
into fewer oiiotool invocations (speeds up testsuite) #3618 (2.5.0.0)
288
357
- 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:
305
374
- ARM: Fix signed/unsigned mismatch compiler errors in vbool4 methods.
306
375
#3722 (2.4.7/2.5.0.0)
307
376
- 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)
308
380
309
381
Notable documentation changes:
310
382
* Added RELEASING.md documenting our versioning and release procedures #3564
@@ -313,6 +385,68 @@ Notable documentation changes:
313
385
314
386
315
387
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
+
316
450
Release 2.4.7.1 (3 Jan 2023) -- compared to 2.4.7.0
317
451
----------------------------------------------------
318
452
* Fix build break for Mac ARM. #3735
0 commit comments