[go: up one dir, main page]

blob: fa4f977ab94f3e6fb89fc66152ffb94e2b6a05d4 [file] [log] [blame]
James Zerne8ae2102025-06-30 19:04:321- 6/30/2025 version 1.6.0
2 This is a binary compatible release.
3 API changes:
4 - libwebp: WebPValidateDecoderConfig
5 * additional x86 (AVX2, SSE2), general optimizations and compression
6 improvements for lossless
7 * `-mt` returns same results as single-threaded lossless (regressed in
8 1.5.0, #426506716)
9 * miscellaneous warning, bug & build fixes (#393104377, #397130631,
10 #398288323, #398066379, #427503509)
11 Tool updates:
12 * cwebp can restrict the use of `-resize` with `-resize_mode` (#405437935)
13
James Zernc3d85ce2024-12-19 20:31:3314- 12/19/2024 version 1.5.0
James Zernaa2684f2024-12-11 03:18:2315 This is a binary compatible release.
James Zernc3d85ce2024-12-19 20:31:3316 API changes:
17 - `cross_color_transform_bits` added to WebPAuxStats
James Zernaa2684f2024-12-11 03:18:2318 * minor lossless encoder speed and compression improvements
19 * lossless encoding does not use floats anymore
20 * additional Arm optimizations for lossy & lossless + general code generation
21 improvements
22 * improvements to WASM performance (#643)
23 * improvements and corrections in webp-container-spec.txt and
24 webp-lossless-bitstream-spec.txt (#646, #355607636)
25 * further security related hardening and increased fuzzing coverage w/fuzztest
26 (oss-fuzz: #382816119, #70112, #70102, #69873, #69825, #69508, #69208)
27 * miscellaneous warning, bug & build fixes (#499, #562, #381372617,
28 #381109771, #42340561, #375011696, #372109644, chromium: #334120888)
29 Tool updates:
30 * gif2webp: add -sharp_yuv & -near_lossless
31 * img2webp: add -exact & -noexact
32 * exit codes normalized; running an example program with no
33 arguments will output its help and exit with an error (#42340557,
34 #381372617)
35
James Zern8a6a55b2024-04-12 19:33:0536- 4/12/2024: version 1.4.0
James Zernc2e394d2024-03-27 00:33:0337 This is a binary compatible release.
38 * API changes:
39 - libwebpmux: WebPAnimEncoderSetChunk, WebPAnimEncoderGetChunk,
40 WebPAnimEncoderDeleteChunk
41 - libsharpyuv: SharpYuvOptionsInit, SharpYuvConvertWithOptions
42 - extras: SharpYuvEstimate420Risk
43 * further security related hardening in libwebp & examples
44 * some minor optimizations in the lossless encoder
James Zern8a6a55b2024-04-12 19:33:0545 * added WEBP_NODISCARD to report unused result warnings; enable with
46 -DWEBP_ENABLE_NODISCARD=1
James Zernc2e394d2024-03-27 00:33:0347 * improvements and corrections in webp-container-spec.txt and
48 webp-lossless-bitstream-spec.txt (#611)
49 * miscellaneous warning, bug & build fixes (#615, #619, #632, #635)
50
James Zern1ace5782023-09-13 20:30:5151- 9/13/2023: version 1.3.2
52 This is a binary compatible release.
53 * security fix for lossless decoder (chromium: #1479274, CVE-2023-4863)
54
James Zerne1adea52023-06-23 17:16:3555- 6/23/2023: version 1.3.1
James Zernbab7efb2023-05-27 02:20:2756 This is a binary compatible release.
James Zerne1adea52023-06-23 17:16:3557 * security fixes for lossless encoder (#603, chromium: #1420107, #1455619,
58 CVE-2023-1999)
59 * improve error reporting through WebPPicture error codes
James Zernbab7efb2023-05-27 02:20:2760 * fix upsampling for RGB565 and RGBA4444 in NEON builds
61 * img2webp: add -sharp_yuv & -near_lossless
62 * Windows builds:
63 - fix compatibility with clang-cl (#607)
64 - improve Arm64 performance with cl.exe
65 - add Arm64EC support
James Zerne1adea52023-06-23 17:16:3566 * fix webp_js with emcc >= 3.1.27 (stack size change, #614)
James Zernbab7efb2023-05-27 02:20:2767 * CMake fixes (#592, #610, #612)
68 * further updates to the container and lossless bitstream docs (#581, #611)
69
James Zern0ba77242022-12-16 23:48:0570- 12/16/2022: version 1.3.0
71 This is a binary compatible release.
72 * add libsharpyuv, which exposes -sharp_yuv/config.use_sharp_yuv
73 functionality to other libraries; libwebp now depends on this library
74 * major updates to the container and lossless bitstream docs (#448, #546,
75 #551)
76 * miscellaneous warning, bug & build fixes (#576, #583, #584)
77
James Zern980d2482022-08-05 05:01:1678- 8/4/2022: version 1.2.4
79 This is a binary compatible release.
80 * restore CMake libwebpmux target name for compatibility with 1.2.2 (#575)
81 * fix lossless crunch mode encoding with WEBP_REDUCE_SIZE
82 (chromium: #1345547, #1345595, #1345772, #1345804)
83
James Zern14a49e02022-07-01 02:19:5384- 6/30/2022: version 1.2.3
85 This is a binary compatible release.
86 * security fix for lossless encoder (#565, chromium:1313709)
87 * improved progress granularity in WebPReportProgress() when using lossless
88 * improved precision in Sharp YUV (-sharp_yuv) conversion
89 * many corrections to webp-lossless-bitstream-spec.txt (#551)
90 * crash/leak fixes on error/OOM and other bug fixes (#558, #563, #569, #573)
91
James Zern4acae012022-01-12 02:44:1992- 1/11/2022: version 1.2.2
James Zern70319462021-12-15 05:59:4393 This is a binary compatible release.
94 * webpmux: add "-set bgcolor A,R,G,B"
95 * add ARM64 NEON support for MSVC builds (#539)
96 * fix duplicate include error in Xcode when using multiple XCFrameworks in a
97 project (#542)
James Zern4acae012022-01-12 02:44:1998 * doc updates and bug fixes (#538, #544, #548, #550)
James Zern70319462021-12-15 05:59:4399
James Zern3a4d3ec2021-07-21 01:11:32100- 7/20/2021: version 1.2.1
101 This is a binary compatible release.
102 * minor lossless encoder improvements and x86 color conversion speed up
103 * add ARM64 simulator support to xcframeworkbuild.sh (#510)
104 * further security related hardening in libwebp & examples
105 (issues: #497, #508, #518)
106 (chromium: #1196480, #1196773, #1196775, #1196777, #1196778, #1196850)
107 (oss-fuzz: #28658, #28978)
108 * toolchain updates and bug fixes (#498, #501, #502, #504, #505, #506, #509,
109 #533)
110 * use more inclusive language within the source (#507)
111
James Zern52ce6332020-12-24 06:00:06112- 12/23/2020: version 1.2.0
113 * API changes:
114 - libwebp:
115 encode.h: add a qmin / qmax range for quality factor (cwebp adds -qrange)
116 * lossless encoder improvements
117 * SIMD support for Wasm builds
118 * add xcframeworkbuild.sh, supports Mac Catalyst builds
119 * import fuzzers from oss-fuzz & chromium (#409)
120 * webpmux: add an '-set loop <value>' option (#494)
121 * toolchain updates and bug fixes (#449, #463, #470, #475, #477, #478, #479,
122 #488, #491)
123
James Zernc074c652019-12-17 06:35:10124- 12/18/2019: version 1.1.0
125 * API changes:
126 - libwebp:
127 WebPMalloc (issue #442)
128 - extras:
129 WebPUnmultiplyARGB
130 * alpha decode fix (issue #439)
131 * toolchain updates and bug fixes
132 (chromium: #1026858, #1027136, #1027409, #1028620, #1028716, #995200)
133 (oss-fuzz: #19430, #19447)
134
James Zern2ad09162019-07-04 18:43:29135- 7/4/2019: version 1.0.3
136 This is a binary compatible release.
137 * resize fixes for Nx1 sizes and the addition of non-opaque alpha values for
138 odd sizes (issues #418, #434)
139 * lossless encode/decode performance improvements
140 * lossy compression performance improvement at low quality levels with flat
141 content (issue #432)
142 * python swig files updated to support python 3
143 Tool updates:
144 vwebp will now preserve the aspect ratio of images that exceed monitor
145 resolution by scaling the image to fit (issue #433)
146
James Zern61e372b2019-01-15 04:24:07147- 1/14/2019: version 1.0.2
148 This is a binary compatible release.
149 * (Windows) unicode file support in the tools (linux and mac already had
150 support, issue #398)
151 * lossless encoder speedups
152 * lossy encoder speedup on ARM
153 * lossless multi-threaded security fix (chromium:917029)
154
James Zern4cbb4ca2018-11-03 06:02:11155- 11/2/2018: version 1.0.1
156 This is a binary compatible release.
157 * lossless encoder speedups
158 * big-endian fix for alpha decoding (issue #393)
159 * gif2webp fix for loop count=65535 transcode (issue #382)
160 * further security related hardening in libwebp & libwebpmux
161 (issues #383, #385, #386, #387, #388, #391)
162 (oss-fuzz #9099, #9100, #9105, #9106, #9111, #9112, #9119, #9123, #9170,
163 #9178, #9179, #9183, #9186, #9191, #9364, #9417, #9496, #10349,
164 #10423, #10634, #10700, #10838, #10922, #11021, #11088, #11152)
165 * miscellaneous bug & build fixes (issues #381, #394, #396, #397, #400)
166
James Zerncba28852018-04-02 22:32:46167- 4/2/2018: version 1.0.0
168 This is a binary compatible release.
169 * lossy encoder improvements to avoid chroma shifts in various circumstances
170 (issues #308, #340)
171 * big-endian fixes for decode, RGBA import and WebPPictureDistortion
172 Tool updates:
173 gifwebp, anim_diff - default duration behavior (<= 10ms) changed to match
174 web browsers, transcoding tools (issue #379)
175 img2webp, webpmux - allow options to be passed in via a file (issue #355)
176
James Zernd3e26142017-11-24 08:14:18177- 11/24/2017: version 0.6.1
178 This is a binary compatible release.
179 * lossless performance and compression improvements + a new 'cruncher' mode
180 (-m 6 -q 100)
181 * ARM performance improvements with clang (15-20% w/ndk r15c, issue #339)
182 * webp-js: emscripten/webassembly based javascript decoder
183 * miscellaneous bug & build fixes (issue #329, #332, #343, #353, #360, #361,
184 #363)
185 Tool updates / additions:
186 added webpinfo - prints file format information (issue #330)
187 gif2webp - loop behavior modified to match Chrome M63+ (crbug.com/649264);
188 '-loop_compatibility' can be used for the old behavior
189
James Zern3c6d1222017-01-27 06:47:46190- 1/26/2017: version 0.6.0
James Zern4d1312f2017-01-24 02:34:31191 * lossless performance and compression improvements
192 * miscellaneous performance improvements (SSE2, NEON, MSA)
193 * webpmux gained a -duration option allowing for frame timing modification
194 * new img2webp utility allowing a sequence of images to be converted to
195 animated webp
James Zern4d1312f2017-01-24 02:34:31196 * API changes:
197 - libwebp:
198 WebPPictureSharpARGBToYUVA
199 WebPPlaneDistortion
James Zern3c6d1222017-01-27 06:47:46200 - libwebpmux / gif2webp:
201 WebPAnimEncoderOptions: kmax <= 0 now disables keyframes, kmax == 1
202 forces all keyframes. See mux.h and the gif2webp
203 manpage for details.
James Zern4d1312f2017-01-24 02:34:31204
James Zernb2f77b52016-12-14 02:49:07205- 12/13/2016: version 0.5.2
206 This is a binary compatible release.
207 This release covers CVE-2016-8888 and CVE-2016-9085.
208 * further security related hardening in the tools; fixes to
209 gif2webp/AnimEncoder (issues #310, #314, #316, #322), cwebp/libwebp (issue
210 #312)
211 * full libwebp (encoder & decoder) iOS framework; libwebpdecoder
212 WebP.framework renamed to WebPDecoder.framework (issue #307)
213 * CMake support for Android Studio (2.2)
214 * miscellaneous build related fixes (issue #306, #313)
215 * miscellaneous documentation improvements (issue #225)
216 * minor lossy encoder fixes and improvements
217
James Zern7551db42016-06-14 03:06:37218- 6/14/2016: version 0.5.1
219 This is a binary compatible release.
220 * miscellaneous bug fixes (issues #280, #289)
221 * reverted alpha plane encoding with color cache for compatibility with
222 libwebp 0.4.0->0.4.3 (issues #291, #298)
223 * lossless encoding performance improvements
224 * memory reduction in both lossless encoding and decoding
225 * force mux output to be in the extended format (VP8X) when undefined chunks
226 are present (issue #294)
227 * gradle, cmake build support
228 * workaround for compiler bug causing 64-bit decode failures on android
229 devices using clang-3.8 in the r11c NDK
230 * various WebPAnimEncoder improvements
231
James Zern4c7f5652015-12-18 04:08:34232- 12/17/2015: version 0.5.0
233 * miscellaneous bug & build fixes (issues #234, #258, #274, #275, #278)
234 * encoder & decoder speed-ups on x86/ARM/MIPS for lossy & lossless
235 - note! YUV->RGB conversion was sped-up, but the results will be slightly
236 different from previous releases
237 * various lossless encoder improvements
238 * gif2webp improvements, -min_size option added
239 * tools fully support input from stdin and output to stdout (issue #168)
Urvang Joshid39dc8f2015-09-02 23:20:24240 * New WebPAnimEncoder API for creating animations
241 * New WebPAnimDecoder API for decoding animations
James Zern4c7f5652015-12-18 04:08:34242 * other API changes:
243 - libwebp:
244 WebPPictureSmartARGBToYUVA() (-pre 4 in cwebp)
245 WebPConfig::exact (-exact in cwebp; -alpha_cleanup is now the default)
246 WebPConfig::near_lossless (-near_lossless in cwebp)
247 WebPFree() (free'ing webp allocated memory in other languages)
248 WebPConfigLosslessPreset()
249 WebPMemoryWriterClear()
250 - libwebpdemux: removed experimental fragment related fields and functions
251 - libwebpmux: WebPMuxSetCanvasSize()
252 * new libwebpextras library with some uncommon import functions:
253 WebPImportGray/WebPImportRGB565/WebPImportRGB4444
Urvang Joshid39dc8f2015-09-02 23:20:24254
James Zern83041792015-10-16 03:03:16255- 10/15/15: version 0.4.4
256 This is a binary compatible release.
257 * rescaling out-of-bounds read fix (issue #254)
258 * various build fixes and improvements (issues #253, #259, #262, #267, #268)
259 * container documentation update
260 * gif2webp transparency fix (issue #245)
261
James Zern6a5292f2015-03-04 03:19:50262- 3/3/15: version 0.4.3
263 This is a binary compatible release.
264 * Android / gcc / iOS / MSVS build fixes and improvements
265 * lossless decode fix (issue #239 -- since 0.4.0)
266 * documentation / vwebp updates for animation
267 * multi-threading fix (issue #234)
268
James Zern613d2812014-10-13 15:13:49269- 10/13/14: version 0.4.2
270 This is a binary compatible release.
271 * Android / gcc build fixes
272 * (Windows) fix reading from stdin and writing to stdout
273 * gif2webp: miscellaneous fixes
274 * fix 'alpha-leak' with lossy compression (issue #220)
275 * the lossless bitstream spec has been amended to reflect the current code
276
James Zerne49f6932014-07-23 03:55:03277- 7/24/14: version 0.4.1
278 This is a binary compatible release.
279 * AArch64 (arm64) & MIPS support/optimizations
280 * NEON assembly additions:
281 - ~25% faster lossy decode / encode (-m 4)
282 - ~10% faster lossless decode
283 - ~5-10% faster lossless encode (-m 3/4)
284 * dwebp/vwebp can read from stdin
285 * cwebp/gif2webp can write to stdout
286 * cwebp can read webp files; useful if storing sources as webp lossless
287
James Zernb9bbf6a2013-12-19 03:05:46288- 12/19/13: version 0.4.0
Pascal Massimino256e4332013-12-20 08:36:47289 * improved gif2webp tool
290 * numerous fixes, compression improvement and speed-up
291 * dither option added to decoder (dwebp -dither 50 ...)
292 * improved multi-threaded modes (-mt option)
293 * improved filtering strength determination
Urvang Joshifffefd12013-05-02 20:54:25294 * New function: WebPMuxGetCanvasSize
Pascal Massiminoa3aede92013-05-09 10:57:50295 * BMP and TIFF format output added to 'dwebp'
Urvang Joshi068db592013-06-11 23:04:54296 * Significant memory reduction for decoding lossy images with alpha.
297 * Intertwined decoding of RGB and alpha for a shorter
298 time-to-first-decoded-pixel.
Urvang Joshia03c3512013-07-19 02:41:38299 * WebPIterator has a new member 'has_alpha' denoting whether the frame
300 contains transparency.
Urvang Joshid5bad032013-08-09 21:02:39301 * Container spec amended with new 'blending method' for animation.
Urvang Joshiead4d472013-04-05 21:01:07302
James Zernabf6f692013-06-12 23:19:12303- 6/13/13: version 0.3.1
304 This is a binary compatible release.
Urvang Joshic22877f2013-04-05 21:01:07305 * Add incremental decoding support for images containing ALPH and ICCP chunks.
James Zernabf6f692013-06-12 23:19:12306 * Python bindings via swig for the simple encode/decode interfaces similar to
307 Java.
Urvang Joshic22877f2013-04-05 21:01:07308
James Zern2560c242013-03-20 21:59:58309- 3/20/13: version 0.3.0
James Zern28bb4102013-03-16 22:02:31310 This is a binary compatible release.
Pascal Massiminob7adf372013-01-25 10:04:01311 * WebPINewRGB/WebPINewYUVA accept being passed a NULL output buffer
312 and will perform auto-allocation.
Pascal Massimino92668da2013-02-15 09:08:52313 * default filter option is now '-strong -f 60'
skal9bfbdd12013-03-11 23:37:42314 * encoding speed-up for lossy methods 3 to 6
Pascal Massimino39f75862013-03-11 23:12:19315 * alpha encoding can be done in parallel to lossy using 'cwebp -mt ...'
James Zern28bb4102013-03-16 22:02:31316 * color profile, metadata (XMP/EXIF) and animation support finalized in the
317 container.
318 * various NEON assembly additions
319 Tool updates / additions:
320 * gif2webp added
321 * vwebp given color profile & animation support
322 * cwebp can preserve color profile / metadata with '-metadata'
Pascal Massiminob7adf372013-01-25 10:04:01323
James Zern57cf3132012-10-30 00:05:38324- 10/30/12: version 0.2.1
325 * Various security related fixes
326 * cwebp.exe: fix import errors on Windows XP
327 * enable DLL builds for mingw targets
328
James Zern014a7112012-08-03 23:09:59329- 8/3/12: version 0.2.0
330 * Add support for ARGB -> YUVA conversion for lossless decoder
331 New functions: WebPINewYUVA, WebPIDecGetYUVA
332 * Add stats for lossless and alpha encoding
333 * Security related hardening: allocation and size checks
334 * Add PAM output support to dwebp
335
James Zernce82ced2012-07-19 19:51:34336- 7/19/12: version 0.1.99
337 * This is a pre-release of 0.2.0, not an rc to allow for further
338 incompatible changes based on user feedback.
James Zern01422492012-05-01 18:24:51339 * Alpha channel encode/decode support.
James Zernf0b5def2012-07-13 21:07:51340 * Lossless encoder/decoder.
James Zernce82ced2012-07-19 19:51:34341 * Add TIFF input support to cwebp.
James Zern01422492012-05-01 18:24:51342 Incompatible changes:
343 * The encode ABI has been modified to support alpha encoding.
344 * Deprecated function WebPINew() has been removed.
345 * Decode function signatures have changed to consistently use size_t over
346 int/uint32_t.
James Zern6cb22772012-07-17 03:04:42347 * decode_vp8.h is no longer installed system-wide.
James Zernce82ced2012-07-19 19:51:34348 * cwebp will encode the alpha channel if present.
James Zern01422492012-05-01 18:24:51349
Pascal Massiminodfc9c1e2011-09-19 09:12:39350- 9/19/11: version 0.1.3
Vikas Arorafac15ec2011-08-25 03:41:08351 * Advanced decoding APIs.
352 * On-the-fly cropping and rescaling of images.
James Zern4c7f5652015-12-18 04:08:34353 * SSE2 instructions for decoding performance optimizations on x86 based
354 platforms.
Vikas Arorafac15ec2011-08-25 03:41:08355 * Support Multi-threaded decoding.
356 * 40% improvement in Decoding performance.
357 * Add support for RGB565, RGBA4444 & ARGB image colorspace.
Vikas Arorad477de72011-08-25 04:36:50358 * Better handling of large picture encoding.
Vikas Arorafac15ec2011-08-25 03:41:08359
Pascal Massiminofa70d2b2011-03-25 23:54:47360- 3/25/11: version 0.1.2
361 * Incremental decoding: picture can be decoded byte-by-byte if needs be.
362 * lot of bug-fixes, consolidation and stabilization
363
Pascal Massimino77775702011-03-26 00:57:38364- 2/23/11: initial release of version 0.1, with the new encoder
365- 9/30/10: initial release version with only the lightweight decoder