The headline feature is that the GIF decoder is now of production quality. There is now API for overall metadata (e.g. ICCP color profiles) and to recreate each frame (width, height, BGRA pixels, timing, etc.) of a GIF animation, instead of version 0.1's proof-of-concept GIF decoder API, which just gave you a one-dimensional stream of palette indexes. It also now accepts a variety of GIF images that are invalid, when strictly following the GIF specifiction, but are nonetheless accepted by other real world GIF implementations. The Wuffs GIF decoder has also been optimized to be about 1.5x faster than Wuffs version 0.1 and about 2x faster than giflib (the C library).
The Wuffs GIF decoder is being trialled by Skia, the 2-D graphics library used by both the Android operating system and the Chromium web browser.
Work also proceeds on the NIE and RAC file formats, but both are still experimental and may change later in backwards incompatible ways.
The dot points below probably aren‘t of interest unless you’re upgrading from Wuffs version 0.1.
returnvalue mandatory; added
varstatements to the top of functions.
= RHSout of
var x T = RHS.
std/zlibdecoder ignore checksums.
!is now only for impure functions.
[i ..= j], consistent with Rust syntax.
[i .. j], consistent with Rust syntax.
x: T, consistent with Rust syntax.
 Ttypes to
buf1, etc to
= try foowith
io_readerdistinction in C and Wuffs.
const char *, not an
Updated on January 2020.