Pkgsrc changes:
o Use JSON/ subdir on master site instead of author dir.
o Use 2.22.22 as version number instead of 2.2222.
Upstream changes:
2.2222 Sun Jul 20 18:49:00 CEST 2008
- same game again, broken 5.10 finds yet another assertion
failure, and the workaround causes additional runtime warnings.
Work around the next assertion AND the warning. 5.10 seriously
needs to adjust it's attitude against working code.
2.222 Sat Jul 19 06:15:34 CEST 2008
- you work around one -DDEBUGGING assertion bug in perl 5.10
just to hit the next one. work around this one, too.
2.22 Tue Jul 15 13:26:51 CEST 2008
- allow higher nesting levels in incremental parser.
- error out earlier in some cases in the incremental parser
(as suggested by Yuval Kogman).
- improve incr-parser test (Yuval Kogman).
While here, marked as DESTDIR ready.
2.21 Tue Jun 3 08:43:23 CEST 2008
- (hopefully) work around a perl 5.10 bug with -DDEBUGGING.
- remove the experimental status of the incremental parser interface.
- move =encoding around again, to avoid bugs with search.cpan.org.
when can we finally have utf-8 in pod???
- add ->incr_reset method.
2.2 Wed Apr 16 20:37:25 CEST 2008
- lifted the log2 rounding restriction of max_depth and max_size.
- make booleans mutable by creating a copy instead of handing out
the same scalar (reported by pasha sadri).
- added support for incremental json parsing (still EXPERIMENTAL).
- implemented and added a json_xs command line utility that can convert
from/to a number of serialisation formats - tell me if you need more.
- implement allow_unknown/get_allow_unknown methods.
- fixed documentation of max_depth w.r.t. higher and equal.
- moved down =encoding directive a bit, too much breaks if it's the first
pod directive :/.
- removed documentation section on other modules, it became somewhat
outdated and is nowadays mostly of historical interest.
2.1 Wed Mar 19 23:23:18 CET 2008
- update documentation here and there: add a large section
about utf8/latin1/ascii flags, add a security consideration
and extend and clarify the JSON and YAML section.
- medium speed enhancements when encoding/decoding non-ascii chars.
- minor speedup in number encoding case.
- extend and clarify the section on incompatibilities
between YAML and JSON.
- switch to static inline from just inline when using gcc.
- add =encoding utf-8 to the manpage, now that perl 5.10 supports it.
- fix some issues with UV to JSON conversion of unknown impact.
- published the yahoo locals search result used in benchmarks as the
original url changes so comparison is impossible.
Changes:
2.01 Wed Dec 5 11:40:28 CET 2007
- INCOMPATIBLE API CHANGE: to_json and from_json have been
renamed to encode_json/decode_json for JSON.pm compatibility.
The old functions croak and might be replaced by JSON.pm
comaptible versions in some later release.
2.0 Tue Dec 4 11:30:46 CET 2007
- this is supposed to be the first version of JSON::XS
compatible with version 2.0+ of the JSON module.
Using the JSON module as frontend to JSON::XS should be
as fast as using JSON::XS directly, so consider using it
instead.
- added get_* methods for all "simple" options.
- make JSON::XS subclassable.
1.53 Tue Nov 13 23:58:33 CET 2007
- minor doc clarifications.
- fixed many doc typos (patch by Thomas L. Shinnick).
1.52 Mon Oct 15 03:22:06 CEST 2007
- remove =encoding pod directive again, it confuses too many pod
parsers :/.
1.51 Sat Oct 13 03:55:56 CEST 2007
- encode empty arrays/hashes in a compact way when pretty is enabled.
- apparently JSON::XS was used to find some bugs in the
JSON_checker testsuite, so add (the corrected) JSON_checker tests to
the testsuite.
- quite a bit of doc updates/extension.
- require 5.8.2, as this seems to be the first unicode-stable version.
This module converts Perl data structures to JSON and vice versa.
Its primary goal is to be correct and its secondary goal is to be
fast. To reach the latter goal it was written in C.
As this is the n-th-something JSON module on CPAN, what was the
reason to write yet another JSON module? While it seems there are
many JSON modules, none of them correctly handle all corner cases,
and in most cases their maintainers are unresponsive, gone missing,
or not listening to bug reports for other reasons.