KBD

Keith Devens .com

Thursday, March 18, 2010 Flag waving
Less isn't more; just enough is more. – Milton Glaser

XML-RPC Library for PHP, change history

History for Keith Devens' XML-RPC Client/Server implementation:
http://www.keithdevens.com/software/xmlrpc/

.95 - initial version
.98 5/30/02
    - improved the XML parser and serializer to support attributes
      and changed how the parsers work a little.
    - Importantly, now uses the Connection: close header to avoid persistent
      connections in HTTP 1.1.
.99 6/1/02 - Fixed XML_unserialize, which was broken. Now it works in all cases!
.99b 6/1/02 - I was wrong :) Fixed one more bug in XML_unserialize
1.0 6/9/02
    - Combined all "generation" functions (XMLRPC_makeArray, XMLRPC_makeStruct, and XMLRPC_makeScalar) into
      one XMLRPC_prepare function that "does the right thing"
    - Also added a getBase64 function.
    - The only thing that's not currently easy to do is to create a base64 or boolean. That'll be fixed for 1.01.
    - Ok, fixed for 1.01 :) 6/9/02
1.02 6/9/02
    - fixed up the code a bit, removed some things that were technically wrong but still worked
      because my library is just *so* flexible, and most importantly -- **documented** it!
1.03 6/12/02
    - changed XMLRPC_getParams so that the $params returned would always be an array
      even if there was only one parameter
    - Added the functions XMLRPC_getArray and XMLRPC_getStruct to complete the set of accessor functions
    - Modified the XMLRPC_getBoolean function to cast the return value to a (bool)
    - Fixed a bug in XMLRPC_prepare where the $type wasn't reset between elements
2.0 6/12/02
    - Overhaul of code, even though it's only a few days old :)
    - Basically, it's now pretty much symmetric, where you serialize PHP data structures to send your message
      and you 'deserialize' the message when you get it back. All the XMLRPC_getWhatever's go away.
      Much nicer. I also realized you can detect the boolean type, so I added that to XMLRPC_prepare
2.0b 6/20/02
    - Very minor change in XMLRPC_request to avoid some string copying
2.0c 7/6/02
    - Very small change to count_numeric_items so it'll return zero if it's passed something that isn't an array
    - Also, so that it won't give you ugly error messages in case you break its precondition of passing it an array :)
2.1 7/12/02
    - Very small change to XMLRPC_parse to hopefully avoid some string copying by passing a reference

    - Made it possible to make an XMLRPC_request with an empty parameter list by passing either 
      an empty array or NULL for the $params.
    - Made XMLRPC_getParams handle the similar case where there are no parameters passed.
      (This takes care of the receiving end as well as the sending end.)
    - Made XMLRPC_adjustValue handle the cases of an array with no elements and a struct with no members.
    Thanks to Elan for pointing these cases out.

    - Neatened up these comments a bit
2.1.1 7/15/02
    - You can now specify the port for XMLRPC_request to connect to by specifying the $site in the form
      of "www.keithdevens.com:8080". Defaults to port 80
    - in XMLRPC_request the $params now defaults to NULL, whereas previously it didn't have a default.
2.1.2 7/16/02
    - Pretty important bug fix in XMLRPC_adjustValue (where arrays of one element got "clobbered").
    Thanks again to Elan.
2.2 7/18/02
    - One more bugfix to XMLRPC_adjustValue (described here http://www.keithdevens.com/weblog/?id2439)
    - Changed the return of XMLRPC_request in the case of a connection failure from false into a structure
      that mimics an XML-RPC error so you can deal with all errors in a uniform way. This may break your code
      if you tested for a connection failure separately before.
    - Added debugging system (finally).
2.2.1 7/23/02
    - Bug fix to XMLRPC_prepare to correctly handle empty arrays and empty structs
2.2.1b 7/23/02
    - Changes to many functions to try to avoid copying data whereever possible.
2.2.1c 7/23/02
    - Ok, backed off a few of those changes. You'll have to pass things by reference yourself to functions like
      XMLRPC_response, etc. if you want to avoid copying.
2.5 9/22/02
    - Completely rewritten XML parser. It uses PHP's SAX XML interface, 
      and should be *much much* faster for large XML documents.
    - Found one instance where a debugging message was always being logged (oops)
    - Added some more debugging for servers
    - Should now work without any notice messages under error_reporting(E_ALL)
2.5b 10/9/02
    - Fixed a small bug where if you tried to you could make the library generate invalid
      XML because of unescaped entities. Thanks to Wesley.
2.5c 10/27/02
    - Fixed a small bug with boolean handling. False boolean values would be printed as
      <boolean></boolean> instead of <boolean>0</boolean>. Thanks to Christian for the bug report.2.5c 10/27/02
2.5d 1/8/2004
    - Fixed a small but significant bug that should have been fixed a long time ago.
      I forgot to anchor a regular expression... very bad show.
2.5e 3/25/2004
    - Got a report that there was a problem under PHP5. It appears that the $this variable has a special meaning
      even in functions that aren't methods. I wonder if that's documented anywhere...
      Anyway, all that's new in this version is that in XMLRPC_error() I changed the name of a variable I was using
      from $this to $temp. I don't know why I named it $this in the first place.

Page last edited: November 24, 2005 (utc)

Index

A B C D E F G H I J L M N O P R S T U V W X

All pages

A

  1. About
  2. Acno's Energizer
  3. Artificial Intelligence
  4. ASP.NET
  5. Atom

B

  1. Bash
  2. Belief systems
  3. Bookmarklets
  4. Build tools

C

  1. C and C++
  2. C#
  3. C++ Reference
  4. Calvinism
  5. Cars I want to consider
  6. CGI
  7. character sets
  8. Chess
  9. Christian Reconstruction
  10. Christian Resources
  11. Chronicles of Narnia
  12. Color tools
  13. Computer Science
  14. Cornelius Van Til
  15. CSS - Cascading style sheets
  16. CSSTabs

D

  1. Database
  2. Differencing programs
  3. Documentation standards
  4. Downloads
  5. Dualities
  6. Dvorak keyboard

E

  1. E-mail me
  2. Eclipse
  3. Eiffel
  4. Emacs
  5. Evolution
  6. Extension languages

F

  1. File extensions
  2. Firefox
  3. Formation: web form automation library for PHP
  4. Forth

G

  1. Greg Bahnsen
  2. GUI Toolkits
  3. Guns

H

  1. Hex editors

I

  1. Important articles or essays
  2. Installers
  3. Internet radio stations

J

  1. Java
  2. Javascript
  3. jEdit

L

  1. Linux
  2. Lisp
  3. Logical fallacies
  4. Lua

M

  1. Markup
  2. Miscellaneous Links
  3. mod_rewrite
  4. Movie theaters
  5. My comment policy
  6. My essential programs
  7. My resume

N

  1. Namespaces
  2. Naming conventions
  3. New Years 2000
  4. N^2 sort comparison

O

  1. Open Source License
  2. OPML

P

  1. Perl
  2. Philosophy
  3. PHP
  4. PHP Calendar (version 2.3)
  5. PHP XML Library, version 1.2b
  6. Pictures
  7. Postmillenialism
  8. Presuppositionalism
  9. Programming Fonts
  10. Programming languages
  11. Programming Resources
  12. Punta Cana
  13. Python

R

  1. RDF
  2. REBOL
  3. Reflex game
  4. Regular expressions
  5. Religion
  6. RFCs
  7. Robot Exclusions
  8. Roman Catholicism
  9. Ruby

S

  1. Scala programming language
  2. Science
  3. Shorthand
  4. Skydiving, August 28, 2000
  5. Software I've written
  6. SPAM
  7. SQLite
  8. StructuredText

T

  1. Tabs vs Spaces
  2. Tcl/Tk
  3. Tea
  4. Text Editors
  5. TextDrive
  6. The Big Bang
  7. The naked street
  8. Theonomy
  9. Tools of communication

U

  1. Unicode
  2. URL Design

V

  1. Version control systems
  2. VI text editor
  3. Virtual machines

W

  1. WeblogUrls
  2. Wiki
  3. WikiBlogIntegration
  4. World of Warcraft
  5. wxWidgets

X

  1. XHTML
  2. XML
  3. XML to PHP translator
  4. XML-RPC
  5. XML-RPC Library for PHP (v 2.5)

Generated in about 0.039s.

(Used 4 db queries)