[Changes for 0.82 (JSON::Syck 0.21) - 2007-01-26] * Bytestrings containing no high bit bytes are no longer dumped as "!binary". [Changes for 0.81 (JSON::Syck 0.21) - 2007-01-26] * Support for loading Base64-encoded "!binary" type. * Support for dumping non-unicode bytes containing high bits as Base64-encoded "!binary" type. * JSON::Syck now raises an exception, instead of segfaults, when dumping a circular structure. [Changes for 0.80 (JSON::Syck 0.20) - 2007-01-26] * LICENSING CHANGE: This compilation and all individual files in it (except for the bundled libsyck code) are now under the permissive "MIT" license. See the COPYRIGHT section in README for the new terms. * Load("!! []") no longer segfaults due to empty tag names. * Load("!!Foo []") now blesses into "Foo", not "Foo::\0". * Load("!!perl/scalar 123") is now \123, not 123. * Load("!!perl/scalar:Foo ~") is now \"Foo", not undef. * Dump(bless(\$undef, 'Foo')) is now "!!perl/scalar:Foo ~", not "~". [Changes for 0.72 (JSON::Syck 0.15) - 2006-11-26] * $JSON::Syck::SingleQuote did not take effect for Unicode strings. * Squashed "mentioned only once" warnings for $ImplicitUnicode and $Headless. Reported by: Agent Zhang [Changes for 0.71 (JSON::Syck 0.14) - 2006-10-03] * Double-quoted strings in YAML output no longer contains continuation lines, which confused YAML.pm terribly. Reported by: Nelson Elhage [Changes for 0.70 (JSON::Syck 0.14) - 2006-10-02] * Load()/Dump()/LoadFile()/DumpFile() in YAML::Syck now support multiple YAML streams -- i.e. dumping multiple Perl values into a string composed of several YAML streams, and loading such a string into several values under list context. [Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29] * Further improvements of loading semantics for explicitly tagged nodes. Contributed by: Yuval Kogman [Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29] * The initialization sequence could cause segfaults on FreeBSD systems. Reported by: Chia-Liang Kao * Emit '!perl/ref' instead of '!perl/ref:' for consistency with other language's tagging systems. Contributed by: Yuval Kogman [Changes for 0.65 (JSON::Syck 0.14) - 2006-07-28] * Delay initialization of B::Deparse objects until the first time UseCode or LoadCode is in active use. Reported by: Chia-Liang Kao [Changes for 0.64 (JSON::Syck 0.14) - 2006-07-22] * Deparsing code references was erroneously generating extra NUL bytes on 64-bit platforms. Reported by: Jesse Vincent [Changes for 0.63 (JSON::Syck 0.14) - 2006-07-20] * When JSON's SingleQuote mode is set to true, single quotes inside JSON strings is now escaped properly. Reported by: [Changes for 0.70 (JSON::Syck 0.14) - 2006-10-02] * Load()/Dump()/LoadFile()/DumpFile() in YAML::Syck now support multiple YAML streams -- i.e. dumping multiple Perl values into a string composed of several YAML streams, and loading such a string into several values under list context. [Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29] * Further improvements of loading semantics for explicitly tagged nodes. Contributed by: Yuval Kogman [Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29] * The initialization sequence could cause segfaults on FreeBSD systems. Reported by: Chia-Liang Kao * Emit '!perl/ref' instead of '!perl/ref:' for consistency with other language's tagging systems. Contributed by: Yuval Kogman [Changes for 0.65 (JSON::Syck 0.14) - 2006-07-28] * Delay initialization of B::Deparse objects until the first time UseCode or LoadCode is in active use. Reported by: Chia-Liang Kao [Changes for 0.64 (JSON::Syck 0.14) - 2006-07-22] * Deparsing code references was erroneously generating extra NUL bytes on 64-bit platforms. Reported by: Jesse Vincent [Changes for 0.63 (JSON::Syck 0.14) - 2006-07-20] * When JSON's SingleQuote mode is set to true, single quotes inside JSON strings is now escaped properly. Reported by: Nelson Elhage [Changes for 0.62 (JSON::Syck 0.13) - 2006-07-11] * Fix compilation with Microsoft Visual C++. Reported by: Nilson Santos Figueiredo Junior [Changes for 0.61 (JSON::Syck 0.13) - 2006-07-01] * Fix segmentation faults introduced by pre-loading B::Deparse. Reported by: Randal Schwartz, Tatsuhiko Miyagawa [Changes for 0.60 (JSON::Syck 0.13) - 2006-06-30] * Completely change the way YAML tagging of references again, this time using !!perl instead of !perl for compatibility with YAML.pm and other YAML 1.1 implementations. [Changes for 0.46_02 (JSON::Syck 0.13) - 2006-06-29] * Completely change the way YAML tagging of references and blessed references work: See http://pyyaml.org/wiki/PerlTagScheme for the new specification. Note that this means the emitter BREAKS COMPATIBILITY with earlier versions of YAML loaders (both YAML::Syck and YAML.pm), although it will still load YAML streams produced by earlier loaders. Contributed by: Yuval Kogman [Changes for 0.46_01 (JSON::Syck 0.13) - 2006-06-25] * Add support for code references in YAML Contributed by: Yuval Kogman, based on Storable.xs [Changes for 0.45 (JSON::Syck 0.13) - 2006-05-27] * Bogus indentations are no longer emitted for JSON for strings containing newlines. Reported by: Tatsuhiko Miyagawa * Fix memory leaks on Dump. Contributed by: Andrew Danforth * Upgrade to upstream Syck 0.56-trunk; no functional changes. [Changes for 0.44 (JSON::Syck 0.12) - 2006-05-04] * Fix tests so they work warninglessly on 5.005. * Fix incorrect indentation level for scalars initialized twice -- once as string and once as references -- such as the ones produced by YAML.pm's Load() function. Reported by: Alex Vandiver * Multilevel self-recursive structures now no longer generate redundant anchor names. Reported by: Alex Vandiver * Fix memory leaks when linking child nodes to parent hashes and arrays. Also fix leaks when libsyck parser encounters an error. Contributed by: Andrew Danforth * Added test cases to validate the memory leak fixes. Devel::Leak is an optional dependency for these tests. Contributed by: Clayton O'Neill [Changes for 0.43 (JSON::Syck 0.11) - 2006-04-29] * Loading self-recursive structures no longer trigger an "Use of uninitialized value" warning. * Tests now pass for real on Perl 5.005. Reported by: Anton Berezin * Setting $JSON::Syck::SingleQuote to true did not work for strings ending in whitespaces. Contributed by: Alex Vandiver [Changes for 0.42 (JSON::Syck 0.10) - 2006-04-25] * Support for loading recursive structures. Reminded by: Adam Kennedy * Regained support for Perl 5.005. [Changes for 0.41 (JSON::Syck 0.10) - 2006-04-01] * Correctly dump circular structures in array and hash references. Reported by: Jesse Vincent * Support for loading blessed scalar references. Requested by: Dan Kogai * 0.40 was missing included Test::More, so tests could fail on a freshly installed Perl 5.6.x. Reported by: Uri Guttman [Changes for 0.40 (JSON::Syck 0.10) - 2006-03-31] * Merge YAML::Syck and JSON::Syck to a single distribution. Unified our svn repo codebase onto openfoundry[1] as well. [1] http://svn.openfoundry.org/perlsyck * Fixed JSON null serialization bug [rt:18021], unsigned integer bug [rt:18464]. * Under JSON, scalar references are dereferenced eplicitly and subroutine refefrences are serialized to null. * Fixed bug that integer elements in tied hashes were not correctly serialized. Reported by: Dan Kogai [Changes for 0.38 - 2006-03-14] * Documentation change: in the POD text, stress the importance of setting $YAML::Syck::ImplicitTyping to true, for interoperability with other language's YAML/Syck bindings is desired. Suggested by: "dgaramond2" on Perlmonks. [Changes for 0.37 - 2006-03-14] * Fix build on Win32 caused by upstream Syck header changes. Reported by: Nilson Santos F. Jr. [Changes for 0.36 - 2006-03-10] * YAML.pm 0.35 or earlier emitted "--- #YAML:1.0" instead of "--- %YAML:1.0" as the version string; work around it to maintain compatibility.. Reported by: Chia-Liang Kao [Changes for 0.35 - 2006-03-09] * Under implicit typing, hex and octal integers triggered segfaults. Reported by: Rachwal Waldemar [Changes for 0.34 - 2006-03-07] * Upgrade to Module::Install 0.59. * Corrected copyright notices. [Changes for 0.33 - 2006-02-14] * Plain strings beginning with "~" was loaded as undef. Reported by: Stephen Quinney [Changes for 0.32 - 2006-02-11] * Synchronize to upstream r231 (Ruby 1.8.4), with improved parsing of block scalars, trailing colons/tabs, and support for complex keys (although not enabled in Perl 5 yet.) [Changes for 0.31 - 2006-02-10] * Strings ending in colons, spaces or tabs was not quoted properly. Reported by: Stephen Quinney [Changes for 0.30 - 2006-02-06] * When loading anchors pointing to a hash reference, reference count did not increment accordingly. Reported by: Johan Vromans * After loading hashes or arrays containing null elements, assigning into those elements triggered a "modification of non-creatable value" error. Reported by: Clinton Gormley * The string '~' is now emitted as a quoted "~" instead of bare ~ (which would be loaded as undef.) Reported by: Stephen Quinney [Changes for 0.29 - 2006-02-05] * Proper quoting support (for the JSON branch only). Reported by: Anton Berezin * Switch to XSLoader on Perl 5.6.0+ for faster loading. [Changes for 0.28 - 2006-01-16] * Undef hash values is now emitted as "~" instead of "". Reported by: Tatsuhiko Miyagawa * FETCH magic of tied variables and loop iterators is now respected. Reported by: Tatsuhiko Miyagawa [Changes for 0.27 - 2006-01-16] * $YAML::Syck::SortKeys is now on by default. Requested by: Brian Ingerson [Changes for 0.26 - 2006-01-16] * Add a $YAML::Syck::SortKeys flag to enable sorting hash keys. Requested by: Brian Ingerson [Changes for 0.25 - 2006-01-14] * Loading foreign objects from YAML tags: For example, "--- !hs/Foo {a: b}" is blessed into hs::Foo. [Changes for 0.24 - 2006-01-14] * Silence warnings on 64-bit machines. Reported by: Anton Berezin [Changes for 0.23 - 2006-01-14] * Fix build for 5.6.x again. Reported by: Anton Berezin [Changes for 0.22 - 2006-01-12] * Dump numbers without quoting even when under Unicode flag. Conversely, a scalar with Unicode bit set is dumped as Unicode even if it had stored a number before. Reported by: Tatsuhiko Miyagawa [Changes for 0.21 - 2006-01-11] * Support for loading and dumping unicode strings. Requested by: Tatsuhiko Miyagawa * Add a $YAML::Syck::ImplicitUnicode flag to control implicit setting of unicode flags. [Changes for 0.20 - 2006-01-11] * Support for loading and dumping scalar references. * Support for dumping self-recursive data structures. [Changes for 0.19 - 2006-01-11] * More efficient memory use and allocation for the JSON branch. * Fix build on Perl 5.6.x again. Reported by: Anton Berezin [Changes for 0.18 - 2006-01-11] * Allow installation for people with older Module::Install versions. Reported by: Brian Ingerson [Changes for 0.17 - 2006-01-11] * Use the correct style for dual vars and tied scalars. Reported by: Tatsuhiko Miyagawa [Changes for 0.16 - 2006-01-11] * Proper Headless/chomping/quoting support for Miyagawa's JSON::Syck branch. JSON::Syck and YAML::Syck now shares a codebase completely. Requested by: Tatsuhiko Miyagawa [Changes for 0.15 - 2006-01-10] * Add a $YAML::Syck::Headless flag to control emission of "---\n" headers, for easier JSON interoperability. * Fix mis-dumping references as strings if the same pad position has stored a previous dump result as string. Reported by: Tatsuhiko Miyagawa * Fix build on Perl 5.6.x and on platforms without NAN/INF support. Reported by: Anton Berezin [Changes for 0.14 - 2006-01-09] * Add a $YAML::Syck::ImplicitTyping flag to control recognition of implicit types. Currently supports null, bool, float, int; if it's turned off (as per default) only null is recognized. Reported by: Brian Ingerson * Fix potential emission of redundant "--- " headings in large dumped documents. * We no longer ship Storable.xs with the distribution. [Changes for 0.13 - 2006-01-09] * Parsing an empty string no longer causes bus error in threaded Perls. Reported by: Tatsuhiko Miyagawa [Changes for 0.12 - 2006-01-09] * Parser errors now raises proper exceptions instead of segfaults. Reported by: Tatsuhiko Miyagawa [Changes for 0.11 - 2006-01-09] * Trailing newlines were not outputted by emitters. Reported by: Chia-Liang Kao [Changes for 0.10 - 2006-01-09] * Fix emitting of empty strings; they are now always quoted. Reported by: Chia-Liang Kao [Changes for 0.09 - 2006-01-09] * Downgrade to the last stable release of libsyck to fix the hash dumping layout problem. Reported by: Gaal Yahas [Changes for 0.08 - 2006-01-09] * Fix double-free problem in object dumping. Reported by: Chia-Liang Kao [Changes for 0.07 - 2006-01-09] * Loading of blessed hash and array references. * Do away with Test::More as testing dependency. [Changes for 0.06 - 2006-01-08] * Fix building problems on case-insensitive filesystems. Reported by: Chia-Liang Kao [Changes for 0.05 - 2006-01-08] * DumpFile() and LoadFile() is exported by default. * Undef now dumps as '~'; also supports dumping blessed references as 'perl/!type'. (Loading them doesn't work at this moment.) Implemented by: Gaal Yahas * Loading hashes and arrays no longer creates dangling references that caused memory leaks. Reported by: Tatsuhiko Miyagawa [Changes for 0.04 - 2005-12-28] * Truly support Perl versions before 5.7.3, thanks to ppport.h. Reported by: Anton Berezin [Changes for 0.03 - 2005-12-27] * Make syck.h compile with a Perl built with -DDEBUG. Reported by: Slaven Rezic [Changes for 0.02 - 2005-12-26] * Move from SWIG to much lighter-weight native XS implementation. * Begins bundling Storable.xs to use the same serialization logic. [Changes for 0.01 - 2005-12-26] * Initial release to CPAN of this six-hours-old hack.