First cut at 3.1.0 release notes.  Please edit as desired...



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5102 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 5802534..d62ff48 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,74 @@
 
+Release 3.1.0 (?? November 2005)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.1.0 is a feature release with a number of significant improvements.
+In particular, AMD64 support is much improved, PPC32 support is good
+enough to be usable, and the handling of memory management and address
+space is much more robust.
+
+The details of these changes are as follows.
+
+- AMD64 support is much improved.  The 64-bit vs. 32-bit issues in 3.0.0
+  and 3.0.1 have been resolved, and it should "just work" now in all
+  cases.  On AMD64 machines both 64-bit and 32-bit versions of Valgrind
+  are built.  The right version will be invoked automatically, even when
+  using --trace-children and mixing execution between 64-bit and 32-bit
+  executables.  Also, many more instructions are supported.
+
+- PPC32 support is now sufficient to be usable.  It should work with all
+  tools, but please let us know if you have problems with it.
+  [XXX: something about 405s?  how's the Altivec support?]
+
+- The address space manager has been rewritten.  As a result, Valgrind
+  should be much more robust with programs that use large amounts of
+  memory.  There should be many fewer "memory exhausted" messages, and
+  debug symbols should be read correctly on large (eg. 300MB+)
+  executables.  On 32-bit machines the full address space available
+  to user programs (usually 3GB or 4GB) should be usable and fully
+  utilised.  On 64-bit machines up to 32GB of memory is available;  when
+  using Memcheck that means your program can use up to about 14GB of
+  memory.
+
+  A side effect of this change is that Valgrind is no longer protected
+  against wild writes by the client.  This feature was nice but relied
+  on the x86 segment registers and so wasn't portable.
+
+- Most users should not notice, but as part of the address space
+  manager change, the way Valgrind is built has been changed.  Each tool
+  is now built as a statically linked stand-alone executable, rather
+  than as a shared object that is dynamically linked with the core.  The
+  "valgrind" program invokes the appropriate tool depending on the
+  --tool option.   This slightly increases the amount of disk space used
+  by Valgrind, but it greatly simplified many things and removed
+  Valgrind's dependence on glibc.
+
+Other user-visible changes:
+
+- The --weird-hacks option has been renamed --sim-hints.
+
+- The --time-stamp option no longer gives an absolute date and time.
+  It now prints the time elapsed since the program began.
+
+The following are some user-visible changes that occurred in earlier
+versions that may not have been announced, or were announced but not
+widely realised.  So we're mentioning them now.
+
+- The --tool flag is optional once again;  if you omit it, Memcheck
+  is run by default.
+
+- The --num-callers flag now has a default value of 12.  It was
+  previously 4.
+
+- The --xml flag causes Valgrind's output to be produced in XML format.
+  This is designed to make it easy for other programs to consume
+  Valgrind's output.  The format is described in the file
+  docs/internals/xml-format.txt.
+
+BUGS FIXED:
+
+XXX... insert bugs fixed here
+
+
 Release 3.0.1 (29 August 2005)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3.0.1 fixes a bunch of bugs reported in 3.0.0.  There is no new