1<?xml version="1.0" encoding="utf-8"?>
2<!-- :tabSize=2:indentSize=2:wrap=hard: -->
3<changelog xmlns="http://www.blackperl.com/2009/01/ChangeLogML"
4    xmlns:sc="http://www.blackperl.com/2009/01/ChangeLogML/source-control"
5    xmlns:git="http://www.blackperl.com/2009/01/ChangeLogML/source-control/git"
6    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7    xmlns:xhtml="http://www.w3.org/1999/xhtml"
8    xsi:schemaLocation="http://www.blackperl.com/2009/01/ChangeLogML etc/ChangeLogML.xsd">
9  <project>RPC::XML</project>
10  <title>Perl Module RPC::XML Change History</title>
11  <description>
12    Revision history for the Perl extension module RPC::XML. This is an
13    implementation of the XML-RPC standard as described at
14    <xhtml:a href="http://www.xmlrpc.com">http://www.xmlrpc.com</xhtml:a>.
15    This implementation also permits some minor
16    extensions to the base protocol in terms of supporting HTTP/1.1 and
17    allowing choice of character-set encodings for XML messages.
18  </description>
19  <release date="2021-01-06T09:59:00-08:00" version="0.82" sc:tag="0.82">
20    <change git:commit="22b657667a47ceb4ee68c59d04321c4f4e54b22a">
21      <fileset>
22        <file path="Makefile.PL" />
23        <file path="lib/RPC/XML/Server.pm" />
24      </fileset>
25      <description>
26        Bump version numbers.
27      </description>
28    </change>
29    <change git:commit="b4b6f085eeabc58ddb8f578465ba24a27e5be11d">
30      <fileset>
31        <file path="Makefile.PL" />
32        <file path="lib/RPC/XML/Server.pm" />
33        <file path="t/40_server.t" />
34        <file path="t/40_server_xmllibxml.t" />
35        <file path="t/41_server_hang.t" />
36        <file path="t/60_net_server.t" />
37        <file path="t/util.pl" />
38      </fileset>
39      <description>
40        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=120472">RT #120472</xhtml:a>:
41        Applied patch from Petr Písař for fixes to IPv6 support. Full detail
42        in the message for this commit in the git repository.
43      </description>
44    </change>
45  </release>
46  <release date="2021-01-05T18:33:00-08:00" version="0.81" sc:tag="0.81">
47    <change git:commit="b34a215258a85305f4834f8d1861e7b84841d044">
48      <fileset>
49        <file path="MANIFEST" />
50        <file path="perlcritic.rc" action="ADD" />
51      </fileset>
52      <description>
53        Add a perlcritic.rc file for testers who run author tests.
54      </description>
55    </change>
56    <change git:commit="e0412dab68f103cadf6db3c42596658b3ceaa6e5">
57      <fileset>
58        <file path="t/40_server.t" />
59        <file path="t/40_server_xmllibxml.t" />
60      </fileset>
61      <description>
62        Remove redundant testing and general clean-up.
63        Removed tests of url() that were just re-testing HTTP::Daemon::url().
64      </description>
65    </change>
66    <change git:commit="7609db93606c4e592032e49d49c5eb7083ef7908">
67      <file path="lib/RPC/XML/Client.pm" />
68      <description>
69        Parameterize the request-as-string debug feature.
70      </description>
71    </change>
72    <change git:commit="68b3ab72470662eb8b76392978135b58bf9e73e3">
73      <file path="lib/RPC/XML/Client.pm" />
74      <description>
75        Merge pull request #13 from enrico-sorcinelli/add-request-string.
76        Added xmlrpc request string as object property. (Enrico Sorcinelli)
77      </description>
78    </change>
79  </release>
80  <release date="2016-05-08T12:45:00-07:00" version="0.80" sc:tag="0.80">
81    <change git:commit="32560525e443799daa8d2a2429ea9d1d782a1bfd">
82      <file path="etc/make_method" />
83      <description>
84        Make the build reproducible by dropping timestamps in make_method
85        output. (Niko Tyni)
86      </description>
87    </change>
88    <change git:commit="3270580b3538e108a2df16273e7513d197eee2d3">
89      <fileset>
90        <file path="t/40_server.t" />
91        <file path="t/40_server_xmllibxml.t" />
92        <file path="t/50_client.t" />
93      </fileset>
94      <description>
95        Fixes for test problems with Strawberry Perl.
96      </description>
97    </change>
98    <change git:commit="d5671287e928fc2911bccb88da9ffb73531e5e4c">
99      <file path="lib/RPC/XML/Client.pm" />
100      <description>
101        Fix leak caused by failing to free Expat parser. We don&apos;t want to
102        return from the method until the parser&apos;s been freed. We therefore
103        need to call $parser->release() before the return statements caused
104        by request failures. (Tom Grimwood-Taylor)
105      </description>
106    </change>
107    <change git:commit="8158b17b8979c0126a5824909e8f57e1d4c13dd8">
108      <file path="lib/RPC/XML/Server.pm" />
109      <description>
110        One socket-opt change, one typo corrected.
111      </description>
112    </change>
113    <change git:commit="703a41a19874b54c8edf7d287752b5bf5d0c0008">
114      <file path="lib/RPC/XML.pm" />
115      <description>
116        Applied patch for numeric regexes and critic cleanup. Addresses
117        <xhtml:a href="https://github.com/rjray/rpc-xml/pull/10">GitHub
118        pull request #10</xhtml:a> and
119        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=111636">RT
120        #111636</xhtml:a>.
121      </description>
122    </change>
123    <change git:commit="b183920628411a7a19a1251ebae6907ccda72739">
124      <file path="t/60_net_server.t" />
125      <description>
126        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=99578">RT #99578</xhtml:a>:
127        Work-around fix for Net::Server+IO::Socket::IP. If a system&apos;s IPv6
128        declaration of localhost was before the IPv4 declaration in the hosts
129        file, this test would fail.
130      </description>
131    </change>
132  </release>
133  <release date="2015-05-01T09:00:00-07:00" version="0.79" sc:tag="0.79">
134    <change git:commit="70f6e31b98b3e80bb2ab5fe99f1e42dc454271e9">
135      <fileset>
136        <file path="t/40_server.t" />
137        <file path="t/40_server_xmllibxml.t" />
138        <file path="t/41_server_hang.t" />
139        <file path="t/60_net_server.t" />
140        <file path="t/70_compression_detect.t" />
141        <file path="t/90_rt54183_sigpipe.t" />
142        <file path="t/util.pl" />
143      </fileset>
144      <description>
145        Test clean-up/fixes to address CPAN test failures. Should address
146        problems with having IO::Socket::IP acting in place of IO::Socket::INET
147        and also address some issues with a dynloader bug being triggered by
148        <xhtml:tt>t/70_compression_detect.t</xhtml:tt>.
149      </description>
150    </change>
151    <change git:commit="93f34fa9e8c65cefadb90a7bf31e70e08ed850b1">
152      <fileset>
153        <file path="t/00_load.t" />
154        <file path="t/10_data.t" />
155        <file path="t/11_base64_fh.t" />
156        <file path="t/12_nil.t" />
157        <file path="t/13_no_deep_recursion.t" />
158        <file path="t/14_datetime_iso8601.t" />
159        <file path="t/15_serialize.t" />
160        <file path="t/20_xml_parser.t" />
161        <file path="t/21_xml_libxml.t" />
162        <file path="t/25_parser_negative.t" />
163        <file path="t/29_parserfactory.t" />
164        <file path="t/30_procedure.t" />
165        <file path="t/35_namespaces.t" />
166        <file path="t/40_server.t" />
167        <file path="t/40_server_xmllibxml.t" />
168        <file path="t/41_server_hang.t" />
169        <file path="t/50_client.t" />
170        <file path="t/51_client_with_host_header.t" />
171        <file path="t/60_net_server.t" />
172        <file path="t/90_rt50013_parser_bugs.t" />
173        <file path="t/90_rt54183_sigpipe.t" />
174        <file path="t/90_rt54494_blessed_refs.t" />
175        <file path="t/90_rt58065_allow_nil.t" />
176        <file path="t/90_rt58323_push_parser.t" />
177        <file path="t/util.pl" />
178      </fileset>
179      <description>
180        Perl::Critic clean-up of test suites.
181      </description>
182    </change>
183    <change git:commit="a2399e760b584f0f57e4953ed8e225371d8b448a">
184      <file path="lib/RPC/XML/Parser/XMLParser.pm" />
185      <description>
186        Fix to prevent a new sprintf-related warning in 5.21.
187      </description>
188    </change>
189    <change git:commit="58c384f53333577ee5d2ab7b56c761fc12793dfb">
190      <fileset>
191        <file path="README" />
192        <file path="lib/Apache/RPC/status.code" />
193      </fileset>
194      <description>
195        Merge pull request #8 from jkg/docfixes (James Green). Replace
196        indirect object notation with direct.
197      </description>
198    </change>
199  </release>
200  <release date="2014-02-06T20:00:00-08:00" version="0.78" sc:tag="0.78">
201    <change git:commit="4c9208b3309cd332cd9b19f7553ab29ce4b90491">
202      <file path="lib/RPC/XML.pm" />
203      <description>
204        A patch to loop detection in smart_encode from Dag-Erling Smørgrav.
205        Some other minor bits.
206      </description>
207    </change>
208    <change git:commit="ae9a69e1176bef9211da57e480ca3e06b4d35c61">
209      <file path="lib/RPC/XML/Procedure.pm" />
210      <description>
211        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=83108">RT #83108</xhtml:a>:
212        Fixed a spelling error. Some other fixes, too.
213      </description>
214    </change>
215    <change git:commit="f6cee931344ffa6a757eb526b02de33c30b672f8">
216      <file path="lib/RPC/XML.pm" />
217      <description>
218        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=86187">RT #86187</xhtml:a>:
219        Force key-ordering in struct as_string and serialize.
220        Was getting some intermittent bug reports of failures in
221        t/15_serialize.t that amounted to the keys in a fault struct not being
222        in consistent order.
223      </description>
224    </change>
225    <change git:commit="33617691326a0bc01efea624e05c65047f1c6154">
226      <fileset>
227        <file path="lib/RPC/XML.pm" />
228        <file path="t/15_serialize.t" />
229      </fileset>
230      <description>
231        Undo the previous change and fix the test. The previous change didn&apos;t
232        feel right, so this rolls it back and fixes the problem at the level of
233        the test, instead.
234      </description>
235    </change>
236    <change git:commit="e340f5f43c386f918216ff9c445239d4c7d90b4c">
237      <fileset>
238        <file path="Makefile.PL" />
239        <file path="lib/RPC/XML.pm" />
240        <file path="lib/RPC/XML/Client.pm" />
241        <file path="lib/RPC/XML/Server.pm" />
242      </fileset>
243      <description>
244        Replace direct evals for loading optional modules with Module::Load.
245        Required adding this to Makefile.PL because Module::Load is not core
246        in 5.8.8. Also did some slight doc tweaking.
247      </description>
248    </change>
249    <change git:commit="c00cd567fd32e4e6e35622434246bce14df58b93">
250      <fileset>
251        <file path="lib/RPC/XML.pm" />
252        <file path="lib/RPC/XML/Client.pm" />
253      </fileset>
254      <description>
255        Merge pull request #5 from alexrj/utf8-encode. Use utf8::encode()
256        instead of utf8::downgrade().
257      </description>
258    </change>
259    <change git:commit="e63f767f7d40f4629157f7fc67ea172bdc9f6e8c">
260      <fileset>
261        <file path="lib/RPC/XML.pm" />
262        <file path="lib/RPC/XML/Client.pm" />
263        <file path="lib/RPC/XML/Server.pm" />
264      </fileset>
265      <description>
266        Finish the uft8 encode vs. downgrade change from the previous commit.
267        Changed in places that were overlooked, and adjusted the version
268        number in all three modules.
269      </description>
270    </change>
271    <change git:commit="fd84f87624cffe3667212fb9c2a8d32a6bdc7fbe">
272      <fileset>
273        <file path="lib/RPC/XML.pm" />
274        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
275      </fileset>
276      <description>
277        Merge pull request #6 from dctabuyz/master. Added 'no_blanks' libxml
278        option to skip blank XML::LibXML::Text nodes.
279      </description>
280    </change>
281    <change git:commit="856da319f0ff661c81dab46c6b857fc058d72cea">
282      <file path="lib/RPC/XML/Server.pm" />
283      <description>
284        Merge pull request #7 from kvar/master. Initialize $do_compress in
285        RPC::XML::Server between requests.
286      </description>
287    </change>
288    <change git:commit="c22977c83bc411c95443f7056c9f7776371fe9df">
289      <fileset>
290        <file path="lib/RPC/XML.pm" />
291        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
292        <file path="lib/RPC/XML/Server.pm" />
293      </fileset>
294      <description>
295        Bump version numbers on modules changed in github pulls.
296      </description>
297    </change>
298  </release>
299  <release date="2012-09-03T12:00:00-07:00" version="0.77" sc:tag="0.77">
300    <change git:commit="23ea1e487cf203e826ddf8a09d450986dfa29599">
301      <file path="t/15_serialize.t" />
302      <description>
303        Fix a test failure on Windows.
304      </description>
305    </change>
306    <change git:commit="4f2493aa66fd4311f981e0424c38edfa88352450">
307      <file path="lib/RPC/XML.pm" />
308      <description>
309        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=70408">RT #70408</xhtml:a>:
310        Fix spelling error in man page, reported by Debian group.
311      </description>
312    </change>
313    <change git:commit="978c9263f04683aa360fdc525ecb2518018dd68a">
314      <file path="t/90_rt54183_sigpipe.t" />
315      <description>
316        Fix to handle cases where server creation fails. Now skips the
317        tests rather than dying.
318      </description>
319    </change>
320    <change git:commit="d5a10436f0efebdae39aba7865c2e3a94d4d046a">
321      <file path="lib/RPC/XML/Client.pm" />
322      <description>
323        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=67486">RT #67486</xhtml:a>:
324        Add port to Host header in client requests.
325      </description>
326    </change>
327    <change git:commit="eae9b4438c4345d2d6ca82fee27ffca3360a86f9">
328      <file path="lib/RPC/XML/Server.pm" />
329      <description>
330        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=65341">RT #65341</xhtml:a>:
331        Added "use" of forgotten library File::Temp. This was causing failure
332        when "message_file_thresh" kicked in.
333      </description>
334    </change>
335    <change git:commit="20994f8b09dc1c136a74352caba7a8f20a94f9ca">
336      <file path="t/10_data.t" />
337      <description>
338        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=78602">RT #78602</xhtml:a>:
339        Changed 64-bit test from use64bitint to longsize.
340        On some systems (such as OS X), use64bitint can be true even when in
341        32-bit mode.
342      </description>
343    </change>
344    <change git:commit="e0362fccbd78d834b6709caf9cb912f0eb77a1f3">
345      <file path="t/21_xml_libxml.t" />
346      <description>
347        Fix from Christian Walde, skip passed test on Windows.
348      </description>
349    </change>
350    <change git:commit="865cf9a319d12b950c148289ee5577de7d63642f">
351      <fileset>
352        <file path="lib/RPC/XML/Server.pm" />
353        <file path="t/40_server.t" />
354      </fileset>
355      <description>
356        Checkpoint refactoring and additional tests.
357        Work is not complete here, but the Net::Server changes demand
358        immediate attention
359      </description>
360    </change>
361    <change git:commit="427bddcc18504b2af1afb0e8728b6a028414d441">
362      <file path="t/20_xml_parser.t" />
363      <description>
364        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=72780">RT #72780</xhtml:a>:
365        Check for a possible parser failure. One instance of XML::Parser
366        failing to parse the extern entities test. Cannot reproduce, so wrap it
367        in a "skip" block for now.
368      </description>
369    </change>
370    <change git:commit="b1680acfcbdb1b991001888e6e5fd64f28341135">
371      <fileset>
372        <file path="lib/RPC/XML/Procedure.pm" />
373        <file path="t/30_method.t" />
374      </fileset>
375      <description>
376        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=71452">RT #71452</xhtml:a>:
377        Correct handling of dateTime parameters. Existing code in
378        <xhtml:tt>lib/RPC/XML/Procedure.pm</xhtml:tt> did not properly handle
379        parameters of the dateTime.iso8601 type. Also, there were no tests for
380        these.
381      </description>
382    </change>
383    <change git:commit="8dcd49066c06be3c588a0fe135efabb7af96c4bd">
384      <fileset>
385        <file path="MANIFEST" />
386        <file path="t/30_method.t" action="DELETE" />
387        <file path="t/30_proceudre.t" action="ADD" />
388      </fileset>
389      <description>
390        Renamed t/30_method.t to t/30_procedure.t.
391      </description>
392    </change>
393    <change git:commit="de7c117392aff2a524a8cf02ef622879788c26f5">
394      <file path="lib/RPC/XML/Server.pm" />
395      <description>
396        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=77992">RT #77992</xhtml:a>:
397        Make RPC::XML::Server work with Net::Server again, after the API
398        changes of Net::Server 2.x.
399      </description>
400    </change>
401  </release>
402  <release date="2011-08-20T18:30:00-07:00" version="0.76" sc:tag="0.76">
403    <change git:commit="6ac04c12677b0285d54213171aaf0211122c2ce5">
404      <fileset>
405        <file path="etc/make_method" />
406        <file path="lib/RPC/XML/Server.pm" />
407      </fileset>
408      <description>
409        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=70258">RT #70258</xhtml:a>:
410        Fixed typos in docs pointed out by Debian team.
411      </description>
412    </change>
413    <change git:commit="5fd094cbda162a5421df70228d642bff2501412f">
414      <file path="lib/Apache/RPC/Server.pm" />
415      <description>
416        Better version of the fix for infinite loops.
417        This is the patch originally suggested by Eric Cholet, who found
418        the bug.
419      </description>
420    </change>
421    <change git:commit="b7210744ecffa57fb6f4eac51b8ed302809c0daa">
422      <file path="t/00_load.t" />
423      <description>
424        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=70280">RT #70280</xhtml:a>:
425        This test was still testing RPC/XML/Method.pm.
426        Rewrote to remove that but include the (forgotten) XMLLibXML.pm module.
427        That test has to be conditional on the presence of XML::LibXML.
428      </description>
429    </change>
430    <change git:commit="e63c1a71610657ec7ca7738aae6e522f961a586a">
431      <fileset>
432        <file path="Makefile.PL" />
433        <file path="t/51_client_with_host_header.t" />
434      </fileset>
435      <description>
436        Clean up test suite to work with older Test::More.
437        Also specify a minimum Test::More that supports subtest(). This is
438        also a part of
439        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=70280">RT #70280</xhtml:a>.
440      </description>
441    </change>
442    <change git:commit="73aa084d14a5befc1251f309ff32189a6d0aa1a8">
443      <fileset>
444        <file path="t/11_base64_fh.t" />
445        <file path="t/20_xml_parser.t" />
446        <file path="t/21_xml_libxml.t" />
447        <file path="t/40_server.t" />
448      </fileset>
449      <description>
450        These tests had failures when run as root.
451        Permissions-based negative tests were incorrectly passing.
452      </description>
453    </change>
454    <change git:commit="800899531bc13da5cbc36423662bae76de304fb5">
455      <file path="t/10_data.t" />
456      <description>
457        Moved the 64-bit "TODO" tests to a SKIP block.
458        Non-64-bit systems will skip, rather than fail, these tests.
459      </description>
460    </change>
461    <change git:commit="cc02b294421a3b343ac741fdd4ceb11349626972">
462      <file path="lib/RPC/XML/Server.pm" />
463      <description>
464        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=65616">RT #65616</xhtml:a>:
465        Fix for slow methods killing servers.
466        Applied and modified patch from person who opened the ticket.
467      </description>
468    </change>
469    <change git:commit="c2e33bcb41fd923f74581b70bca2849dbd91a679">
470      <fileset>
471        <file path="MANIFEST" />
472        <file path="lib/RPC/XML.pm" />
473        <file path="t/10_data.t" />
474        <file path="t/14_datetime_iso8601.t" action="ADD" />
475      </fileset>
476      <description>
477        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=55628">RT #55628</xhtml:a>:
478        Improve flexibility of date parsing.
479        This adds the ability to pass any ISO 8601 string to the
480        RPC::XML::datetime_iso8601 constructor.
481      </description>
482    </change>
483  </release>
484  <release date="2011-08-13T17:30:00-07:00" version="0.75" sc:tag="0.75">
485    <change git:commit="69eba1c169417b60c13b9a00665f9f0a52e3b949">
486      <file path="MANIFEST" />
487      <description>
488        Somehow, t/13_no_deep_recursion.t never got added to MANIFEST.
489      </description>
490    </change>
491    <change git:commit="d0f00193b051e8dce1ef072348737c515e02dd8d">
492      <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
493      <description>
494        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=65154">RT #65154</xhtml:a>:
495        Fixed a cut/paste error in an error message.
496      </description>
497    </change>
498    <change git:commit="b86ad6375b3fa5f1d19522cff84b71fa97a14bb7">
499      <fileset>
500        <file path="lib/RPC/XML/Client.pm" />
501        <file path="t/51_client_with_host_header.t" action="ADD" />
502      </fileset>
503      <description>
504        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=68792">RT #68792</xhtml:a>:
505        Merge pull request #2 from dragon3/master
506        (<xhtml:a href="https://github.com/dragon3">https://github.com/dragon3</xhtml:a>).
507        Allow setting of "Host" header, and test suite for it.
508      </description>
509    </change>
510    <change git:commit="51448ca16b097537f0eac4120f840e7542ec0e66">
511      <fileset>
512        <file path="MANIFEST" />
513        <file path="t/51_client_with_host_header.t" />
514      </fileset>
515      <description>
516        Added new test suite to MANIFEST, fixed spelling.
517        Also added "plan tests" line to the test suite.
518      </description>
519    </change>
520    <change git:commit="c7dfbfccde32621caf59b1fd5c3919fbaf8b2e02">
521      <fileset>
522        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
523        <file path="t/20_xml_parser.t" />
524        <file path="t/21_xml_libxml.t" />
525        <file path="t/41_server_hang.t" />
526      </fileset>
527      <description>
528        Merge pull request #3 from yannk/master
529        (<xhtml:a href="https://github.com/yannk">https://github.com/yannk</xhtml:a>).
530        Expat parser subclass is protected against ext ent attack, libxml
531        isn&apos;t.
532      </description>
533    </change>
534    <change git:commit="2e5292c32d326d90699da355c9c3543606c120af">
535      <file path="t/41_server_hang.t" />
536      <description>
537        Undo a change to this suite from yannk&apos;s pull.
538      </description>
539    </change>
540    <change git:commit="70e5e86e5d53c7aa2e3d6ecbdc450da599dc8dff">
541      <fileset>
542        <file path="etc/make_method" />
543        <file path="lib/Apache/RPC/Server.pm" />
544        <file path="lib/Apache/RPC/Status.pm" />
545        <file path="lib/RPC/XML.pm" />
546        <file path="lib/RPC/XML/Client.pm" />
547        <file path="lib/RPC/XML/Function.pm" />
548        <file path="lib/RPC/XML/Method.pm" />
549        <file path="lib/RPC/XML/Parser.pm" />
550        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
551        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
552        <file path="lib/RPC/XML/ParserFactory.pm" />
553        <file path="lib/RPC/XML/Procedure.pm" />
554        <file path="lib/RPC/XML/Server.pm" />
555      </fileset>
556      <description>
557        More perlcritic-driven clean-up.
558        This is mostly POD sections, but also includes heavy re-working of
559        etc/make_method and parts of lib/RPC/XML.pm.
560      </description>
561    </change>
562    <change git:commit="ed371c566925c1fff75c1abe26844e5ab3b16e50">
563      <fileset>
564        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
565        <file path="t/21_xml_libxml.t" />
566      </fileset>
567      <description>
568        Fixed external entity handling on MacOS.
569        Also made small change to the test suite to be cleaner.
570      </description>
571    </change>
572    <change git:commit="2c63eeb48fb59087c9768e7be32e064a9b012982">
573      <fileset>
574        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
575        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
576      </fileset>
577      <description>
578        Took out warnings on external entities blocking.
579        Now it blocks silently. Also cleaned up some docs.
580      </description>
581    </change>
582    <change git:commit="c17c8f05bf132ff8564fd3d633d7b8ed6d59d64b">
583      <file path="t/15_serialize.t" />
584      <description>
585        Additions to increase code coverage in XML.pm.
586      </description>
587    </change>
588    <change git:commit="1a92f352abc670dc1e54b3fbdbffebd0aefdc60c">
589      <file path="lib/RPC/XML.pm" />
590      <description>
591        Turns out this wasn&apos;t exporting RPC_I8.
592      </description>
593    </change>
594    <change git:commit="235afd8c7c7140b5a3eb837b1ec38c3cbb26c35e">
595      <fileset>
596        <file path="lib/Apache/RPC/Server.pm" />
597        <file path="lib/Apache/RPC/Status.pm" />
598        <file path="lib/RPC/XML.pm" />
599        <file path="lib/RPC/XML/Client.pm" />
600        <file path="lib/RPC/XML/Function.pm" />
601        <file path="lib/RPC/XML/Method.pm" />
602        <file path="lib/RPC/XML/Parser.pm" />
603        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
604        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
605        <file path="lib/RPC/XML/ParserFactory.pm" />
606        <file path="lib/RPC/XML/Procedure.pm" />
607        <file path="lib/RPC/XML/Server.pm" />
608        <file path="xt/02_pod_coverage.t" />
609      </fileset>
610      <description>
611        Made 5.8.8 the new minimum-required perl.
612        Also dropped the utf8_downgrade hack, which affected an xt test.
613      </description>
614    </change>
615    <change git:commit="7edab9cbb49b96ef2c3bb5c1f42157f15ae888ad">
616      <file path="lib/RPC/XML/Client.pm" />
617      <description>
618        Improved arguments-checking in send_request.
619      </description>
620    </change>
621    <change git:commit="f82de550319e5e16c292d96a0b6ffcbea1fe365d">
622      <fileset>
623        <file path="lib/RPC/XML/Client.pm" />
624        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
625        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
626        <file path="lib/RPC/XML/Server.pm" />
627      </fileset>
628      <description>
629        Fixed error-cases in usage of File::Temp->new().
630        File::Temp::new croaks on errors, doesn&apos;t return undef like I
631        thought.
632      </description>
633    </change>
634    <change git:commit="11db8815f41084b3a3ab099a4741959cdf0bd9fd">
635      <fileset>
636        <file path="MANIFEST" />
637        <file path="lib/RPC/XML/Function.pm" action="DELETE" />
638        <file path="lib/RPC/XML/Method.pm" action="DELETE" />
639        <file path="lib/RPC/XML/Procedure.pm" />
640      </fileset>
641      <description>
642        Roll Method.pm and Function.pm into Procedure.pm.
643        Remove Method.pm and Function.pm from distro.
644      </description>
645    </change>
646    <change git:commit="61241910ef453f45de89fbbecb51212bd7eb829e">
647      <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
648      <description>
649        Fixed regexp for methodName validation.
650      </description>
651    </change>
652    <change git:commit="343e66b597f2d1f5fe5a903bddb01876001e5294">
653      <fileset>
654        <file path="t/10_data.t" />
655        <file path="t/11_base64_fh.t" />
656        <file path="t/12_nil.t" />
657        <file path="t/15_serialize.t" />
658        <file path="t/20_xml_parser.t" />
659        <file path="t/21_xml_libxml.t" />
660        <file path="t/25_parser_negative.t" action="ADD" />
661        <file path="t/29_parserfactory.t" />
662        <file path="t/30_method.t" />
663        <file path="t/40_server.t" />
664        <file path="t/40_server_xmllibxml.t" />
665        <file path="t/50_client.t" />
666        <file path="t/BadParserClass.pm" action="ADD" />
667        <file path="t/meth_good_1.xpl" />
668        <file path="t/namespace3.xpl" />
669        <file path="t/svsm_text.b64" action="ADD" />
670        <file path="t/util.pl" />
671      </fileset>
672      <description>
673        First round of Devel::Cover-inspired improvements.
674        These are the changes to the test suites to increase coverage of the
675        code.
676      </description>
677    </change>
678    <change git:commit="d04bd3c06a69b3885857fb85179458e2830db69c">
679      <fileset>
680        <file path="lib/RPC/XML.pm" />
681        <file path="lib/RPC/XML/Procedure.pm" />
682        <file path="lib/RPC/XML/Server.pm" />
683      </fileset>
684      <description>
685        Fixes and such from Devel::Cover analysis.
686      </description>
687    </change>
688    <change git:commit="b8f94379ae4b01ae922e352a31b6150e0e3c7cbf">
689      <fileset>
690        <file path="lib/RPC/XML/Procedure.pm" />
691        <file path="lib/RPC/XML/Server.pm" />
692        <file path="t/30_method.t" />
693        <file path="t/meth_good_1.xpl" />
694        <file path="t/meth_good_2.xpl" action="ADD" />
695        <file path="t/meth_good_3.xpl" action="ADD" />
696      </fileset>
697      <description>
698        Fixes for file-based method loading/reloading.
699        New tests in the suite, and re-working of the ugliest hacky part of this
700        package.
701      </description>
702    </change>
703    <change git:commit="ffb4ccff320e9b521308c81279845d5a67eb64f8">
704      <fileset>
705        <file path="lib/RPC/XML/Procedure.pm" />
706        <file path="lib/RPC/XML/Server.pm" />
707        <file path="t/30_method.t" />
708        <file path="t/meth_good_3.xpl" />
709      </fileset>
710      <description>
711        RPC::XML::Procedure test-coverage improvement.
712        Also removed some unneeded code.
713      </description>
714    </change>
715    <change git:commit="105d7d2a5f38a208772f34ebf990bac428abf129">
716      <fileset>
717        <file path="lib/RPC/XML/Procedure.pm" />
718        <file path="lib/RPC/XML/Server.pm" />
719        <file path="t/30_method.t" />
720        <file path="t/40_server.t" />
721      </fileset>
722      <description>
723        Last round of RPC::XML::Procedure test coverage.
724        This is mostly in t/40_server.t, though some bugs were found and
725        addressed in the modules and in t/30_method.t.
726      </description>
727    </change>
728    <change git:commit="010bc4ad28cd73b092ac4fdaa7e7f94d463b46ec">
729      <fileset>
730        <file path="lib/Apache/RPC/Server.pm" />
731        <file path="lib/Apache/RPC/Status.pm" />
732        <file path="lib/RPC/XML.pm" />
733        <file path="lib/RPC/XML/Client.pm" />
734        <file path="lib/RPC/XML/Parser.pm" />
735        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
736        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
737        <file path="lib/RPC/XML/ParserFactory.pm" />
738        <file path="lib/RPC/XML/Procedure.pm" />
739        <file path="lib/RPC/XML/Server.pm" />
740      </fileset>
741      <description>
742        Documentation clean-up and update.
743      </description>
744    </change>
745    <change git:commit="b801e5449ec901ee40a637f65950e5598c26089b">
746      <fileset>
747        <file path="lib/Apache/RPC/Server.pm" />
748        <file path="lib/Apache/RPC/Status.pm" />
749        <file path="lib/RPC/XML/Client.pm" />
750        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
751        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
752        <file path="lib/RPC/XML/Procedure.pm" />
753        <file path="lib/RPC/XML/Server.pm" />
754      </fileset>
755      <description>
756        Changes from new Perl::Critic::Bangs policies.
757      </description>
758    </change>
759    <change git:commit="2da2abffca68579b10f1b906ec9adbcd61a">
760      <fileset>
761        <file path="xt/01_pod.t" />
762        <file path="xt/02_pod_coverage.t" />
763        <file path="xt/03_meta.t" />
764        <file path="xt/04_minimumversion.t" />
765        <file path="xt/05_critic.t" />
766      </fileset>
767      <description>
768        Adjustments to reflect moving from t to xt.
769        Also made changes to xt/02_pod_coverage.t to reflect changes to
770        modules.
771      </description>
772    </change>
773    <change git:commit="fd93112b964188a551e8ce206a5941011a8f152c">
774      <file path="lib/RPC/XML/Client.pm" />
775      <description>
776        Removed some error checks that can never fail.
777      </description>
778    </change>
779    <change git:commit="681a9a7a600b87898aea5a6fe797439dfc319c1d">
780      <fileset>
781        <file path="lib/RPC/XML/Server.pm" />
782        <file path="t/40_server.t" />
783      </fileset>
784      <description>
785        Code-coverage-driven changes and added tests.
786      </description>
787    </change>
788    <change git:commit="8f30897dfe5f8af5a7d2b2b6e7e956bebb47d31d">
789      <file path="etc/make_method" />
790      <description>
791        Fixes from new Perl::Critic::Bangs policies.
792      </description>
793    </change>
794    <change git:commit="72b0b1e897bee75dc6b40b15dbcd4d51d38ec6e7">
795      <file path="lib/RPC/XML/Server.pm" />
796      <description>
797        Removed usage of AutoLoader completely.
798      </description>
799    </change>
800    <change git:commit="294c25cec95168b2ba0ab2187c0dbb1d8d7677a7">
801      <fileset>
802        <file path="lib/RPC/XML/Server.pm" />
803        <file path="t/40_server.t" />
804        <file path="xt/02_pod_coverage.t" />
805      </fileset>
806      <description>
807        Removed some dead code and better did the aliases.
808        This required a change in t/40_server.t for a private sub that no
809        longer exists. Also updated xt/02_pod_coverage.t for private subs that
810        have no pod.
811      </description>
812    </change>
813    <change git:commit="9babd1c2a1dd035db0456a5a6de814f120d7a516">
814      <file path="lib/Apache/RPC/Server.pm" />
815      <description>
816        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=67694">RT #67694</xhtml:a>:
817        Fix a potential infinite-loop condition.
818      </description>
819    </change>
820  </release>
821  <release date="2011-01-23T12:50:00-08:00" version="0.74" sc:tag="0.74">
822    <change git:commit="a8537225834935868bda315946f0a0ce8088ac26">
823      <file path="t/90_rt54183_sigpipe.t" />
824      <description>
825        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=56800">RT #56800</xhtml:a>:
826        Make this suite skip all tests on Windows platforms.
827      </description>
828    </change>
829    <change git:commit="7f70bb335266db40899aef1263f500a2abfab142">
830      <file path="lib/Apache/RPC/Server.pm" />
831      <description>
832        Clean up some run-time "use of undefined value" messages.
833      </description>
834    </change>
835    <change git:commit="61de588a81d12a5000bb0f6d64cdd1dcc471999c">
836      <fileset>
837        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
838        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
839        <file path="t/90_rt58323_push_parser.t" action="ADD" />
840      </fileset>
841      <description>
842        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=58323">RT #58323</xhtml:a>:
843        Started as making the parser interfaces correctly report errors when
844        passed null-length strings or "0" values. Turned out that the error
845        return interface from XMLLibXML.pm was not consistent with the rest of
846        the system, so fixed that as well.
847      </description>
848    </change>
849    <change git:commit="12dc29c33da5e9a14dcb57d8e8eb9a47cbf0b649">
850      <fileset>
851        <file path="lib/RPC/XML/Server.pm" />
852        <file path="t/40_server.t" />
853      </fileset>
854      <description>
855        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=58240">RT #58240</xhtml:a>:
856        Applied a patch from Martijn van de Streek that adds access to the
857        HTTP::Request object to called method code.
858      </description>
859    </change>
860    <change git:commit="cd498bd7cabfb6dc453517bc653aa853425e671a">
861      <fileset>
862        <file path="lib/RPC/XML.pm" />
863        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
864        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
865        <file path="t/90_rt58065_allow_nil.t" action="ADD" />
866      </fileset>
867      <description>
868        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=58065">RT #58065</xhtml:a>:
869        Allow the parsing of <xhtml:tt>&lt;nil /&gt;</xhtml:tt> tags when they
870        are encountered, even if $RPC::XML::ALLOW_NIL is not set. Only limit
871        the generation of these tags.
872      </description>
873    </change>
874    <change git:commit="f8288640e3bf979d85865635c304643c2f63a6e5">
875      <fileset>
876        <file path="lib/RPC/XML/Server.pm" />
877        <file path="t/41_server_hang.t" />
878      </fileset>
879      <description>
880        This test sporadically fails, so enhance the error message for more info.
881        Also alter the test slightly, hoping it fixes the random failures.
882      </description>
883    </change>
884    <change git:commit="4ef6b98fd97e9fe42b3813dcac9c0bbbe4bf3647">
885      <file path="etc/make_method" />
886      <description>
887        Applied perlcritic to the make_method tool.
888      </description>
889    </change>
890    <change git:commit="e787398f714fa33ef12ad4b5da79624b7435c8db">
891      <fileset>
892        <file path="lib/XML/RPC.pm" />
893        <file path="t/10_data.t" />
894        <file path="t/20_xml_parser.t" />
895        <file path="t/21_xml_libxml.t" />
896      </fileset>
897      <description>
898        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=62916">RT #62916</xhtml:a>:
899        Previous adjustments to the <xhtml:tt>dateTime.iso8601</xhtml:tt>
900        stringification caused it to no longer fit the XML-RPC spec. Fixed.
901      </description>
902    </change>
903    <change git:commit="81e3fab5732b1e402616bd33b5f81f55dc870c29">
904      <fileset>
905        <file path="lib/RPC/XML.pm" />
906        <file path="lib/RPC/XML/Client.pm" />
907        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
908        <file path="lib/RPC/XML/ParserFactory.pm" />
909        <file path="lib/RPC/XML/Server.pm" />
910      </fileset>
911      <description>
912        Used <xhtml:tt>warnings::unused</xhtml:tt> to find unused variables
913        not found by Perl::Critic.
914      </description>
915    </change>
916    <change git:commit="2537bdb141d4b6be8ace5b3db48ba2fd2c70ac81">
917      <file path="t/10_data.t" />
918      <description>
919        Realized I had no boundary-tests for ints in smart_encode(). This
920        revealed some problems with i8 values on my 32-bit system. Don&apos;t
921        want to introduce dependency on BigInt right now, so marked those
922        tests "TODO".
923      </description>
924    </change>
925  </release>
926  <release date="2010-03-16T22:45:00-07:00" version="0.73" sc:tag="0.73">
927    <change git:commit="b234042a3b3e74ee83a74163bc68253130f76c21">
928      <fileset>
929        <file path="MANIFEST" />
930        <file path="t/28_parser_bugs_50013.t" action="DELETE" />
931        <file path="t/90_rt50013_parser_bugs.t" action="ADD" />
932      </fileset>
933      <description>
934        Rename of t/28_parser_bugs_50013.t to fit more universal scheme for
935        test suites that directly address specific RT bugs.
936      </description>
937    </change>
938    <change git:commit="984e381b2ec9e56896c4d35d6eb9f3e68c11629c">
939      <fileset>
940        <file path="lib/RPC/XML/Server.pm" />
941        <file path="t/90_rt54183_sigpipe.t" action="ADD" />
942      </fileset>
943      <description>
944        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=54183">RT #54183</xhtml:a>:
945        Provide handling of SIGPIPE when sending the response to the client,
946        in case they&apos;ve terminated the connection.
947      </description>
948    </change>
949    <change git:commit="d5a354d801ca5b7e6243cb4c6289468dcd7be244">
950      <file path="MANIFEST" />
951      <description>
952        Forgot to add the new test suite to MANIFEST.
953      </description>
954    </change>
955    <change git:commit="3195d6348f01e60b64282e0bd8fab902eecfb219">
956      <file path="lib/RPC/XML/Server.pm" />
957      <description>
958        Forgot to update the module version number.
959      </description>
960    </change>
961    <change git:commit="87735249de1ec4311ecd9bbb04d890e1b7649c47">
962      <file path="lib/RPC/XML.pm" />
963      <description>
964        Fix typo in reftype() call.
965      </description>
966    </change>
967    <change git:commit="cd38fc54f524518e3fc1d8effdf76c5b8e99a669">
968      <fileset>
969        <file path="lib/RPC/XML.pm" />
970        <file path="t/90_rt54494_blessed_refs.t" action="ADD" />
971      </fileset>
972      <description>
973        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=54494">RT #54494</xhtml:a>:
974        Fix handling of blessed references in smart_encode().
975      </description>
976    </change>
977    <change git:commit="2664b6b614d62e9c110bed12d5a8f4d658d1c4a0">
978      <fileset>
979        <file path="lib/Apache/RPC/Server.pm" />
980        <file path="lib/Apache/RPC/Status.pm" />
981        <file path="lib/RPC/XML.pm" />
982        <file path="lib/RPC/XML/Client.pm" />
983        <file path="lib/RPC/XML/Function.pm" />
984        <file path="lib/RPC/XML/Method.pm" />
985        <file path="lib/RPC/XML/Parser.pm" />
986        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" />
987        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
988        <file path="lib/RPC/XML/ParserFactory.pm" />
989        <file path="lib/RPC/XML/Procedure.pm" />
990        <file path="lib/RPC/XML/Server.pm" />
991      </fileset>
992      <description>
993        Large-scale code clean-up driven by Perl::Critic. All critic flags
994        down to severity 1 now removed.
995      </description>
996    </change>
997    <change git:commit="e5a2f983fcc2df9b3f126cb8af26e917812c46d7">
998      <file path="MANIFEST" />
999      <description>
1000        Forgot to add t/90_rt54494_blessed_refs.t when it was created.
1001      </description>
1002    </change>
1003  </release>
1004  <release date="2009-12-13T21:45:00-08:00" version="0.72" sc:tag="0.72">
1005    <change git:commit="afc23bd0c54cc59c79fdf4945cb17818d6caed91">
1006      <fileset>
1007        <file path="Makefile.PL" />
1008        <file path="t/40_server_xmllibxml.t" />
1009      </fileset>
1010      <description>
1011        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=52662">RT #52662</xhtml:a>:
1012        Fix requirement specification for XML::LibXML.
1013      </description>
1014    </change>
1015    <change git:commit="dd5dcb9d7268de1ceb0b68a4e36d66f80610a906">
1016      <file path="lib/RPC/XML.pm" />
1017      <description>
1018        Some more clean-up of the docs, removing a redundant section.
1019      </description>
1020    </change>
1021  </release>
1022  <release date="2009-12-07T20:00:00-08:00" version="0.71" sc:tag="0.71">
1023    <change git:commit="8cc9534a7da336de8c646ff1bc473ce531f43cd6">
1024      <fileset>
1025        <file path="MANIFEST" />
1026        <file path="t/01_pod.t" action="DELETE" />
1027        <file path="t/02_pod_coverage.t" action="DELETE" />
1028        <file path="t/03_meta.t" action="DELETE" />
1029        <file path="t/04_minimumversion.t" action="DELETE" />
1030        <file path="t/05_critic.t" action="DELETE" />
1031        <file path="xt/01_pod.t" action="ADD" />
1032        <file path="xt/02_pod_coverage.t" action="ADD" />
1033        <file path="xt/03_meta.t" action="ADD" />
1034        <file path="xt/04_minimumversion.t" action="ADD" />
1035        <file path="xt/05_critic.t" action="ADD" />
1036      </fileset>
1037      <description>
1038        Moved author-only tests to xt/, updated MANIFEST.
1039      </description>
1040    </change>
1041    <change git:commit="eb38e38dafe8491185a8638f4842fa419022b5c4">
1042      <file path="MANIFEST" />
1043      <description>
1044        Add test suite t/28_parser_bugs_50013.t, which was omitted from last
1045        release.
1046      </description>
1047    </change>
1048    <change git:commit="9d273720c0163349c9822a1f79b676d8227bdd7c">
1049      <fileset>
1050        <file path="xt/01_pod.t" />
1051        <file path="xt/02_pod_coverage.t" />
1052        <file path="xt/03_meta.t" />
1053        <file path="xt/04_minimumversion.t" />
1054        <file path="xt/05_critic.t" />
1055      </fileset>
1056      <description>
1057        Re-engineered the author-only/release tests, since they&apos;re no
1058        longer in the t/ directory and thus should not interfere.
1059      </description>
1060    </change>
1061  </release>
1062  <release date="2009-12-06T22:00:00-08:00" version="0.70" sc:tag="0.70">
1063    <change git:commit="8e62c642a888608cf60fc190abcb60a49c061d73">
1064      <fileset>
1065        <file path="lib/RPC/XML.pm" />
1066        <file path="t/10_data.t" />
1067      </fileset>
1068      <description>
1069        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=49406">RT #49406</xhtml:a>:
1070        Make Base64 data-type allow zero-length data.
1071      </description>
1072    </change>
1073    <change git:commit="22d750832ab8dacb9ee354553f0e944d47270845">
1074      <fileset>
1075        <file path="lib/RPC/XML.pm" />
1076        <file path="t/10_data.t" />
1077      </fileset>
1078      <description>
1079        Hand-applied a patch (most likely from Bill Moseley) to extend the
1080        construction of dateTime.iso8601 data-types.
1081      </description>
1082    </change>
1083    <change git:commit="8eb6f33ae986581088bda6dd44dc734fee4ff580">
1084      <file path="t/40_server.t" />
1085      <description>
1086        Fixed another corner-case for the url() test.
1087      </description>
1088    </change>
1089    <change git:commit="4ffb86c1ec8b505c8a45b6e0c0c7ac442aaf54c6">
1090      <file path="lib/RPC/XML.pm" />
1091      <description>
1092        Fixed a case from previous work that caused "undef" warnings.
1093      </description>
1094    </change>
1095    <change git:commit="80e32c55ef781ed1615f47aa413464aeeadcf023">
1096      <fileset>
1097        <file path="lib/RPC/XML.pm" />
1098        <file path="lib/RPC/XML/Parser.pm" />
1099        <file path="t/28_parser_bugs_50013.t" />
1100      </fileset>
1101      <description>
1102        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=50013">RT #50013</xhtml:a>:
1103        Restore backwards-compatibility for projects that use RPC::XML::Parser
1104        directly.
1105      </description>
1106    </change>
1107    <change git:commit="2660dfe40d48647e0be328a44f498f7173a65f19">
1108      <file path="lib/RPC/XML/Procedure.pm" />
1109      <description>
1110        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=50143">RT #50143</xhtml:a>:
1111        Incorrectly called server_fault() as if it were a coderef.
1112      </description>
1113    </change>
1114    <change git:commit="493632a55258a0aafca4a93c2d9459dd79bdf09a">
1115      <file path="lib/Apache/RPC/Server.pm" />
1116      <description>
1117        Applied patch from Frank Wiegand to fix a POD problem.
1118      </description>
1119    </change>
1120    <change git:commit="85d78349d66e0a44f403fdb71a9094f1d558499d">
1121      <file path="lib/RPC/XML.pm" />
1122      <description>
1123        Some additional regexp issues on dateTime.iso8601, to handle
1124        backwards-compatibility.
1125      </description>
1126    </change>
1127    <change git:commit="0ae7cd67879c2fd0500f144f259461aefb819639">
1128      <file path="lib/RPC/XML/ParserFactory.pm" />
1129      <description>
1130        Fixed some minor doc errors.
1131      </description>
1132    </change>
1133    <change git:commit="b8b66741f0e453430467dba7f5552c2ca79bb109">
1134      <file path="lib/RPC/XML/Parser/XMLParser.pm" />
1135      <description>
1136        Moved the 'require' of some libraries to the point where they are
1137        first needed, to delay loading until/unless necessary.
1138      </description>
1139    </change>
1140    <change git:commit="6f94c6b5fc68d41ce0872c594ce41a13c833ad48">
1141      <fileset>
1142        <file path="lib/RPC/XML/Parser/XMLLibXML.pm" action="ADD" />
1143        <file path="t/21_xml_libxml.t" action="ADD" />
1144        <file path="t/29_parserfactory.t" />
1145        <file path="t/40_server_xmllibxml.t" action="ADD" />
1146      </fileset>
1147      <description>
1148        Implement support for XML::LibXML in the parser-factory.
1149      </description>
1150    </change>
1151  </release>
1152  <release date="2009-09-03T10:25:00-07:00" version="0.69" sc:tag="0.69">
1153    <change git:commit="da64377d20640d347436c856c0fbc59c09c96ecd">
1154      <fileset>
1155        <file path="t/00_load.t" />
1156        <file path="t/01_pod.t" />
1157        <file path="t/02_pod_coverage.t" />
1158        <file path="t/10_data.t" />
1159        <file path="t/11_base64_fh.t" />
1160        <file path="t/12_nil.t" />
1161        <file path="t/15_serialize.t" />
1162        <file path="t/20_parser.t" />
1163        <file path="t/50_client.t" />
1164      </fileset>
1165      <description>
1166        Minor clean-up of old CVS/SVN keyword references.
1167      </description>
1168    </change>
1169    <change git:commit="b5da315f4fe1b3ffbf179c334ef1b58af625d483">
1170      <fileset>
1171        <file path="lib/RPC/XML/Client.pm" />
1172        <file path="lib/RPC/XML/Parser.pm" />
1173        <file path="lib/RPC/XML/Parser/XMLParser.pm" action="ADD" />
1174        <file path="lib/RPC/XML/ParserFactory.pm" action="ADD" />
1175        <file path="lib/RPC/XML/Server.pm" />
1176        <file path="t/20_parser.t" action="DELETE" />
1177        <file path="t/20_xml_parser.t" action="ADD" />
1178        <file path="t/29_parserfactory.t" action="ADD" />
1179        <file path="t/40_server.t" />
1180        <file path="t/util.pl" />
1181      </fileset>
1182      <description>
1183        Converted parsing to be from a specific class to a parser-factory style.
1184        This included renaming the existing parser class and shuffling tests
1185        around.
1186      </description>
1187    </change>
1188    <change git:commit="1115ea4070938edcc3ae0bb192c5fae47c542ab8">
1189      <file path="t/70_compression_detect.t" />
1190      <description>
1191        Cleaner approach to scrubbing symbol tables.
1192      </description>
1193    </change>
1194    <change git:commit="6cc8cea15f527a8d2a3f8e402941bcd7a93b7c13">
1195      <fileset>
1196        <file path="t/00_load.t" />
1197        <file path="t/01_pod.t" />
1198        <file path="t/02_pod_coverage.t" />
1199        <file path="t/03_meta.t" action="ADD" />
1200        <file path="t/04_minimumversion.t" action="ADD" />
1201        <file path="t/05_critic.t" action="ADD" />
1202      </fileset>
1203      <description>
1204        New tests, and developer-specific tests changed to only run in my copy.
1205      </description>
1206    </change>
1207    <change git:commit="e31cca20b53d062faa2234f10f8794e4e7058c27">
1208      <fileset>
1209        <file path="lib/RPC/XML/Client.pm" />
1210        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
1211        <file path="lib/RPC/XML/Server.pm" />
1212        <file path="t/11_base64_fh.t" />
1213        <file path="t/15_serialize.t" />
1214        <file path="t/20_xml_parser.t" />
1215        <file path="t/30_method.t" />
1216        <file path="t/35_namespaces.t" />
1217        <file path="t/40_server.t" />
1218        <file path="t/41_server_hang.t" />
1219        <file path="t/50_client.t" />
1220      </fileset>
1221      <description>
1222        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=47806">RT #47806</xhtml:a>:
1223        One more patch for Windows compatibility with temp-files.
1224      </description>
1225    </change>
1226    <change git:commit="03e00c1944254eee3dba120c2887bc34a5655a35">
1227      <fileset>
1228        <file path="lib/Apache/RPC/Server.pm" />
1229        <file path="lib/Apache/RPC/Status.pm" />
1230        <file path="lib/RPC/XML.pm" />
1231        <file path="lib/RPC/XML/Client.pm" />
1232        <file path="lib/RPC/XML/Function.pm" />
1233        <file path="lib/RPC/XML/Method.pm" />
1234        <file path="lib/RPC/XML/Parser.pm" />
1235        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
1236        <file path="lib/RPC/XML/ParserFactory.pm" />
1237        <file path="lib/RPC/XML/Procedure.pm" />
1238        <file path="lib/RPC/XML/Server.pm" />
1239      </fileset>
1240      <description>
1241        Fixes based on Perl::Critic and other best-practices techniques.
1242      </description>
1243    </change>
1244    <change git:commit="e02196452fd86135b24cc936f969ee5a261c8483">
1245      <file path="etc/make_method" />
1246      <description>
1247        Also made changes based on Perl::Critic.
1248      </description>
1249    </change>
1250    <change git:commit="3c01cda3398e0b0fceef2cc36492ccbff6aba773">
1251      <fileset>
1252        <file path="MANIFEST" />
1253        <file path="lib/RPC/XML/Parser.pm" />
1254        <file path="lib/RPC/XML/Parser/XMLParser.pm" />
1255      </fileset>
1256      <description>
1257        Expanded definition of the interface to include push-parsing methods.
1258        Documented these and added stubs to RPC::XML::Parser::XMLParser that
1259        throw exceptions when called by a non-push-parser instance. Reflected
1260        changes to test suite in MANIFEST.
1261      </description>
1262    </change>
1263    <change git:commit="4ed1f2ced8cb30ea4776b54ccab8c6ea774a619a">
1264      <file path="lib/RPC/XML/Parser/XMLParser.pm" />
1265      <description>
1266        Slight tweak to make this 5.6.1-compatible.
1267      </description>
1268    </change>
1269    <change git:commit="b45db2993c694d312d2bee27a0a1cda850acb4d4">
1270      <fileset>
1271        <file path="lib/RPC/XML/Procedure.pm" />
1272        <file path="lib/RPC/XML/Server.pm" />
1273      </fileset>
1274      <description>
1275        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=42736">RT #42736</xhtml:a>:
1276        Support user-adjustment of server-based faults, and normalize the
1277        existing faults.
1278      </description>
1279    </change>
1280    <change git:commit="b449b138f243ad40e61a110bbe9514be277ee5b1">
1281      <file path="lib/RPC/XML/Procedure.pm" />
1282      <description>
1283        Fix encoding of return values from call() when the method called is of
1284        type Function (and thus has no strict signatures).
1285      </description>
1286    </change>
1287    <change git:commit="9a0fe50ad9648716e287717d2007a439946930a1">
1288      <fileset>
1289        <file path="lib/RPC/XML.pm" />
1290        <file path="t/13_no_deep_recursion.t" action="ADD" />
1291      </fileset>
1292      <description>
1293        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=41063">RT #41063</xhtml:a>:
1294        Re-visit how arrays and structs are smart-encoded and constructed, so
1295        as to avoid cyclical data structure references.
1296      </description>
1297    </change>
1298  </release>
1299  <release date="2009-07-10T01:30:00-07:00" version="0.67" sc:tag="0.67">
1300    <change git:commit="67180ef41cdfa56c771e6b9dd8d5f1f116b7dc77">
1301      <fileset>
1302        <file path="lib/RPC/XML/Client.pm" />
1303        <file path="lib/RPC/XML/Server.pm" />
1304        <file path="t/70_compression_detect.t" action="ADD" />
1305      </fileset>
1306      <description>
1307        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=47219">RT #47219</xhtml:a>:
1308        Mis-read the patch from previous fix, this actually fixes it.
1309        Also added a test suite to check for compression-detection.
1310      </description>
1311    </change>
1312  </release>
1313  <release date="2009-07-09T07:36:15-07:00" version="0.66" sc:tag="0.66">
1314    <change git:commit="d7469ec822d50fdc48642dae60c18d0a6bd5c641">
1315      <fileset>
1316        <file path="lib/RPC/XML/Client.pm" />
1317        <file path="lib/RPC/XML/Server.pm" />
1318      </fileset>
1319      <description>
1320        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=47219">RT #47219</xhtml:a>:
1321        Re-did the detection of compression availability (testing for the
1322        Compress::Zlib module) based on comments in this bug.
1323      </description>
1324    </change>
1325    <change git:commit="8ce60bd0d5f982ea435760f24a1fdd92eaea614d">
1326      <file path="t/60_net_server.t" />
1327      <description>
1328        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=47220">RT #47220</xhtml:a>:
1329        Net::Server tests are not (currently) viable on Windows. Also made
1330        script taint-safe.
1331      </description>
1332    </change>
1333    <change git:commit="b3f8e9474a51914ed599d3e6c50d5413445335c4">
1334      <fileset>
1335        <file path="t/40_server.t"/>
1336        <file path="t/50_client.t"/>
1337        <file path="t/util.pl"/>
1338      </fileset>
1339      <description>
1340        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=47221">RT #47221</xhtml:a>:
1341        Applied a patch from kmx@volny.cz, for better Windows testing.
1342      </description>
1343    </change>
1344    <change git:commit="32fc7eb768bb0e10cb7014e698d5be4fc2cf8689">
1345      <fileset>
1346        <file path="lib/Apache/RPC/Server.pm"/>
1347        <file path="lib/Apache/RPC/Status.pm"/>
1348        <file path="lib/RPC/XML.pm"/>
1349        <file path="lib/RPC/XML/Client.pm"/>
1350        <file path="lib/RPC/XML/Function.pm"/>
1351        <file path="lib/RPC/XML/Method.pm"/>
1352        <file path="lib/RPC/XML/Parser.pm"/>
1353        <file path="lib/RPC/XML/Procedure.pm"/>
1354        <file path="lib/RPC/XML/Server.pm"/>
1355      </fileset>
1356      <description>
1357        All modules now use the "warnings" pragma.
1358      </description>
1359    </change>
1360  </release>
1361  <release date="2009-06-17T06:00:00-07:00" version="0.65" sc:tag="0.65">
1362    <change git:commit="1f4df1152f2edccc25f8e7c3fafcbdcd71987baa">
1363      <fileset>
1364        <file path="etc/make_method" />
1365        <file path="etc/rpc-method.dtd" />
1366        <file path="lib/RPC/XML/Procedure.pm" />
1367        <file path="t/30_method.t" />
1368        <file path="t/35_namespaces.t" action="ADD" />
1369        <file path="t/namespace1.xpl" action="ADD" />
1370        <file path="t/namespace2.xpl" action="ADD" />
1371        <file path="t/namespace3.xpl" action="ADD" />
1372      </fileset>
1373      <description>
1374         Support for declaration of namespaces in XPL code.
1375         Adds a new test suite and includes a rewrite/update of the method
1376         tests. Change also covers the make_method tool and the DTD for XPL
1377         files.
1378      </description>
1379    </change>
1380    <change git:commit="b2acc9addbb3521ad0f0a73f3df8be3b51a55db0">
1381      <fileset>
1382        <file path="lib/RPC/XML.pm" />
1383        <file path="lib/RPC/XML/Client.pm" />
1384        <file path="lib/RPC/XML/Server.pm" />
1385        <file path="t/02_pod_coverage.t" />
1386      </fileset>
1387      <description>
1388        Interim fix for encoding issues, prior to the mega-encoding work.
1389        This makes the library correctly create octet-based messages, rather
1390        than letting UTF-8 leak in if it was passed in initially.
1391      </description>
1392    </change>
1393    <change git:commit="a0e3ddd813afc71b44d4b3f6378a5f21fd49f241">
1394      <fileset>
1395        <file path="lib/Apache/RPC/Server.pm" />
1396        <file path="lib/RPC/XML.pm" />
1397        <file path="lib/RPC/XML/Client.pm" />
1398      </fileset>
1399      <description>
1400        Follow-up to previous commit, some serialization-related problems.
1401        Not all instances of bytelength() had been removed after the previous
1402        slate of changes, and once that was done some tests in 15_serialize.t
1403        broke.
1404      </description>
1405    </change>
1406    <change git:commit="b7448ee254c4fb5a75b69cc319f9026e7d1dded0">
1407      <fileset>
1408        <file path="lib/RPC/XML.pm" />
1409        <file path="lib/RPC/XML/Parser.pm" />
1410        <file path="t/12_nil.t" action="ADD" />
1411        <file path="t/30_method.t" />
1412      </fileset>
1413      <description>
1414        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=34132">RT #34132</xhtml:a>:
1415        Based on a patch from the requestor, added support for &lt;nil/&gt;.
1416        Documentation and tests are present, but a little sparse. This change
1417        also incorporates a small add to <xhtml:tt>lib/RPC/XML/Parser.pm</xhtml:tt>
1418        to address
1419        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=42033">RT #42033</xhtml:a>.
1420      </description>
1421    </change>
1422    <change git:commit="c22788c9b05600fe2275827cc853e26da3e4dce9">
1423      <fileset>
1424        <file path="t/40_server.t" />
1425        <file path="t/41_server_hang.t" />
1426      </fileset>
1427      <description>
1428        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=27778">RT #27778</xhtml:a>:
1429        Fix problems with child-process management on Windows that was causing
1430        <xhtml:tt>t/40_server.t</xhtml:tt> to hang during test runs. Also put
1431        skip-clause into <xhtml:tt>t/41_server_hang.t</xhtml:tt>, as according
1432        to the person reporting, it doesn&apos;t work at all on MSWin (the
1433        network code is very UNIX-y).
1434      </description>
1435    </change>
1436    <change git:commit="0c7085648528f67a83d9902f02ddd2a83a412146">
1437      <fileset>
1438        <file path="lib/RPC/XML.pm" />
1439        <file path="t/10_data.t" />
1440      </fileset>
1441      <description>
1442        Applied a regexp-fix from Joakim Mared for stringification of doubles.
1443      </description>
1444    </change>
1445    <change git:commit="1cd3b4ac72f787dc017aa5ef3443a0c886362108">
1446      <fileset>
1447        <file path="lib/RPC/XML.pm" />
1448        <file path="lib/RPC/XML/Client.pm" />
1449        <file path="lib/RPC/XML/Parser.pm" />
1450        <file path="lib/RPC/XML/Procedure.pm" />
1451        <file path="lib/RPC/XML/Server.pm" />
1452        <file path="t/10_data.t" />
1453      </fileset>
1454      <description>
1455        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=35106">RT ticket #35106</xhtml:a>:
1456        Make the behavior of RPC::XML::array constructor work as expected.
1457        This led to adding use of Scalar::Util and cleaning up the places where
1458        I was still doing "UNIVERSAL::isa(...)" hacks to test refs without the
1459        risk of directly calling ->isa() on a potentially-unblessed ref.
1460      </description>
1461    </change>
1462    <change git:commit="edb8ef60b745db845024d0a7b41e7b50fdbd6e29">
1463      <fileset>
1464        <file path="lib/Apache/RPC/Server.pm" />
1465        <file path="lib/Apache/RPC/Status.pm" />
1466        <file path="lib/RPC/XML.pm" />
1467        <file path="lib/RPC/XML/Client.pm" />
1468        <file path="lib/RPC/XML/Function.pm" />
1469        <file path="lib/RPC/XML/Method.pm" />
1470        <file path="lib/RPC/XML/Parser.pm" />
1471        <file path="lib/RPC/XML/Procedure.pm" />
1472        <file path="lib/RPC/XML/Server.pm" />
1473      </fileset>
1474      <description>
1475        Update the copyright year and license information, and add contact data
1476        to all POD sections for RT, AnnoCPAN, GitHub, etc.
1477      </description>
1478    </change>
1479    <change git:commit="b3b1df84a95c26f101a3468e5658c41556a0a6ce">
1480      <fileset>
1481        <file path="lib/RPC/XML/Client.pm" />
1482        <file path="t/50_client.t" />
1483      </fileset>
1484      <description>
1485        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=34559">RT ticket #34559</xhtml:a>:
1486        Allow control of LWP::UA timeouts from within client class.
1487      </description>
1488    </change>
1489    <change git:commit="f6b4ee845076ebde9f1c7921e6c70235b4e499f5">
1490      <file path="lib/RPC/XML/Server.pm" />
1491      <description>
1492        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=43019">RT ticket #43019</xhtml:a>:
1493        Small hack to the existing SSL hack for Socket6 problems.
1494      </description>
1495    </change>
1496    <change git:commit="4e1e0061a56a70c1d4597b7a801a4d70cdb12d9b">
1497      <fileset>
1498        <file path="lib/Apache/RPC/Server.pm" />
1499        <file path="lib/Apache/RPC/Status.pm" />
1500        <file path="lib/RPC/XML.pm" />
1501        <file path="lib/RPC/XML/Client.pm" />
1502        <file path="lib/RPC/XML/Function.pm" />
1503        <file path="lib/RPC/XML/Method.pm" />
1504        <file path="lib/RPC/XML/Parser.pm" />
1505        <file path="lib/RPC/XML/Procedure.pm" />
1506        <file path="lib/RPC/XML/Server.pm" />
1507      </fileset>
1508      <description>
1509        Since Scalar::Util requires 5.006, make that (5.006001, actually) the
1510        base required Perl version.
1511      </description>
1512    </change>
1513  </release>
1514  <release date="2008-09-29T04:15:00-07:00" version="0.64" sc:tag="v0_64">
1515    <change>
1516      <file path="t/40_server.t" revision="361" />
1517      <description>
1518        Further flexibility on the test of $srv->url(). This should (finally)
1519        catch any variation of 127.* address and/or host/domain naming that
1520        aliases to "localhost".
1521      </description>
1522    </change>
1523    <change>
1524      <fileset>
1525        <file path="lib/RPC/XML/Parser.pm" revision="363" />
1526        <file path="t/20_parser.t" revision="363" />
1527      </fileset>
1528      <description>
1529        Lingering problem from
1530        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=30354">RT ticket #30354</xhtml:a>,
1531        RPC::XML::Parser did not get the change committed that included
1532        parser-level support for &lt;i8&gt;. Also added tests for parsing
1533        RPC::XML::request objects and all the data-type objects to the parser
1534        test suite (had they been there before, I would have caught this
1535        myself).
1536      </description>
1537    </change>
1538  </release>
1539  <release date="2008-09-19T02:23:12-07:00" version="0.63" sc:tag="v0_63">
1540    <change>
1541      <file path="lib/RPC/XML.pm" revision="359" />
1542      <description>
1543        Forgot to increment $VERSION before the previous commit. Won&apos;t
1544        show up in CPAN as an available update otherwise.
1545      </description>
1546    </change>
1547  </release>
1548  <release date="2008-09-19T02:12:02-07:00" version="0.62" sc:tag="v0_62">
1549    <change>
1550      <file path="t/40_server.t" revision="355" />
1551      <description>
1552        Extended the die message when $srv fails to allocate. Some testers are
1553        getting a failure here but I have no idea how or why.
1554      </description>
1555    </change>
1556    <change>
1557      <file path="lib/RPC/XML.pm" revision="356" />
1558      <description>
1559        Testers-service reports showed that the new i8 type was not auto-boxing
1560        correctly on true 64-bit machines. Turns out I had bogus values for
1561        the maximums and minimums, not just for 8-byte ints but also for plain
1562        4-byte ones as well.
1563      </description>
1564    </change>
1565  </release>
1566  <release version="0.61" sc:tag="v0_61" date="2008-09-15T01:38:44-07:00">
1567    <change>
1568      <file path="t/00_load.t" revision="346" />
1569      <description>
1570        Converted to Test::More due to some cpan-testers reports that showed
1571        test 2 failing. Hoping this might provide better feedback if it
1572        continues to fail.
1573      </description>
1574    </change>
1575    <change>
1576      <file path="t/40_server.t" revision="347" />
1577      <description>
1578        Changed a test for "localhost:$port" in the server URL method to
1579        optionally allow localhost.localdomain, for those systems whose
1580        /etc/hosts cause the former to convert to the latter. Was causing
1581        false failures.
1582      </description>
1583    </change>
1584    <change>
1585      <fileset>
1586        <file path="t/40_server.t" revision="348" />
1587        <file path="t/50_client.t" revision="348" />
1588        <file path="t/60_net_server.t" revision="348" />
1589      </fileset>
1590      <description>
1591        Test suites armored against server processes that die as a result of
1592        croak() or other calls within 3rd-party modules. The client and
1593        net_server suites were also converted to Test::More at this time.
1594      </description>
1595    </change>
1596    <change>
1597      <file path="t/40_server.t" revision="349" />
1598      <description>
1599        Fix for
1600        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=36078">RT ticket #36078</xhtml:a>,
1601        fix the URL testing on the server object to be less strict. Instead of
1602        only allowing "localhost", now also allows "localhost.localdomain" and
1603        does a look-up of "localhost" for the 127.* IP address and permits
1604        that as well. In essence, this extends and supercedes the second change
1605        listed above after more invariant cases were discovered.
1606      </description>
1607    </change>
1608    <change>
1609      <fileset>
1610        <file path="lib/RPC/XML.pm" revision="350" />
1611        <file path="t/10_data.t" revision="350" />
1612      </fileset>
1613      <description>
1614        Per
1615        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=30354">RT ticket #30354</xhtml:a>
1616        and specific request from a large agency using this package,
1617        implemented an "i8" type as an extension to the official XML-RPC
1618        specification. Documentation and tests included.
1619      </description>
1620    </change>
1621    <change>
1622      <fileset>
1623        <file path="t/40_server.t" revision="352" />
1624        <file path="t/60_net_server.t" revision="352" />
1625      </fileset>
1626      <description>
1627        Some of the work in armoring the test suites against server-death
1628        changed the counts on tests and on call-counts in the system.status
1629        method. Some explicit re-starts didn&apos;t help.
1630      </description>
1631    </change>
1632  </release>
1633  <release version="0.60" sc:tag="v0_60" date="2008-04-09T03:01:07-07:00">
1634    <change>
1635      <fileset>
1636        <file path="t/00_load.t" revision="328" />
1637        <file path="t/01_pod.t" revision="328" />
1638        <file path="t/02_pod_coverage.t" revision="328" />
1639        <file path="t/10_data.t" revision="328" />
1640        <file path="t/11_base64_fh.t" revision="328" />
1641        <file path="t/15_serialize.t" revision="328" />
1642        <file path="t/20_parser.t" revision="328" />
1643        <file path="t/30_method.t" revision="328" />
1644        <file path="t/40_server.t" revision="328" />
1645        <file path="t/50_client.t" revision="328" />
1646        <file path="t/60_net_server.t" revision="328" />
1647      </fileset>
1648      <description>
1649        Related to the main change of
1650        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=30849">RT ticket #30849</xhtml:a>,
1651        fixes potential problem in the creation of temporary file names if a
1652        test script is run directly from the "t" directory. While at it, added
1653        a line with the Subversion "Id" keyword and set the "svn:keywords"
1654        property on all test scripts. The code-fix is based on suggestions from
1655        Jörg Meltzer &lt;joerg@joergmeltzer.de&gt;.
1656      </description>
1657    </change>
1658    <change>
1659      <file path="lib/RPC/XML/Client.pm" revision="329" />
1660      <description>
1661        Per <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=30849">RT ticket #30849</xhtml:a>,
1662        fix problem caused by having colons in temp-file names. Fix largely
1663        from patch suggested by Jörg Meltzer &lt;joerg@joergmeltzer.de&gt;.
1664      </description>
1665    </change>
1666    <change>
1667      <file path="lib/RPC/XML/Server.pm" revision="331" />
1668      <description>
1669        Applied a modified form of a patch submitted by Mike Rylander
1670        &lt;miker@n2bb.com&gt; to make things work under SSL.
1671      </description>
1672    </change>
1673    <change>
1674      <fileset>
1675        <file path="lib/RPC/XML/Server.pm" revision="332" />
1676        <file path="t/41_server_hang.t" action="ADD" revision="332" />
1677      </fileset>
1678      <description>
1679        Fixed the bug in RPC::XML::Server::process_request() could lead to an
1680        infinite loop if the client shuts down the socket before the full
1681        request is sent. Added a test script specific to this bug, to catch it
1682        if it reappears.
1683      </description>
1684    </change>
1685    <change>
1686      <fileset>
1687        <file path="lib/RPC/XML.pm" revision="333" />
1688        <file path="t/10_data.t" revision="333" />
1689      </fileset>
1690      <description>
1691        Per <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=30042">RT ticket #30042</xhtml:a>,
1692        made a do-nothing branch in RPC::XML::smart_encode actually die with an
1693        error when a reference-type is passed in that cannot be converted.
1694        Added two tests to cover this, and took the opportunity to convert
1695        10_data.t to Test::More.
1696      </description>
1697    </change>
1698    <change>
1699      <fileset>
1700        <file path="t/40_server.t" revision="334" />
1701        <file path="t/50_client.t" revision="334" />
1702      </fileset>
1703      <description>
1704        Applied a patch from Chris Darroch to make the spawning of servers work
1705        in some corner-cases that were failing. All that was required was
1706        explicit specification of 'localhost' in the instantiation.
1707      </description>
1708    </change>
1709    <change>
1710      <fileset>
1711        <file path="lib/RPC/XML/Parser.pm" revision="336" />
1712        <file path="t/20_parser.t" revision="336" />
1713      </fileset>
1714      <description>
1715        Applied a patch from Masatake Daimon (大門正岳) to improve the performance
1716        of the parser by reducing the (vast) number of string-concat operations.
1717        During this change, re-wrote the parser tests to use Test::More and
1718        have better diagnostics.
1719      </description>
1720    </change>
1721    <change>
1722      <fileset>
1723        <file path="lib/RPC/XML/Server.pm" revision="337" />
1724        <file path="t/40_server.t" revision="337" />
1725      </fileset>
1726      <description>
1727        Per <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=29351">RT ticket #29351</xhtml:a>,
1728        fixed a bug that caused a server to incorrectly report the location and
1729        cause of an XML parsing error in the request. The actual bug and
1730        solution were different than initially reported in the ticket.
1731      </description>
1732    </change>
1733    <change>
1734      <fileset>
1735        <file path="lib/RPC/XML.pm" revision="338" />
1736        <file path="t/10_data.t" revision="338" />
1737      </fileset>
1738      <description>
1739        Per <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=31818">RT ticket #31818</xhtml:a>,
1740        fix to the XML serialization of double values to conform to the
1741        XML-RPC spec, as it does not allow for exponential notation. This also
1742        required changes to the tests, as values were no longer being
1743        auto-truncated at 5 decimal places. Also finished cleaning up the
1744        t/10_data.t test suite with diagnostic messages on the tests that
1745        had not previously gotten them.
1746      </description>
1747    </change>
1748    <change>
1749      <fileset>
1750        <file path="lib/RPC/XML.pm" revision="339" />
1751        <file path="t/20_parser.t" revision="339" />
1752      </fileset>
1753      <description>
1754        In response to concerns raised by a report of parsing problems, added
1755        XML entity encoding for &apos; and &quot; (&amp;apos; and &amp;quot;)
1756        to the base RPC::XML module, and added a test to the parser suite to
1757        make sure it is correctly turning all core XML entities back into
1758        characters during the parsing process.
1759      </description>
1760    </change>
1761    <change>
1762      <fileset>
1763        <file path="lib/Apache/RPC/Server.pm" revision="341" />
1764        <file path="lib/RPC/XML/Server.pm" revision="341" />
1765        <file path="t/40_server.t" revision="341" />
1766      </fileset>
1767      <description>
1768        <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=34557">RT ticket #34557</xhtml:a>:
1769        Provide access to client-side connection info to methods called on
1770        the server, by placing the data from get_peeraddr() (as abstracted
1771        through existing methods in HTTP::Daemon::ClientConn and
1772        Apache::Connection) into localized keys on the server object, as is
1773        already done with the method_name and signature pseudo-keys. Tests
1774        added to 40_server.t and docs updated.
1775      </description>
1776    </change>
1777    <change>
1778      <fileset>
1779        <file path="etc/make_method" revision="343" />
1780        <file path="lib/Apache/RPC/Server.pm" revision="343" />
1781        <file path="lib/Apache/RPC/Status.pm" revision="343" />
1782        <file path="lib/RPC/XML/Client.pm" revision="343" />
1783        <file path="lib/RPC/XML/Function.pm" revision="343" />
1784        <file path="lib/RPC/XML/Method.pm" revision="343" />
1785        <file path="lib/RPC/XML/Parser.pm" revision="343" />
1786        <file path="lib/RPC/XML/Procedure.pm" revision="343" />
1787        <file path="lib/RPC/XML/Server.pm" revision="343" />
1788        <file path="lib/RPC/XML.pm" revision="343" />
1789      </fileset>
1790      <description>
1791        Updated all copyright/redistribution information with current year and
1792        correct/current URLs for Artistic and LGPL licenses.
1793      </description>
1794    </change>
1795  </release>
1796  <release version="0.59" sc:tag="v0_59" date="2006-06-30T01:48:37-06:00">
1797    <change>
1798      <file path="t/10_data.t" revision="1.10" />
1799      <description>
1800        Eliminated the source of some "Modification of a read-only value..."
1801        errors. Patch from Juan Camacho.
1802      </description>
1803    </change>
1804    <change>
1805      <fileset>
1806        <file path="t/01_pod.t" action="ADD" revision="1.1" />
1807        <file path="t/02_pod_coverage.t" action="ADD" revision="1.1"/>
1808      </fileset>
1809      <description>
1810        Two new unit-test suites added; the first checks the validity of the
1811        POD docs in each module (correctness tests), the other checks that POD
1812        covers all the publically-visible API routines (coverage tests).
1813      </description>
1814    </change>
1815    <change>
1816      <fileset>
1817        <file path="lib/Apache/RPC/Server.pm" revision="1.28"/>
1818        <file path="lib/Apache/RPC/Status.pm" revision="1.6"/>
1819        <file path="lib/RPC/XML/Function.pm" revision="1.4"/>
1820        <file path="lib/RPC/XML/Parser.pm" revision="1.13"/>
1821        <file path="lib/RPC/XML/Server.pm" revision="1.44"/>
1822      </fileset>
1823      <description>
1824        Fixes to POD documentation (and/or inline comments) as uncovered by the
1825        added POD-oriented unit tests.
1826      </description>
1827    </change>
1828    <change>
1829      <fileset>
1830        <file path="README.apache" action="DELETE"/>
1831        <file path="MANIFEST" revision="1.17"/>
1832      </fileset>
1833      <description>
1834        The README.apache file is no longer relevant.
1835      </description>
1836    </change>
1837    <change>
1838      <file path="lib/Apache/RPC/Server.pm" revision="1.29" />
1839      <description>
1840        Fixed the logic around the setting of $no_def in new(); it was handling
1841        the no_default method-argument backwards. Found by Eric Cholet.
1842      </description>
1843    </change>
1844    <change>
1845      <fileset>
1846        <file path="lib/RPC/XML.pm" revision="1.36"/>
1847        <file path="t/10_data.t" revision="1.11"/>
1848      </fileset>
1849      <description>
1850        Applied a patch from Jos Boumans to add flexibility to the
1851        smart_encode() hack that tries to match bare Perl data to RPC classes.
1852        At the same time, added documentation of the $ENCODE global variable
1853        in the documentation.
1854      </description>
1855    </change>
1856  </release>
1857  <release version="0.58" sc:tag="v0_58" date="2005-05-12T03:24:23-07:00">
1858    <change>
1859      <fileset>
1860        <file path="lib/RPC/XML.pm" revision="1.35" />
1861        <file path="t/10_data.t" revision="1.9" />
1862      </fileset>
1863      <description>
1864        Applied patches from Stephen Veiss to fix a small bug in the encoding
1865        method of RPC::XML::string. Trying to encode the literal string "0"
1866        would result in a null string. The patches provided the fix and a
1867        specific test-case for the related suite.
1868      </description>
1869    </change>
1870    <change>
1871      <fileset>
1872        <file path="lib/RPC/XML/Procedure.pm" revision="1.13" />
1873        <file path="lib/RPC/XML/Server.pm" revision="1.43" />
1874      </fileset>
1875      <description>
1876        Applied a patch from Mike Pomraning to allow user-level functions to
1877        return RPC::XML::fault objects directly without them being further
1878        wrapped by intermediate layers.
1879      </description>
1880    </change>
1881    <change>
1882      <file path="lib/RPC/XML/Procedure.pm" revision="1.14" />
1883      <description>
1884        Implemented a modified version of a patch from Lubomir Host that
1885        addresses an intermittent IOCTL problem when reading XPL files.
1886      </description>
1887    </change>
1888    <change>
1889      <file path="Makefile.PL" revision="1.38" />
1890      <description>
1891        Incremented package version number and put in warning of the impending
1892        move to XML::LibXML.
1893      </description>
1894    </change>
1895  </release>
1896  <release version="0.57" sc:tag="v0_57" date="2004-12-24T03:02:48-08:00">
1897    <change>
1898      <file path="lib/Apache/RPC/Server.pm" revision="1.27" />
1899      <description>
1900        Some minor changes to how values are read from the configuration, to
1901        reduce "use of uninitialized value" warnings in regex operations.
1902      </description>
1903    </change>
1904    <change>
1905      <fileset>
1906        <file path="lib/RPC/XML.pm" revision="1.34" />
1907        <file path="t/10_data.t" revision="1.8" />
1908      </fileset>
1909      <description>
1910        Based on a report from Brian Phillips, made adjustments in the
1911        smart_encode helper-routine to deal with blessed references. Anything
1912        that is derived from HASH or ARRAY is encoded as a struct or array,
1913        respectively. Anything derived from SCALAR is dereferenced and encoded
1914        as per usual. Carried this over to the class constructors, with special
1915        attention to the RPC::XML::simple_type class. Added tests to the suite
1916        for all of this, as well.
1917      </description>
1918    </change>
1919    <change>
1920      <fileset>
1921        <file path="lib/Apache/RPC/status.base" revision="1.5" />
1922        <file path="lib/Apache/RPC/status.code" revision="1.4" />
1923        <file path="lib/Apache/RPC/status.help" revision="1.2" />
1924        <file path="lib/RPC/XML/Procedure.pm" revision="1.12" />
1925        <file path="lib/RPC/XML/Server.pm" revision="1.42" />
1926        <file path="methods/status.base" revision="1.6" />
1927        <file path="methods/status.code" revision="1.4" />
1928        <file path="methods/status.help" revision="1.2" />
1929        <file path="t/40_server.t" revision="1.8" />
1930      </fileset>
1931      <description>
1932        The "system.status" method (both the general one and the one that is
1933        specific to Apache) now recognizes an optional boolean parameter that
1934        can keep the status call from counting against the "total_requests"
1935        struct value. This is to allow external monitors (status, health, etc.)
1936        to use that call without running up the value of that field needlessly.
1937      </description>
1938    </change>
1939  </release>
1940  <release version="0.56" sc:tag="v0_56" date="2004-12-09T01:07:00-08:00">
1941    <change>
1942      <file path="etc/make_method" revision="1.10" />
1943      <description>
1944        Small change to the generated XML, to add an "encoding" setting to the
1945        XML preamble.
1946      </description>
1947    </change>
1948    <change>
1949      <fileset>
1950        <file path="t/10_data.t" revision="1.7" />
1951        <file path="t/60_net_server.t" revision="1.4" />
1952      </fileset>
1953      <description>
1954        Very minor changes, to make the test work with older Perls and/or Test
1955        modules.
1956      </description>
1957    </change>
1958    <change>
1959      <file path="lib/RPC/XML.pm" revision="1.31" />
1960      <description>
1961        Add "encoding" settings to all XML preambles, and make the scalar
1962        variable "$RPC::XML::ENCODING" an importable symbol, should users want
1963        to change the default encoding. Not currently documented, since this is
1964        technically a break from the XML-RPC spec.
1965      </description>
1966    </change>
1967    <change>
1968      <fileset>
1969        <file path="Makefile.PL" revision="1.35" />
1970        <file path="t/50_client.t" revision="1.8" />
1971      </fileset>
1972      <description>
1973        Traced a bug that was causing test failures in 50_client.t to a bug in
1974        version 5.800 of the LWP package. Now, Makefile.PL explicitly requires
1975        5.801 or higher, and the test suite skips the two tests that are broken
1976        by it, in cases where the system is still at 5.800 or older.
1977      </description>
1978    </change>
1979    <change>
1980      <file path="lib/RPC/XML/Client.pm" revision="1.21" />
1981      <description>
1982        Tightened some numeric comparisons (for deciding to compress and/or
1983        spool to a file), and corrected a typo in an error message.
1984      </description>
1985    </change>
1986    <change>
1987      <file path="lib/RPC/XML.pm" revision="1.32" />
1988      <description>
1989        Adding the encoding to the request and response blocks messed up some
1990        of the tests in the 10_data.t and 15_serialize.t suites. Fixed.
1991      </description>
1992    </change>
1993    <change>
1994      <fileset>
1995        <file path="README" revision="1.24" />
1996        <file path="etc/make_method" revision="1.11" />
1997        <file path="etc/rpc-method.dtd" revision="1.7" />
1998        <file path="lib/Apache/RPC/Server.pm" revision="1.26" />
1999        <file path="lib/Apache/RPC/Status.pm" revision="1.5" />
2000        <file path="lib/RPC/XML.pm" revision="1.33" />
2001        <file path="lib/RPC/XML/Client.pm" revision="1.22" />
2002        <file path="lib/RPC/XML/Function.pm" revision="1.3" />
2003        <file path="lib/RPC/XML/Method.pm" revision="1.8" />
2004        <file path="lib/RPC/XML/Parser.pm" revision="1.12" />
2005        <file path="lib/RPC/XML/Procedure.pm" revision="1.11" />
2006        <file path="lib/RPC/XML/Server.pm" revision="1.41" />
2007      </fileset>
2008      <description>
2009        Changed all URL references to the Artistic License from the (no longer
2010        valid) language.perl.com version to the (current, working)
2011        www.opensource.org one.
2012      </description>
2013    </change>
2014    <change>
2015      <fileset>
2016        <file path="ChangeLog" revision="1.26" />
2017        <file path="ChangeLog.xml" revision="1.2" />
2018        <file path="Makefile.PL" revision="1.36" />
2019        <file path="README" revision="1.25" />
2020      </fileset>
2021      <description>
2022        Admin files prepped for 0.56 release (also, the ChangeLog.xml file was
2023        modified to reflect tuning of the schema).
2024      </description>
2025    </change>
2026  </release>
2027  <release version="0.55" sc:tag="v0_55" date="2004-11-30T01:16:57-08:00">
2028    <change>
2029      <file path="lib/RPC/XML/Server.pm" revision="1.39" />
2030      <description>
2031        Fix from Thomax G. to the loop-invariance near line 1403, for a bug
2032        that mostly appears with openACS-based clients.
2033      </description>
2034    </change>
2035    <change>
2036      <file path="t/60_net_server.t" revision="1.3" />
2037      <description>
2038        Clarify in the message emitted why the tests are skipped when
2039        Net::Server is not available.
2040      </description>
2041    </change>
2042    <change>
2043      <file path="lib/RPC/XML/Server.pm" revision="1.40" />
2044      <description>
2045        Fix based on input from several sources: The Content-Encoding header
2046        was not being set correctly for responses when compression was applied
2047        to the response message.
2048      </description>
2049    </change>
2050    <change>
2051      <file path="lib/RPC/XML/Procedure.pm" revision="1.10" />
2052      <description>
2053        Applied a fix from the Debian maintainer of this package for their
2054        distribution, David Parrish: auto-reloading of methods was not actually
2055        stuffing the new data into the calling object.
2056      </description>
2057    </change>
2058    <change>
2059      <file path="lib/Apache/RPC/Server.pm" revision="1.25" />
2060      <description>
2061        Applied a patch from a user to fix a problem with reading PerlSetVar
2062        values withing a &lt;Location> block (worked fine in &lt;Perl> blocks),
2063        as well as a small addition to the examples in the docs.
2064      </description>
2065    </change>
2066    <change>
2067      <fileset>
2068        <file path="ChangeLog.xml" revision="1.1" action="ADD" />
2069        <file path="MANIFEST" revision="1.16" />
2070      </fileset>
2071      <description>
2072        Added this file (ChangeLog.xml) to the distribution.
2073      </description>
2074    </change>
2075  </release>
2076  <release version="0.54" sc:tag="v0_54" date="2004-04-14T04:43:56-07:00">
2077    <change>
2078      <file path="Makefile.PL" revision="1.33" />
2079      <description>
2080        Extended $CLEAN to also remove *.ppd files, and bumped the package
2081        version to 0.54.
2082      </description>
2083    </change>
2084    <change>
2085      <fileset>
2086        <file path="lib/RPC/XML/Procedure.pm" revision="1.9" />
2087        <file path="lib/RPC/XML.pm" revision="1.30" />
2088      </fileset>
2089      <description>
2090        Applied a patch from Tim Peoples that does three things: the 301
2091        error code in RPC::XML::Procedure::call now includes signature info
2092        when a signature mismatch occurs. RPC::XML::smart_encode turns undef
2093        values into zero-length RPC::XML::string objects. Lastly, the
2094        RPC::XML::string::as_string method turns undef into null values as
2095        well.
2096      </description>
2097    </change>
2098    <change>
2099      <fileset>
2100        <file path="lib/RPC/XML.pm" revision="1.28" />
2101        <file path="t/10_data.t" revision="1.6" />
2102      </fileset>
2103      <description>
2104        Small change to the XML character-escaping in RPC::XML::string&apos;s
2105        as_string method, so that a lookup-table is used. The same table
2106        is now used to escape keys in structs, as well. Added tests to cover
2107        this. This was suggested by Johnathan Kupferer.
2108      </description>
2109    </change>
2110    <change>
2111      <file path="t/20_parser.t" revision="1.3" />
2112      <description>
2113        Made a small change for the sake of syntax pedantry.
2114      </description>
2115    </change>
2116    <change>
2117      <file path="lib/RPC/XML/Client.pm" revision="1.20" />
2118      <description>
2119        Fix to the error-handling for a failed LWP::UserAgent->request call
2120        send_request (thanks to Jasper Cramwinckel). Also got a small glitch
2121        covered in one of the calls to the inflate() method in Compress::Zlib.
2122        Thanks to John Tobing for that one.
2123      </description>
2124    </change>
2125    <change>
2126      <file path="lib/RPC/XML/Parser.pm" revision="1.11" />
2127      <description>
2128        Dropped a regex-compare in favor of a string-compare for the special
2129        case of the XML tag being dateTime.iso8601. In some locales, the 'lc'
2130        caused problems. This is near line 288.
2131      </description>
2132    </change>
2133    <change>
2134      <file path="lib/Apache/RPC/Server.pm" revision="1.23" />
2135      <description>
2136        Applied a patch to Apache::RPC::Server (supplied by Tim Peoples) to
2137        support "NoCompression" as a PerlSetVar directive, the function of
2138        which is to disable compression support upon demand.
2139      </description>
2140    </change>
2141    <change>
2142      <file path="lib/Apache/RPC/Server.pm" revision="1.24" />
2143      <description>
2144        Fixed two minor typo errors in the docs, the names of two of the
2145        PerlSetVar directives.
2146      </description>
2147    </change>
2148    <change>
2149      <file path="lib/RPC/XML.pm" revision="1.29" />
2150      <description>
2151        Added to the docs the fact that struct keys are now escaped. Also put
2152        some coverage in the docs on the two ways of initializing a struct
2153        object.
2154      </description>
2155    </change>
2156    <change>
2157      <file path="lib/RPC/XML/Server.pm" revision="1.38" />
2158      <description>
2159        Applied a patch from Chris Darroch to allow better handling of
2160        arguments in RPC::XML::Server::server_loop. While the HTTP::Daemon
2161        portion was fine with collapsing the arg list into a hash, the
2162        Net::Server portion actually has documented behavior when it sees the
2163        same argument more than once, and collapsing to a hash caused these
2164        extra arguments to be lost.
2165      </description>
2166    </change>
2167  </release>
2168  <release version="0.53" sc:tag="v0_53" date="2003-02-25T01:12:11-08:00">
2169    <change>
2170      <file path="t/40_server.t" revision="1.7" />
2171      <description>Eliminate a warning under 5.00503.</description>
2172    </change>
2173    <change>
2174      <fileset>
2175        <file path="lib/RPC/XML.pm" revision="1.25" />
2176        <file path="lib/RPC/XML/Client.pm" revision="1.19" />
2177        <file path="lib/RPC/XML/Parser.pm" revision="1.10" />
2178        <file path="t/50_client.t" revision="1.7" />
2179      </fileset>
2180      <description>
2181        Changes to the opening of files for base64 data. The existing method
2182        didn&apos;t work under 5.00503.
2183      </description>
2184    </change>
2185    <change>
2186      <file path="t/15_serialize.t" revision="1.3" />
2187      <description>
2188        Added consideration to the filehandle-length tests for Win-ish offsets.
2189      </description>
2190    </change>
2191    <change>
2192      <file path="lib/RPC/XML.pm" revision="1.26" />
2193      <description>
2194        Added a forgotten binmode() call to an just-opened filehandle in the
2195        base64-to-file support.
2196      </description>
2197    </change>
2198  </release>
2199  <release version="0.52" sc:tag="v0_52" date="2003-02-10T01:37:05-08:00">
2200    <change>
2201      <file path="lib/RPC/XML/Server.pm" revision="1.37" />
2202      <description>
2203        Really got the warning in RPC::XML::Server.pm this time. Really. Also
2204        got some potential errors that seem to be overlooked under auto-loading
2205        but appear when auto-loading is disabled.
2206      </description>
2207    </change>
2208    <change>
2209      <file path="lib/RPC/XML/Client.pm" revision="1.18" />
2210      <description>
2211        Fixed a potentially-confusing problem in the example code within the
2212        RPC::XML::Client man page, just under "SYNOPSIS".
2213      </description>
2214    </change>
2215    <change>
2216      <file path="spec.in" revision="1.4" />
2217      <description>
2218        More work to the spec.in RPM specfile template. The Provides/Requires
2219        list should be a lot cleaner now, and it also builds packages under
2220        rpm 4.1, now.
2221      </description>
2222    </change>
2223    <change>
2224      <file path="lib/Apache/RPC/Server.pm" revision="1.22" />
2225      <description>
2226        Fixed a lurking bug in the Apache::RPC::Server class that was not
2227        setting the headers properly on responses. Probably lived this long
2228        because no one else but me was using it, and my client is lax enough
2229        to ignore it.
2230      </description>
2231    </change>
2232  </release>
2233  <release version="0.51" date="2003-01-30T00:49:07-08:00">
2234    <change>
2235      <file path="t/11_base64_fh.t" revision="1.4" />
2236      <description>
2237        Removed an extraneous print line in t/11_base64_fh that caused a
2238        warning on some systems.
2239      </description>
2240    </change>
2241    <change>
2242      <fileset>
2243        <file path="t/11_base64_fh.t" revision="1.5" />
2244        <file path="t/50_client.t" revision="1.6" />
2245      </fileset>
2246      <description>
2247        Fixed calls to skip() in the test suites so that they work with
2248        older versions of the Test module.
2249      </description>
2250    </change>
2251    <change>
2252      <fileset>
2253        <file path="t/11_base64_fh.t" revision="1.6" />
2254        <file path="t/10_data.t" revision="1.5" />
2255        <file path="lib/RPC/XML.pm" revision="1.24" />
2256      </fileset>
2257      <description>
2258        Calls to the encode_base64 routine from MIME::Base64 now pass a zero-
2259        length second argument, to suppress newlines between Base64 lines
2260        when stringifying the RPC::XML::base64 objects. This is to accomodate
2261        a broken Java XML-RPC package.
2262      </description>
2263    </change>
2264    <change>
2265      <file path="lib/RPC/XML/Server.pm" revision="1.36" />
2266      <description>
2267        Force a default value for the compress_re attribute in RPC::XML::Server
2268        when none is otherwise present. All my tests have had Compress::Zlib
2269        available, but when it isn&apos;t the compress_re attribute was
2270        triggering warnings when used in a regex.
2271      </description>
2272    </change>
2273  </release>
2274  <release version="0.50" date="2003-01-27T03:24:45-08:00">
2275    <change>
2276      <file path="lib/RPC/XML/Procedure.pm" />
2277      <description>
2278        Changed the usage of =head3 directives in the manual page for
2279        RPC::XML::Procedure to a =over/=back block instead. The =head3
2280        directive requires a newer set of pod utilities, and would mean the
2281        package had trouble building on 5.005 installations.
2282      </description>
2283    </change>
2284    <change>
2285      <fileset>
2286        <file path="lib/RPC/XML.pm" />
2287        <file path="t/11_base64_fh.t" />
2288      </fileset>
2289      <description>
2290        Extended the RPC::XML::base64 class to allow for and handle being
2291        given a filehandle object instead of straight data. The object is
2292        kept as an open filehandle, and the buffer position is always noted
2293        and reset when operated on, so that other parts of the process using
2294        the handle don&apos;t get surprised. Added tests in t/11_base64_fh.t to
2295        exercise this.
2296      </description>
2297    </change>
2298    <change>
2299      <fileset>
2300        <file path="lib/RPC/xML.pm" />
2301        <file path="t/15_serialize.t" />
2302      </fileset>
2303      <description>
2304        Added a serialize() method to all the data classes in preparation for
2305        changing the client and server modules to stream XML over the line
2306        rather than print it using in-memory strings. Added test suite
2307        t/15_serialize.t to exercise this.
2308      </description>
2309    </change>
2310    <change>
2311      <fileset>
2312        <file path="lib/RPC/XML/Parser.pm" />
2313        <file path="t/20_parser.t" />
2314      </fileset>
2315      <description>
2316        Modified RPC::XML::Parser to accept arguments to new() that instruct
2317        it to spool Base64 data to a filehandle, using the new capabilities
2318        of the base64 class described previously. Added tests to t/20_parser.t
2319        and support for the parameters to the constructors of the client and
2320        base server classes. Documented all around.
2321      </description>
2322    </change>
2323    <change>
2324      <file path="lib/RPC/XML.pm" />
2325      <description>
2326        Re-engineered the test for the "bytes" pragma in RPC::XML, so that
2327        it now works with Perl 5.005.
2328      </description>
2329    </change>
2330    <change>
2331      <file path="lib/RPC/XML/Client.pm" />
2332      <description>
2333        Fixed the credentials() method in RPC::XML::Client.
2334      </description>
2335    </change>
2336    <change>
2337      <fileset>
2338        <file path="lib/Apache/RPC/Server.pm" />
2339        <file path="lib/RPC/XML/Client.pm" />
2340        <file path="lib/RPC/XML/Server.pm" />
2341      </fileset>
2342      <description>
2343        All the internal use of object attributes in RPC::XML::Client now use
2344        accessors instead of the hash keys directly, to make it easier to
2345        sub-class the package. The same was done in RPC::XML::Server and to
2346        some degree in Apache::RPC::Server. The server classes are more likely
2347        to have problems, though.
2348      </description>
2349    </change>
2350    <change>
2351      <fileset>
2352        <file path="lib/RPC/XML/Client.pm" />
2353        <file path="lib/RPC/XML/Parser.pm" />
2354        <file path="lib/RPC/XML/Server.pm" />
2355      </fileset>
2356      <description>
2357        The parsing of incoming data in the client and both server classes is
2358        now done to a streaming XML parser, eliminating the need for the
2359        full message to ever be in memory at once. Likewise, the client and
2360        server classes have new attributes and accessor methods to allow
2361        them to spool outgoing messages to files if the messages threaten to
2362        be too large to keep in memory (this is best used when dealing with a
2363        lot of Base64 data that is being dealt with directly on disk as well).
2364      </description>
2365    </change>
2366  </release>
2367  <release version="0.46" date="2002-12-29T23:39:05-08:00">
2368    <change>
2369      <file path="lib/RPC/XML/Client.pm" />
2370      <description>
2371        Applied a patch from Andrew Langmead to fix a bug in the uri() method
2372        of RPC::XML::Client. Prior, retrieving the value could accidentally
2373        reset it. Applied another fix from him to prevent a possible warning.
2374      </description>
2375    </change>
2376    <change>
2377      <file path="lib/RPC/XML/Server.pm" />
2378      <description>
2379        Applied another patch to better handle testing of the availability of
2380        compression in the client.
2381      </description>
2382    </change>
2383    <change>
2384      <file path="Makefile.PL" />
2385      <description>
2386        Moving around some of the RPM spec-file generation caused problems
2387        with some people trying to build the package if spec.in was missing.
2388        Fixed this in Makefile.PL.
2389      </description>
2390    </change>
2391    <change>
2392      <file path="lib/RPC/XML/Procedure.pm" />
2393      <description>
2394        Fix to RPC::XML::Procedure per tip from Stig Porsgaard, to fix the
2395        reading of 'signature' arguments to new() when providing all the
2396        proc data directly. Reported by others as well, but Stig nailed it
2397        down to a specific line.
2398      </description>
2399    </change>
2400  </release>
2401  <release version="0.45" date="2002-10-29T21:06:00-08:00">
2402    <change>
2403      <file path="lib/RPC/XML.pm" />
2404      <description>
2405        Fixed a problem in the test-usage of the bytes pragma in RPC::XML,
2406        reported by Marc Jauvin.
2407      </description>
2408    </change>
2409    <change>
2410      <file path="lib/RPC/XML/Parser.pm" />
2411      <description>
2412        Closed a potential security hole in the parsing of external entities,
2413        pointed out by Gregory Steuck.
2414      </description>
2415    </change>
2416  </release>
2417  <release version="0.44" date="2002-04-30T23:44:08-07:00">
2418    <change>
2419      <file path="lib/RPC/XML.pm" />
2420      <description>
2421        Cleaned up the exports list in RPC::XML.pm, which still had remnants
2422        from when this package was intended to extend XML-RPC. There were no
2423        routines to match the symbols, but the potential for error was there.
2424      </description>
2425    </change>
2426    <change>
2427      <fileset>
2428        <file path="lib/RPC/XML/Client.pm" />
2429        <file path="lib/RPC/XML/Procedure.pm" />
2430        <file path="lib/RPC/XML/Server.pm" />
2431      </fileset>
2432      <description>
2433        Fixed a typo in the docs for RPC::XML::Client, and some documentation
2434        goofs in RPC::XML::Server (regarding the timeout method/option). A
2435        few doc fixes in RPC::XML::Procedure, for good measure.
2436      </description>
2437    </change>
2438    <change>
2439      <file path="lib/RPC/XML.pm" />
2440      <description>
2441        Implemented two fixes sent in by Marc Liyanage: a fix for setting the
2442        Content-Length headers on messages that takes the length in bytes
2443        rather than characters; the second is a fix around the compression
2444        support that makes certain an undef isn&apos;t evaluated against the
2445        regex.
2446      </description>
2447    </change>
2448    <change>
2449      <file path="lib/RPC/XML.pm" />
2450      <description>
2451        The above added an exported function to RPC::XML, so that got
2452        documented. In the process, it occurred to me to document the helper
2453        functions like RPC_BOOLEAN, RPC_DOUBLE, etc.
2454      </description>
2455    </change>
2456  </release>
2457  <release version="0.43" date="2002-08-18T22:19:30-07:00">
2458    <change>
2459      <fileset>
2460        <file path="methods/methodSignature.code" />
2461        <file path="t/40_server.t" />
2462        <file path="t/60_net_server.t" />
2463      </fileset>
2464      <description>
2465        Changed methods/methodSignature.code, t/40_server.t and
2466        t/60_net_server.t so that the provided system.methodSignature follows
2467        the accepted API (returns a list of lists, rather than list of
2468        strings). Pointed out by Bjoern Stierand.
2469      </description>
2470    </change>
2471    <change>
2472      <file path="lib/RPC/XML.pm" />
2473      <description>
2474        Added a missing helper (RPC_I4) to RPC::XML.pm.
2475      </description>
2476    </change>
2477    <change>
2478      <file path="lib/Apache/RPC/Server.pm" />
2479      <description>
2480        Fixed a bad bug with the newly-added compression support in
2481        Apache::RPC::Server::handler. Because $self was defined earlier,
2482        strict failed to point out that my object in that scope was called
2483        $srv, rather than $self. And $self->compress didn&apos;t work, amazingly
2484        enough. Found and reported by Scott Fagg.
2485      </description>
2486    </change>
2487    <change>
2488      <file path="lib/RPC/XML/Client.pm" />
2489      <description>
2490        Added a credentials() method to the RPC::XML::Client class to set
2491        Basic Authentication credentials on the underlying LWP::UserAgent
2492        object. Per suggestion and sample implementation from Stuart Clark.
2493      </description>
2494    </change>
2495    <change>
2496      <fileset>
2497        <file path="lib/RPC/XML.pm" />
2498        <file path="lib/RPC/XML/Server.pm" />
2499      </fileset>
2500      <description>
2501        Fixed a docs-nit in RPC::XML::Server, and did some major clean-up in
2502        the docs for RPC::XML. In particular, added documentation for one
2503        of the data class methods that had been overlooked ("type").
2504      </description>
2505    </change>
2506  </release>
2507  <release version="0.42" date="2002-08-01T00:51:12-07:00">
2508    <change>
2509      <file path="lib/Apache/RPC/Server.pm" />
2510      <description>
2511        Changed the test in Apache::RPC::Server of the Content-type header so
2512        that it accepts a header that contains "text/xml", as opposed to only
2513        accepting a header that exactly equalled that string. Allows for
2514        things like SOAP::Lite&apos;s XMLRPC::Lite which include a charset in
2515        the header.
2516      </description>
2517    </change>
2518    <change>
2519      <file path="lib/RPC/XML.pm" />
2520      <description>
2521        time2iso8601() in the RPC::XML module now allows defaulting of the
2522        $time argument to time() (which means no timezone specification).
2523      </description>
2524    </change>
2525    <change>
2526      <file path="lib/RPC/XML/Parser.pm" />
2527      <description>
2528        Found a bug in RPC::XML::Parser where base64 data being parsed in a
2529        request/response message wasn&apos;t being properly passed to the
2530        c&apos;tor for RPC::XML::base64. Reported by Chris Brierley.
2531      </description>
2532    </change>
2533    <change>
2534      <file path="lib/Apache/RPC/Server.pm" />
2535      <description>
2536        Added a line in Apache::RPC::Server to set the Content-Type header
2537        on HEAD responses. Apache won&apos;t take this from the usual header()
2538        method, it has to be explicitly set with content_type().
2539      </description>
2540    </change>
2541    <change>
2542      <file path="t/40_server.t" />
2543      <description>
2544        Two of the tests in t/40_server.t could cause fatal errors since a
2545        return value wasn&apos;t tested for ref-ness before having a method
2546        called on it. Fixed.
2547      </description>
2548    </change>
2549    <change>
2550      <fileset>
2551        <file path="lib/RPC/XML/Client.pm" />
2552        <file path="lib/RPC/XML/Server.pm" />
2553        <file path="lib/Apache/RPC/Server.pm" />
2554      </fileset>
2555      <description>
2556        Compress::Zlib-based compression is now supported in RPC::XML::Server,
2557        RPC::XML::Client and Apache::RPC::Server. It should be compatible with
2558        the XMLRPC::Lite package&apos;s compression.
2559      </description>
2560    </change>
2561  </release>
2562  <release version="0.41" date="2002-05-22T02:50:47-07:00">
2563    <change>
2564      <file path="lib/RPC/XML/Parser.pm" />
2565      <description>
2566        Wrapped the call to XML::Parser::parse (lib/RPC/XML/Parser.pm) in an
2567        eval {} so that parse failures don&apos;t kill a server or client.
2568        Reported by Kevin Greene.
2569      </description>
2570    </change>
2571    <change>
2572      <file path="lib/RPC/XML.pm" />
2573      <description>
2574        An intended clone-operation in RPC::XML::response::new (lib/RPC/XML.pm)
2575        was never actually written, which allowed for a corner case that could
2576        result in new() return undef when it shouldn&apos;t. Related to the bug
2577        reported by Sergey Scherbinin.
2578      </description>
2579    </change>
2580    <change>
2581      <file path="lib/RPC/XML/Procedure.pm" />
2582      <description>
2583        The RPC::XML::Procedure::call method (lib/RPC/XML/Procedure.pm) had one
2584        error-check loop that was returning a full RPC::XML::response object,
2585        instead of just a RPC::XML::fault. Reported by Sergey Scherbinin.
2586      </description>
2587    </change>
2588  </release>
2589  <release version="0.40" date="2002-05-04T00:42:18-07:00">
2590    <change>
2591      <file path="*" />
2592      <description>
2593        Fixed some grammar problems in error messages, and some formatting.
2594      </description>
2595    </change>
2596    <change>
2597      <file path="lib/Apache/RPC/Server.pm" />
2598      <description>
2599        Fixed a bug in the new() method of Apache::RPC::Server where it was
2600        expecting the value of the "apache" key to be an object of the
2601        Apache::Server class, but it was actually getting an object of the
2602        Apache class.
2603      </description>
2604    </change>
2605    <change>
2606      <fileset>
2607        <file path="lib/RPC/XML/Function.pm" action="ADD" />
2608        <file path="etc/make_method" />
2609        <file path="etc/rpc-method.dtd" />
2610      </fileset>
2611      <description>
2612        Created RPC::XML::Function class, which is a type of server-side
2613        encapsulator that doesn&apos;t bother with signature tests of any kind.
2614        The DTD and make_method tool support the new type.
2615      </description>
2616    </change>
2617    <change>
2618      <file path="etc/make_method" />
2619      <description>
2620        Changed the encoding of the Perl code in etc/make_method as follows:
2621        If the code does not already contain either of the two sequences,
2622        ']]&gt;' or '__DATA__', then the code is wrapped in a
2623        &lt;![CDATA[ ]]&gt; section, with #!/usr/bin/perl (actually,
2624        $Config{startperl}) at the head and __DATA__ at the end. Besides
2625        leaving the Perl code readable, the *.xpl files can now be
2626        syntax-checked with "perl -cx". Thanks to the mod_perl guys for this
2627        idea, cribbed from their manual page.
2628      </description>
2629    </change>
2630    <change>
2631      <fileset>
2632        <file path="lib/RPC/XML/Procedure.pm" />
2633        <file path="lib/RPC/XML/Server.pm" />
2634      </fileset>
2635      <description>
2636        Abstracted some of the invocation code out of the server class and
2637        into the RPC::XML::Procedure class, where it really belonged. This
2638        aided in further eliminating redundancy in the server class in the
2639        same general area. I may yet want to tune this area, but I&apos;m a good
2640        deal happier with the reduction in complexity and repetition.
2641      </description>
2642    </change>
2643  </release>
2644  <release version="0.37" date="2002-03-22T22:16:08-08:00">
2645    <change>
2646      <file path="lib/RPC/XML/Server.pm" />
2647      <description>
2648        Applied a patch to RPC::XML::Server from Tino Wuensche
2649        (&lt;tino_wuensche@yahoo.com>) that fixed some of the signal-handling
2650        and exit-case-handling in server_loop().
2651      </description>
2652    </change>
2653    <change>
2654      <file path="lib/RPC/XML/Procedure.pm" />
2655      <description>
2656        Fixed a bug in RPC::XML::Procedure found by a user (a former
2657        co-worker from my Denver days, coincidentally enough) that would
2658        trigger when auto_methods was set to 1 on a server object, but the
2659        request had no matching file anywhere in the search path.
2660      </description>
2661    </change>
2662  </release>
2663  <release version="0.36" date="2002-01-29T12:11:30-08:00">
2664    <change>
2665      <file path="MANIFEST" />
2666      <description>
2667        The file util.pl in the t directory was accidentally omitted from the
2668        0.35 release. This release is meant only to correct that oversight.
2669      </description>
2670    </change>
2671  </release>
2672  <release version="0.35" date="2002-01-27T16:29:19-08:00">
2673    <change>
2674      <file path="etc/make_method" />
2675      <description>
2676        Fixed a small bug in make_method that would have caused a failure if
2677        anyone used the command-line switches to specify data, rather than a
2678        base-file (specifically, the handling of the --code argument). Also
2679        clarified a few places in the man page.
2680      </description>
2681    </change>
2682    <change>
2683      <fileset>
2684        <file path="methods/methodHelp.code" />
2685        <file path="methods/status.code" />
2686        <file path="lib/Apache/RPC/status.code" />
2687      </fileset>
2688      <description>
2689        Found bugs in both versions of the system.status server method (both
2690        the basic and the Apache flavor). Both were neglecting to set the
2691        "methods_known" value. Also found a bug in system.methodHelp. Amazing
2692        what writing the regression tests can uncover.
2693      </description>
2694    </change>
2695    <change>
2696      <fileset>
2697        <file path="lib/RPC/XML/Method.pm" />
2698        <file path="lib/RPC/XML/Procedure.pm" action="ADD" />
2699      </fileset>
2700      <description>
2701        RPC::XML::Method is now a skeleton file, slated to be removed by or
2702        before 1.0. It has been renamed to RPC::XML::Procedure, and the
2703        RPC::XML::Method class is declared as an empty subclass of the
2704        RPC::XML::Procedure class. Procedures differ from methods in that they
2705        do not get the server object instance as a first parameter in the list
2706        that gets passed in.
2707      </description>
2708    </change>
2709    <change>
2710      <fileset>
2711        <file path="etc/rpc-method.dtd" />
2712        <file path="etc/make_method" />
2713        <file path="ex/linux.proc.cpuinfo.code" />
2714        <file path="ex/linux.proc.meminfo.code" />
2715      </fileset>
2716      <description>
2717        Support for RPC::XML::Procedure (and general procedure vs. method)
2718        added to the DTD and the make_method tool. All the routines in the
2719        ex/ directory are declared as procedures, to further illustrate the
2720        concept.
2721      </description>
2722    </change>
2723    <change>
2724      <fileset>
2725        <file path="lib/RPC/XML/Procedure.pm" />
2726        <file path="lib/RPC/XML/Server.pm" />
2727      </fileset>
2728      <description>
2729        When code blocks for XPL files are eval&apos;d, they are given a
2730        "package" statement to force subsequent calls to be in the
2731        RPC::XML::Procedure namespace, rather than defaulting to main (a
2732        potentially dangerous assumption). The docs on routine-calling in
2733        RPC::XML::Server have been updated to discuss this.
2734      </description>
2735    </change>
2736    <change>
2737      <file path="t/40_server.t" />
2738      <description>
2739        Many more tests added to the suite for RPC::XML::Server.
2740      </description>
2741    </change>
2742    <change>
2743      <file path="t/50_client.t" action="ADD" />
2744      <description>
2745        Created the test suite for RPC::XML::Client.
2746      </description>
2747    </change>
2748    <change>
2749      <fileset>
2750        <file path="lib/RPC/XML.pm" />
2751        <file path="lib/RPC/XML/Client.pm" />
2752      </fileset>
2753      <description>
2754        RPC::XML::Client no longer returns a full RPC::XML::response object
2755        from any of its routines. Rather, simple_request still does what it
2756        always has, and send_request now returns a data-type value. All the
2757        data-type classes have a method called "is_fault" that returns false
2758        for all except (of course) RPC::XML::fault. This lets callers of
2759        send_request test the return value to see if it is a fault.
2760      </description>
2761    </change>
2762    <change>
2763      <fileset>
2764        <file path="lib/RPC/XML/Client.pm" />
2765        <file path="t/50_client.t" />
2766      </fileset>
2767      <description>
2768        Added callback support for errors and faults to the RPC::XML::Client
2769        class. This allows programmers to tie specific actions to cases where
2770        a call returns a RPC::XML::fault object, or an outright error.
2771      </description>
2772    </change>
2773    <change>
2774      <file path="t/60_net_server.t" action="ADD" />
2775      <description>
2776        Created a separate test suite for RPC::XML::Server when used in
2777        conjunction with the Net::Server package (it skips if the latter is
2778        not installed on the system).
2779      </description>
2780    </change>
2781    <change>
2782      <file path="lib/RPC/XML/Server.pm" />
2783      <description>
2784        Almost all of the method-manipulation routines in RPC::XML::Server (all
2785        but add_default_methods()) now have counterparts called by the same
2786        name after s/method/proc/. This is purely for syntactical sugar and
2787        symmetry. Except in the case of add_proc(), where it actually ensures
2788        that a hash-reference calling convention is geared correctly to add a
2789        RPC::XML::Procedure object rather than RPC::XML::Method.
2790      </description>
2791    </change>
2792  </release>
2793  <release version="0.30" date="2002-01-03T01:57:29-08:00">
2794    <description>first beta release</description>
2795    <change>
2796      <file path="lib/Apache/RPC/Server.pm" />
2797      <description>
2798        Apache::RPC::Server::list_servers no longer sorts the list before
2799        returning it. No reason to assume it matters, or to levy that tax
2800        against those who don&apos;t care.
2801      </description>
2802    </change>
2803    <change>
2804      <file path="lib/RPC/XML/Server.pm" />
2805      <description>
2806        RPC::XML::Server::url now constructs saner strings for HTTPS and for
2807        HTTP on port 80.
2808      </description>
2809    </change>
2810    <change>
2811      <file path="lib/RPC/XML/Server.pm" />
2812      <description>
2813        The new() method in RPC::XML::Server wasn&apos;t quite handling the
2814        "host" and "port" arguments that Apache::RPC::Server sent it correctly.
2815      </description>
2816    </change>
2817    <change>
2818      <file path="lib/RPC/XML/Server.pm" />
2819      <description>
2820        Added a patch to the RPC::XML::Server class from Christopher Blizzard
2821        (blizzard@redhat.com) to allow control over the timeout interval that
2822        HTTP::Daemon uses in answering new connections.
2823      </description>
2824    </change>
2825    <change>
2826      <file path="Makefile.PL" />
2827      <description>
2828        Replaced a GNU Make-centric dependancy rule for the XPL files with
2829        a more portable .SUFFIXES-based one. This is unfortunate, as the %
2830        syntax of GNU make is much cleaner. But GNU Make isn&apos;t universal.
2831        Yet.
2832      </description>
2833    </change>
2834    <change>
2835      <file path="lib/Apache/RPC/Status.pm" action="ADD" />
2836      <description>
2837        This release marks the debut of Apache::RPC::Status, a monitor similar
2838        in nature and design to Apache::Status, for running RPC servers under
2839        Apache/mod_perl. See the manual page for details.
2840      </description>
2841    </change>
2842    <change>
2843      <file path="lib/Apache/RPC/Server.pm" />
2844      <description>
2845        Documentation for Apache::RPC::Server was updated based on trials and
2846        travails in trying to actually set up a configuration inside &lt;Perl>
2847        blocks. This isn&apos;t very clear in the mod_perl documentation, but at
2848        least the docs for this module reflect exactly what I have configured
2849        on my development box, so I know it works.
2850      </description>
2851    </change>
2852  </release>
2853  <release version="0.29" date="2001-12-02T22:41:39-08:00">
2854    <change>
2855      <file path="lib/RPC/XML/Server.pm" />
2856      <description>
2857        Added share_methods(), copy_methods() and delete_method() calls to the
2858        RPC::XML::Server class (and thus to the Apache class as well). Had
2859        already added an INSTALL_DIR method to retrieve the class-specific
2860        installation dir to the Apache class, so mirrored it here, as well.
2861      </description>
2862    </change>
2863    <change>
2864      <file path="lib/Apache/RPC/Server.pm" />
2865      <description>
2866        Added list_servers() static method to Apache::RPC::Server, to allow
2867        for abstract retrieval of the ID-tags of the current known servers.
2868        This is mainly so Apache::RPC::Status can use it in conjunction with
2869        get_server() to examine the server objects for the sake of stats and
2870        such.
2871      </description>
2872    </change>
2873    <change>
2874      <file path="lib/RPC/XML/Server.pm" />
2875      <description>
2876        Added list_methods() to RPC::XML::Server, to list the object&apos;s
2877        known (published) methods by name. Mainly for use in the regression
2878        suites, but worth documenting in the API in case someone else finds it
2879        useful.
2880      </description>
2881    </change>
2882    <change>
2883      <fileset>
2884        <file path="methods/introspection.code" />
2885        <file path="methods/listMethods.code" />
2886        <file path="methods/methodHelp.code" />
2887        <file path="methods/methodSignature.code" />
2888      </fileset>
2889      <description>
2890        Four of the provided methods in the introspection API
2891        (system.introspection, system.listMethods, system.methodHelp and
2892        system.methodSignature) needed to be updated to use the newer API for
2893        the XML::RPC::Method class when retrieving information from the server.
2894      </description>
2895    </change>
2896    <change>
2897      <fileset>
2898        <file path="t/30_method.t" action="ADD" />
2899        <file path="t/40_server.t" action="ADD" />
2900      </fileset>
2901      <description>
2902        Started the test suites for RPC::XML::Method and RPC::XML::Server.
2903        The tests that are delivered as part of this build are not fully
2904        complete, but should be a reasonable start.
2905      </description>
2906    </change>
2907  </release>
2908  <release version="0.28" date="2001-10-07T21:27:39-07:00">
2909    <change>
2910      <file path="lib/RPC/XML.pm" />
2911      <description>
2912        Found a subtle-but-nasty bug in the handling of RPC::XML::string
2913        objects. Thanks to Dominic Mitchell &lt;dom@semantico.com> for pointing
2914        me in the right direction.
2915      </description>
2916    </change>
2917    <change>
2918      <file path="lib/RPC/XML.pm" />
2919      <description>
2920        Started down the path of making the suite as a whole geared more
2921        towards real use than illustrative example. The XML data-classes now
2922        no longer use indention (or any superfluous whitespace) in their
2923        stringification. This shortened the code quite a bit, and will also
2924        mean shorter messages. This could not have been done cleanly without
2925        the tests in t/10_data.t.
2926      </description>
2927    </change>
2928    <change>
2929      <fileset>
2930        <file path="lib/RPC/XML/Method.pm" action="ADD" />
2931        <file path="lib/RPC/XML/Server.pm" />
2932        <file path="lib/Apache/RPC/Server.pm" />
2933      </fileset>
2934      <description>
2935        Extracted the method-manipulation code into a new class, called
2936        RPC::XML::Method. This should make method-sharing easier, and pull
2937        a lot of method-specific code out of RPC::XML::Server and
2938        Apache::RPC::Server.
2939      </description>
2940    </change>
2941    <change>
2942      <file path="lib/Apache/RPC/Server.pm" />
2943      <description>
2944        Clarified some issues in the new() constructor of the
2945        Apache::RPC::Server class, and also changed the calling convention.
2946        It no longer treats the first few arguments in any special way at all.
2947        The arguments are all consistently taken as option/value pairs, just
2948        as with RPC::XML::Server. The documentation reflects this. This may
2949        break things built on the old style, but in the long run it should
2950        prove much better.
2951      </description>
2952    </change>
2953  </release>
2954  <release version="0.27" date="2001-07-08T16:25:51-07:00">
2955    <change>
2956      <file path="lib/RPC/XML.pm" />
2957      <description>
2958        Removed a -w warning from RPC/XML.pm. Fixed some cases in the new()
2959        method of RPC::XML::boolean that would have permitted invalid data.
2960        Added two convenience methods to RPC::XML::fault, called code() and
2961        string(), that fetch the faultCode and faultString member values as
2962        native Perl values. The RPC::XML::base64 class was using the wrong
2963        container tags in the as_string method.
2964      </description>
2965    </change>
2966    <change>
2967      <file path="lib/RPC/XML/Server.pm" />
2968      <description>
2969        Clarified and expanded some of the documentation in RPC/XML/Server.pm.
2970      </description>
2971    </change>
2972    <change>
2973      <file path="Makefile.PL" />
2974      <description>
2975        Adjusted the PREREQ_PM hash in Makefile.PL so that it correctly looks
2976        for LWP, and also looks for File::Spec 0.8 or newer (needed to ensure
2977        that the splitpath() method is available).
2978      </description>
2979    </change>
2980    <change>
2981      <fileset>
2982        <file path="t/00_load.t" />
2983        <file path="t/10_data.t" />
2984        <file path="t/20_parser.t" />
2985      </fileset>
2986      <description>
2987        Cleaned up the load-tests (t/00_load.t) to use the Test harnessing
2988        package. Added test suites for the RPC::XML data classes (t/10_data.t,
2989        96 tests) and the RPC::XML::Parser container-class (t/20_parser.t,
2990        7 tests).
2991      </description>
2992    </change>
2993  </release>
2994  <release version="0.26" date="2001-06-25T22:30:18-07:00">
2995    <change>
2996      <file path="lib/RPC/XML/Server.pm" />
2997      <description>
2998        Fixed some doc errors in RPC::XML::Server. Mainly things I had
2999        simplified, but not updated the docs to reflect.
3000      </description>
3001    </change>
3002    <change>
3003      <file path="lib/Apache/RPC/Server.pm" />
3004      <description>
3005        Added a fair amount to the docs in Apache::RPC::Server. In particular,
3006        a new section was added that illustrates using &lt;Perl> configuration
3007        sections to create the server objects in the master Apache process,
3008        so that they are automatically inherited by children.
3009      </description>
3010    </change>
3011  </release>
3012  <release version="0.25" date="2001-06-12T22:35:09-07:00">
3013    <description>
3014      This is the initial release.
3015    </description>
3016    <change>
3017      <file path="*" />
3018      <description>All files are tracked from this point forward.</description>
3019    </change>
3020  </release>
3021</changelog>
3022