1.44 Apr 02 2026

  [Bug Fixes]
  - Fix: positive hex and octal values parsed as 0 with ImplicitTyping
    (PR #187)
  - Fix: resolve uintptr_t redefinition error on Win64 MinGW
    (PR #186)

1.43 Apr 01 2026

  [Bug Fixes]
  - Fix: prevent resource leaks on croak/early-return paths in Dump
    (PR #161)
  - Fix: prevent output SV leaks on croak in Dump/DumpFile callers
    (PR #163)
  - Fix: Load() in list context returns empty list for empty/undef input;
    also applies to LoadBytes and LoadUTF8 (GH #164, PR #165)
  - Fix: DumpCode serializes prototype string instead of code body
    (PR #168)
  - Fix: memory leak in !perl/scalar Load — newRV_inc should be
    newRV_noinc (PR #170)
  - Fix: add pTHX_ to SAVEDESTRUCTOR_X callback for threaded Perl
    (GH #175, PR #176)
  - Fix: add TODO guard for eval_pv leak on Perl < 5.14
    (GH #179, PR #180)
  - Fix: negative hex and octal values parsed as 0 with ImplicitTyping
    (PR #183)
  - Fix: negative int#base60 values produce unsigned wraparound (PR #185)

  [Improvements]
  - Modernize META_MERGE for CPANTS compliance (PR #162)
  - Fix hash table size handling and remove compile warnings in syck_st
    (PR #174)

  [Maintenance]
  - Restore TODO guard for Dump code leak test on Perl < 5.26 (PR #167)
  - Resolve 2010 TODO in perl_json_postprocess with test coverage
    (PR #166)
  - CI: upgrade actions to resolve Node.js 20 deprecation warnings
    (PR #177)

1.42 Mar 27 2026

  [Bug Fixes]
  - Fix: replace strtok() with strpbrk() and fix sign-compare warnings in
    perl_syck.h (PR #145)
  - Fix: terminate plain scalars at document boundaries --- and ... (PR #150)
  - Fix: skip %TAG and %YAML directives in document header (PR #151)
  - Fix: plug SV leak when eval_pv croaks on bad perl/code blocks (PR #153)
  - Fix: allow non-specific tag '!' before block scalars (GH #27, PR #102)
  - Fix: remove spurious %type <nodeId> for indent_open in gram.y
    (GH #157, PR #158)
  - Fix: use modern bison %define api.prefix directive (GH #159, PR #160)

  [Improvements]
  - Implement YAML merge key (<<) support (PR #149)

  [Maintenance]
  - Remove dead Perl 5.6/5.8 version guards from test files (PR #146)
  - Add YAML 1.0 spec compliance audit and coverage tests (PR #148)
  - Add comprehensive round-trip tests for YAML 1.0 spec features (PR #152)
  - Remove unneeded TODO in t/json-basic.t (PR #154)
  - Add regex Dump/Load/round-trip tests to perl tag scheme (PR #155)
  - Do not require a .y file to build YAML::Syck; add brew support for bison
  - Don't ship docs/ directory in tarball

1.41 Mar 22 2026

  [Bug Fixes]
  - Fix float parsing on -Dusequadmath perls: use Perl's Atof() instead of
    strtod() so that floats like -3.14 are not corrupted by double-precision
    rounding artifacts (GH #140, PR #141)

1.39 Mar 21 2026

  [Bug Fixes]
  - Fix t/yaml-implicit-typing.t failure with -Duselongdouble perls (GH #138, PR #139)

1.38 Mar 20 2026

  [Bug Fixes]
  - Fix: escape solidus (/) as \/ in JSON::Syck::Dump for XSS safety (GH #125, PR #130)
  - Fix: anchor tracking for blessed scalar refs in Dump (GH #126, PR #131)
  - Fix: prevent buffer underflow in base60 (sexagesimal) parsing (PR #133)
  - Fix: guard against NULL type from strtok in tag parsing (PR #135)
  - Fix: correct copy-paste bug in syck_seq_assign() ASSERT macros (PR #137)

  [Improvements]
  - Resolve TODO tests for empty/invalid YAML to match actual behavior (GH #127, PR #129)

  [Maintenance]
  - Remove dead Perl 5.6 TODOs and convert 5.8 TODO to SKIP (PR #129)
  - Add comprehensive implicit type resolution test suite (PR #137)
  - Update MANIFEST to include all unit tests
  - Clean up test names to remove unnecessary numbering

1.37 Mar 18 2026

  [Features]
  - Add LoadBytes, LoadUTF8, DumpBytes, DumpUTF8 functions (GH #51)

  [Fixes]
  - Fix heap buffer overflow in the YAML emitter - CVE-2026-4177 (GH #67)
  - Fix DumpFile with tied filehandles (IO::String, IO::Scalar) (GH #22)
  - Fix _is_glob to recognize IO::Handle subclasses (GH #23)
  - Fix memory leak when dumping filehandles (RT#41199, GH #42)
  - Fix dumping of tied hashes (GH #31)
  - Fix dumping strings starting with '...' as unquoted plain scalars (GH #34)
  - Fix dumping strings with tabs and carriage returns as plain scalars (GH #59)
  - Fix double-dash YAML parsing (RT#34073, GH #35)
  - Fix extra newline after empty arrays/hashes in YAML output (GH #36)
  - Remove trailing whitespace from YAML output lines (GH #37, #38, #39)
  - Fix quoting of \r and \t in YAML output instead of emitting raw bytes (GH #40)
  - Fix growing !!perl/regexp objects in roundtrips (GH #43)
  - Fix quoted '=' being transformed into 'str' (GH #45)
  - Fix backslash-space escape in double-quoted YAML strings (GH #61)
  - Fix flow sequence comma separator not recognized without trailing space (GH #60)
  - Fix wide character warning in DumpFile (GH #28)
  - Fix inline arrays without space after comma (GH #25)
  - Fix: quote strings matching YAML implicit types to prevent roundtrip failures (GH #26)
  - Fix JSON::Syck::Dump to use JSON-valid \uXXXX escapes in output (GH #21)
  - Fix JSON::Syck::Load decoding of \/ and \uXXXX escape sequences (GH #30)
  - Fix: apply JSON postprocessing to JSON::Syck::DumpFile output (GH #104)
  - Fix: add tied-filehandle fallback to JSON::Syck::DumpFile (GH #98)
  - Fix: handle JSON escape sequences in SingleQuote mode Load (GH #99)
  - Fix: restore Perl 5.8 compatibility in test suite (GH #121)
  - Fix: correct copy-paste error in Makefile.PL clean target (GH #101)
  - Fix: correct $SortKeys POD default from false to true (GH #100)
  - Fix: correct POD documentation errors (GH #103)

  [Maintenance]
  - Add C23-compatible function prototypes for GCC 15 compatibility (GH #112)
  - Silence macOS compiler warnings (GH #92)
  - Guard stdint.h include for portability (HP-UX 11.11) (GH #33)
  - Guard stdint.h include in syck_st.h for portability (GH #24)
  - Update ppport.h to 3.68
  - Add regression tests for magical variable dumping (GH #32)
  - CI: modernize GitHub Actions workflow (GH #123, #124)
  - CI: add disttest job to validate MANIFEST completeness

1.36 Oct 10 2025

- Address memory corruption leading to 'str' value being set on empty keys
  Thanks @timlegge

1.35 Oct 9 2025

- Address parsing error related to string detection on read for empty strings.

1.34 Oct 26 2020

- #50 Stop depending on constants dropped from Perl 5.28

1.33 Oct 26 2020

- #52 Fix memory corruption.
- #53 Fix for handling circular aliases.
- #56 syck.h: unconditionally include stdlib.h
- Switch changelog to a more parsible format.
- Update github CI to use a cpanfile.
- Update Devel::PPPort to 3.62

1.32 Jan 27 2020

-*** INTERFACE CHANGE ****
- Change default for LoadBlessed to false

- Remove YAML::Syck tests which parse META.yml
- Switch to github actions for testing
- Remove 'use vars' from code in favor of our

1.31 Oct 25 2018

- Switch to ExtUtils::MakeMaker for builder
- Switch official issue tracker and repo to github.
- MANIFEST warning is now fixed. Also shipping additional tests because of this.

1.30

- ???

1.29_02 Mar 03 2016

- Fix handling carriage return after c-indicator RT 41141
- Fix CHECK_UTF8 SEGV with empty len=0 strings RT 61562
- Add missing function declarations
- Tighten the TODO tests, no passing TODOs now. But still JSON
  SingleQuote and \/ and \u roundtrips do fail.

1.29_01 Dec 14 2014

- Experimentally try patch from RT 83825. Will release if no test failures or complaints.
- Fix crash in syck_emit on platforms with long long pointers

1.28 Dec 11 2014

- Bump to release version 1.28 for production release to CPAN

1.28_01 Jun 11 2014

- Update inc modules to avoid precedence warnings in newer perl: RT 87034

1.27 May 20 2013

- Resolve RT#84466 not fixed in 1.26 It failed about 10% of the time.

1.26 May 20 2013

- Resolve RT#84882 and RT#84466 hash randomisation in yaml-alias.t on perl 5.18.0

1.25 Mar 10 2013

- Bump version number and release to fix a MANIFEST mistake in 1.24

1.24 Mar 07 2013

- Tests all green on CPAN Testers. releasing to public.

1.24_02 Mar 01 2013

- Apply patch from RT 78363 - MinGW64 compatibility

1.24_01 Mar 01 2013

- Implement $JSON::Syck::MaxDepth
- Prevent failure when the same object is seen twice during Dump.
- Prevent YAML from being influnced by the previous
  change

1.23 Feb 26 2013

- Tests all green on CPAN Testers. releasing to public.

1.23_01 Feb 21 2013

- Make sure that LoadBlessed=0 blocks all blessing.
- Start listing primary repo as toddr on github ( http://github.com/toddr/YAML-Syck )
- README refreshed via perldoc -t

1.22 Dec 04 2012

- Tests all green on CPAN Testers. releasing to public.

1.22_01 Nov 27 2012

- Fix error message typo: s/existant/existent/g
- Fix for non-printable character detection
- Quote if non-printable characters are present
- Change LoadBlessed=0 to not bless under ANY circumstances

1.21 Sep 20 2012

- Tests all green on CPAN Testers. releasing to public.

1.21_01 Jun 22 2012

- Synchronize JSON::Syck with YAML::Syck version number
- Add DumpInto functions (YAML+Syck) which dump into
  a provided scalar instead of a newly allocated one
- Modify DumpFile functions to output directly to the
  specified file/filehandle instead of buffering all
  output in memory.
- Avoid modifying numbers into strings when emitting

1.20 (JSON::Syck 0.43) Feb 14 2012

- Tests all green on CPAN Testers. releasing to public.

1.20_01 (JSON::Syck 0.43_01) Feb 11 2012

- Add test to assure META.yml is up to date before release
- Fix for RT 70933 - disable check for empty file handle in LoadFile calls
- Remove call to non-existent code YAML::Syck::_is_openhandle.
- Fix for RT 74785 - compiling with -Werror=format-security fails

1.19 (JSON::Syck 0.42 ) Nov 08 2011

- Do not run t/leak.t on perls prior to 5.8.9 as 5.8.8
  and Devel::Leak apparently do not mix (perl RT #102606).

1.18 (JSON::Syck 0.41 ) Nov 05 2011

- Promote to stable release.

1.17_02 (JSON::Syck 0.40_02 ) Nov 03 2011

- perl RT #102606 - Only lvalue subroutines are supposed to return
  the argument to "return" without copying it. Stop relying on a
  pre-5.15 bug. [Father Chrysostomos]

1.17_01 (JSON::Syck 0.40_01 ) Feb 28 2011

- Break YAML::Syck dependency on Scalar::Util

1.17 (JSON::Syck 0.40 ) Nov 21 2010

- Change a C99 comment to a C89 comment

- Upgrade ppport.h from 3.13 to 3.19

- Remove inc/Test/Builder/IO/Scalar.pm from MANIFEST

1.16 (JSON::Syck 0.39 ) Nov 21 2010

- POD formatting fixes contributed by Justin Hunter

1.15 (JSON::Syck 0.38 ) Sep 23 2010

- perl RT #78008 - The 5.13.5 development release of perl changed how
  regexes are stringified, breaking our tests. Update the tests to
  deal with the new syntax.

  See fb85c04 (http://perl5.git.perl.org/perl.git/commit/fb85c04) in
  perl.git for context.

1.14 (JSON::Syck 0.37 ) Aug 03 2010
- RT RT60771 - Further refactor for JSON. if a number is a valid
  perl string, quote it. "1" + "1" = "11" in javascript.
- add YAML tests to make sure HEX and octal preserve their information

1.13 (JSON::Syck 0.36 ) Aug 03 2010
- RT RT60771 - quoted negative integer and quoted zeroes.
  This was breaking JSON since "0" is true in javascript.

1.12 (JSON::Syck 0.35 ) Aug 03 2010
- The tie test proved to be very unstable for 5.8 and it's not
  relevant for tie actually. I'm converting it to a TODO for 

1.11 (JSON::Syck 0.35 ) Aug 03 2010
- Tests are now stable. releasing 1.11

1.10_07 (JSON::Syck 0.34 ) Jul 29 2010
- META.yml missing

1.10_06 (JSON::Syck 0.34 ) Jul 29 2010
- Load of in-memory file handles not previously tested (was eval'd 
  out of existance) Corrected code and test to behave correctly.
- Perl 5.8 required to YAML-ify code refs
- Perl 5.6 requires {} to print to a scalar GLOB
- use SvNIOK to test for int or float if we know it's not a string
- Attempt again to get 5.8.7 skipped for tie test

1.10_05 (JSON::Syck 0.34 ) Jul 28 2010
- Skip failing tie test on perl < 5.8.8 && perl >= 5.7.0x

1.10_04 (JSON::Syck 0.34 ) Jul 19 2010
- RT 23850 - META.yml of DMAKI/DateTime-Format-Japanese-0.01.tar.gz
  cannot be parsed
- RT 34073 - TODO Tests - Parsing YAML without separator
- RT 20969 - Document die behavior differences with YAML

1.10_03 (JSON::Syck 0.34 ) Jul 19 2010
- TODO tests to cover noted deficiencies in RT #'s
  26182, 54780, 49404, 42390
- RT 23909 - Loaded self-refererring document is corrupted

1.10_02 (JSON::Syck 0.34 ) Jul 19 2010
- RT 50227 - Logic bug in deciding what numbers to quote led to some
  interesting corner cases. Now only 9digit integers are supported
  as unquoted. Everything else will be forced to quote
- RT 59458 - convert \%d to \%ld in code to prevent compiler warnings

1.10_01 (JSON::Syck 0.34) Jul 15 2010
- LoadFile aborts loading an empty file
- RT 50227 - Not quoting strings when data has been sorted numerically
  before being passed to JSON::Syck::Dump
- RT 48327 - use 3 arg form of open() instead of the 2 argument form
- Add TODO tests for RT 52432 - '... X' breaks round trip
- RT 59432 - use lexical file handles for read/write to files
- RT 37236 - Re-enable JSON-basic tests for JSON >= 2.11
- RT 47944 - back quote is a reserved character
- RT 36288 - ability to disable blessing datastructures on load
- Tone down the WARNING section in YAML::Syck's documentation that was
  added in 1.08

1.10 (JSON::Syck 0.33) Jun 06 2010

1.09 was released with version 0.97 of Module::Install. It had a
critical bug that I reported which broke installations on perl 5.8.3
and older.

This release is equivalent to 1.09 aside from bumping Module::Install
to 0.99 which fixed the bug.

1.09 (JSON::Syck 0.32) May 29 2010

- Exactly equivalent to 1.08_01, aside from bumping the version
  numbers

1.08_01 (JSON::Syck 0.31_01) May 23 2010

- Reset the hash iterator after dumping hashes. Solves RT #54167 and
  the duplicate RT #34166.

- RT #39572: Only print 0.60 compatibility warning if 0.60 or earlier
  is installed.

1.08 (JSON::Syck 0.31) May 23 2010

Like the 1.07_01 test release aside from small documentation
improvements.

- POD link to JSON::XS from JSON::Syck

- Include a WARNING section in the YAML::Syck pod that mentions that
  the module hasn't been actively maintained since 2007, and that
  perhaps prospective users might want to turn elsewhere.

1.07_01 (JSON::Syck 0.30) May 20 2010

About:

First release by new maintainer (AVAR). The source repository is now
hosted in Git at http://github.com/avar/YAML-Syck

YAML::Syck is still pretty much abandonware, all its bugs likely to
get fixed any time soon.

Code fixes:

- Strings starting with : are now always quoted. Ruby will interpret
  anything starting with a colon as a symbol. Before this fix strings
  exported from YAML::Syck would be interpreted as Ruby symbols when
  read by Ruby's syck.

Release engineering fixes:

- Upgrade from Module::Install 0.68 to 0.97

- Bump included Test::More dependency

- Remove included inc/attributes.pm dependency. Nothing in our
  dependencies used this anymore.

- Add homepage, bugtracker, and repository metadata to META.yml

- Bump perl dependency from 5.00307 to 5.006. 5.005 is all
  Module::Install supported, and YAML::Syck depends on Scalar::Util
  which only goes as low as 5.006.

1.07 (JSON::Syck 0.30) Apr 25 2009

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

1.05 (JSON::Syck 0.29) Jun 09 2008

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

1.04 (JSON::Syck 0.29) Feb 17 2008

- 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

1.03 (JSON::Syck 0.29) Feb 16 2008

- 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

1.02 (JSON::Syck 0.28) Feb 16 2008

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

1.01 (JSON::Syck 0.27) Jan 19 2008

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

1.00 (JSON::Syck 0.26) Dec 10 2007

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

0.99 (JSON::Syck 0.26) Oct 23 2007

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

0.98 (JSON::Syck 0.26) Oct 13 2007

- Restore support for Perl 5.005 and earlier.

0.97 (JSON::Syck 0.26) Sep 03 2007

- 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

0.96 (JSON::Syck 0.26) Aug 08 2007

- 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

0.95 (JSON::Syck 0.26) Aug 04 2007

- "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.)

0.94 (JSON::Syck 0.26) Jul 10 2007

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

0.93 (JSON::Syck 0.26) Jul 10 2007

- Repair broken PAUSE upload.

0.92 (JSON::Syck 0.26) Jul 10 2007

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

0.91 (JSON::Syck 0.26) Jun 23 2007

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

0.90 (JSON::Syck 0.26) Jun 22 2007

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

0.88 (JSON::Syck 0.26) Jun 17 2007

- 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

0.87 (JSON::Syck 0.25) Jun 17 2007

- 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

0.86 (JSON::Syck 0.24) Jun 16 2007

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

0.85 (JSON::Syck 0.24) Apr 20 2007

- 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

0.84 (JSON::Syck 0.23) Apr 02 2007

- 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

0.83 (JSON::Syck 0.22) Feb 05 2007

- 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

0.82 (JSON::Syck 0.21) Jan 26 2007

- Bytestrings containing no high bit bytes are no longer dumped as "!binary".

0.81 (JSON::Syck 0.21) Jan 26 2007

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

0.80 (JSON::Syck 0.20) Jan 26 2007

- 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 "~".

0.72 (JSON::Syck 0.15) Nov 26 2006

- $JSON::Syck::SingleQuote did not take effect for Unicode strings.

- Squashed "mentioned only once" warnings for $ImplicitUnicode and $Headless.
  Reported by: Agent Zhang

0.71 (JSON::Syck 0.14) Oct 03 2006

- Double-quoted strings in YAML output no longer contains continuation
  lines, which confused YAML.pm terribly.
  Reported by: Nelson Elhage

0.70 (JSON::Syck 0.14) Oct 02 2006

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

0.66 (JSON::Syck 0.14) Jul 29 2006

- Further improvements of loading semantics for explicitly
  tagged nodes.
  Contributed by: Yuval Kogman


0.66 (JSON::Syck 0.14) Jul 29 2006

- 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

0.65 (JSON::Syck 0.14) Jul 28 2006

- Delay initialization of B::Deparse objects until the first
  time UseCode or LoadCode is in active use.
  Reported by: Chia-Liang Kao

0.64 (JSON::Syck 0.14) Jul 22 2006

- Deparsing code references was erroneously generating extra
  NUL bytes on 64-bit platforms.
  Reported by: Jesse Vincent

0.63 (JSON::Syck 0.14) Jul 20 2006

- When JSON's SingleQuote mode is set to true, single quotes
  inside JSON strings is now escaped properly.
  Reported by: 0.70 (JSON::Syck 0.14) Oct 02 2006

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

0.66 (JSON::Syck 0.14) Jul 29 2006

- Further improvements of loading semantics for explicitly
  tagged nodes.
  Contributed by: Yuval Kogman


0.66 (JSON::Syck 0.14) Jul 29 2006

- 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

0.65 (JSON::Syck 0.14) Jul 28 2006

- Delay initialization of B::Deparse objects until the first
  time UseCode or LoadCode is in active use.
  Reported by: Chia-Liang Kao

0.64 (JSON::Syck 0.14) Jul 22 2006

- Deparsing code references was erroneously generating extra
  NUL bytes on 64-bit platforms.
  Reported by: Jesse Vincent

0.63 (JSON::Syck 0.14) Jul 20 2006

- When JSON's SingleQuote mode is set to true, single quotes
  inside JSON strings is now escaped properly.
  Reported by: Nelson Elhage

0.62 (JSON::Syck 0.13) Jul 11 2006

- Fix compilation with Microsoft Visual C++.
  Reported by: Nilson Santos Figueiredo Junior

0.61 (JSON::Syck 0.13) Jul 01 2006

- Fix segmentation faults introduced by pre-loading B::Deparse.
  Reported by: Randal Schwartz, Tatsuhiko Miyagawa

0.60 (JSON::Syck 0.13) Jun 30 2006

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

0.46_02 (JSON::Syck 0.13) Jun 29 2006

- 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

0.46_01 (JSON::Syck 0.13) Jun 25 2006

- Add support for code references in YAML
  Contributed by: Yuval Kogman, based on Storable.xs

0.45 (JSON::Syck 0.13) May 27 2006

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

0.44 (JSON::Syck 0.12) May 04 2006

- 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

0.43 (JSON::Syck 0.11) Apr 29 2006

- 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

0.42 (JSON::Syck 0.10) Apr 25 2006

- Support for loading recursive structures.
  Reminded by: Adam Kennedy

- Regained support for Perl 5.005.

0.41 (JSON::Syck 0.10) Apr 01 2006

- 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

0.40 (JSON::Syck 0.10) Mar 31 2006

- 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

0.38 Mar 14 2006

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

0.37 Mar 14 2006

- Fix build on Win32 caused by upstream Syck header changes.
  Reported by: Nilson Santos F. Jr.

0.36 Mar 10 2006

- 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

0.35 Mar 09 2006

- Under implicit typing, hex and octal integers triggered segfaults.
  Reported by: Rachwal Waldemar

0.34 Mar 07 2006

- Upgrade to Module::Install 0.59.

- Corrected copyright notices.

0.33 Feb 14 2006

- Plain strings beginning with "~" was loaded as undef.
  Reported by: Stephen Quinney

0.32 Feb 11 2006

- 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.)

0.31 Feb 10 2006

- Strings ending in colons, spaces or tabs was not quoted properly.
  Reported by: Stephen Quinney

0.30 Feb 06 2006

- 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

0.29 Feb 05 2006

- Proper quoting support (for the JSON branch only).
  Reported by: Anton Berezin

- Switch to XSLoader on Perl 5.6.0+ for faster loading.

0.28 Jan 16 2006

- 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

0.27 Jan 16 2006

- $YAML::Syck::SortKeys is now on by default.
  Requested by: Brian Ingerson

0.26 Jan 16 2006

- Add a $YAML::Syck::SortKeys flag to enable sorting hash keys.
  Requested by: Brian Ingerson

0.25 Jan 14 2006

- Loading foreign objects from YAML tags:
  For example, "--- !hs/Foo {a: b}" is blessed into hs::Foo.

0.24 Jan 14 2006

- Silence warnings on 64-bit machines.
  Reported by: Anton Berezin

0.23 Jan 14 2006

- Fix build for 5.6.x again.
  Reported by: Anton Berezin

0.22 Jan 12 2006

- 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

0.21 Jan 11 2006

- Support for loading and dumping unicode strings.
  Requested by: Tatsuhiko Miyagawa

- Add a $YAML::Syck::ImplicitUnicode flag to control implicit setting
  of unicode flags.

0.20 Jan 11 2006

- Support for loading and dumping scalar references.

- Support for dumping self-recursive data structures.

0.19 Jan 11 2006

- More efficient memory use and allocation for the JSON branch.

- Fix build on Perl 5.6.x again.
  Reported by: Anton Berezin

0.18 Jan 11 2006

- Allow installation for people with older Module::Install versions.
  Reported by: Brian Ingerson

0.17 Jan 11 2006

- Use the correct style for dual vars and tied scalars.
  Reported by: Tatsuhiko Miyagawa

0.16 Jan 11 2006

- 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

0.15 Jan 10 2006

- 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

0.14 Jan 09 2006

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

0.13 Jan 09 2006

- Parsing an empty string no longer causes bus error in threaded Perls.
  Reported by: Tatsuhiko Miyagawa

0.12 Jan 09 2006

- Parser errors now raises proper exceptions instead of segfaults.
  Reported by: Tatsuhiko Miyagawa

0.11 Jan 09 2006

- Trailing newlines were not outputted by emitters.
  Reported by: Chia-Liang Kao

0.10 Jan 09 2006

- Fix emitting of empty strings; they are now always quoted.
  Reported by: Chia-Liang Kao

0.09 Jan 09 2006

- Downgrade to the last stable release of libsyck to fix the
  hash dumping layout problem.
  Reported by: Gaal Yahas

0.08 Jan 9 2006

- Fix double-free problem in object dumping.
  Reported by: Chia-Liang Kao

0.07 Jan 9 2006

- Loading of blessed hash and array references.

- Do away with Test::More as testing dependency.

0.06 Jan 08 2006

- Fix building problems on case-insensitive filesystems.
  Reported by: Chia-Liang Kao

0.05 Jan 8 2006

- 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

0.04 - Dec 28 2005
- Truly support Perl versions before 5.7.3, thanks to ppport.h.
  Reported by: Anton Berezin

0.03 - Dec 27 2005
- Make syck.h compile with a Perl built with -DDEBUG.
  Reported by: Slaven Rezic

0.02 - Dec 26 2005
- Move from SWIG to much lighter-weight native XS implementation.
- Begins bundling Storable.xs to use the same serialization logic.

0.01 - Dec 26 2005
- Initial release to CPAN of this six-hours-old hack.
