The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
[Changes for 1.07 (JSON::Syck 0.30) - 2009-04-25]

* Added the missing Loadfile function to JSON::Syck.
  Reported by: Dan McCormick

[Changes for 1.05 (JSON::Syck 0.29) - 2008-06-09]

* Loading a YAML stream containing Regexp nodes under -d:DProf should
  not fail with "panic: Devel::DProf inconsistent subroutine return".
  Reported by: Richard Jelinek

[Changes for 1.04 (JSON::Syck 0.29) - 2008-02-17]

* The 'Name "YAML::Syck::ImplicitBinary" used only once: possible typo'
  warnings no longer triggers in Perl 5.10 when running with perl -w.
  Reported by: Jesse Vincent

[Changes for 1.03 (JSON::Syck 0.29) - 2008-02-16]

* JSON::Syck: When $JSON::Syck::SingleQuote is false, implicit booleans
  such as "yes" and "no" should be dumped with double quotes, instead of
  single quotes (which breaks RFC 4627).
  Reported by: cho45

[Changes for 1.02 (JSON::Syck 0.28) - 2008-02-16]

* JSON::Syck: Colons in single-quoted strings are no longer loaded
  with an extra space after it.
  Reported by: Agent Zhang

[Changes for 1.01 (JSON::Syck 0.27) - 2008-01-19]

* JSON::XS is now promoted prominiently in JSON::Syck's documentation.

* Added support for Perl 5.11 and its first-class Regexp objects.
  Contributed by: Andreas Koenig

* Tests no longer fail incorrectly when JSON.pm 2.00+ is installed.
  Contributed by: Andreas Koenig

* Removed the unused Syck bytecode modules (yamlbyte.h and yaml2byte.c)
  to further reduce our memory footprint.

[Changes for 1.00 (JSON::Syck 0.26) - 2007-12-10]

* When $YAML::Syck::SingleQuote is set to true, Dump() now emits newlines
  in strings correctly.  (Previously it would emit extra newlines.)

[Changes for 0.99 (JSON::Syck 0.26) - 2007-10-23]

* TODOify tests as appropriate for Perl 5.005 and Perl 5.6.x.

[Changes for 0.98 (JSON::Syck 0.26) - 2007-10-13]

* Restore support for Perl 5.005 and earlier.

[Changes for 0.97 (JSON::Syck 0.26) - 2007-09-03]

* When loading !!perl/code with $YAML::Syck::LoadCode set to false,
  YAML::Syck now returns a coderef that does nothing (i.e. sub {}),
  in accordance with YAML.pm's treatment, instead of returning the
  actual code of the sub as a string.
  Contributed by: Florian Ragwitz

[Changes for 0.96 (JSON::Syck 0.26) - 2007-08-08]

* The always-quote rule now applies to all implicit booleans
  and null values, i.e. strings that match the following regex:

    /y|Y
    |n|N
    |yes|Yes|YES
    |no|No|NO
    |true|True|TRUE
    |false|False|FALSE
    |on|On|ON
    |off|Off|OFF
    |null|Null|NULL
    |~
    /x

* Bare literals "Y", "N", "y" and "n" are now recognized as
  booleans when loading with implicit typing turned on.

* Mixed case strings that does not represent implicit boolean
  values, such as "yES" and "nO", are no longer always-quoted.
  Contributed by: Malcolm Studd

[Changes for 0.95 (JSON::Syck 0.26) - 2007-08-04]

* "Yes" and "no" (including all upper/lower case forms) are now
  always dumped in quoted form to avoid ambiguities when loaded
  by loaders with ImplicitTyping set to true.
  Reported by: Malcolm Studd

* lib/YAML/Syck.pod is merged back into lib/YAML/Syck.pm.
  (No functional changes.)

[Changes for 0.94 (JSON::Syck 0.26) - 2007-07-10]

* Repair broken PAUSE upload, again. (Sigh.)

[Changes for 0.93 (JSON::Syck 0.26) - 2007-07-10]

* Repair broken PAUSE upload.

[Changes for 0.92 (JSON::Syck 0.26) - 2007-07-10]

* Allow for LoadFile(*FH) and DumpFile(*FH), in addition to
  ($fh) and (\*FH).  Also, new tests for LoadFile and DumpFile.
  Contributed by: Adriano Ferreira

[Changes for 0.91 (JSON::Syck 0.26) - 2007-06-23]

* Corrected loading Regexps with all combinations of quantifiers.
  Contributed by: Ingy döt Net

[Changes for 0.90 (JSON::Syck 0.26) - 2007-06-22]

* Regexes are now dump/loaded correctly with modifiers, with a new
  representation: "--- !!perl/regexp:main (?i-xsm:1)", instead of the
  old mapping with a REGEXP key.  The old form still loads correctly;
  the new form corresponds to YAML.pm 0.63 and later.
  Requested by: Ingy döt Net

* Loading regexes with modifiers no longer involves an eval"" call.

[Changes for 0.88 (JSON::Syck 0.26) - 2007-06-17]

* New dependency: Scalar::Util, for LoadFile and DumpFile functions.
  You can safely do without that module if you do not make use of the
  two functions.

* LoadFile and DumpFile now accept glob values, and reject unopened
  handles properly instead of silently ignores it.
  Contributed by: Adriano Ferreira

[Changes for 0.87 (JSON::Syck 0.25) - 2007-06-17]

* New LoadFile and DumpFile functions for JSON::Syck.

* JSON::Syck now actually exports its functions if you ask for it.

* LoadFile and DumpFile now accept IO objects in addition to file names.
  Requested by: Adriano Ferreira

[Changes for 0.86 (JSON::Syck 0.24) - 2007-06-16]

* Support for dumping and loading regexps created by qr//, including
  blessed once.  Note that loading Regexp values dumped by YAML.pm
  currently discards modifiers.

[Changes for 0.85 (JSON::Syck 0.24) - 2007-04-20]

* Strings containing both single quotes and newlines were incorrectly 
  quoted with backslash-escaped single quotes.  This is a regression
  introduced in YAML::Syck 0.84.
  Reported by: Agent Zhang

[Changes for 0.84 (JSON::Syck 0.23) - 2007-04-02]

* New $YAML::Syck::SingleQuote flag: When it is set to true, Dump will
  always emit quotes instead of bare strings.
  Requested by: Ingo Bax

* When $JSON::Syck::SingleQuote is set to true, special characters such as
  \r\n are still escaped as usual, because JavaScript allows the same form
  of escaping in strings with either quotes.
  Reported by: Dobrica Pavlinusic

[Changes for 0.83 (JSON::Syck 0.22) - 2007-02-05]

* Under JSON::Syck, as well as YAML::Syck when $ImplicitTyping is set to
  true, integer numbers larger than an unsigned integer (>=4294967296 on
  32-bit platforms) was erroneously loaded as 0.
  Reported by: Markus Wörle

[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.
  Requested 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.