Revision history for Perl extension JSON::XS TODO: maybe use some overload magic to decode true and false into something not 0 or 1 in perl. or use attached magic? investigate the possibility of a yaml-compatible output format. 1.23 Wed Jun 6 20:13:06 CEST 2007 - greatly improved small integer encoding and decoding speed. - implement a number of µ-optimisations. - updated benchmarks. 1.22 Thu May 24 00:07:25 CEST 2007 - require 5.8.8 explicitly as older perls do not seem to offer the required macros. - possibly made it compile on so-called C compilers by microsoft. 1.21 Wed May 9 18:40:32 CEST 2007 - character offset reported for trailing garbage was random. 1.2 Wed May 9 18:35:01 CEST 2007 - decode did not work with magical scalars (doh!). - added latin1 flag to produce JSON texts in the latin1 subset of unicode. - flag trailing garbage as error. - new decode_prefix method that returns the number of characters consumed by a decode. - max octets/char in perls UTF-X is actually 13, not 11, as pointed out by Glenn Linderman. - fixed typoe reported by YAMASHINA Hio. 1.11 Mon Apr 9 07:05:49 CEST 2007 - properly 0-terminate sv's returned by encode to help C libraries that expect that 0 to be there. - partially "port" JSON from C to microsofts fucking broken pseudo-C. They should be burned to the ground for pissing on standards. And I should be stoned for even trying to support this filthy excuse for a c compiler. 1.1 Wed Apr 4 01:45:00 CEST 2007 - clarify documentation (pointed out by Quinn Weaver). - decode_utf8 sometimes did not correctly flag errors, leading to segfaults. - further reduced default nesting depth to 512 due to the test failure by that anonymous "chris" whose e-mail address seems to be impossible to get. Tests on other freebsd systems indicate that this is likely a problem in his/her configuration and not this module. - renamed json => JSON in error messages. - corrected the character offset in some error messages. 1.01 Sat Mar 31 16:15:40 CEST 2007 - do not segfault when from_json/decode gets passed a non-string object (reported by Florian Ragwitz). This has no effect on normal operation. 1.0 Thu Mar 29 04:43:34 CEST 2007 - the long awaited (by me) 1.0 version. - add \0 (JSON::XS::false) and \1 (JSON::XS::true) mappings to JSON true and false. - add some more notes to shrink, as suggested by Alex Efros. - improve testsuite. - halve the default nesting depth limit, to hopefully make it work on Freebsd (unfortunately, the cpan tester did not send me his report, so I cannot ask about the stack limit on fbsd). 0.8 Mon Mar 26 00:10:48 CEST 2007 - fix a memleak when decoding hashes. - export jsonToBj and objToJson as aliases to to_json and from_json, to reduce incompatibilities between JSON/JSON::PC and JSON::XS. (experimental). - implement a maximum nesting depth for both en- and de-coding. - added a security considerations sections. 0.7 Sun Mar 25 01:46:30 CET 2007 - code cleanup. - fix a memory overflow bug when indenting. - pretty-printing now up to 15% faster. - improve decoding speed of strings by up to 50% by specialcasing short strings. - further decoding speedups for strings using lots of \u escapes. - improve utf8 decoding speed for U+80 .. U+7FF. 0.5 Sat Mar 24 20:41:51 CET 2007 - added the UTF-16 encoding example hinted at in previous versions. - minor documentation fixes. - fix a bug in and optimise canonicalising fastpath (reported by Craig Manley). - remove a subtest that breaks with bleadperl (reported by Andreas König). 0.31 Sat Mar 24 02:14:34 CET 2007 - documentation updates. - do some casting to hopefully fix Andreas' problem. - nuke bogus json rpc stuff. 0.3 Fri Mar 23 19:33:21 CET 2007 - remove spurious PApp::Util reference (John McNamara). - adapted lots of tests from other json modules (idea by Chris Carline). - documented mapping from json to perl and vice versa. - improved the documentation by adding more examples. - added short escaping forms, reducing the created json texts a bit. - added shrink flag. - when flag methods are called without enable argument they will by default enable their flag. - considerably improved string encoding speed (at least with gcc 4). - added a test that covers lots of different characters. - clarified some error messages. - error messages now use correct character offset with F_UTF8. - improve the "no bytes" and "no warnings" hacks in case the called functions do... stuff. - croak when encoding to ascii and an out-of-range (non-unicode) codepoint is encountered. 0.2 Fri Mar 23 00:23:34 CET 2007 - the "could not sleep without debuggign release". it should basically work now, with many bugs as no production tests have been run yet. - added more testcases. - the expected shitload of bugfixes. - handle utf8 flag correctly in decode. - fix segfault in decoder. - utf8n_to_uvuni sets retlen to -1, but retlen is an unsigned types (argh). - fix decoding of utf-8 strings. - improved error diagnostics. - fix decoding of 'null'. - fix parsing of empty array/hashes - silence warnings when we prepare the croak message. 0.1 Thu Mar 22 22:13:43 CET 2007 - first release, very untested, basically just to claim the namespace. 0.01 Thu Mar 22 06:08:12 CET 2007 - original version; cloned from Convert-Scalar