diff --git a/build.xml b/build.xml
index e417cd3..2093ab2 100644
--- a/build.xml
+++ b/build.xml
@@ -101,12 +101,7 @@
 <property name="with-ODBC" value="no"/>
 
 
-<property name="apache.mirror" value="http://archive.apache.org/dist"/>
-
-<property name="apache.dist" value="http://archive.apache.org/dist"/>
-<!-- property name="apache.doc_dest" value="/www/logging.apache.org/log4cxx"/ -->
-<property name="apache.doc_dest" value="/home/${apache.user}/public_html/test"/>
-
+<property name="svnsite.url" value="https://svn.apache.org/repos/asf/logging/site/trunk/docs/log4cxx"/>
 
 
 
@@ -575,9 +570,11 @@
         </project>
     </cc>
 
+    <!-- copy liblog4cxx.so to log4cxx.dll for MinGW and Cygwin -->
     <condition property="copy.log4cxx" value="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}.dll">
         <and>
-            <isset property="is-mingw"/>
+            <os family="windows"/>
+            <isset property="is-gcc"/>
             <equals arg1="${lib.type}" arg2="shared"/>
             <isset property="log4cxx.lib.file"/>
          </and>
@@ -1099,7 +1096,6 @@
     </antcall>
     <antcall target="build-projects-xcode">
     </antcall>
-    <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" />
     
     <replaceregexp flags="ig"
         match="ADD LINK32 .*/NOLOGO"
@@ -1121,11 +1117,15 @@
         replace="..\\\\..\\\\apr-util\\\\xml\\\\expat\\\\lib\\\\xml.dsp">
         <fileset dir="${target.dir}" includes="**/*.dsw"/>        
     </replaceregexp>
-    <!-- drop our build path out of library search path -->
-    <replace dir="${target.dir}" includes="**/*.pbxproj">
-        <replacetoken>&lt;string&gt;debug/shared&lt;/string&gt;</replacetoken>
-        <replacevalue></replacevalue>
-    </replace>
+    <!-- drop library search path -->
+    <replaceregexp flags="g"
+        match="&lt;string&gt;[\./]*/usr/lib&lt;/string&gt;"
+        replace="">
+        <fileset dir="${target.dir}" includes="**/*.pbxproj"/>
+    </replaceregexp>
+    <replace dir="${target.dir}" includes="**/*.pbxproj"
+        token="/usr/include/apr-1.0"
+        value="/usr/include/apr-1"/>
     <replace dir="${target.dir}/site" includes="**/*.html">
         <replacetoken>&lt;html</replacetoken>
         <replacevalue>&lt;!--
diff --git a/pom.xml b/pom.xml
index 053aa47..6fa751a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,26 +1,9 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>log4cxx</groupId>
   <artifactId>apache-log4cxx</artifactId>
   <packaging>pom</packaging>
-  <version>0.10.0-SNAPSHOT</version>
+  <version>0.10.0</version>
   <name>Apache log4cxx</name>
   <description>Logging framework for C++.</description>
   <url>http://logging.apache.org:80/log4cxx</url>
@@ -62,9 +45,9 @@
         </license>
 </licenses>
 <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4cxx/trunk</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4cxx/trunk</developerConnection>
-        <url>http://svn.apache.org/viewcvs.cgi/logging/log4cxx/trunk</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4cxx/tags/v0_10_0-rc1</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4cxx/tags/v0_10_0-rc1</developerConnection>
+        <url>http://svn.apache.org/viewcvs.cgi/logging/log4cxx/tags/v0_10_0-rc1</url>
 </scm>
 <organization>
     <name>Apache Software Foundation</name>
@@ -80,7 +63,7 @@
             <id>compile</id>
             <configuration>
                 <tasks>
-                   <ant target="build"/>
+                   <ant target="build" />
                 </tasks>
             </configuration>
             <goals>
@@ -92,7 +75,7 @@
             <id>test-compile</id>
             <configuration>
                 <tasks>
-                   <ant target="test-compile"/>
+                   <ant target="test-compile" />
                 </tasks>
             </configuration>
             <goals>
@@ -104,7 +87,7 @@
             <id>test</id>
             <configuration>
                 <tasks>
-                    <ant target="check"/>
+                    <ant target="check" />
                 </tasks>
             </configuration>
             <goals>
@@ -116,11 +99,11 @@
             <id>site</id>
             <configuration>
                 <tasks>
-                    <ant target="site"/>
+                    <ant target="site" />
                     <taskdef name="replaceregexp" classname="org.apache.tools.ant.taskdefs.optional.ReplaceRegExp" />                
-                   <replaceregexp file="target/site/source-repository.html" match="/tags/[^ &quot;&apos;&lt;]*" replace="/trunk" flags="g"/>
+                   <replaceregexp file="target/site/source-repository.html" match="/tags/[^ &quot;'&lt;]*" replace="/trunk" flags="g" />
                 <replaceregexp match="Generated on .* for " replace="Generated for " flags="g">
-                    <fileset dir="target/site/apidocs" includes="**/*.html"/>
+                    <fileset dir="target/site/apidocs" includes="**/*.html" />
       </replaceregexp>
                 </tasks>
             </configuration>
@@ -133,7 +116,7 @@
             <id>post-site</id>
             <configuration>
                 <tasks>
-                   <ant target="post-site"/>
+                   <ant target="post-site" />
                 </tasks>
             </configuration>
             <goals>
@@ -145,7 +128,7 @@
             <id>site-deploy</id>
             <configuration>
                 <tasks>
-                   <ant target="site-deploy"/>
+                   <ant target="site-deploy" />
                 </tasks>
             </configuration>
             <goals>
@@ -242,7 +225,7 @@
  <distributionManagement>
     <site>
       <id>logging.site</id>
-      <url>scp://localhost/${user.dir}/target/site-deploy</url>
+      <url>file:///${user.dir}/target/site-deploy</url>
     </site>
   </distributionManagement> 
-</project>
+</project>
\ No newline at end of file
diff --git a/src/site/apt/building/ant.apt b/src/site/apt/building/ant.apt
index d542a11..940e941 100644
--- a/src/site/apt/building/ant.apt
+++ b/src/site/apt/building/ant.apt
@@ -41,8 +41,10 @@
    Building and testing log4cxx on a Unix platform with packaged APR and APR-Util.  
 
 +----+
- sudo apt-get install libapr1-dev libaprutil1-dev ant ant-optional liblog4j1.2-java # or platform equivalent
- export CLASSPATH=/home/myself/cpptasks-1.0b5/cpptasks.jar:/home/myself/ant-contrib/ant-contrib-1.0b3.jar
+ sudo apt-get install libapr1.0-dev libaprutil1.0-dev \
+      ant ant-optional liblog4j1.2-java
+ export CLASSPATH=~/cpptasks/cpptasks-1.0b5.jar: \
+      ~/ant-contrib/ant-contrib-1.0b3.jar
  cd apache-log4cxx-0.10.0
  ant
 +----+  
@@ -50,8 +52,9 @@
    Building and testing log4cxx on a Unix platform with APR and APR-Util built from source.  
 
 +----+
- sudo apt-get install ant ant-optional liblog4j1.2-java # or platform equivalent
- export CLASSPATH=/home/myself/cpptasks-1.0b5/cpptasks.jar:/home/myself/ant-contrib/ant-contrib-1.0b3.jar
+ sudo apt-get install ant ant-optional liblog4j1.2-java
+ export CLASSPATH=~/cpptasks/cpptasks-1.0b5.jar: \
+     ~/ant-contrib/ant-contrib-1.0b3.jar
  tar -xvzf apr-1.2.12.tar.gz
  mv apr-1.2.12 apr
  tar -xvzf apr-util-1.2.12.tar.gz
@@ -64,7 +67,7 @@
 
 +----+
  set PATH=\apache-ant-1.7.0\bin;%PATH%
- set CLASSPATH=\cpptasks-1.0b5\cpptasks.jar;\ant-contrib\ant-contrib-1.0b3.jar
+ set CLASSPATH=\cpptasks\cpptasks-1.0b5.jar;\ant-contrib\ant-contrib-1.0b3.jar
  tar -xvzf apr-1.2.12.tar.gz
  rename apr-1.2.12 apr
  tar -xvzf apr-util-1.2.12.tar.gz
@@ -169,18 +172,13 @@
   
   *** Cygwin:
   
-  The Ant build will successfully complete for static libary builds when started from a 
-  Windows Command Prompt.  Shared library builds will create liblog4cxx.so, but
-  the unit tests will fail reporting that they could not find the log4cxx library
-  (likely missing a step to create an import library from the .so).  From a cygwin
-  command prompt, the unit tests will fail, possibly due to an issue spawning sed.
-  Cygwin does not provide wchar_t support which needs to be explicitly disabled.
-  The location of the APR libraries need to be provided (CYGWIN_HOME/lib).
+  gcc 3.x does not provide wchar_t support which needs to be explicitly disabled.
+  The Win32 path to the APR libraries need to be provided (CYGWIN_HOME/lib) if compiling against an installed APR and APR-Util.
   
 +-----+
 cd apache-log4cxx-0.10.0
 ant -Dos.family=cygwin -Dwith-apr=/cygwin/lib -Dwith-apr-util=/cygwin/lib \
-   -Denable-wchar_t=0 -Dlib.type=static
+   -Denable-wchar_t=0
 +-----+  
     
 
@@ -194,9 +192,9 @@
 set TOTO=wonderful
 set key1=value1
 set key2=value2
-..\..\..\target\release\shared\testsuite -v 
-..\..\..\target\release\shared\trivial
-..\..\..\target\release\shared\stream 
+..\..\..\target\debug\shared\testsuite -v 
+..\..\..\target\debug\shared\trivial
+..\..\..\target\debug\shared\stream 
 +----+
 
    Running "ant check" was observed to fail with unexpected exceptions
@@ -206,12 +204,12 @@
 
   ** Mac OS/X:
   
-  APR, APR-Util and iODBC are preinstalled in Mac OS/X 10.5 and later.
+  APR, APR-Util and iODBC are preinstalled in Mac OS/X.
   
   Site generation requires "doxygen" command on path which can be provided
   by installing Doxygen.app and then setting the path like:
   
 +---+
-setenv PATH /Applications/Doxygen.app/Content/Resources:$PATH
+setenv PATH /Applications/Doxygen.app/Contents/Resources:$PATH
 +---+
   
diff --git a/src/site/apt/building/autotools.apt b/src/site/apt/building/autotools.apt
index dcce1c2..261233a 100644
--- a/src/site/apt/building/autotools.apt
+++ b/src/site/apt/building/autotools.apt
@@ -23,7 +23,7 @@
 * Quick start:
 
 +------------+
- sudo apt-get install libapr1-dev libaprutil1-dev # or platform equivalent
+ sudo apt-get install libapr1.0-dev libaprutil1.0-dev
  cd apache-log4cxx-0.10.0
  ./autoconf.sh
  ./configure
@@ -103,7 +103,8 @@
 make install
 cd ../apache-log4cxx-0.10.0
 ./autogen.sh
-./configure --with-apr=/usr/local --with-apr-util=/usr/local --with-logchar=wchar_t
+./configure --with-apr=/usr/local \
+   --with-apr-util=/usr/local --with-logchar=wchar_t
 make install
 +----+
 
diff --git a/src/site/apt/building/maven.apt b/src/site/apt/building/maven.apt
index 8a247b0..a40e313 100644
--- a/src/site/apt/building/maven.apt
+++ b/src/site/apt/building/maven.apt
@@ -39,7 +39,7 @@
    Building and testing log4cxx on a Unix platform with packaged APR and APR-Util.  
 
 +----+
- sudo apt-get install libapr1-dev libaprutil1-dev doxygen # or platform equivalent
+ sudo apt-get install libapr1.0-dev libaprutil1.0-dev doxygen
  cd apache-log4cxx-0.10.0
  export PATH=/home/myself/maven-2.0.8/bin:$PATH
  mvn package
@@ -92,4 +92,4 @@
 
   See the {{{ant.html}Apache Ant build}} for platform specific notes.  
   
-   
\ No newline at end of file
+   
diff --git a/src/site/apt/building/xcode.apt b/src/site/apt/building/xcode.apt
index 01669c9..fda8419 100644
--- a/src/site/apt/building/xcode.apt
+++ b/src/site/apt/building/xcode.apt
@@ -22,16 +22,16 @@
 
 *Building log4cxx.dylib
 
-   Run configure to generate log4cxx.h and log4cxx_private.h.
+   Run configure to generate log4cxx.h and log4cxx_private.h
+   then launch Xcode.
    
 +----+
 cd apache-log4cxx-0.10.0
 ./autogen.sh
 ./configure
+open projects/log4cxx.xcodeproj
 +----+   
 
-   Open projects/log4cxx.xcodeproj with Xcode 2.4 or later, address issues described below
-   and build as normal. 
 
 *Running unit tests
 
@@ -40,15 +40,14 @@
    (test suite and implementation in one project) in Xcode and address issues
    described below.  
    
-   Select the executable in Groups & Files and press Info and
+   Select the executable in Groups & Files and press Info and:
    
    * In the General pane, set Working Directory to Custom with path "../src/test/resources".
+
    * In the Arguments pane, add following key value pairs to "Variables to be set in the environment":
      TOTO=wonderful, key1=value1 and key2=value2.
    
-   Individual tests can be specified by specifying the test name in 
-      "Arguments to be passed on launch"  Specifying "-v" as an argument
-      will run the tests in a verbose mode.
+   * In the Arguments pane, add "-v" for verbose output, or individual test names in "Arguments to be passed on launch".
 
 *Issues
 
@@ -77,4 +76,4 @@
    and drop on the "Link Binary with Libraries" folder
    under Targets.
 
-   See issue {{{http://issues.apache.org/jira/browse/LOGCXX-245}LOGCXX-245}} for further information.
\ No newline at end of file
+   See issue {{{http://issues.apache.org/jira/browse/LOGCXX-245}LOGCXX-245}} for further information.
diff --git a/src/site/resources/.htaccess b/src/site/resources/.htaccess
new file mode 100644
index 0000000..005aa3b
--- /dev/null
+++ b/src/site/resources/.htaccess
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+<IfModule mod_rewrite.c>
+  RewriteEngine on
+  #
+  #   rewrite site requests to equivalent new URLs
+  #
+  RewriteRule ^contributing\.html$ http://logging.apache.org/log4cxx/issue-tracking.html [R=permanent,L]
+  RewriteRule ^support\.html$ http://logging.apache.org/log4cxx/index.html [R=permanent,L]
+  RewriteRule ^team\.html$ http://logging.apache.org/team-list.html [R=permanent,L]
+  RewriteRule ^ChangeLog$ http://logging.apache.org/log4cxx/changes-report.html [R=permanent,L]
+  RewriteRule ^manual/index\.html$ http://logging.apache.org/log4cxx/manual.html [R=permanent,L] 
+  RewriteRule ^manual/(.*)$ http://logging.apache.org/log4cxx/apidocs/$1 [R=permanent,L]
+  RewriteRule ^manual\.html/index\.html$ http://logging.apache.org/log4cxx/manual.html [R=permanent,L] 
+  RewriteRule ^manual\.html/(.*)$ http://logging.apache.org/log4cxx/apidocs/$1 [R=permanent,L]
+</IfModule>
