1$Id$ 2 3Revision history for XML::Atom 4 50.43 2021-04-28 13:39:09 PDT 6 * Use Digest::SHA instead of Digest::SHA1 #13 7 * Fix tests when no '.' is in @INC #14 8 * Enable expand_entities for XML::LibXML 2.0202 #20 9 * Bump dependency for XML::LibXML 10 * Bump dependency for XML::XPath and removed unnecessary override #23 11 120.42 2017-05-12 14:33:09 JST 13 * Doc fixes 14 * Remove encoding pragma to support latest version of perl 15 https://rt.cpan.org/Ticket/Display.html?id=115101 16 170.41 2011.09.26 18 * Added a dependency to DateTime::TimeZone (leto) 19 200.40 2011.09.18 21 * Fixed tests for Windows (wchristian) 22 * use all upper case UTF-8 (tsgit) 23 240.39 2011.06.20 25 * Disabled external entities and network to avoid possible security flaw (yannk) 26 270.38 2011.05.22 28 * Fixed a bug where content with newlines wasn't encoded in perl >= 5.12 (emasaka) 29 https://rt.cpan.org/Public/Bug/Display.html?id=61637 30 310.37 2009.12.29 32 * Fixed accessors for source elements (Vince Veselosky) 33 340.36 2009.12.21 35 * Fixed various dependency issues RT #23538, #34481, #52519, #41058 (Tomas Doran) 36 370.35 2009.05.01 38 * reworked Module::Install stuff to remove junks 39 400.34 2009.04.29 41 * Fixed $entry->source support (Martin Atkins) 42 430.33 2009.01.06 44 * Client: Send WSSE auth header only when username is set 45 (Thanks to David Bourget at http://rt.cpan.org/Public/Bug/Display.html?id=42201) 46 470.32 2008.11.23 48 * Added base and lang to Entry and Feed object. Fixed xml:base attributes. 49 (Simon Wistow) 50 510.31 2008.11.13 52 * Update Content-Type in XML::Atom::Client when the entity's version >= 1.0 53 (Thanks to David Steinbrunner RT 39801) 54 550.30 2008.11.12 56 * hopefully fix a bug where xml:base returns an empty string 57 e.g. http://www.nntp.perl.org/group/perl.cpan.testers/2008/11/msg2595696.html 58 (Thanks to tokuhirom http://d.hatena.ne.jp/tokuhirom/20081110/1226280757) 59 600.29 2008.10.25 61 * Skips Unicode tests since it doesn't pass with some libxml versions (and it's not actually a bug) 62 630.28 2007.11.06 64 * Fixed Namespace handling in extensions so that both URL and NS object work 65 (Thanks to Brian Cassidy) 66 670.27_01 2007.10.04 68 * Removes most of hacks to deal with LibXML insane unicode stuff which are fixed with 1.64 69 700.27 2007.09.15 71 * Fixed $feed->as_xml_utf8 to work with latest XML::LibXML 72 730.26 2007.09.15 74 * This be 0.26 75 760.25_02 2007.06.20 77 * Fixed tests that fail with newer libxml (Thanks to knagano) 78 790.25_01 2007.04.27 80 81 * Fixed XML::Atom::Base element accessor to work with attributes 82 (Patch from LTjake and Jshirley for OpenSearch extension) 83 * Make XML::Atom::Link easily subclassable 84 (Patch from Simon Wistow for Google Calendar support) 85 860.25 2006.11.30 87 * Fixed memory leaks in XML::Atom::Client 88 (Reported by Brian Cassidy) 89 900.24 2006.11.25 91 * Updated document to mention that ID creation is user's responsibility 92 * Added $feed->as_xml_utf8 which always returns UTF-8 bytes string, rather than UTF-8 flagged one. 93 This addresses annoying issues with UTF-8 vs. latin-1 (Thanks to Rui Vilela #21191) 94 * Better fix for the hateful default: prefix issue in libxml2; now we 95 remove the default\d* prefix on any nodes and set the proper namespace 96 URI. 97 * Fix to the test case since 0x242 is now printable character in bleadperl 98 (Thanks to Andreas Koenig and Steve Peters) 99 * Skip tests if 'euc-jp' is unknown encoding on your XML library 100 (via CPAN testers) 101 1020.23 2006.08.27 103 * Fixed the method to get xml:lang and xml:base due to the 104 XML::LibXML 1.60 change which invalidated it. 105 1060.22 2006.07.24 107 * Refactored internal element accessors by eating the new dog food 108 mk_elem_accessors and mk_object_list_accessor. 109 * Added support of Atom 1.0 <category> parse and generation 110 * Added $thing->links and $thing->categories as a moniker method 111 that returns an array reference in a scalar context 112 * Fixed a bug in $content->body() where it accidentally thinks the 113 content is not a valid Unicode string even if it is, if you call 114 eval {} in elsewhere in the code and $@ is left set. 115 (Thanks to Chris Dent for the patch) 116 1170.21 2006.07.13 118 * propagate $entry's version when we create content element off of entry 119 using $entry->content("foo") syntax. 120 (Thanks to Simon Wistow for spotting this bug) 121 1220.20 2006.07.12 123 * Lots of refactoring, which simplifies much of the code in the various 124 construct modules (Person, Link, etc), and which should also make it 125 much more straightforward to add extension classes in the future. 126 * Added global $XML::Atom::ForceUnicode flag to return everything as Unicode flagged 127 (Suggested by many people) 128 * Added global $XML::Atom::DefaultVersion flag to set default 129 version number for generated Atom feed. Defaults to 0.3 (for backward compatibility) 130 * Added support for atom:content @type in Atom 1.0 feeds 131 (Suggested by many people, especially Chris Dent and Andy Lester from Socialtext) 132 1330.19 2006.03.19 134 * Fix 0.18 bug where renaming stuff was totally broken. 135 1360.18 2006.03.16 137 * Support Atom 0.3 -> 1.0 renaming bits (issued -> published, 138 modified -> updated, tagline -> subtitle) 139 * $atom->content->body doesn't return Unicode flagged variable 140 anymore, even if it's text/ data. Now it just returns UTF-8 bytes. 141 (Thanks to Garth Webb) 142 1430.17 2006.02.22 144 * Fixed problem with XML::XPath 145 1460.16 2005.11.22 147 * Fixed a terrible bug when you set binary data to $entry->content 148 1490.15 2005.11.01 150 - Fixed bug found in mode => 'insert' 151 (Thanks to Dominic Mitchell) 152 1530.14 2005.10.21 154 - Fixed bug that it decodes binary data as UTF-8 octet 155 (Thanks to Mahlon E. Smith) 156 - Don't eat up STDIN in cgi-mode 157 (Thanks to Bayle Shanks) 158 1590.13_02 160 - Now supports insert mode, by passing hash reference in add_entry 161 $feed->add_entry($entry, { mode => 'insert' }); 162 (Thanks to Dominic Mitchell) 163 1640.13_01 2005.09.13 165 - Now supports creating version 1.0 feed by passing new(Version => 1.0) 166 - Be more strict in utf-8 handling and base64ing 167 (Thanks to Dave Rolsky) 168 1690.13 2005.08.18 170 - Bumped up the version 171 1720.12_02 173 - $feed->version now returns 1.0 when xmlns patches with that for 1.0 174 - Fixed segmentation fault problem with <atom:content> longer than 2.5k 175 (Thanks to Chris Dent and Ryan King) 176 - No unicode decode hack on content withou mode="xml" 177 1780.12_01 2005.07.19 179 - Added Atom 1.0 feed support for parsing 180 - Hacked Unicode entity in $content->body 181 - Added $entry->contributor 182 - $entry->contributor and $entry->person returns list in list context 183 - Added $content->lang and $content->base (xml:lang and xml:base) 184 - Make sure $feed->as_xml doesn't set utf-8 flag 185 1860.12 2005.06.07 187 - Documentation fixes for XML::Atom::Server. Thanks to Tatsuhiko 188 Miyagawa for the patch. 189 - Removed XML::LibXSLT usage. Too much pain for too little gain. 190 To be clear: all it was doing was namespace normalization, so 191 removing it should make no difference. 192 - Fixed _utf8_off bug in XML::Atom::Client that causes fatal error 193 in POSTing multibyte content (Tatsuhiko Miyagawa, Masayoshi Sekimura) 194 - Added XML::Atom::Thing::add method to allow $entry->add() 195 (Tatsuhiko Miyagawa) 196 1970.11 2005.02.23 198 - Remove the default: namespace when converting to XML using as_xml 199 (the earlier fix only fixed it when getting the contents of an entry 200 using $entry->content). 201 - UTF-8 data is no longer base64-encoded in XML::Atom::Content. Thanks 202 to Tatsuhiko Miyagawa for the patch. 203 - Added XML::Atom::Entry::getlist($ns, $element) to retrieve the values 204 of an element that may appear multiple times in the entry (like 205 dc:subject). Thanks to Tatsuhiko Miyagawa for the patch. 206 - Added ability to set namespaced attributes in an XML::Atom::Link 207 object. Thanks to Tatsuhiko Miyagawa for the patch. 208 - XML::Atom::Entry::add_link($link) no longer clones $link if it's 209 a XML::Atom::Link object. Thanks to Tatsuhiko Miyagawa for the 210 patch. 211 2120.10 2004.12.31 213 - Eliminated unitialized value warning on <link /> attributes that 214 aren't set. 215 - Added XML::Atom::Feed->version to get and set the version of the feed. 216 - XML::Atom::Feed->language can now be used to set the language of 217 the feed. 218 - Added support for using XML::XPath in XML::Atom::Server. Thanks to 219 Autrijus Tang for the patch. 220 2210.09 2004.07.29 222 - Fixed "500 Malformed characters in syswrite" bug with utf-8. Thanks to 223 Tatsuhiko Miyagawa for the patch. 224 - Fixed bug in server where empty XML response would cause an error. Thanks 225 to Tatsuhiko Miyagawa for the patch. 226 2270.08 2004.06.01 228 - Added XML::Atom::Feed::language method, which returns the language 229 of the feed (from 'xml:lang'). 230 - Added XML::Atom::Feed::author, which returns a XML::Atom::Person 231 object representing the <author> element. 232 - Remove the default: namespace prefix that XML::LibXML adds inside 233 <content mode="xml"> elements. 234 - Use LWP::Authen::Wsse module for WSSE authentication when in REST 235 mode, which handles redirects properly. 236 2370.07 2004.05.15 238 - Added (experimental) support for using XML::XPath as an alternative 239 to XML::LibXML. This is detected automatically upon loading XML::Atom; 240 XML::LibXML is still the default. 241 - WSSE authentication tokens now persist properly across server 242 redirects. Thanks to Autrijus Tang for the patch. 243 - Fixed bug where empty password (empty string or "0") would cause 244 an invalid login in Atom server core. Also, improved error message 245 on invalid password for security. Thanks to Tatsuhiki Miyagawa 246 for the patch. 247 2480.06 2004.04.14 249 - BACKWARDS INCOMPATIBILITY: 250 Fixed Nonce behavior in API. Nonce should be sent in base64-encoded 251 form in SOAP and REST requests, but decoded (raw) nonce should be used 252 when generating PasswordDigest. 253 - Feed->add_link and Entry->add_link now support the same hash 254 reference parameter style as used in 0.041 and below, in addition 255 to the XML::Atom::Link parameter. 256 - Fixed bug with Feed->link so that it no longer returns links that 257 are contained within <entry> elements within the <feed>. 258 2590.05 2004.01.05 260 - BACKWARDS INCOMPABILITY: 261 Removed XML::Atom::Entry::get_links and XML::Atom::Feed::get_links, 262 in favor of new link() method in both classes, which returns a list 263 of XML::Atom::Link objects. Also, add_link() now expects an 264 XML::Atom::Link object instead of a hash reference. 265 - BACKWARDS INCOMPABILITY: 266 Renamed XML::Atom::API to XML::Atom::Client. 267 - Added XML::Atom::Link, an encapsulation of the <link> tag in a feed 268 or an entry. 269 - Added XML::Atom::Server, an implementation of an Atom core server 270 (to be subclassed for implementation-specific methods). 271 - Fixed feed auto-discovery to work with all client tests at 272 http://diveintomark.org/tests/client/autodiscovery/ 273 - Added (and documented) XML::Atom::Feed->find_feeds, to return all 274 of the Atom feed URIs on a page given a URI. 275 - Fixed issue with PasswordDigest in API (use sha(), not hex(sha()) 276 for generating password digest). 277 - Stream parameter to XML::Atom::Entry::new and XML::Atom::Feed::new 278 is now optional; if passed only one parameter, it's assumed to be 279 the Stream parameter. 280 - Fixed bug in XML::Atom::Content::as_xml (it didn't work). 281 2820.041 2003.12.15 283 - Fixed issue with calling $entry->content on list of entries generated 284 from $feed->entries. (Thanks to esummers for the report.) 285 2860.04 2003.12.14 287 - BACKWARDS INCOMPABILITY: 288 <content> elements are now represented as XML::Atom::Content objects 289 instead of just get/set accessors. You can still set 290 XML::Atom::Entry::content with a scalar (it will be automatically 291 upgraded to an XML::Atom::Content object), but to get the value of 292 <content>, you need to call XML::Atom::Content::Body. For example: 293 $entry->content->body 294 - XML::Atom::Entry::content now removes the <div> wrapper from 295 XHTML <content> when called with no arguments. 296 - Changed XML::Atom::Author to XML::Atom::Person and re-implemented it. 297 - Changed "WSSE" to "UsernameToken" in X-WSSE header. 298 2990.03 2003.12.05 300 - Added XML::Atom::Author to represent author or contributor, with 301 accessors for name, email, URL, etc. 302 - Updated XML::Atom::API per the 08 API spec: 303 * Removed searchEntries and replaced it with getFeed 304 * Removed introspection and replaced it with URI parameters 305 to createEntry and getFeed (introspection will be added 306 back in once it is more locked down) 307 - Added support for easily adding <link> tags to feed or entry 308 (eg XML::Atom::Feed::add_link) and getting <link> tags from feed or 309 entry (eg XML::Atom::Feed::get_links). 310 - Fixed XML::Atom::Thing::get to return undef when an element is 311 not found in the object at all (it used to return the empty string). 312 3130.02 2003.09.28 314 - Completely revamped authentication mechanism to use X-WSSE header 315 (or corresponding SOAP headers). 316 - Removed 03-client.t test, because there aren't any publicly 317 available servers to test against. (Are there?) 318 - Added support for SOAP wrapper in API client. 319 - Added namespace support in XML::Atom::Namespace using get and set 320 methods in XML::Atom::Entry and XML::Atom::Feed. 321 - Added namespace normalization for produced XML (if XML::LibXSLT 322 is installed). This is really just a cosmetic thing. 323 3240.01 2003.09.07 325 - Initial distribution. 326