1Revision history for Perl extension JSON. 2 32.97001 2017-12-21 4 - updated backportPP with JSON::PP 2.97001 5 62.97000 2017-11-21 7 - updated backportPP with JSON::PP 2.97000 8 - use 5 digit minor version number for a while to avoid 9 confusion 10 - fixed is_bool to use blessed() instead of ref() 11 122.96 2017-11-20 13 - fixed packaging issue 14 - updated backportPP with JSON::PP 2.96 15 - not to use newer Test::More features (RT-122421; ilmari++) 16 172.95 2017-11-20 18 - updated backportPP with JSON::PP 2.95 19 202.94 2017-05-29 21 - fixed VERSION issue caused by VERSION methods added to abstract 22 backend packages (RT-121892; ppisar++) 23 - fixed a test for perl 5.6 24 252.93 2017-05-19 26 - add VERSION methods to (abstract) backend packages 27 - explained backward incompatibility about backend method 28 - updated VERSIONs of backportPP modules 29 302.92 2017-05-15 31 - production release 32 332.91_04 2017-01-10 34 - updated backportPP with JSON::PP 2.91_04 35 362.91_03 2017-01-09 37 - reworked documentation, based on the one for JSON::XS 38 - updated backportPP with JSON::PP 2.91_03 39 402.91_02 2016-12-04 41 - fixed not to fail tests under Perl 5.25.* (srezic++) 42 432.91_01 2016-12-03 44 - PERL_JSON_BACKEND now accepts Cpanel::JSON::XS as well 45 - tweaked tests to support various backends 46 - made convert_blessed_universally (for Perl 5.18+) and 47 support_by_pp less harmful 48 - fixed N/A exit code in Makefile.PL (bulk88) 49 - various doc patches from gregoa, topaz, zoffix, singingfish, 50 yanick, dsteinbrunner, Toby Inkster 51 - removed duplicated tests 52 - removed base.pm dependency 53 - updated backportPP with JSON::PP 2.91_01 54 552.90 Wed Oct 30 19:48:43 2013 56 57 ** INCOMPATIBLE CHANGE ** 58 59 - workaround for JSON::XS version 3.0 or later installed case. 60 61 * the objects returned by JSON::true/false are JSON::PP::Boolean. 62 * they do not overload 'eq'. 63 64 - changed test cases for this patch. 65 66 t/e02_bool.t 67 t/e03_bool2.t 68 t/x17_strange_overload.t 69 t/xe02_bool.t 70 t/xe03_bool2.t 71 t/xe12_boolean.t 72 732.61 Thu Oct 17 19:38:55 2013 74 - fixed return/or in _incr_parse 75 reported and patched by MAUKE, sprout and rjbs 76 https://rt.cpan.org/Public/Bug/Display.html?id=86948 77 782.60 79 - $json->is_xs, $json->is_pp was completely broken. 80 pointed by rt#75867 and emceelam 81 822.59 Wed Jun 5 14:35:54 2013 83 - PUREPERL_ONLY support was not supported... 84 and finally remove all PP options from Makefile.PL. 85 - recommend JSON::XS instead of conditionally requiring it 86 patched by miyagaw 87 ( for example, $ cpanm --with-recommends JSON) 88 - Hide more packages from PAUSE (and other stuff) 89 patched by miyagawa 90 912.58 Thu May 23 09:04:37 2013 92 - support PUREPERL_ONLY install option. (rt#84876) 93 (PERL_ONLY and NO_XS are not yet removed) 94 - stop installing JSON::XS automatically on Perl 5.18 95 962.57 97 - t/x17_strage_overload.t didn't work correctly. 98 992.56 Sat Apr 6 09:58:32 2013 100 - fixed t/x17_strage_overload.t (rt#84451 by Ricardo Signes) 101 1022.55 103 - update JSON::BackportPP version 104 1052.54 Fri Apr 5 16:15:08 2013 106 - fixed t/19_incr.t on perl >= 5.17.10 (wyant, rt#84154) 107 pathced by mbeijen and modified with demerphq's patch 108 - Fixed some spelling (by briandfoy) 109 - fixed sppeling (by Perlover) 110 - enhanced documents (Thanks to Justin Hunter and Olof Johansson) 111 - changed backend module loading for overloaded object behavior 112 (reported by tokuhirom) 113 1142.53 Sun May 22 16:11:05 2011 115 - made Makefile.PL skipping a installing XS question 116 when set $ENV{PERL_ONLY} or $ENV{NO_XS} (rt#66820) 117 1182.52 Sun May 22 15:05:49 2011 119 - fixed to_json (pointed and patched by mmcleric in rt#68359) 120 - backport JSON::PP 2.27200 121 * fixed incr_parse docodeing string more correctly (rt#68032 by LCONS) 122 1232.51 Tue Mar 8 16:03:34 2011 124 - import JSON::PP 2.27105 as BackportPP 125 - fixed documentations (pointed by Britton Kerin and rt#64738) 126 1272.50 Mon Dec 20 14:56:42 2010 128 [JSON] 129 - stable release 130 1312.49_01 Sat Nov 27 22:03:17 2010 132 [JSON] 133 - JSON::PP is split away JSON distributino for perl 5.14 134 - JSON::backportPP is included in instead. 135 1362.27 Sun Oct 31 20:32:46 2010 137 [JSON::PP] 138 - Some optimizations (gfx) 139 [JSON::PP::5005] 140 - added missing B module varibales (makamaka) 141 1422.26 Tue Sep 28 17:41:37 2010 143 [JSON::PP] 144 - cleaned up code and enhanced sort option efficiency in encode. 145 1462.25 Tue Sep 28 16:47:08 2010 147 [JSON] 148 - JSON::Backend::XS::Supportable always executed a needless process 149 with JSON::XS backend. This made encode/decode a bit slower. 150 1512.24 Mon Sep 27 10:56:24 2010 152 [JSON::PP] 153 - tweaked code. 154 - optimized code in hash object encoding. 155 1562.23 Sun Sep 26 22:08:12 2010 157 [JSON::PP] 158 - modified tied object handling in encode. it made encoding speed faster. 159 pointed by https://rt.cpan.org/Ticket/Display.html?id=61604 160 - modified t/e10_bignum.t 161 for avoiding a warning in using Math::BigInt dev version 162 1632.22 Wed Aug 25 12:46:13 2010 164 [JSON] 165 - added JSON::XS installing feature in Makefile.PL 166 with cpan or cpanm (some points suggested by gfx) 167 - check that to_json and from_json are not called as methods (CHORNY) 168 [JSON::PP] 169 - modified for -Duse64bitall -Duselongdouble compiled perl. 170 11_pc_expo.t too. (these are patched by H.Merijn Brand) 171 1722.21 Mon Apr 5 14:56:52 2010 173 [JSON] 174 - enhanced 'HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER' 175 - renamed eg/bench_pp_xs.pl to eg/bench_decode.pl 176 - added eg/bench_encode.pl 177 1782.20 Fri Apr 2 12:50:08 2010 179 [JSON] 180 - added eg/bench_pp_xs.pl for benchmark sample 181 - updated 'INCREMENTAL PARSING' section 182 [JSON::PP] 183 - decode_prefix() didn't count a consumed text length properly. 184 - enhanced XS compatibilty 185 in the case of decoding a white space garbaged text. 186 1872.19 Tue Mar 30 13:40:24 2010 188 [JSON] 189 - fixed typo (rt#53535 by Angel Abad) 190 - added a recommendation 191 refering to (en|de)code_json to pod (suggested by tokuhirom) 192 - added 'HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER' to pod. 193 1942.18 Tue Mar 23 15:18:10 2010 195 [JSON] 196 - updated document (compatible with JSON::XS 2.29) 197 [JSON::PP] 198 - fixed encode an overloaded 'eq' object bug (reported by Alexey A. Kiritchun) 199 - enhanced an error message compatible to JSON::XS 200 2012.17 Thu Jan 7 12:23:13 2010 202 [JSON] 203 - fixed a problem caused by JSON::XS backend and support_by_pp option 204 (rt#52842, rt#52847 by ikegami) 205 [JSON::PP] 206 - made compatible with JSON::XS 2.27 207 - patched decode for incr_parse (rt#52820 by ikegami) 208 - relaxed option caused an infinite loop in some condition. 209 2102.16 Fri Oct 16 15:07:37 2009 211 [JSON][JSON::PP] 212 - made compatible with JSON::XS 2.26 213 *indent adds a final newline 214 - corrected copyrights in JSON::PP58. 215 2162.15 Tue Jun 2 16:36:42 2009 217 [JSON] 218 - made compatible with JSON::XS 2.24 219 - corrected copyrights in some modules. 220 [JSON::PP] 221 - modified incr_parse, pointed by Martin J. Evans (rt#46439) 222 - deleted a meaningless code 223 2242.14 Tue Feb 24 11:20:24 2009 225 [JSON] 226 - the compatible XS version was miswritten in document. 227 2282.13 Sat Feb 21 17:01:05 2009 229 [JSON::PP] 230 - decode() didn't upgrade unicode escaped charcters \u0080-\u00ff. 231 this problem was pointed by rt#43424 (Mika Raento) 232 [JSON::PP::56] 233 - fixed utf8::encode/decode emulators bugs. 234 - defined a missing B module constant in Perl 5.6.0. 235 (reported by Clinton Pierce) 236 [JSON::PP::5005] 237 - _decode_unicode() returned a 0x80-0xff value as UTF8 encoded byte. 238 [JSON] 239 - added a refference to JSON::XS's document "JSON and ECMAscript". 240 - fixed a typo in the document (pointed by Jim Cromie). 241 2422.12 Wed Jul 16 11:14:35 2008 243 [JSON] 244 - made compatible with JSON::XS 2.22 245 246 [JSON::PP] 247 - fixed the incremental parser in negative nest level 248 (pointed and patched by Yuval Kogman) 249 2502.11 Tue Jun 17 14:30:01 2008 251 [JSON::PP] 252 - fixed the decoding process which checks number. 253 regarded number like chars in Unicode (ex. U+FF11) as [\d]. 254 - enhanced error messages compatible to JSON::XS. 255 2562.10 Tue Jun 3 18:42:11 2008 257 [JSON] 258 - made compatible with JSON::XS 2.21 259 * updated the document. 260 - added an item pointed by rt#32361 to the doc. 261 262 [JSON::PP] [JSON::PP58] [JSON::PP56] [JSON::PP5005] 263 - made compatible with JSON::XS 2.21 264 * added incr_reset 265 - removed useless codes. 266 2672.09 Sun Apr 20 20:45:33 2008 268 [JSON] 269 - made compatible with JSON::XS 2.2 270 - changed pod section totally. 271 272 [JSON::PP] 2.20001 273 - made compatible witg JSON::XS 2.2 274 * lifted the log2 rounding restriction of max_depth and max_size. 275 * incremental json parsing (EXPERIMENTAL). 276 * allow_unknown/get_allow_unknown methods. 277 - the version format was changed. 278 X.YYZZZ => X.YY is the same as JSON::XS. ZZZ is the PP own version. 279 - changed pod section totally. 280 2812.08 Sat Apr 12 22:49:39 2008 282 [JSON] 283 - fixed JSON::Boolean inheritance mechanism. 284 If the backend is XS with support_by_pp mode and using PP only 285 support method, JSON::Boolean did not work correctly. 286 Thanks to hg[at]apteryx's point. 287 288 [JSON::PP] 2.07 289 - Now split into JSON::PP58 for Perl 5.8 and lator. 290 - enhanced an error message compatible to JSON::XS 291 did not croak when TO_JSON method returns same object as passed. 292 293 [JSON::PP58] 294 - modified for Perls post 5.8.0 that don't have utf8::is_utf8. 295 Thanks to Andreas Koenig. 296 2972.07 Sat Feb 16 15:52:29 2008 298 [JSON] 299 - experimentally added -convert_blessed_universally to define 300 UNIVERSAL::TO_JSON subroutine. 301 302 use JSON -convert_blessed_universally; 303 $json->convert_blessed->encode( $blessed ); 304 305 - and as_nonbleesed is obsoleted (not yet removed). OK? 306 - fixed t/04_pretty.t. 307 3082.06 Fri Feb 8 16:21:59 2008 309 [JSON::PP] 2.06 310 - enhanced the XS compatibility for pretty-printing 311 and the indent handling was broken! 312 3132.05 Tue Feb 5 13:57:19 2008 314 [JSON::PP] 2.05 315 - enhanced some XS compatibilities for de/encode. 316 - now decode_error can dump high (>127) chars. 317 - enhanced the XS combatilbity of the decoding error. 318 - fixed the utf8 checker while decoding (is_valid_utf8). 319 - implemented utf8::downgrade in JSON::PP56. 320 - enhanced utf8::encode in JSON::PP56. 321 - made utf8::downgrade return a true in JSON::PP5005. 322 3232.04 Sat Jan 5 16:10:01 2008 324 [JSON] 325 - fixed a document typo pointed by kawasaki@annocpan 326 - make DATA handle closed for error mssages in support_by_pp mode. 327 - switched JSON::Backend::XS::Supportable wrapper de/encode 328 to changing symbolic tables for croak messages and speed. 329 - fixed support_by_pp setting 330 331 [JSON::PP] 2.04 332 - enhanced the error message compatiblity to XS. 333 3342.03 Fri Jan 4 14:10:58 2008 335 [JSON] 336 - fixed the description - Transition ways from 1.xx to 2.xx. 337 $JSON::ConvBlessed compat => $json->allow_blessed->as_nonbleesed 338 - support_by_pp supports 'as_nonbleesed' (experimental) 339 - clean up the code for saving memory 340 341 [JSON::PP] 2.03 342 - Now the allo_bignum flag also affects the encoding process. 343 encode() can convert Math::BigInt/Float objects into JSON numbers 344 - added as_nonblessed option (experimental) 345 - cleaned up internal function names (renamed camel case names) 346 3472.02 Wed Dec 26 11:08:19 2007 348 [JSON] 349 - Now support_by_pp allows to use indent_length() 350 351 [JSON::PP] 2.02 352 - added get_indent_length 353 3542.01 Thu Dec 20 11:30:59 2007 355 [JSON] 356 - made the object methods - jsonToObj and objToJson 357 available for a while with warnings. 358 3592.00 Wed Dec 19 11:48:04 2007 360 [JSON] 361 - new version! 362 - modified Makefile.PL for broken Perls (when PERL_DL_NONLAZY = 1). 363 364 [JSON::PP] 2.0104 365 - clean up the document. 366 - use 'subs' instead of CORE::GLOBAL for fixing join() in 5.8.0 - 5.8.2 367 - enhanced decoding error messages for JSON::XS compatibility. 368 - jsonToObj and objToJson warn. 369 370 3711.99_05 Fri Dec 14 18:30:43 2007 372 [JSON] 373 - added a description about the Unicode handling to document. 374 375 [JSON::PP] (2.0103) 376 - Now the JSON::PP56 unicode handling does not require Unicode::String. 377 - Now JSON::PP5005 can de/enocde properly within the Perl 5.005 world. 378 - decode() always utf8::decode()ed to strings. 379 - decode() returned a big integer as string though the integer is 380 smaller than it is so. 381 - a bad know how - added the join() wrapper for Perl 5.8.0 - 5.8.2 bug. 382 - JSON::PP56 encode() did not handle Unicode properly. 383 - added a section about the unicode handling on Perls to JSON::PP doc. 384 3851.99_04 Mon Dec 10 14:28:15 2007 386 [JSON] 387 - modified the tests and source for Perl 5.005 388 389 [JSON::PP] (2.0102) 390 - modified some prototypes in JSON::PP5005. 391 3921.99_03 Mon Dec 10 11:43:02 2007 393 [JSON] 394 - modified tests and document. 395 in Perl5.8.2 or earlier, decoding with utf8 is broken because of 396 a Perl side problem. (join() had a bug.) 397 - modified Makefile.PL for Perl 5.005. 398 in the version, 'require JSON' is fail.... 399 400 [JSON::PP] (2.0102) 401 - modified string decode function. 402 - enhanced error messages for compatibility to JSON::XS. 403 - enhanced utf8::decode emulator and unpack emulator in JSON::PP56. 404 4051.99_02 Sun Dec 9 05:06:19 2007 406 [JSON::PP] (2.0101) 407 - decoding with utf8 was broken in Perl 5.10 408 as the behaviour of unpack was changed. 409 - added a fake in JSON::PP5005 (bytes.pm) 410 - added the missing file JONS::PP::Boolean.pm 411 4121.99_01 Sat Dec 8 12:01:43 2007 413 [JSON] 414 - released as version 2.0 415 this module is incompatible to 1.xx, so check the document. 416 417 [JSON::PP] (2.01 from 0.97) 418 - updated JSON::PP for compatible to JSON::XS 2.01 419 - renamed from_json and to_json to decode_json and encode_json 420 - added get_* to JSON::PP 421 - deleted property() from JSON::PP 422 - deleted strict() and added loose() 423 - deleted disable_UTF8() and self_encode() 424 - renamed singlequote to allow_singlequote 425 - renamed allow_bigint to allow_bignum 426 - max_depth and max_size round up their arguments. 427 - added indent_length and sort_by 428 429 430## JSON version 1.xx 431 4321.15 Wed Nov 14 14:52:31 2007 433 - 1.xx final version. 434 4350.09 Sat Apr 9 15:27:47 2005 436 - original version; created by h2xs 1.22 with options 437 -XA -b 5.5.3 -n JSON 438 439