The Sparse validation files have become an automated test suite,invoked via make check. Thanks to Damien Lespiau for the initial test-suite script. Also thanks to Pavel Roskin for ideas, discussion, and prototyping, and to the contributors of new test cases and test-suite metadata for existing test cases.

New backend c2xml by Rob Taylor, which outputs an XML representation of the variable declarations, function declarations, and data structures in a C file.

sparse and cgcc now have manpages.

Warning changes:

Warn on return <void expression>; if given -Wreturn-void; off by default because the C99 standard permits this.

-Wno-non-pointer-null turns off warnings about using a plain integer as a NULL pointer

Initializer entries defined twice and bitfields without explicit signs have changed from errors to warnings.

cgcc no longer passes -Wall to sparse if given -Wall on the command line. -Wall turns on all Sparse warnings, including experimental and noisy ones. Don't include it just because a project wants to pass -Wall to cc. If you really want cgcc to run sparse with -Wall, set CHECK='sparse -Wall'

Support for more builtin functions: __builtin_labs, __builtin_offsetof, __builtin_strcat, __builtin_strncat, and __builtin_strlen.

Sparse now requires integer constant expressions in various places, not arbitrary expressions.

Sparse now handles NULL pointer constants more correctly.

Sparse now resolves pointer types more correctly in conditional expressions

The graph backend now outputs significantly better program graphs, and the Sparse source code includes some gvpr scripts to modify these graphs in various ways, such as only showing the callers or callees of particular functions. Thanks to Dan Sheridan.

Linux-style make output; for a more verbose make with full command lines, make V=1. Thanks to Damien Lespiau.

Numerous bugfixes and internal cleanups; thanks to the many Sparse contributors.