Changes in Apache XML-RPC

Release History

Version Date Description
3.1.4 Not yet released
3.1.3 2010-Feb-06
3.1.2 2009-Apr-19
3.1.1 2008-Aug-10
3.1 2007-Aug-31
3.0 30-Aug-2006
3.0rc1 27-Jul-2006
3.0b1 24-Jun-2006
3.0a1 17-Feb-2005
2.0.2 Not yet released
2.0.1 28-Dec-2005

Release 3.1.4 - Not yet released

Type Changes By
add Added example documentation on request processor creation. Thanks to Teemu Kanstren. jochen

Release 3.1.3 - 2010-Feb-06

Type Changes By
fix The version number in the clients user agent string is now updated automatically. jochen
fix Fixed a deadlock in the ThreadPool. Fixes XMLRPC-168. jochen
fix The ClientFactory is now supporting an empty remote class. Fixes XMLRPC-174. Thanks to Livnat Peer. jochen
add Added support for configured timeouts to the XmlRpcSun15HttpTransport class. Thanks to Gam. jochen
fix Fixed a potential security hole: The client has been able to include server side resources into the request by using external entities. Thanks to Johan Hôgre. jochen

Release 3.1.2 - 2009-Apr-19

Type Changes By
fix Eliminated a possible race condition in the ThreadPool. Fixes XMLRPC-162. Thanks to Mark Gertsvolf. jochen
fix The ThreadPool could create more threads than configured. Fixes XMLRPC-161. Thanks to Mark Gertsvolf. jochen
fix Weakened the access control in the WebServer class in order to make subclassing easier. Fixes XMLRPC-160. Thanks to James Baldassari. jochen
fix Improved the handling of HTTP status codes that indicate an error. Fixes XMLRPC-159. Thanks to Brandon DuRette. jochen
fix Fixed a possible NPE in case of a malformed HTTP request in the WebServer. Thanks to Alan Burlison. jochen
fix The webserver's connection timeout wasn't applied to the ServletWebServer. Fixes XMLRPC-166. Thanks to Alan Burlison. jochen
fix A client could prevent other clients from connecting by not sending any data. Fixes XMLRPC-166. Thanks to Alan Burlison. jochen
fix The platforms default encoding has been used at some point when decoding HTTP headers. Fixes XMLRPC-164. Thanks to Greg Wurth. jochen

Release 3.1.1 - 2008-Aug-10

Type Changes By
fix The XmlRpcCommonsTransport is now always declaring its entities as repeatable. Thanks to Póka Balázs. jochen
add It is now possible to set the clients user-agent header in the client configuration. Fixes XMLRPC-149. Thanks to Andreas Sahlbach. jochen
fix Ensured that the server replies with a spec compliant request, if the client uses the content-length header. Fixes XMLRPC-148. Thanks to Andreas Sahlbach. jochen
fix The XmlRpcSunHttpTransportFactory wasn't thread safe. Fixes XMLRPC-150. jochen
add Added support for javax.net.ssl.SSLSocketFactory and javax.net.Proxy. Fixes XMLRPC-101. Thanks to Julio Francisco Veronelli. jochen
fix Added some clarification on the handling of Object[] and java.util.List to the page on "XML-RPC Data Types". Fixes XMLRPC-151. jochen
fix Minor grammar improvements. Fixes XMLRPC-157. Thanks to Kay Tiong Khoo. jochen
add Added the XmlRpcErrorHandler, which allows to customize the error logging. This allows, for example, to minimize the logging for business exceptions. Fixes XMLRPC-156. jochen
fix Documented, that called methods are choosen based on their signature. In particular, multiple methods with the same name are supported. Fixes XMLRPC-155. jochen
fix Fixed the FAQ entry on how to obtain the clients IP address. Fixes XMLRPC-158. jochen

Release 3.1 - 2007-Aug-31

Type Changes By
add Introduced the "enabledForExceptions" property. jochen
add Added support for void methods, if extensions are turned on. jochen
add Added PropertyHandlerMapping.load(ClassLoader, Map). Fixes XMLRPC-118. Thanks to Perry Nguyen. jochen
add The authentication handler, type converter and requestprocessor factories are now configurable as properties of the XmlRpcServlet. Fixes XMLRPC-117. Thanks to Jimisola Laursen. jochen
add Atomic properties of XmlRpcServer are now configurable as init parameters in the XmlRpcServlet. Fixes XMLRPC-116. Thanks to Jimisola Laursen. jochen
fix Reworked the WebServer/ThreadPool framework in order to ensure a clean shutdown. jochen
fix The configuration framework, as introduced by XMLRPC-116, was applicable to the configuration only, and not to the XmlRpcServlet, or the XmlRpcServletServer. Fixes XMLRPC-124. Thanks to Jimisola Laursen. jochen
add Introduced the method AbstractReflectiveHandlerMapping.isHandlerMethod(). This should allow users to prevent remote invocation of certain methods, for example initialization stuff. jochen
add The ClientFactory is now able to use a custom name for the remote handler. So far, it was always using the interface name. Fixes XMLRPC-126. Thanks to Eugene Prokopiev. jochen
add It is now possible to have other objects than strings as map keys. Fixes XMLRPC-127. jochen
add Made extending the XmlRpcCommonsTransportFactory easier. Fixes XMLRPC-131. Thanks to Steffen Pingel. jochen
add Added support for redirects. Fixes XMLRPC-132. Thanks to Andrew Norman. jochen
fix Fixed an invalid example in the "advanced" document. Fixes XMLRPC-136. Thanks to Mario Linke. jochen
fix An invalid dateTime value is now causing a more informative error message. Fixes XMLRPC-140. jochen
fix The redirect handling (XMLRPC-132) wasn't actually working, because it treated an URI as a charset name. Fixes XMLRPC-144. Thanks to Steve Cohen. jochen
fix Address matching in the Webserver wasn't actually working, because casting of integers to bytes was implemented wrong. Fixes XMLRPC-145. Thanks to Gamaliel Amaudruz. jochen
fix Make the HttpClient creation in XmlRpcCommonsTransport and the URLConnection creation in XmlRpcSunHttpTransport protected. This is required for cookie support. jochen
fix The WebServer was producing invalid error responses, if contentLengthOptional was set. jochen
fix If the server was throwing an XmlRpcException, then the fault code and fault string weren't given to the client. Fixes XMLRPC-113. Thanks to Juha Syrjala. jochen
fix The WebServer replies with an HTTP error 401 now, if the client uses chunked encoding. Fixes XMLRPC-114. jochen
fix The properties "Extension-Name", "Specification-Vendor", "Specification-Version", "Specification-Title", "Implementation-Vendor-Id", "Implementation-Vendor" and "Implementation-Version" are now present in the MANIFEST files. Fixes XMLRPC-74. jochen
fix An NPE was thrown, if the clients request didn't contain a "params" element. Fixes XMLRPC-115. jochen
fix The method TimingOutCallback.waitForResponse is now checking, whether a response has already arrived before waiting. Thanks to Jonathan Oexner. jochen
fix Fixed a serious performance problem, if the XML parser was sending large content in small pieces. This could happen, for example, if the content contained a large number of character entities. Fixes XMLRPC-119. jochen
fix The configuration of the reply timeout in the commons transport was wrong. Fixes XMLRPC-120. Thanks to Juho Yli-Krekola. jochen
fix The DateParser is now treating an empty string as null. Fixes XMLRPC-133. Thanks to Carsten Wolters. jochen
fix Fixed a broken link referring to an "SSL with Jetty" HOW-TO. Fixes XMLRPC-134. Thanks to Sir Bode Rafael. jochen
fix The XmlRpcRequestParser and XmlRpcResponseParser didn't reset their internal state within startDocument(). Consequently, they haven't been reusable. Fixes XMLRPC-141. Thanks to Keith McNeill. jochen

Release 3.0 - 30-Aug-2006

Type Changes By
fix Fixed the spelling of CharSetXmlWriterFactory, which made the class basically useless. Fixes XMLRPC-100. Thanks to Matt Preston. jochen
fix Fixed that the WebServer didn't wait before retrying to bind to the server socket. Thanks to Stanislav Miklik. jochen
fix Fixed an endless loop, if the WebServer threw a BindException. Thanks to Stanislav Miklik. jochen
fix A NullPointerException was triggered, if the BasicEncoding was set to null. Fixes XMLRPC-104. Thanks to Landon Fuller. jochen
fix Basic authentication didn't work, if the base64 encoded string with user name and password contained more than 72 characters. Fixes XMLRPC-104. Thanks to Landon Fuller. jochen
fix Basic authentication didn't work with the commons http transport, because the commons httpclient wasn't configured to send credentials by default. (It was waiting for a challenge.) jochen
fix Basic authentication didn't work with the commons http transport, if user name or password contained non-ASCII characters. Fixes XMLRPC-105. jochen
fix The releaseWorker() method wasn't called for the server. Thanks to Randall Bryant. jochen
fix Fixed a bug in the web servers thread pool, which caused that threads haven't been reused. jochen
fix Documentation improvements Thanks to Jason McLaurin. jochen
add Added documentation on custom data types. jochen
add The XmlRpcLiteHttpTransport is now creating a socket in a protected methods. This allows to switch to alternative socket implementations. Fixes XMLRPC-107. Thanks to Catalin Hritcu. jochen
fix More documentation fixes. Fixes XMLRPC-108. Thanks to Catalin Hritcu. jochen
fix Fixed an invalid FAQ example. Fixes XMLRPC-109. Thanks to Catalin Hritcu. jochen

Release 3.0rc1 - 27-Jul-2006

Type Changes By
fix Added a missing "synchronized" to the TimingOutCallback. Thanks to Alan Burlison. jochen
fix Fixed an invalid index, that caused the ReflectiveXmlRpcHandler to fail detecting a method. Fixes XMLRPC-94. Thanks to Chris Conrad. jochen
add Added documentation for accessing an SSL server. Fixes XMLRPC-93. jochen
add A null parameter list is now treated as an empty object array. Fixes XMLRPC-96. Thanks to Jimisola Laursen. jochen
fix The type long was missing in types.apt. Fixes XMLRPC-97. Thanks to Jimisola Laursen. jochen

Release 3.0b1 - 24-Jun-2006

Type Changes By
add Add connectionTimeout and replyTimeout in RPC clients. CommonsTransport support connection and reply timeout, liteHttpTransport only support reply timeout hgomez
fix The value created by HttpUtil.encodeBasicAuthentication(...) was terminated with a line feed, which is invalid for use in HTTP headers. Thanks to Marek Ludha. jochen
add add support for BigDecimal and BigInteger in extensions. hgomez
fix Nested object arrays could not be parsed. Thanks to Walter Mundt. jochen
fix The "string" tag could not be parsed. Thanks to Walter Mundt. jochen
add Added the DynamicHandlerMapping. Fixes XMLRPC-76. Thanks to Walter Mundt. jochen
fix XmlRpcException.printStackTrace() was throwing an NPE, if no linked exception was present. Thanks to Walter Mundt. jochen
add The project is now splitted into three jar files: common, client, and server. jochen
fix The Base64 encoder doesn't accept buffers of length 0. Such a buffer was passed, if the byte array to encode has itself length 0. Thanks to Brad Karp. jochen
fix HTTP/1.0 requires a content-length header. The Lite HTTP transport doesn't support HTTP/1.1, so it refuses the "contentLengthOptional" setting from now on. Fixes XMLRPC-79. jochen
add Added support for initializable handlers. Thanks to Mark Petrovic. jochen
add Added the TimingOutCallback, which allows to abort a request, if the server doesn't reply within a given time. Fixes XMLRPC-56. Thanks to Ken Weiner. jochen
fix Fixed that dateTime values must not include timezone values. hgomez
add The XmlRpcServlet allows to configure its "enabledForExtensions" value as an init parameter. Fixes XMLRPC-84. Thanks to Denis Carniel. jochen
add It is now possible to create and initialize handler objects per request. jochen
fix Added partial support for automatic conversion of object arrays to lists, or vectors. Same for maps to hash tables, or properties. Fixes XMLRPC-89. jochen

Release 3.0a1 - 17-Feb-2005

Type Changes By
add Complete rewrite, adding vendor extensions: Streaming mode, support for all primitive Java types, nulls, DOM elements, and JAXB objects. jochen

Release 2.0.2 - Not yet released

Type Changes By
fix A missing increment in LiteXmlRpcTransport.initConnection() prevented, that the method could finally fail, resulting in a never ending loop. Fixes XMLRPC-67. Thanks to Mike Bailey. jochen

Release 2.0.1 - 28-Dec-2005

Type Changes By
fix The Webserver class was unable to handle basic authentication, because the BASE64 codec wasn't initialized. Fixes XMLRPC-68. Thanks to Johan Oskarson. jochen
fix The characters 0x20, 0xe000, and 0x10000 have been escaped without reason. Fixes XMLRPC-69. Thanks to Claude Zervas. jochen
fix The wrong version of commons-codec was downloaded by build.xml. Fixes XMLRPC-73. Thanks to Thomas Mohaupt. jochen
add Added the CommonsXmlRpcTransportFactory. Thanks to Jimisola Laursen. jochen
add Added the possibility to specify a timezone for interpreting incoming date values. Thanks to Henry Story. jochen
add Upgrade to commons-httpclient 3.0. jochen