diff --git a/ChangeLog b/ChangeLog
index 008b32e2..0cfef774 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2010-03-06 Tatsuhiro Tsujikawa
+
+ Added changeUri XML-RPC method. This method removes/adds URIs
+ dynamically.
+ * doc/aria2c.1.txt
+ * src/AbstractCommand.cc
+ * src/DownloadContext.cc
+ * src/DownloadContext.h
+ * src/FileEntry.cc
+ * src/FileEntry.h
+ * src/Request.cc
+ * src/Request.h
+ * src/RequestGroup.cc
+ * src/RequestGroupMan.cc
+ * src/XmlRpcMethodFactory.cc
+ * src/XmlRpcMethodImpl.cc
+ * src/XmlRpcMethodImpl.h
+ * test/FileEntryTest.cc
+ * test/XmlRpcMethodTest.cc
+
2010-03-06 Tatsuhiro Tsujikawa
Rewritten copy ctor of RequestSlot to use initialization list.
diff --git a/doc/aria2c.1 b/doc/aria2c.1
index 3fd17b7c..d8e756d6 100644
--- a/doc/aria2c.1
+++ b/doc/aria2c.1
@@ -2,12 +2,12 @@
.\" Title: aria2c
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2
-.\" Date: 02/25/2010
+.\" Date: 03/06/2010
.\" Manual: Aria2 Manual
.\" Source: Aria2 1.9.0a
.\" Language: English
.\"
-.TH "ARIA2C" "1" "02/25/2010" "Aria2 1\&.9\&.0a" "Aria2 Manual"
+.TH "ARIA2C" "1" "03/06/2010" "Aria2 1\&.9\&.0a" "Aria2 Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -2467,6 +2467,10 @@ This method changes the position of the download denoted by \fIgid\fR\&. \fIpos\
.sp
For example, if GID#1 is placed in position 3, aria2\&.changePosition(1, \-1, POS_CUR) will change its position to 2\&. Additional aria2\&.changePosition(1, 0, POS_SET) will change its position to 0(the beginning of the queue)\&.
.sp
+\fBaria2\&.changeUri\fR \fIgid, fileIndex, delUris, addUris[, position]\fR
+.sp
+This method removes URIs in \fIdelUris\fR from and appends URIs in \fIaddUris\fR to download denoted by \fIgid\fR\&. \fIdelUris\fR and \fIaddUris\fR are list of string\&. A download can contain multiple files and URIs are attached to each file\&. \fIfileIndex\fR is used to select which file to remove/attach given URIs\&. \fIposition\fR is used to specify where URIs are inserted in the existing waiting URI list\&. \fIposition\fR is 0\-based\&. When \fIposition\fR is omitted, URIs are appended to the back of the list\&. This method first execute removal and then addition\&. \fIposition\fR is the position after URIs are removed, not the position when this method is called\&. When removing URI, if same URIs exist in download, only one of them is removed for each URI in \fIdelUris\fR\&. In other words, there are three URIs "http://example\&.org/aria2" and you want remove them all, you have to specify (at least) 3 "http://example\&.org/aria2" in \fIdelUris\fR\&. This method returns a list which contains 2 integers\&. The first integer is the number of URIs deleted\&. The second integer is the number of URIs added\&.
+.sp
\fBaria2\&.getOption\fR \fIgid\fR
.sp
This method returns options of the download denoted by \fIgid\fR\&. The response is of type struct\&. Its key is the name of option\&. The value type is string\&.
diff --git a/doc/aria2c.1.html b/doc/aria2c.1.html
index 16480e7e..c47ddc13 100644
--- a/doc/aria2c.1.html
+++ b/doc/aria2c.1.html
@@ -3176,6 +3176,24 @@ destination position.
-1, POS_CUR) will change its position to 2. Additional
aria2.changePosition(1, 0, POS_SET) will change its position to 0(the
beginning of the queue).
+aria2.changeUri gid, fileIndex, delUris, addUris[, position]
+This method removes URIs in delUris from and appends URIs in
+addUris to download denoted by gid. delUris and addUris are
+list of string. A download can contain multiple files and URIs are
+attached to each file. fileIndex is used to select which file to
+remove/attach given URIs. position is used to specify where URIs
+are inserted in the existing waiting URI list. position is
+0-based. When position is omitted, URIs are appended to the back of
+the list. This method first execute removal and then
+addition. position is the position after URIs are removed, not the
+position when this method is called. When removing URI, if same URIs
+exist in download, only one of them is removed for each URI in
+delUris. In other words, there are three URIs
+"http://example.org/aria2" and you want remove them all, you have to
+specify (at least) 3 "http://example.org/aria2" in delUris. This
+method returns a list which contains 2 integers. The first integer is
+the number of URIs deleted. The second integer is the number of URIs
+added.
This method returns options of the download denoted by gid. The
response is of type struct. Its key is the name of option. The value type
@@ -3722,7 +3740,7 @@ files in the program, then also delete it here.