diff --git a/ChangeLog b/ChangeLog
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_Q2hhbmdlTG9n..f44948c2a073f0d0806429586ecb09f7a1b11823_Q2hhbmdlTG9n 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun May  4 17:41:23 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+	* NEWS configure.in : preparing release 1.0.30
+	* doc/apibuild.py: backported a patch from libxml2
+	* doc/*: updated and rebuilt the docs
+
 Wed Apr 30 22:44:49 CEST 2003 Daniel Veillard <daniel@veillard.com>
 
 	* libxslt/transform.c libxslt/variables.c libxslt/xsltInternals.h:
diff --git a/NEWS b/NEWS
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_TkVXUw==..f44948c2a073f0d0806429586ecb09f7a1b11823_TkVXUw== 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,15 @@
  file
 for a really accurate description:
 
+1.0.30: May 4 2003:
+   - Fixes and new APIs to handle Result Value Trees and avoid leaks
+   - Fixes for: EXSLT math pow() function (Charles Bozeman), global
+    parameter and global variables mismatch, a segfault on pattern
+    compilation errors, namespace copy in xsl:copy-of, python generator
+    problem, OpenVMS trio update, premature call to xsltFreeStackElem (Igor),
+    current node when templates applies to attributes
+
+
 1.0.29: Apr 1 2003:
    - performance improvements especially for large flat documents
    - bug fixes: Result Value Tree handling, XML IDs, keys(), extra namespace
diff --git a/configure.in b/configure.in
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_Y29uZmlndXJlLmlu..f44948c2a073f0d0806429586ecb09f7a1b11823_Y29uZmlndXJlLmlu 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@
 dnl
 LIBXSLT_MAJOR_VERSION=1
 LIBXSLT_MINOR_VERSION=0
-LIBXSLT_MICRO_VERSION=29
+LIBXSLT_MICRO_VERSION=30
 PACKAGE=libxslt
 LIBEXSLT_MAJOR_VERSION=0
 LIBEXSLT_MINOR_VERSION=7
@@ -10,7 +10,7 @@
 PACKAGE=libxslt
 LIBEXSLT_MAJOR_VERSION=0
 LIBEXSLT_MINOR_VERSION=7
-LIBEXSLT_MICRO_VERSION=19
+LIBEXSLT_MICRO_VERSION=20
 LIBXML_REQUIRED_VERSION=2.5.6
 
 
diff --git a/doc/apibuild.py b/doc/apibuild.py
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_ZG9jL2FwaWJ1aWxkLnB5..f44948c2a073f0d0806429586ecb09f7a1b11823_ZG9jL2FwaWJ1aWxkLnB5 100755
--- a/doc/apibuild.py
+++ b/doc/apibuild.py
@@ -1216,7 +1216,7 @@
 			 self.index.add(self.name, self.filename, static,
 			                "function", d)
 			 token = self.token()
-		     if token[0] == "sep" and token[1] == "{":
+		     elif token[0] == "sep" and token[1] == "{":
 		         d = self.mergeFunctionComment(self.name,
 				 ((type, None), self.signature), static)
 			 self.index.add(self.name, self.filename, static,
diff --git a/doc/libxslt-api.xml b/doc/libxslt-api.xml
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_ZG9jL2xpYnhzbHQtYXBpLnhtbA==..f44948c2a073f0d0806429586ecb09f7a1b11823_ZG9jL2xpYnhzbHQtYXBpLnhtbA== 100644
--- a/doc/libxslt-api.xml
+++ b/doc/libxslt-api.xml
@@ -189,6 +189,7 @@
      <exports symbol='_xsltTransformContext'/>
      <exports symbol='xsltAllocateExtra'/>
      <exports symbol='xsltAllocateExtraCtxt'/>
+     <exports symbol='xsltCreateRVT'/>
      <exports symbol='xsltDecimalFormat'/>
      <exports symbol='xsltDecimalFormatGetByName'/>
      <exports symbol='xsltDecimalFormatPtr'/>
@@ -198,6 +199,7 @@
      <exports symbol='xsltElemPreCompDeallocator'/>
      <exports symbol='xsltElemPreCompPtr'/>
      <exports symbol='xsltFormatNumberConversion'/>
+     <exports symbol='xsltFreeRVTs'/>
      <exports symbol='xsltFreeStackElemList'/>
      <exports symbol='xsltFreeStylesheet'/>
      <exports symbol='xsltIsBlank'/>
@@ -211,6 +213,8 @@
      <exports symbol='xsltParseStylesheetOutput'/>
      <exports symbol='xsltParseStylesheetProcess'/>
      <exports symbol='xsltParseTemplateContent'/>
+     <exports symbol='xsltRegisterPersistRVT'/>
+     <exports symbol='xsltRegisterTmpRVT'/>
      <exports symbol='xsltRuntimeExtra'/>
      <exports symbol='xsltRuntimeExtraPtr'/>
      <exports symbol='xsltSortFunc'/>
@@ -743,7 +747,10 @@
       <field name='sec' type='void *' info=' the security preferences if any'/>
       <field name='error' type='xmlGenericErrorFunc' info=' a specific error handler'/>
       <field name='errctx' type='void *' info=' context for the error handler'/>
-      <field name='sortfunc' type='xsltSortFunc' info=' a ctxt specific sort routine'/>
+      <field name='sortfunc' type='xsltSortFunc' info='* handling of temporary Result Value Tree
+*'/>
+      <field name='tmpRVT' type='xmlDocPtr' info=' list of RVT without persistance'/>
+      <field name='persistRVT' type='xmlDocPtr' info=' list of persistant RVTs'/>
     </struct>
     <typedef name='xsltTransformContextPtr' file='xsltInternals' type='xsltTransformContext *'/>
     <typedef name='xsltTransformState' file='xsltInternals' type='enum'/>
@@ -1009,6 +1016,11 @@
       <arg name='inst' type='xmlNodePtr' info='the xslt copy-of node'/>
       <arg name='comp' type='xsltStylePreCompPtr' info='precomputed information'/>
     </function>
+    <function name='xsltCreateRVT' file='xsltInternals'>
+      <info>Create a result value tree</info>
+      <return type='xmlDocPtr' info='the result value tree or NULL in case of error'/>
+      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
+    </function>
     <function name='xsltDebug' file='extra'>
       <info>Process an debug node</info>
       <return type='void'/>
@@ -1292,6 +1304,11 @@
       <return type='void'/>
       <arg name='style' type='xsltStylesheetPtr' info='an XSLT stylesheet'/>
     </function>
+    <function name='xsltFreeRVTs' file='xsltInternals'>
+      <info>Free all the registered result value tree of the transformation</info>
+      <return type='void'/>
+      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
+    </function>
     <function name='xsltFreeSecurityPrefs' file='security'>
       <info>Free up a security preference block</info>
       <return type='void'/>
@@ -1775,7 +1792,13 @@
       <return type='void'/>
       <arg name='ctxt' type='xsltTransformContextPtr' info='a XSLT process context'/>
     </function>
+    <function name='xsltRegisterPersistRVT' file='xsltInternals'>
+      <info>Register the result value tree for destruction at the end of the processing</info>
+      <return type='int' info='0 in case of success and -1 in case of error.'/>
+      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
+      <arg name='RVT' type='xmlDocPtr' info='a result value tree'/>
+    </function>
     <function name='xsltRegisterTestModule' file='extensions'>
       <info>Registers the test module</info>
       <return type='void'/>
     </function>
@@ -1778,7 +1801,13 @@
     <function name='xsltRegisterTestModule' file='extensions'>
       <info>Registers the test module</info>
       <return type='void'/>
     </function>
+    <function name='xsltRegisterTmpRVT' file='xsltInternals'>
+      <info>Register the result value tree for destruction at the end of the context</info>
+      <return type='int' info='0 in case of success and -1 in case of error.'/>
+      <arg name='ctxt' type='xsltTransformContextPtr' info='an XSLT transformation context'/>
+      <arg name='RVT' type='xmlDocPtr' info='a result value tree'/>
+    </function>
     <function name='xsltResolveStylesheetAttributeSet' file='attributes'>
       <info>resolve the references between attribute sets.</info>
       <return type='void'/>
diff --git a/doc/libxslt.xsa b/doc/libxslt.xsa
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_ZG9jL2xpYnhzbHQueHNh..f44948c2a073f0d0806429586ecb09f7a1b11823_ZG9jL2xpYnhzbHQueHNh 100644
--- a/doc/libxslt.xsa
+++ b/doc/libxslt.xsa
@@ -8,6 +8,6 @@
   </vendor>
   <product id="libxslt">
     <name>libxslt</name>
-    <version>1.0.29</version>
-    <last-release> Apr 1 2003</last-release>
+    <version>1.0.30</version>
+    <last-release> May 4 2003</last-release>
     <info-url>http://xmlsoft.org/XSLT/</info-url>
@@ -13,9 +13,10 @@
     <info-url>http://xmlsoft.org/XSLT/</info-url>
-    <changes>   - performance improvements especially for large flat documents
-   - bug fixes: Result Value Tree handling, XML IDs, keys(), extra namespace
-    declarations with xsl:elements.
-   - portability: python and trio fixes (Albert Chin), python on Solaris
-    (Ben Phillips)
+    <changes>   - Fixes and new APIs to handle Result Value Trees and avoid leaks
+   - Fixes for: EXSLT math pow() function (Charles Bozeman), global
+    parameter and global variables mismatch, a segfault on pattern
+    compilation errors, namespace copy in xsl:copy-of, python generator
+    problem, OpenVMS trio update, premature call to xsltFreeStackElem (Igor),
+    current node when templates applies to attributes
 
 </changes>
   </product>
diff --git a/doc/news.html b/doc/news.html
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_ZG9jL25ld3MuaHRtbA==..f44948c2a073f0d0806429586ecb09f7a1b11823_ZG9jL25ld3MuaHRtbA== 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -8,7 +8,13 @@
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style><title>News</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>News</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h3>CVS only : check the <a href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
-for a really accurate description</h3><h3>1.0.29: Apr 1 2003</h3><ul><li>performance improvements especially for large flat documents</li>
+for a really accurate description</h3><h3>1.0.30: May 4 2003</h3><ul><li>Fixes and new APIs to handle Result Value Trees and avoid leaks</li>
+  <li>Fixes for: EXSLT math pow() function (Charles Bozeman), global
+    parameter and global variables mismatch, a segfault on pattern
+    compilation errors, namespace copy in xsl:copy-of, python generator
+    problem, OpenVMS trio update, premature call to xsltFreeStackElem (Igor),
+    current node when templates applies to attributes</li>
+</ul><h3>1.0.29: Apr 1 2003</h3><ul><li>performance improvements especially for large flat documents</li>
   <li>bug fixes: Result Value Tree handling, XML IDs, keys(), extra namespace
     declarations with xsl:elements.</li>
   <li>portability: python and trio fixes (Albert Chin), python on Solaris
diff --git a/doc/xslt.html b/doc/xslt.html
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_ZG9jL3hzbHQuaHRtbA==..f44948c2a073f0d0806429586ecb09f7a1b11823_ZG9jL3hzbHQuaHRtbA== 100644
--- a/doc/xslt.html
+++ b/doc/xslt.html
@@ -282,6 +282,16 @@
 href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
 for a really accurate description</h3>
 
+<h3>1.0.30: May 4 2003</h3>
+<ul>
+  <li>Fixes and new APIs to handle Result Value Trees and avoid leaks</li>
+  <li>Fixes for: EXSLT math pow() function (Charles Bozeman), global
+    parameter and global variables mismatch, a segfault on pattern
+    compilation errors, namespace copy in xsl:copy-of, python generator
+    problem, OpenVMS trio update, premature call to xsltFreeStackElem (Igor),
+    current node when templates applies to attributes</li>
+</ul>
+
 <h3>1.0.29: Apr 1 2003</h3>
 <ul>
   <li>performance improvements especially for large flat documents</li>
diff --git a/libxslt/xsltwin32config.h b/libxslt/xsltwin32config.h
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_bGlieHNsdC94c2x0d2luMzJjb25maWcuaA==..f44948c2a073f0d0806429586ecb09f7a1b11823_bGlieHNsdC94c2x0d2luMzJjb25maWcuaA== 100644
--- a/libxslt/xsltwin32config.h
+++ b/libxslt/xsltwin32config.h
@@ -21,10 +21,10 @@
  *
  * the version string like "1.2.3"
  */
-#define LIBXSLT_DOTTED_VERSION "1.0.29"
+#define LIBXSLT_DOTTED_VERSION "1.0.30"
 
 /**
  * LIBXSLT_VERSION:
  *
  * the version number: 1.2.3 value is 1002003
  */
@@ -25,13 +25,13 @@
 
 /**
  * LIBXSLT_VERSION:
  *
  * the version number: 1.2.3 value is 1002003
  */
-#define LIBXSLT_VERSION 10029
+#define LIBXSLT_VERSION 10030
 
 /**
  * LIBXSLT_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "1002003"
  */
@@ -32,10 +32,10 @@
 
 /**
  * LIBXSLT_VERSION_STRING:
  *
  * the version number string, 1.2.3 value is "1002003"
  */
-#define LIBXSLT_VERSION_STRING "10029"
+#define LIBXSLT_VERSION_STRING "10030"
 
 /**
  * WITH_XSLT_DEBUG:
diff --git a/python/libxsltclass.txt b/python/libxsltclass.txt
index b4a4413d8a8d27592cc9eb34f0254e89894bc638_cHl0aG9uL2xpYnhzbHRjbGFzcy50eHQ=..f44948c2a073f0d0806429586ecb09f7a1b11823_cHl0aG9uL2xpYnhzbHRjbGFzcy50eHQ= 100644
--- a/python/libxsltclass.txt
+++ b/python/libxsltclass.txt
@@ -134,6 +134,10 @@
 
     # functions from module xsltInternals
     allocateExtraCtxt()
+    createRVT()
+    freeRVTs()
+    registerPersistRVT()
+    registerTmpRVT()
 
     # functions from module xsltutils
     message()