Try to summarise 2.0.0 -> 2.2.0 changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2627 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 46160d5..925dd52 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,42 @@
Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.0.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.2.0 brings nine months worth of improvements and bug fixes. We
+believe it to be a worthy successor to 2.0.0. There are literally
+hundreds of bug fixes and minor improvements. There are also some
+fairly major user-visible changes:
+
+* A complete overhaul of handling of system calls and signals, and
+ their interaction with threads. In general, the accuracy of the
+ system call, thread and signal simulations is much improved:
+
+ - Blocking system calls behave exactly as they do when running
+ natively (not on valgrind). That is, if a syscall blocks only the
+ calling thread when running natively, than it behaves the same on
+ valgrind. No more mysterious hangs because V doesn't know that some
+ syscall or other, should block only the calling thread.
+
+ - Interrupted syscalls should now give more faithful results.
+
+ - Signal contexts in signal handlers are supported.
+
+* Improvements to NPTL support to the extent that V now works
+ properly on NPTL-only setups.
+
+* Greater isolation between Valgrind and the program being run, so
+ the program is less likely to inadvertently kill Valgrind by
+ doing wild writes.
+
+* Massif: a new space profiling tool. Try it! It's cool, and it'll
+ tell you in detail where and when your C/C++ code is allocating heap.
+ Draws pretty .ps pictures of memory use against time. A potentially
+ powerful tool for making sense of your program's space use.
+
+* File descriptor leakage checks. When enabled, Valgrind will print out
+ a list of open file descriptors on exit.
+
+* Improved SSE2/SSE3 support.
+
Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.1.2