-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.html
1651 lines (1265 loc) · 84.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>OpenEXR</title>
</head>
<body background="images/exr_bkg2.jpg" bgcolor="#000000" leftmargin=0 topmargin=0 marginheight=0 marginwidth=0 alink="#00FFFF" link="#33ffFF" vlink="#33ffFF" text="#999999">
<STYLE>
body {font-family: Verdana, Arial, Helvetica, sans-serif; color:#999999;}
b {font-family: Verdana, Arial, Helvetica, sans-serif;}
td {font-family: Verdana, Arial, Helvetica, sans-serif; color:#999999;}
table {font-family: Verdana, Arial, Helvetica, sans-serif;}
p {font-family: Verdana, Arial, Helvetica, sans-serif; color:#999999;}
a {font-family: Verdana, Arial, Helvetica, sans-serif; text-decoration: none;}
h5 {font-family: Verdana, Arial, Helvetica, sans-serif; color:#cccccc;}
ol.general li {padding:4px;}
</STYLE>
<table width="770" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="270" valign="top">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2" align="left"><a href="index.html"><img src="images/exr_logo2.jpg" width="255" height="234" alt="" border="0"></a></td>
</tr>
<tr>
<td valign="top"><!-- begin navigation -->
<table width="182" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="images/spacer.gif" width="142" height="5" alt="" border="0"></td>
<td><img src="images/spacer.gif" width="42" height="5" alt="" border="0"></td>
</tr>
<tr>
<td align="right" bgcolor="#202B2F"><a href="index.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">Home</font></a><br><br>
<font face="Arial,Helvetica,sans-serif" size="1" color="#009999">
<a href="#announ" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1" color="#009999">Announcements -</font></a><br>
<a href="#support" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1" color="#009999">Supported Platforms -</font></a><br><br></td>
<td bgcolor="#202B2F"><img src="images/arrow.gif" width="42" height="28" alt="" border="0"></td>
</tr>
<tr>
<td align="right"><a href="about.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">About OpenEXR</font></a></td>
<td><img src="images/spacer.gif" width="42" height="28" alt="" border="0"></td>
</tr>
<tr>
<td align="right"><a href="samples.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">OpenEXR samples</font></a></td>
<td><img src="images/spacer.gif" width="42" height="28" alt="" border="0"></td>
</tr>
<tr>
<td align="right"><a href="documentation.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">Documentation</font></a></td>
<td><img src="images/spacer.gif" width="42" height="28" alt="" border="0"></td>
</tr>
<tr>
<td align="right"><a href="downloads.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">Downloads</font></a></td>
<td><img src="images/spacer.gif" width="42" height="28" alt="" border="0"></td>
</tr>
<tr>
<td align="right"><a href="license.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">License</font></a></td>
<td><img src="images/spacer.gif" width="42" height="28" alt="" border="0"></td>
</tr>
<tr>
<td align="right"><a href="mailinglist.html" style="text-decoration: none;"><font face="Arial,Helvetica,sans-serif" size="1">Mailing lists</font></a></td>
<td><img src="images/spacer.gif" width="42" height="28" alt="" border="0"></td>
</tr>
</table></td>
<td width="80" valign="top"><img src="images/spacer.gif" width="80" height="2" alt="" border="0"></td>
</tr>
</table><!-- end navigation --></td>
<td width="500" valign="top" bgcolor="#000000">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<br></br>
<br></br>
<br></br>
</tr>
<tr>
<td valign="top"><!-- header --><a name="top"><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#00cccc"><b><a name="top">OpenEXR</a></b></font></a></td>
</tr>
<tr>
<td valign="top" bgcolor="#870F33"><img src="images/spacer.gif" width="10" height="1" alt="" border="0"></td>
</tr>
<tr>
<td valign="top">
<!-- begin content -->
<p> </p>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<p>OpenEXR provides the specification and reference implementation of
the EXR file format, the professional-grade image storage format of
the motion picture industry. The purpose of format is to accurately
and efficiently represent high-dynamic-range scene-linear image data
and associated metadata, with strong support for multi-part,
multi-channel use cases. The library is widely used in host
application software where accuracy is critical, such as
photorealistic rendering, texture access, image compositing, deep
compositing, and DI.</p>
<p>OpenEXR a project of the <a href="https://www.aswf.io/"
target="_blank">Academy Software Foundation</a> and is part of
the <a href="https://vfxplatform.com/" target="_blank">VFX Reference
Platform.</a> OpenEXR was originally developed by Industrial Light &
Magic (ILM) and first released in 2003. Weta Digital, Walt Disney
Animation Studios, Sony Pictures Imageworks, Pixar Animation Studios,
DreamWorks, and other studios, companies, and individuals have made
significant contributions to the code base.
</p>
<p><h2><a name="mission">Mission Statement</a></h2>
<p>The goal of the OpenEXR project is to keep the format reliable and
modern and to maintain its place as the preferred image format for
entertainment content creation. Major revisions are infrequent, and
new features will be carefully weighed against increased complexity.</p>
<p>The principal priorities of the project are:</p>
<ul>
<li>Robustness, reliability, security</li>
<li>Backwards compatibility, data longevity</li>
<li>Performance - read/write/compression/decompression time</li>
<li>Simplicity, ease of use, maintainability</li>
<li>Wide adoption, multi-platform support - Linux, Windows, macOS, and others</li>
</ul>
<p>OpenEXR is intended solely for 2D data. It is not appropriate for
storage of volumetric data, cached or lit 3D scenes, or more complex
3D data such as light fields.</p>
<p><h2><a name="features">OpenEXR Features</a></h2>
<p>OpenEXR's features include:
<ul>
<li>High dynamic range and color precision.</li>
<li>Support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer pixels.</li>
<li>Multiple image compression algorithms, both lossless and lossy. Some of the included codecs can achieve 2:1 lossless compression ratios on images with film grain. The lossy codecs have been tuned for visual quality and decoding performance.</li>
<li>Extensibility. New compression codecs and image types can easily be added by extending the C++ classes included in the OpenEXR software distribution. New image attributes (strings, vectors, integers, etc.) can be added to OpenEXR image headers without affecting backward compatibility with existing OpenEXR applications.</li>
<li>Support for stereoscopic image workflows and a generalization to multi-views.</li>
<li>Flexible support for deep data: pixels can store a variable-length list of samples and, thus, it is possible to store multiple values at different depths for each pixel. Hard surfaces and volumetric data representations are accommodated.</li>
<li>Multipart: ability to encode separate, but related, images in one file. This allows for access to individual parts without the need to read other parts in the file.</li>
<li>Versioning: OpenEXR source allows for user configurable C++ namespaces to provide protection when using multiple versions of the library in the same process space.</li>
</ul>
<p><h2><a name="v3">OpenEXR and Imath Version 3</a></h2>
<p>With the release of OpenEXR 3, the Imath library formerly distributed
via the IlmBase component of OpenEXR is now an independent library
dependency, available for download from <a href="https:://github.com/AcademySoftwareFoundation/Imath.">https:://github.com/AcademySoftwareFoundation/Imath.</a>
You can choose to build OpenEXR against an external installation of
Imath, or the default CMake configuration will download and build it
automatically during the OpenEXR build process. Note that the half
16-bit floating point data type is included in Imath.</p>
<p>See the <a href="https://github.com/AcademySoftwareFoundation/Imath/blob/master/docs/PortingGuide2-3.md" target="_blank">porting guide</a>
for details about differences from previous releases and how to
address them. Also refer to the porting guide for details about
changes to Imath.</p>
<p>The OpenEXR software distribution is licensed under the modified
BSD license, available <a href="license.html"
target="_blank">here</a>.
<p align="right"><a href="#top" style="text-decoration: none;"><img src="images/top.gif" width="45" height="26" alt="back to top" border="0"></a></p>
<hr><h4>
<p><h2><a name="announ">Announcements</a></h2>
<hr>
<h3>January 27, 2021 - OpenEXR v3.1.4</h3>
<p>Patch release that addresses various issues:</p>
<ul>
<li> Several bug fixes to properly reject invalid input upon read </li>
<li> A check to enable SSE2 when building with Visual Studio</li>
<li> A check to fix building with VisualStudio on ARM64</li>
<li> Update the automatically-downloaded version of Imath to v3.1.4</li>
<li> Miscellaneous documentation improvements</li>
</ul>
<p>This addresses one public security vulnerability:</p>
<ul>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-45942"
target="_blank">CVE-2021-45942</a> Heap-buffer-overflow in Imf_3_1::LineCompositeTask::execute</li>
</ul>
<p>Specific OSS-fuzz issues:</p>
<ul>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43961" target="_blank">43961</a> Heap-buffer-overflow in generic_unpack</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43916" target="_blank">43916</a> Heap-buffer-overflow in hufDecode</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43763" target="_blank">43763</a> Heap-buffer-overflow in internal_huf_decompress</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43745" target="_blank">43745</a> Floating-point-exception in internal_exr_compute_tile_information</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43744" target="_blank">43744</a> Divide-by-zero in internal_exr_compute_tile_information</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=42197" target="_blank">42197</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=42001" target="_blank">42001</a> Timeout in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41999" target="_blank">41999</a> Heap-buffer-overflow in Imf_3_1::LineCompositeTask::execute</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41669" target="_blank">41669</a> Integer-overflow in Imf_3_1::rleUncompress</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41625" target="_blank">41625</a> Heap-buffer-overflow in uncompress_b44_impl</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41416" target="_blank">41416</a> Heap-buffer-overflow in Imf_3_1::LineCompositeTask::execute</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41075" target="_blank">41075</a> Integer-overflow in Imf_3_1::copyIntoDeepFrameBuffer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40704" target="_blank">40704</a> Crash in Imf_3_1::DeepTiledInputFile::readPixelSampleCounts</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40702" target="_blank">40702</a> Null-dereference in bool Imf_3_1::readDeepTile<Imf_3_1::DeepTiledInputFile></li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40701" target="_blank">40701</a> Null-dereference in bool Imf_3_1::readDeepTile<Imf_3_1::DeepTiledInputPart></li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40423" target="_blank">40423</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40234" target="_blank">40234</a> Heap-buffer-overflow in generic_unpack</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40231" target="_blank">40231</a> Heap-buffer-overflow in hufDecode</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40091" target="_blank">40091</a> Heap-buffer-overflow in hufDecode</li>
</ul>
<p>See the
<a href="https://github.com/AcademySoftwareFoundation/openexr/blob/v3.1.4/CHANGES.md">release
notes</a> for more details</p>
<p>Download OpenEXR v3.1.4 from <a href="https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.4">https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.4.</a></p>
<hr>
<h3>January 21, 2021 - Imath v3.1.4</h3>
<p>Patch release with miscellaneous bug/doc/build fixes.</.>
<ul>
<li>Added missing check _M_IX86 or _M_X64 when using __lzcnt.</li>
<li>SolveNormalizedCubic fix to return proper real root</li>
<li>Add docs target only if not a subproject</li>
<li>Fix docs race condition and make installation optional</li>
<li>Remove dead PyImath code and references to ilmbase</li>
<li>Use equalWithAbsError instead of equal operator for float</li>
<li>Fix sphinx warnings and man page filenames</li>
<li>Adding missing stdexcept header</li>
<li>Use .x instead of operator[] for better SIMD auto-vectorization</li>
<li>Successor/predecessor functions use isnan() and isinf()</li>
<li>Fix python imath export</li>
<li>Cuda safety fixes</li>
</ul>
<p>See the
<a href="https://github.com/AcademySoftwareFoundation/Imath/blob/v3.1.4/CHANGES.md">release
notes</a> for more details</p>
<p>Download Imath v3.1.4 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.4">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.4.</a></p>
<hr>
<h3>October 27, 2021 - OpenEXR v3.1.3</h3>
<p>Patch release with a change to default zip compression level:</p>
<ul>
<li>Default zip compression level is now 4 (instead of 6), which in
our tests improves compression times by 2x with only a tiny drop in
compression ratio.</li>
<li>setDefaultZipCompression() and setDefaultDwaCompression() now set
default compression levels for writing.</li>
<li>The Header now has zipCompressionLevel() and dwaCompressionLevel()
to get/set the levels used for writing.</li>
</ul>
<p>Also, various bug fixes, build improvements, and documentation updates. In particular:</p>
<ul>
<li>Fixes a build failure with Imath prior to v3.1</li>
<li>Fixes a bug in detecting invalid chromaticity values</li>
</ul>
<p>See the
<a href="https://github.com/AcademySoftwareFoundation/openexr/blob/v3.1.3/CHANGES.md">release
notes</a> for more details</p>
<p>Download OpenEXR v3.1.3 from <a href="https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.3">https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.3.</a></p>
<hr>
<h3>Oct 4, 2021 - OpenEXR v3.1.2</h3>
<p>Patch release with various bug fixes, build improvements, and
documentation updates. In particular:</p>
<ul>
<li> Fix a test failure on arm7 </li>
<li> Proper handling of pthread with glibc 2.34+ </li>
<li> Miscellaneous fixes for handling of invalid input by the new
OpenEXRCore library </li>
</ul>
<p>
With this version, the OpenEXR technical documentation formerly
distributed exclusivly as pdf's is now published online at
<a href="https://openexr.readthedocs.io">https://openexr.readthedocs.io</a>, with the document source now
maintained as .rst files in the repo's docs subfolder. </p>
<p>Specific OSS-fuzz issues:</p>
<ul>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39196)">OSS-fuzz 39196</a>
Stack-buffer-overflow in dispatch_print_error </li>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39198)">OSS-fuzz 39198</a>
Direct-leak in exr_attr_chlist_add_with_length </li>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39206)">OSS-fuzz 39206</a>
Direct-leak in extract_attr_string_vector </li>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39212)">OSS-fuzz 39212</a>
Heap-use-after-free in dispatch_print_error </li>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39205)">OSS-fuzz 39205</a>
Timeout in openexr_exrcheck_fuzzer </li>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38912)">OSS-fuzz 38912</a>
Integer-overflow in Imf_3_1::bytesPerDeepLineTable </li>
<li> <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39084)">OSS-fuzz 39084</a>
Divide-by-zero in Imf_3_1::RGBtoXYZ </li>
</ul>
<p>See the
<a href="https://github.com/AcademySoftwareFoundation/openexr/blob/v3.1.2/CHANGES.md">release
notes</a> for more details</p>
<p>Download OpenEXR v3.1.2 from <a href="https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.2">https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.2.</a></p>
<hr>
<h3>Sep 2, 2021 - Imath v3.1.3</h3>
Patch release with miscellaneous minor fixes.
<p>See the
<a href="https://github.com/AcademySoftwareFoundation/Imath/blob/v3.1.3/CHANGES.md">release
notes</a> for more details</p>
<p>Download Imath v3.1.3 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.3">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.3.</a></p>
<hr>
<h3>Aug 2, 2021 - OpenEXR v3.1.1</h3>
<p>Patch release that fixes build failures on various systems (ARM64
macOS, FreeBSD), introduces
CMake <tt>CMAKE_CROSSCOMPILING_EMULATOR</tt> support, and fixes a
few other minor issues.</p>
<p>See the
<a href="https://github.com/AcademySoftwareFoundation/openexr/blob/v3.1.1/CHANGES.md">release
notes</a> for more details</p>
<p>Download OpenEXR v3.1.1 from <a href="https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.1">https://github.com/AcademySoftwareFoundation/OpenEXR/releases/tag/v3.1.1.</a></p>
<hr>
<h3>July 31, 2021 - Imath v3.1.2</h3>
<p>Patch release that fixes a potential Windows build issue</p>
<p>Download Imath v3.1.2 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.2">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.2.</a></p>
<hr>
<h3>July 22, 2021 - OpenEXR v3.1.0</h3>
<p>The 3.1 release of OpenEXR introduces a new library, OpenEXRCore,
which is the result of a significant re-thinking of how OpenEXR
manages file I/O and provides access to image data. It begins to
address long-standing scalability issues with multithreaded image
reading and writing.</p>
<p>The OpenEXRCore library provides thread-safe, non-blocking access to
files, which was not possible with the current API, where the
framebuffer management is separate from read requests. It is written
entirely in C and provides a new C-language API alongside the existing
C++ API. This new low-level API allows applications to do custom
unpacking of EXR data, such as on the GPU, while still benefiting from
efficient I/O, file validation, and other semantics. It provides
efficient direct access to EXR files in texturing applications. This C
library also introduces an easier path to implementing OpenEXR
bindings in other languages, such as Rust.</p>
<p>The 3.1 release represents a technology preview for upcoming
releases. The initial release is incremental; the existing API and
underlying behavior has not changed. The new API is available now for
performance validation testing, and then in future OpenEXR releases,
the C++ API will migrate to use the new core in stages. It is not the
intention to entirely deprecate the C++ API, nor must all applications
re-implement EXR I/O in terms of the C library. The C API does not,
and will not, provide the rich set of utility classes that exist in
the C++ layer. The 3.1 release of the OpenEXRCore library simply
offers new functionality for specialty applications seeking the
highest possible performance. In the future, the ABI will evolve, but
the API will remain consistent, or only have additions. </p>
<h4>Technical Design</h4>
<p>The OpenEXRCore API introduces a ``context`` object to manage file
I/O. The context provides customization for I/O, memory allocation,
and error handling. This makes it possible to use a decode and/or
encode pipeline to customize how the chunks are written and read, and
how they are packed or unpacked.</p>
<p>The OpenEXRCore library is built around the concept of “chunks”, or
atomic blocks of data in a file, the smallest unit of data to be read
or written. The contents of a chunk vary from file to file based on
compression (i.e. zip and zips) and layout (scanline
vs. tiled). Currently this is either 1, 16, or 32 scanlines, or 1 tile
(or subset of a tile on edge boundaries / small mip level).</p>
<p>The OpenEXRCore library is specifically designed for multipart EXR
files. It will continue to produce legacy-compatible single part files
as needed, but the API assumes you are always dealing with a
multi-part file. It also fully supports attributes, although being C,
it lacks some of the C++ layer’s abstraction.</p>
<h4>Limitations:</h4>
<ul>
<li>No support yet for DWAA and DWAB compression during decode and
encode pipelines. The low-level chunk I/O still works with DWAA
and DWAB compressed files, but the encoder and decoder are not yet
included in this release.</li>
<li>For deep files, reading of deep data is functional, but the path
for encoding deep data into chunk-level data (i.e. packing and
compressing) is not yet complete.</li>
<li>For both of these deficiencies, it is easy to define a custom
routine to implement this, should it be needed prior to the
library providing full support.</li>
<li>No attempt to search through the file and find missing chunks is
made when a corrupt chunk table is encountered. However, if a
particular chunk is corrupt, this is handled such that the other
chunks may be read without rendering the context unusable</li>
</ul>
<p>Download OpenEXR v3.1.0 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.1.0">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.1.0.</a></p>
<hr>
<h3>July 20, 2021 - Imath v3.1.1</h3>
<p>Patch release that fixes a build failure on ARM64 macOS</p>
<p>Download Imath v3.1.1 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.1">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.1.</a></p>
<hr>
<h3>July 13, 2021 - Imath v3.1.0</h3>
<p>Minor release with new features:</p>
<ul>
<li>Optimized half-to-float and float-to-half conversion, using F16C
SSE instruction set if available. Non-SSE conversion eliminates the
float-to-half exponent lookup table, and half-to-float conversion
provides a compile-time-optional bit shifting that is slower but
eliminates the need for the lookup table, for applications where
memory is limited.</li>
<li> Half-to-float and float-to-half conversion is also available as
C-language functions <tt>imath_half_to_float()</tt> and
<tt>imath_float_to_half()</tt>.</li>
<li> All new conversions produced identical results, and new options are
off by default to ensure backwards compatibility. See
<a href="https://imath.readthedocs.io">https://imath.readthedocs.io</a>
for more info.</li>
<li> <tt>NOEXCEPT</tt> specifier can be eliminated at compile-time via the
<tt>IMATH_USE_NOEXCEPT</tt> CMake option.</li>
<li> Python bindings:
<ul>
<li> FixedArray objects support a "read only" state. </li>
<li> FixedArray objects support python buffer protocol.</li>
</ul>
</li>
<li>Optimized 4x4 matrix multiplication.</li>
</ul>
<p>Download Imath v3.1.0 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.0">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.1.0.</a></p>
<hr>
<h3>July 1, 2021 - OpenEXR v3.0.5</h3>
<p>Patch release that fixes problems with library symlinks and pkg-config, as well as miscellaneous bugs/security issues.</p>
<p>Download OpenEXR v3.0.5 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.5">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.5.</a></p>
<hr>
<h3>June 16, 2021 - OpenEXR v2.5.7</h3>
<p>Patch release for v2.5 with security and build fixes:</p>
<ul>
<li> OSS-fuzz
<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28051"
target="_blank">28051</a> Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer</li>
<li> OSS-fuzz
<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28155"
target="_blank">28155</a> Crash in Imf_2_5::PtrIStream::read </li>
<li> Fix broken symlink and pkg-config lib suffix for cmake debug
builds </li>
</ul>
<p>Download OpenEXR v2.5.7 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.7">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.7.</a></p>
<hr>
<h3>June 3, 2021 - OpenEXR v3.0.4</h3>
<p>Patch release that corrects a problem with the release version
numbers in v3.0.2/v3.0.3, and with the referenced Imath release. </p>
<p>Download OpenEXR v3.0.4 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.4">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.4.</a></p>
<hr>
<h3>June 1, 2021 - Imath v3.0.4</h3>
<p>Patch release that corrects a problem with the release version number
of v3.0.2</p>
<p>Download Imath v3.0.4 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.4">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.4.</a></p>
<hr>
<h3>May 18, 2021 - OpenEXR v3.0.3</h3>
<p>Patch release that fixes a regression in v3.0.2 the prevented headers
from being installed properly.</p>
<p>Download OpenEXR v3.0.3 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.3">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.3.</a></p>
<hr>
<h3>May 17, 2021 - OpenEXR v3.0.2</h3>
<p>Patch release with miscellaneous bug/build fixes, primarily:</p>
<ul>
<li>Fix TimeCode.frame max value</li>
<li> Don't impose C++14 on downstream projects </li>
<li> Restore fix to macOS universal 2 build lost from #854 </li>
</ul>
<p>Specific OSS-fuzz issues:</p>
<ul>
<li> OSS-fuzz
<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33741"
target="_blank">33741</a> Integer-overflow in Imf_3_0::getScanlineChunkOffsetTableSize</li>
<li> OSS-fuzz
<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32620"
target="_blank">32620</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
</ul>
<p>Download OpenEXR v3.0.2 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.2">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.2.</a></p>
<hr>
<h3>May 17, 2021 - OpenEXR v2.5.6</h3>
<p>Patch release for v2.5 that fixes a regression in Imath::succf()/Imath::predf().</p>
<p>Download OpenEXR v2.5.6 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.6">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.6.</a></p>
<hr>
<h3>May 17, 2021 - OpenEXR v2.4.3</h3>
<p>Patch release for v2.4 that addresses the following security vulnerabilities:</p>
<ul>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-20296" target="_blank">CVE-2021-20296</a> Segv on unknown address in Imf_2_5::hufUncompress - Null Pointer dereference </li>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-3479" target="_blank">CVE-2021-3479</a> Out-of-memory in openexr_exrenvmap_fuzzer </li>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-3478" target="_blank">CVE-2021-3478</a> Out-of-memory in openexr_exrcheck_fuzzer </li>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-3477" target="_blank">CVE-2021-3477</a> Heap-buffer-overflow in Imf_2_5::DeepTiledInputFile::readPixelSampleCounts </li>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-3476" target="_blank">CVE-2021-3476</a> Undefined-shift in Imf_2_5::unpack14 </li>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-3475" target="_blank">CVE-2021-3475</a> Integer-overflow in Imf_2_5::calculateNumTiles </li>
<li> <a href="https://nvd.nist.gov/vuln/detail/CVE-2021-3474" target="_blank">CVE-2021-3474</a> Undefined-shift in Imf_2_5::FastHufDecoder::FastHufDecoder </li>
</ul>
<p>Also:</p>
<ul>
<li> Fixed regression in Imath::succf() and Imath::predf() when
negative values are given </li>
</ul>
<p>Download OpenEXR v2.4.3 from <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.3">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.3.</a></p>
<hr>
<h3>May 16, 2021 - Imath v3.0.2</h3>
<p>Patch release with miscellaneous bug/build fixes, primarily:</p>
<ul>
<li> Fix regression in succf()/predf() </li>
<li> Don't impose C++14 on downstream projects </li>
</ul>
<p>Download Imath v3.0.2 from <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.2">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.2.</a></p>
<hr>
<h3>April 1, 2021 - OpenEXR and Imath v3.0</h3>
<p>The OpenEXR Project and the Academy Software Foundation (ASWF)
announced the official release of OpenEXR and Imath version 3.0, now
available for developers to integrate into their applications.</p>
<p>The 3.0 release of OpenEXR addresses a number of security issues and
introduces several new features, including ID Manifest attributes, but
it is primarily a major restructuring and simplification of the build
process and modernization of the code that involves moving Imath to an
external project dependency.</p>
<p>Largely backwards compatible with previous releases, Imath 3.0 brings
the library up to modern standards for performance and utility. By
promoting Imath as a project independent of OpenEXR, we hope to
encourage its use throughout the motion picture and computer graphics
community.</p>
<p>See
the <a href="https://github.com/AcademySoftwareFoundation/Imath/blob/master/CHANGES.md">Imath</a>
and <a href="https://github.com/AcademySoftwareFoundation/openexr/blob/master/CHANGES.md">OpenEXR</a>
release notes for details and the <a href="https://github.com/AcademySoftwareFoundation/Imath/blob/master/docs/PortingGuide2-3.md">porting
guide</a> for more information about the differences with previous versions. And read the documentation at
<a href="https://imath.readthedocs.io"
target="_blank">https://imath.readthedocs.io</a>. And please report
any problems and share your feedback either through the GitHub repo
or <a href="mailto:[email protected]">[email protected]</a>.</p>
<hr>
<h3>March 28, 2021 - OpenEXR v3.0.1-beta</h3>
<p>Beta patch release:</p>
<ul>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32370" target="_blank">32370</a> Out-of-memory in openexr_exrcheck_fuzzer </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=32067" target="_blank">32067</a> account for size of pixels when estimating memory </li>
</ul>
<hr>
<h3>March 28, 2021 - Imath v3.0.1-beta</h3>
<p>Beta patch release:</p>
<ul>
<li>#if IMATH_FOREIGN_VECTOR_INTEROP around type detectors</li>
<li>Forward declarations only if header is not included</li>
</ul>
<hr>
<h3>March 16, 2020 - OpenEXR v3.0.0-beta</h3>
<h4>OpenEXR version v3.0.0-beta is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.0-beta">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.0.0-beta</a></h4>
<p>Major release with major build restructing, security improvements, and
new features:</p>
<ul>
<li> Restructuring:
<ul>
<li> The IlmBase/PyIlmBase submodules have been separated into the
Imath project, now included by OpenEXR via a CMake submodule
dependency, fetched automatically via CMake's FetchContent if
necessary.</li>
<li> The library is now called <tt>libOpenEXR</tt> (instead of
<tt>libIlmImf</tt>). No header files have been renamed, they retain
the <tt>Imf</tt> prefix.</li>
<li> Symbol linkage visibility is limited to specific public symbols.</li>
</ul>
</li>
<li> Build improvements:
<ul>
<li> No more simultaneous static/shared build option.
Gnu autoconf/bootstrap/configure build setup has been retired.</li>
<li> Community-provided support for bazel.</li>
</ul>
</li>
<li> New Features:
<ul>
<li> ID Manifest Attributes, as described in <a href="https://doi.org/10.1145/3233085.3233086" target="_blank">"A Scheme for
Storing Object ID Manifests in OpenEXR Images"</a>, Peter
Hillman, DigiPro 18: Proceedings of the 8th Annual Digital
Production Symposium, August 2018.</li>
<li> New program: exrcheck validates the contents of an EXR file.</li>
</ul>
</li>
<li> Changes:
<ul>
<li> EXR files with no channels are no longer allowed.</li>
<li> Hard limit on the size of deep tile sizes; tiles must be less than
2<sup>30</sup> pixels.</li>
<li> Tiled DWAB files used STATIC_HUFFMAN compression.
<li> <tt>Int64</tt> and <tt>SInt64</tt> types are deprecated in favor of
<tt>uint64_t</tt> and <tt>int64_t</tt>.</li>
<li> Header files have been pruned of extraneous <tt>#include</tt>'s
("Include What You Use"), which may generate compiler errors
in application source code from undefined symbols or
partially-defined types. These can be resolved by identifying
and including the appropriate header.</li>
<li> See the <a href="https://github.com/AcademySoftwareFoundation/Imath/blob/master/docs/PortingGuide2-3.md" target="_blank">porting
guide</a>
for details about differences from previous releases and how
to address them.</li>
<li> Also refer to the porting guide for details about changes to
Imath.</li>
</ul>
</li>
</ul>
<p>Specific OSS-fuzz issues addressed include:</p>
<ul>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24573" target="_blank">24573</a>Out-of-memory in openexr_exrenvmap_fuzzer </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24857" target="_blank">24857</a> Out-of-memory in openexr_exrheader_fuzzer </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25002" target="_blank">25002</a> Out-of-memory in openexr_deepscanlines_fuzzer </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25648" target="_blank">25648</a> Out-of-memory in openexr_scanlines_fuzzer </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26641" target="_blank">26641</a> Invalid-enum-value in readSingleImage </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28051" target="_blank">28051</a> Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28155" target="_blank">28155</a> Crash in Imf_2_5::PtrIStream::read </li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28419" target="_blank">28419</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29393" target="_blank">29393</a> Timeout in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29423" target="_blank">29423</a> Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29653" target="_blank">29653</a> Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29682" target="_blank">29682</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30115" target="_blank">30115</a> Timeout in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30249" target="_blank">30249</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30605" target="_blank">30605</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30616" target="_blank">30616</a> Timeout in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30969" target="_blank">30969</a> Direct-leak in Imf_2_5::DwaCompressor::LossyDctDecoderBase::execute</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31015" target="_blank">31015</a> Direct-leak in Imf_2_5::TypedAttribute<Imf_2_5::CompressedIDManifest>::readValueFrom</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31044" target="_blank">31044</a> Timeout in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31072" target="_blank">31072</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31221" target="_blank">31221</a> Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputPart></li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31228" target="_blank">31228</a> Integer-overflow in bool Imf_2_5::readDeepTile<Imf_2_5::DeepTiledInputFile></li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31291" target="_blank">31291</a> Sanitizer CHECK failure in ""((0 && ""Address is not in memory and not in shadow?"")) != (0)"" (0x0, 0x0)</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31293" target="_blank">31293</a> Segv on unknown address in Imf_2_5::copyIntoFrameBuffer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31390" target="_blank">31390</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31539" target="_blank">31539</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
</ul>
<hr>
<h3>March 15, 2021 - Imath v3.0.0-beta </h3>
<h4>Imath version v3.0.0-beta is available for download at <a href="https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.0-beta">https://github.com/AcademySoftwareFoundation/Imath/releases/tag/v3.0.0-beta</a></h4>
<p>First release of Imath independent of OpenEXR.</p>
<p>See the <a href="https://github.com/AcademySoftwareFoundation/Imath/blob/master/docs/PortingGuide2-3.md" target="_blank">porting guide</a>
for details about differences from previous releases.</p>
<p>Summary:</p>
<ul>
<li> Imath includes the half type, formerly in a separate Half library. </li>
<li> Headers are installed in <tt>Imath/</tt> subdirectory. </li>
<li> All appropriate methods are marked constexpr, noexcept </li>
<li> Appropriate declaration include CUDA <tt>__host__</tt> and <tt>__device__</tt> directives. </li>
<li> Throwing methods throw std exceptions instead of <tt>Iex</tt>. </li>
<li> New Vec and Matrix interoperability constructors for conversion from other similar type objects. </li>
<li> Symbol linkage visibility is limited to specific public symbols. </li>
<li> python bindings are off by default, available by setting <tt>PYTHON=ON</tt> </li>
<li> Deprecated features:
<ul>
<li> <tt>std::numeric_limits</tt> replaces <tt>Imath::limits</tt>. </li>
<li> <tt>Int64</tt> and <tt>SInt64</tt> are deprecated in favor of <tt>uint64_t</tt> and <tt>int64_t</tt>. </li>
</ul>
</li>
</ul>
<hr>
<h3>February 12, 2021 - OpenEXR v2.5.5 </h3>
<h4>OpenEXR version v2.5.5 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.5">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.5</a></h4>
<p>Patch release with various bug/sanitizer/security fixes, primarily
related to reading corrupted input files, but also a fix for universal
build support on macOS. </p>
<p>Specific OSS-fuzz issues include:</p>
<ul>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30291" target="_blank">30291</a> Timeout in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29106" target="_blank">29106</a> Heap-buffer-overflow in Imf_2_5::FastHufDecoder::decode</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28971" target="_blank">28971</a> Undefined-shift in Imf_2_5::cachePadding</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29829" target="_blank">29829</a> Integer-overflow in Imf_2_5::DwaCompressor::initializeBuffers</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30121" target="_blank">30121</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
</ul>
<hr>
<h3>December 31, 2020 OpenEXR v2.5.4 </h3>
<h4>OpenEXR version v2.5.4 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.4">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.4</a></h4>
<p>Patch release with various bug/sanitizer/security fixes, primarily
related to reading corrupted input files.<p>
<p>Specific OSS-fuzz issues include:</p>
<ul>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24854" target="_blank">24854</a> Segv on unknown address in Imf_2_5::hufUncompress</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24831" target="_blank">24831</a> Undefined-shift in Imf_2_5::FastHufDecoder::FastHufDecoder</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24969" target="_blank">24969</a> Invalid-enum-value in Imf_2_5::TypedAttribute<Imf_2_5::Envmap>::writeValueTo</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25297" target="_blank">25297</a> Integer-overflow in Imf_2_5::calculateNumTiles</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24787" target="_blank">24787</a> Undefined-shift in Imf_2_5::unpack14</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25326" target="_blank">25326</a> Out-of-memory in openexr_scanlines_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25399" target="_blank">25399</a> Heap-buffer-overflow in Imf_2_5::FastHufDecoder::FastHufDecoder</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25415" target="_blank">25415</a> Abrt in __cxxabiv1::failed_throw</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25370" target="_blank">25370</a> Out-of-memory in openexr_exrenvmap_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25501" target="_blank">25501</a> Out-of-memory in openexr_scanlines_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25505" target="_blank">25505</a> Heap-buffer-overflow in Imf_2_5::copyIntoFrameBuffer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25562" target="_blank">25562</a> Integer-overflow in Imf_2_5::hufUncompress</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25740" target="_blank">25740</a> Null-dereference READ in Imf_2_5::Header::operator</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25743" target="_blank">25743</a> Null-dereference in Imf_2_5::MultiPartInputFile::header</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25913" target="_blank">25913</a> Out-of-memory in openexr_exrenvmap_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26229" target="_blank">26229</a> Undefined-shift in Imf_2_5::hufDecode</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26658" target="_blank">26658</a> Out-of-memory in openexr_scanlines_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26956" target="_blank">26956</a> Heap-buffer-overflow in Imf_2_5::DeepTiledInputFile::readPixelSampleCounts</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27409" target="_blank">27409</a> Out-of-memory in openexr_exrcheck_fuzzer</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25892" target="_blank">25892</a> Divide-by-zero in Imf_2_5::calculateNumTiles</li>
<li> OSS-fuzz <a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25894" target="_blank">25894</a> Floating-point-exception in Imf_2_5::precalculateTileInfo</li>
</ul>
<hr>
<h3>August 12, 2020 OpenEXR v2.5.3 </h3>
<h4>OpenEXR version v2.5.3 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.3">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.3</a></h4>
<p>Patch release with various bug/security fixes and build/install fixes, plus a performance optimization:</p>
<ul>
<li>Various sanitizer/fuzz-identified issues related to handling of invalid input</li>
<li>Fixes to misc compiler warnings</li>
<li>Cmake fix for building on arm64 macOS (#772)</li>
<li>Read performance optimization (#782)</li>
<li>Fix for building on non-glibc (#798)</li>
<li>Fixes to tests</li>
</ul>
<hr>
<h3>June 15, 2020 OpenEXR v2.5.2 </h3>
<h4>OpenEXR version v2.5.2 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.2">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.2</a></h4>
<p>Patch release with various bug/security and build/install fixes:</p>
<ul>
<li>Invalid input could cause a heap-use-after-free error in DeepScanLineInputFile::DeepScanLineInputFile()</li>
<li>Invalid chunkCount attributes could cause heap buffer overflow in getChunkOffsetTableSize()</li>
<li>Invalid tiled input file could cause invalid memory access TiledInputFile::TiledInputFile()</li>
<li>OpenEXRConfig.h now correctly sets OPENEXR_PACKAGE_STRING to "OpenEXR" (rather than "IlmBase")</li>
<li>Various Windows build fixes</li>
</ul>
<hr>
<h3>June 15, 2020 OpenEXR v2.4.2 </h3>
<h4>OpenEXR version v2.4.2 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.2">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.2</a></h4>
<p>Patch release that backports various recent bug/security fixes:</p>
<ul>
<li>Invalid input could cause a heap-use-after-free error in DeepScanLineInputFile::DeepScanLineInputFile()</li>
<li>Invalid chunkCount attributes could cause heap buffer overflow in getChunkOffsetTableSize()</li>
<li>Invalid tiled input file could cause invalid memory access TiledInputFile::TiledInputFile()</li>
<li>OpenEXRConfig.h now correctly sets OPENEXR_PACKAGE_STRING to "OpenEXR" (rather than "IlmBase)"</li>
</ul>
<hr>
<h3>May 11, 2020 OpenEXR v2.5.1 </h3>
<h4>OpenEXR version v2.5.1 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.1">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.1</a></h4>
<p>v2.5.1 is a patch release that corrects the SO version for the v2.5
release, which missed getting bumped in v2.5.0.</p>
<p>This release also fixes an improper failure in IlmImfTest when running on ARMv7 and AAarch64.</p>
<hr>
<h3>May 6, 2020 OpenEXR v2.5.0 </h3>
<h4>OpenEXR version v2.5.0 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.0">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.5.0</a></h4>
<p>This is a minor release with miscellaneous bug fixes and small features</p>
<p>Summary</p>
<ul>
<li> No more build-time header generation: toFloat.h, eLut.h,
b44ExpLogTable.h, and dwaLookups.h are now ordinary header files, no
longer generated on the fly. </li>
<li> New StdISSTream class, an "input" stringstream version of
StdOSStream </li>
<li> New Matrix22 class in Imath </li>
<li> Chromaticity comparison operator now includes white (formerly
ignored) </li>
<li> Various cmake fixes </li>
<li> Bug fixes for various memory leaks </li>
<li> Bug fixes for various invalid memory accesses </li>
<li> New checks to detect damaged input files </li>
<li> OpenEXR_Viewers has been deprecated, removed from the top-level
cmake build and documentation.</li>
</ul>
<p>See the <a href="https://github.com/AcademySoftwareFoundation/openexr/blob/v2.5.0/CHANGES.md#version-250-may-6-2020">release
notes</a> for more details.</p>
<hr>
<h3>April 30, 2020 OpenEXR v2.2.2 </h3>
<h4>OpenEXR version v2.2.2 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.2.2">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.2.2</a></h4>
<p>This is a patch release of OpenEXR v2.2 that includes fixes for the following security vulnerabilities:</p>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11765">[CVE-2020-11765]</a>
There is an off-by-one error in use of the ImfXdr.h read function by
DwaCompressor::Classifier::Classifier, leading to an out-of-bounds
read. </li>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11764">[CVE-2020-11764]</a>
There is an out-of-bounds write in copyIntoFrameBuffer in
ImfMisc.cpp. </li>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11763">[CVE-2020-11763]</a>
There is an std::vector out-of-bounds read and write, as
demonstrated by ImfTileOffsets.cpp. </li>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11762">[CVE-2020-11762]</a>
There is an out-of-bounds read and write in
DwaCompressor::uncompress in ImfDwaCompressor.cpp when handling the
UNKNOWN compression case. </li>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11761">[CVE-2020-11761]</a>
There is an out-of-bounds read during Huffman uncompression, as
demonstrated by FastHufDecoder::refill in ImfFastHuf.cpp. </li>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11760">[CVE-2020-11760]</a>
There is an out-of-bounds read during RLE uncompression in
rleUncompress in ImfRle.cpp. </li>
<li>
<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11759">[CVE-2020-11759]</a>
Because of integer overflows in
CompositeDeepScanLine::Data::handleDeepFrameBuffer and
readSampleCountForLineBlock, an attacker can write to an
out-of-bounds pointer. </li>
<li>
[CVE-2020-11758](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11758)
There is an out-of-bounds read in ImfOptimizedPixelReading.h. </li>
</ul>
<p>See
the <a href="https://github.com/AcademySoftwareFoundation/openexr/blob/master/CHANGES.md#version-222-april-30-2020">CHANGES.md</a>
for more details.</p>
<hr>
<h3>Feb 11, 2020 OpenEXR v2.4.1 </h3>
<h4>OpenEXR version v2.4.1 is available for download at <a href="https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.1">https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v2.4.1</a></h4>
<p>This is a patch release that addresses miscellaneous bugs.</p>
<p>Summary</p>
<ul>
<li>Various fixes for memory leaks and invalid memory accesses</li>
<li>Various fixes for integer overflow with large images.</li>