* Fix build on MSVC.
* Switch to statically-linked libraries instead of DLLs on MSVC.

diff --git a/CHANGES.txt b/CHANGES.txt
index ed7ed33..945423e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,5 @@
-2008-09-24 version 2.0.2:
-

+2008-09-29 version 2.0.2:
+
   General
   * License changed from Apache 2.0 to New BSD.
   * It is now possible to define custom "options", which are basically
@@ -28,12 +28,12 @@
     predictable among other things.
   * TextFormat will no longer accept messages which contain multiple
     instances of a singular field.  Previously, the latter instance
-    would overwrite the former.

+    would overwrite the former.
   * Now works on systems that don't have hash_map.
 
-  Java

-  * Print @Override annotation in generated code where appropriate.

-

+  Java
+  * Print @Override annotation in generated code where appropriate.
+
   Python
   * Strings now use the "unicode" type rather than the "str" type.
     String fields may still be assigned ASCII "str" values; they will
@@ -42,55 +42,59 @@
     raises an exception.  For example:
       # No longer works (and never should have).
       message.some_repeated_field.foo = 1
-

+
+  Windows
+  * We now build static libraries rather than DLLs by default on MSVC.
+    See vsprojects/readme.txt for more information.
+
 2008-08-15 version 2.0.1:
-

-  protoc

-  * New flags --encode and --decode can be used to convert between protobuf text

-    format and binary format from the command-line.

-  * New flag --descriptor_set_out can be used to write FileDescriptorProtos for

-    all parsed files directly into a single output file.  This is particularly

-    useful if you wish to parse .proto files from programs written in languages

-    other than C++: just run protoc as a background process and have it output

-    a FileDescriptorList, then parse that natively.

-  * Improved error message when an enum value's name conflicts with another

-    symbol defined in the enum type's scope, e.g. if two enum types declared

-    in the same scope have values with the same name.  This is disallowed for

+
+  protoc
+  * New flags --encode and --decode can be used to convert between protobuf text
+    format and binary format from the command-line.
+  * New flag --descriptor_set_out can be used to write FileDescriptorProtos for
+    all parsed files directly into a single output file.  This is particularly
+    useful if you wish to parse .proto files from programs written in languages
+    other than C++: just run protoc as a background process and have it output
+    a FileDescriptorList, then parse that natively.
+  * Improved error message when an enum value's name conflicts with another
+    symbol defined in the enum type's scope, e.g. if two enum types declared
+    in the same scope have values with the same name.  This is disallowed for
     compatibility with C++, but this wasn't clear from the error.
-  * Fixed absolute output paths on Windows.

+  * Fixed absolute output paths on Windows.
   * Allow trailing slashes in --proto_path mappings.
-

-  C++

-  * Reflection objects are now per-class rather than per-instance.  To make this

-    possible, the Reflection interface had to be changed such that all methods

-    take the Message instance as a parameter.  This change improves performance

-    significantly in memory-bandwidth-limited use cases, since it makes the

-    message objects smaller.  Note that source-incompatible interface changes

-    like this will not be made again after the library leaves beta.

+
+  C++
+  * Reflection objects are now per-class rather than per-instance.  To make this
+    possible, the Reflection interface had to be changed such that all methods
+    take the Message instance as a parameter.  This change improves performance
+    significantly in memory-bandwidth-limited use cases, since it makes the
+    message objects smaller.  Note that source-incompatible interface changes
+    like this will not be made again after the library leaves beta.
   * Heuristically detect sub-messages when printing unknown fields.
-  * Fix static initialization ordering bug that caused crashes at startup when

+  * Fix static initialization ordering bug that caused crashes at startup when
     compiling on Mac with static linking.
-  * Fixed TokenizerTest when compiling with -DNDEBUG on Linux.

-  * Fixed incorrect definition of kint32min.

+  * Fixed TokenizerTest when compiling with -DNDEBUG on Linux.
+  * Fixed incorrect definition of kint32min.
   * Fix bytes type setter to work with byte sequences with embedded NULLs.
   * Other irrelevant tweaks.
 
-  Java

-  * Fixed UnknownFieldSet's parsing of varints larger than 32 bits.

-  * Fixed TextFormat's parsing of "inf" and "nan".

-  * Fixed TextFormat's parsing of comments.

-  * Added info to Java POM that will be required when we upload the

+  Java
+  * Fixed UnknownFieldSet's parsing of varints larger than 32 bits.
+  * Fixed TextFormat's parsing of "inf" and "nan".
+  * Fixed TextFormat's parsing of comments.
+  * Added info to Java POM that will be required when we upload the
     package to a Maven repo.
 
-  Python

-  * MergeFrom(message) and CopyFrom(message) are now implemented.

-  * SerializeToString() raises an exception if the message is missing required

-    fields.

-  * Code organization improvements.

-  * Fixed doc comments for RpcController and RpcChannel, which had somehow been

+  Python
+  * MergeFrom(message) and CopyFrom(message) are now implemented.
+  * SerializeToString() raises an exception if the message is missing required
+    fields.
+  * Code organization improvements.
+  * Fixed doc comments for RpcController and RpcChannel, which had somehow been
     swapped.
-  * Fixed text_format_test on Windows where floating-point exponents sometimes

-    contain extra zeros.

+  * Fixed text_format_test on Windows where floating-point exponents sometimes
+    contain extra zeros.
   * Fix Python service CallMethod() implementation.
 
   Other