Bug 1755481: rename `nsIClipboard::getData` to `nsIClipboard::getSomeData` and docume...
[gecko.git] / media / libwebp / NEWS
blob5b36c5cf303740a1e126e652386ce6f87071ae6b
1 - 1/11/2022: version 1.2.2
2   This is a binary compatible release.
3   * webpmux: add "-set bgcolor A,R,G,B"
4   * add ARM64 NEON support for MSVC builds (#539)
5   * fix duplicate include error in Xcode when using multiple XCFrameworks in a
6     project (#542)
7   * doc updates and bug fixes (#538, #544, #548, #550)
9 - 7/20/2021: version 1.2.1
10   This is a binary compatible release.
11   * minor lossless encoder improvements and x86 color conversion speed up
12   * add ARM64 simulator support to xcframeworkbuild.sh (#510)
13   * further security related hardening in libwebp & examples
14     (issues: #497, #508, #518)
15     (chromium: #1196480, #1196773, #1196775, #1196777, #1196778, #1196850)
16     (oss-fuzz: #28658, #28978)
17   * toolchain updates and bug fixes (#498, #501, #502, #504, #505, #506, #509,
18                                      #533)
19   * use more inclusive language within the source (#507)
21 - 12/23/2020: version 1.2.0
22   * API changes:
23     - libwebp:
24       encode.h: add a qmin / qmax range for quality factor (cwebp adds -qrange)
25   * lossless encoder improvements
26   * SIMD support for Wasm builds
27   * add xcframeworkbuild.sh, supports Mac Catalyst builds
28   * import fuzzers from oss-fuzz & chromium (#409)
29   * webpmux: add an '-set loop <value>' option (#494)
30   * toolchain updates and bug fixes (#449, #463, #470, #475, #477, #478, #479,
31     #488, #491)
33 - 12/18/2019: version 1.1.0
34   * API changes:
35     - libwebp:
36       WebPMalloc (issue #442)
37     - extras:
38       WebPUnmultiplyARGB
39   * alpha decode fix (issue #439)
40   * toolchain updates and bug fixes
41     (chromium: #1026858, #1027136, #1027409, #1028620, #1028716, #995200)
42     (oss-fuzz: #19430, #19447)
44 - 7/4/2019: version 1.0.3
45   This is a binary compatible release.
46   * resize fixes for Nx1 sizes and the addition of non-opaque alpha values for
47     odd sizes (issues #418, #434)
48   * lossless encode/decode performance improvements
49   * lossy compression performance improvement at low quality levels with flat
50     content (issue #432)
51   * python swig files updated to support python 3
52   Tool updates:
53     vwebp will now preserve the aspect ratio of images that exceed monitor
54     resolution by scaling the image to fit (issue #433)
56 - 1/14/2019: version 1.0.2
57   This is a binary compatible release.
58   * (Windows) unicode file support in the tools (linux and mac already had
59     support, issue #398)
60   * lossless encoder speedups
61   * lossy encoder speedup on ARM
62   * lossless multi-threaded security fix (chromium:917029)
64 - 11/2/2018: version 1.0.1
65   This is a binary compatible release.
66   * lossless encoder speedups
67   * big-endian fix for alpha decoding (issue #393)
68   * gif2webp fix for loop count=65535 transcode (issue #382)
69   * further security related hardening in libwebp & libwebpmux
70     (issues #383, #385, #386, #387, #388, #391)
71     (oss-fuzz #9099, #9100, #9105, #9106, #9111, #9112, #9119, #9123, #9170,
72               #9178, #9179, #9183, #9186, #9191, #9364, #9417, #9496, #10349,
73               #10423, #10634, #10700, #10838, #10922, #11021, #11088, #11152)
74   * miscellaneous bug & build fixes (issues #381, #394, #396, #397, #400)
76 - 4/2/2018: version 1.0.0
77   This is a binary compatible release.
78   * lossy encoder improvements to avoid chroma shifts in various circumstances
79     (issues #308, #340)
80   * big-endian fixes for decode, RGBA import and WebPPictureDistortion
81   Tool updates:
82     gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match
83                          web browsers, transcoding tools (issue #379)
84     img2webp, webpmux - allow options to be passed in via a file (issue #355)
86 - 11/24/2017: version 0.6.1
87   This is a binary compatible release.
88   * lossless performance and compression improvements + a new 'cruncher' mode
89     (-m 6 -q 100)
90   * ARM performance improvements with clang (15-20% w/ndk r15c, issue #339)
91   * webp-js: emscripten/webassembly based javascript decoder
92   * miscellaneous bug & build fixes (issue #329, #332, #343, #353, #360, #361,
93     #363)
94   Tool updates / additions:
95     added webpinfo - prints file format information (issue #330)
96     gif2webp - loop behavior modified to match Chrome M63+ (crbug.com/649264);
97                '-loop_compatibility' can be used for the old behavior
99 - 1/26/2017: version 0.6.0
100   * lossless performance and compression improvements
101   * miscellaneous performance improvements (SSE2, NEON, MSA)
102   * webpmux gained a -duration option allowing for frame timing modification
103   * new img2webp utility allowing a sequence of images to be converted to
104     animated webp
105   * API changes:
106     - libwebp:
107       WebPPictureSharpARGBToYUVA
108       WebPPlaneDistortion
109     - libwebpmux / gif2webp:
110       WebPAnimEncoderOptions: kmax <= 0 now disables keyframes, kmax == 1
111                               forces all keyframes. See mux.h and the gif2webp
112                               manpage for details.
114 - 12/13/2016: version 0.5.2
115   This is a binary compatible release.
116   This release covers CVE-2016-8888 and CVE-2016-9085.
117   * further security related hardening in the tools; fixes to
118     gif2webp/AnimEncoder (issues #310, #314, #316, #322), cwebp/libwebp (issue
119     #312)
120   * full libwebp (encoder & decoder) iOS framework; libwebpdecoder
121     WebP.framework renamed to WebPDecoder.framework (issue #307)
122   * CMake support for Android Studio (2.2)
123   * miscellaneous build related fixes (issue #306, #313)
124   * miscellaneous documentation improvements (issue #225)
125   * minor lossy encoder fixes and improvements
127 - 6/14/2016: version 0.5.1
128   This is a binary compatible release.
129   * miscellaneous bug fixes (issues #280, #289)
130   * reverted alpha plane encoding with color cache for compatibility with
131     libwebp 0.4.0->0.4.3 (issues #291, #298)
132   * lossless encoding performance improvements
133   * memory reduction in both lossless encoding and decoding
134   * force mux output to be in the extended format (VP8X) when undefined chunks
135     are present (issue #294)
136   * gradle, cmake build support
137   * workaround for compiler bug causing 64-bit decode failures on android
138     devices using clang-3.8 in the r11c NDK
139   * various WebPAnimEncoder improvements
141 - 12/17/2015: version 0.5.0
142   * miscellaneous bug & build fixes (issues #234, #258, #274, #275, #278)
143   * encoder & decoder speed-ups on x86/ARM/MIPS for lossy & lossless
144     - note! YUV->RGB conversion was sped-up, but the results will be slightly
145       different from previous releases
146   * various lossless encoder improvements
147   * gif2webp improvements, -min_size option added
148   * tools fully support input from stdin and output to stdout (issue #168)
149   * New WebPAnimEncoder API for creating animations
150   * New WebPAnimDecoder API for decoding animations
151   * other API changes:
152     - libwebp:
153       WebPPictureSmartARGBToYUVA() (-pre 4 in cwebp)
154       WebPConfig::exact (-exact in cwebp; -alpha_cleanup is now the default)
155       WebPConfig::near_lossless (-near_lossless in cwebp)
156       WebPFree() (free'ing webp allocated memory in other languages)
157       WebPConfigLosslessPreset()
158       WebPMemoryWriterClear()
159     - libwebpdemux: removed experimental fragment related fields and functions
160     - libwebpmux: WebPMuxSetCanvasSize()
161   * new libwebpextras library with some uncommon import functions:
162     WebPImportGray/WebPImportRGB565/WebPImportRGB4444
164 - 10/15/15: version 0.4.4
165   This is a binary compatible release.
166   * rescaling out-of-bounds read fix (issue #254)
167   * various build fixes and improvements (issues #253, #259, #262, #267, #268)
168   * container documentation update
169   * gif2webp transparency fix (issue #245)
171 - 3/3/15: version 0.4.3
172   This is a binary compatible release.
173   * Android / gcc / iOS / MSVS build fixes and improvements
174   * lossless decode fix (issue #239 -- since 0.4.0)
175   * documentation / vwebp updates for animation
176   * multi-threading fix (issue #234)
178 - 10/13/14: version 0.4.2
179   This is a binary compatible release.
180   * Android / gcc build fixes
181   * (Windows) fix reading from stdin and writing to stdout
182   * gif2webp: miscellaneous fixes
183   * fix 'alpha-leak' with lossy compression (issue #220)
184   * the lossless bitstream spec has been amended to reflect the current code
186 - 7/24/14: version 0.4.1
187   This is a binary compatible release.
188   * AArch64 (arm64) & MIPS support/optimizations
189   * NEON assembly additions:
190     - ~25% faster lossy decode / encode (-m 4)
191     - ~10% faster lossless decode
192     - ~5-10% faster lossless encode (-m 3/4)
193   * dwebp/vwebp can read from stdin
194   * cwebp/gif2webp can write to stdout
195   * cwebp can read webp files; useful if storing sources as webp lossless
197 - 12/19/13: version 0.4.0
198   * improved gif2webp tool
199   * numerous fixes, compression improvement and speed-up
200   * dither option added to decoder (dwebp -dither 50 ...)
201   * improved multi-threaded modes (-mt option)
202   * improved filtering strength determination
203   * New function: WebPMuxGetCanvasSize
204   * BMP and TIFF format output added to 'dwebp'
205   * Significant memory reduction for decoding lossy images with alpha.
206   * Intertwined decoding of RGB and alpha for a shorter
207     time-to-first-decoded-pixel.
208   * WebPIterator has a new member 'has_alpha' denoting whether the frame
209     contains transparency.
210   * Container spec amended with new 'blending method' for animation.
212 - 6/13/13: version 0.3.1
213   This is a binary compatible release.
214   * Add incremental decoding support for images containing ALPH and ICCP chunks.
215   * Python bindings via swig for the simple encode/decode interfaces similar to
216     Java.
218 - 3/20/13: version 0.3.0
219   This is a binary compatible release.
220   * WebPINewRGB/WebPINewYUVA accept being passed a NULL output buffer
221     and will perform auto-allocation.
222   * default filter option is now '-strong -f 60'
223   * encoding speed-up for lossy methods 3 to 6
224   * alpha encoding can be done in parallel to lossy using 'cwebp -mt ...'
225   * color profile, metadata (XMP/EXIF) and animation support finalized in the
226     container.
227   * various NEON assembly additions
228   Tool updates / additions:
229     * gif2webp added
230     * vwebp given color profile & animation support
231     * cwebp can preserve color profile / metadata with '-metadata'
233 - 10/30/12: version 0.2.1
234   * Various security related fixes
235   * cwebp.exe: fix import errors on Windows XP
236   * enable DLL builds for mingw targets
238 - 8/3/12: version 0.2.0
239   * Add support for ARGB -> YUVA conversion for lossless decoder
240     New functions: WebPINewYUVA, WebPIDecGetYUVA
241   * Add stats for lossless and alpha encoding
242   * Security related hardening: allocation and size checks
243   * Add PAM output support to dwebp
245 - 7/19/12: version 0.1.99
246   * This is a pre-release of 0.2.0, not an rc to allow for further
247     incompatible changes based on user feedback.
248   * Alpha channel encode/decode support.
249   * Lossless encoder/decoder.
250   * Add TIFF input support to cwebp.
251   Incompatible changes:
252     * The encode ABI has been modified to support alpha encoding.
253     * Deprecated function WebPINew() has been removed.
254     * Decode function signatures have changed to consistently use size_t over
255       int/uint32_t.
256     * decode_vp8.h is no longer installed system-wide.
257     * cwebp will encode the alpha channel if present.
259 - 9/19/11: version 0.1.3
260   * Advanced decoding APIs.
261   * On-the-fly cropping and rescaling of images.
262   * SSE2 instructions for decoding performance optimizations on x86 based
263     platforms.
264   * Support Multi-threaded decoding.
265   * 40% improvement in Decoding performance.
266   * Add support for RGB565, RGBA4444 & ARGB image colorspace.
267   * Better handling of large picture encoding.
269 - 3/25/11: version 0.1.2
270   * Incremental decoding: picture can be decoded byte-by-byte if needs be.
271   * lot of bug-fixes, consolidation and stabilization
273 - 2/23/11: initial release of version 0.1, with the new encoder
274 - 9/30/10: initial release version with only the lightweight decoder