1[Changes for 1.07 (JSON::Syck 0.30) - 2009-04-25]
2
3* Added the missing Loadfile function to JSON::Syck.
4  Reported by: Dan McCormick
5
6[Changes for 1.05 (JSON::Syck 0.29) - 2008-06-09]
7
8* Loading a YAML stream containing Regexp nodes under -d:DProf should
9  not fail with "panic: Devel::DProf inconsistent subroutine return".
10  Reported by: Richard Jelinek
11
12[Changes for 1.04 (JSON::Syck 0.29) - 2008-02-17]
13
14* The 'Name "YAML::Syck::ImplicitBinary" used only once: possible typo'
15  warnings no longer triggers in Perl 5.10 when running with perl -w.
16  Reported by: Jesse Vincent
17
18[Changes for 1.03 (JSON::Syck 0.29) - 2008-02-16]
19
20* JSON::Syck: When $JSON::Syck::SingleQuote is false, implicit booleans
21  such as "yes" and "no" should be dumped with double quotes, instead of
22  single quotes (which breaks RFC 4627).
23  Reported by: cho45
24
25[Changes for 1.02 (JSON::Syck 0.28) - 2008-02-16]
26
27* JSON::Syck: Colons in single-quoted strings are no longer loaded
28  with an extra space after it.
29  Reported by: Agent Zhang
30
31[Changes for 1.01 (JSON::Syck 0.27) - 2008-01-19]
32
33* JSON::XS is now promoted prominiently in JSON::Syck's documentation.
34
35* Added support for Perl 5.11 and its first-class Regexp objects.
36  Contributed by: Andreas Koenig
37
38* Tests no longer fail incorrectly when JSON.pm 2.00+ is installed.
39  Contributed by: Andreas Koenig
40
41* Removed the unused Syck bytecode modules (yamlbyte.h and yaml2byte.c)
42  to further reduce our memory footprint.
43
44[Changes for 1.00 (JSON::Syck 0.26) - 2007-12-10]
45
46* When $YAML::Syck::SingleQuote is set to true, Dump() now emits newlines
47  in strings correctly.  (Previously it would emit extra newlines.)
48
49[Changes for 0.99 (JSON::Syck 0.26) - 2007-10-23]
50
51* TODOify tests as appropriate for Perl 5.005 and Perl 5.6.x.
52
53[Changes for 0.98 (JSON::Syck 0.26) - 2007-10-13]
54
55* Restore support for Perl 5.005 and earlier.
56
57[Changes for 0.97 (JSON::Syck 0.26) - 2007-09-03]
58
59* When loading !!perl/code with $YAML::Syck::LoadCode set to false,
60  YAML::Syck now returns a coderef that does nothing (i.e. sub {}),
61  in accordance with YAML.pm's treatment, instead of returning the
62  actual code of the sub as a string.
63  Contributed by: Florian Ragwitz
64
65[Changes for 0.96 (JSON::Syck 0.26) - 2007-08-08]
66
67* The always-quote rule now applies to all implicit booleans
68  and null values, i.e. strings that match the following regex:
69
70    /y|Y
71    |n|N
72    |yes|Yes|YES
73    |no|No|NO
74    |true|True|TRUE
75    |false|False|FALSE
76    |on|On|ON
77    |off|Off|OFF
78    |null|Null|NULL
79    |~
80    /x
81
82* Bare literals "Y", "N", "y" and "n" are now recognized as
83  booleans when loading with implicit typing turned on.
84
85* Mixed case strings that does not represent implicit boolean
86  values, such as "yES" and "nO", are no longer always-quoted.
87  Contributed by: Malcolm Studd
88
89[Changes for 0.95 (JSON::Syck 0.26) - 2007-08-04]
90
91* "Yes" and "no" (including all upper/lower case forms) are now
92  always dumped in quoted form to avoid ambiguities when loaded
93  by loaders with ImplicitTyping set to true.
94  Reported by: Malcolm Studd
95
96* lib/YAML/Syck.pod is merged back into lib/YAML/Syck.pm.
97  (No functional changes.)
98
99[Changes for 0.94 (JSON::Syck 0.26) - 2007-07-10]
100
101* Repair broken PAUSE upload, again. (Sigh.)
102
103[Changes for 0.93 (JSON::Syck 0.26) - 2007-07-10]
104
105* Repair broken PAUSE upload.
106
107[Changes for 0.92 (JSON::Syck 0.26) - 2007-07-10]
108
109* Allow for LoadFile(*FH) and DumpFile(*FH), in addition to
110  ($fh) and (\*FH).  Also, new tests for LoadFile and DumpFile.
111  Contributed by: Adriano Ferreira
112
113[Changes for 0.91 (JSON::Syck 0.26) - 2007-06-23]
114
115* Corrected loading Regexps with all combinations of quantifiers.
116  Contributed by: Ingy döt Net
117
118[Changes for 0.90 (JSON::Syck 0.26) - 2007-06-22]
119
120* Regexes are now dump/loaded correctly with modifiers, with a new
121  representation: "--- !!perl/regexp:main (?i-xsm:1)", instead of the
122  old mapping with a REGEXP key.  The old form still loads correctly;
123  the new form corresponds to YAML.pm 0.63 and later.
124  Requested by: Ingy döt Net
125
126* Loading regexes with modifiers no longer involves an eval"" call.
127
128[Changes for 0.88 (JSON::Syck 0.26) - 2007-06-17]
129
130* New dependency: Scalar::Util, for LoadFile and DumpFile functions.
131  You can safely do without that module if you do not make use of the
132  two functions.
133
134* LoadFile and DumpFile now accept glob values, and reject unopened
135  handles properly instead of silently ignores it.
136  Contributed by: Adriano Ferreira
137
138[Changes for 0.87 (JSON::Syck 0.25) - 2007-06-17]
139
140* New LoadFile and DumpFile functions for JSON::Syck.
141
142* JSON::Syck now actually exports its functions if you ask for it.
143
144* LoadFile and DumpFile now accept IO objects in addition to file names.
145  Requested by: Adriano Ferreira
146
147[Changes for 0.86 (JSON::Syck 0.24) - 2007-06-16]
148
149* Support for dumping and loading regexps created by qr//, including
150  blessed once.  Note that loading Regexp values dumped by YAML.pm
151  currently discards modifiers.
152
153[Changes for 0.85 (JSON::Syck 0.24) - 2007-04-20]
154
155* Strings containing both single quotes and newlines were incorrectly 
156  quoted with backslash-escaped single quotes.  This is a regression
157  introduced in YAML::Syck 0.84.
158  Reported by: Agent Zhang
159
160[Changes for 0.84 (JSON::Syck 0.23) - 2007-04-02]
161
162* New $YAML::Syck::SingleQuote flag: When it is set to true, Dump will
163  always emit quotes instead of bare strings.
164  Requested by: Ingo Bax
165
166* When $JSON::Syck::SingleQuote is set to true, special characters such as
167  \r\n are still escaped as usual, because JavaScript allows the same form
168  of escaping in strings with either quotes.
169  Reported by: Dobrica Pavlinusic
170
171[Changes for 0.83 (JSON::Syck 0.22) - 2007-02-05]
172
173* Under JSON::Syck, as well as YAML::Syck when $ImplicitTyping is set to
174  true, integer numbers larger than an unsigned integer (>=4294967296 on
175  32-bit platforms) was erroneously loaded as 0.
176  Reported by: Markus Wörle
177
178[Changes for 0.82 (JSON::Syck 0.21) - 2007-01-26]
179
180* Bytestrings containing no high bit bytes are no longer dumped as "!binary".
181
182[Changes for 0.81 (JSON::Syck 0.21) - 2007-01-26]
183
184* Support for loading Base64-encoded "!binary" type.
185
186* Support for dumping non-unicode bytes containing high bits as
187  Base64-encoded "!binary" type.
188
189* JSON::Syck now raises an exception, instead of segfaults,
190  when dumping a circular structure.
191
192[Changes for 0.80 (JSON::Syck 0.20) - 2007-01-26]
193
194* LICENSING CHANGE: This compilation and all individual files in it
195  (except for the bundled libsyck code) are now under the permissive
196  "MIT" license.  See the COPYRIGHT section in README for the new terms.
197
198* Load("!! []") no longer segfaults due to empty tag names.
199
200* Load("!!Foo []") now blesses into "Foo", not "Foo::\0".
201
202* Load("!!perl/scalar 123") is now \123, not 123.
203
204* Load("!!perl/scalar:Foo ~") is now \"Foo", not undef.
205
206* Dump(bless(\$undef, 'Foo')) is now "!!perl/scalar:Foo ~", not "~".
207
208[Changes for 0.72 (JSON::Syck 0.15) - 2006-11-26]
209
210* $JSON::Syck::SingleQuote did not take effect for Unicode strings.
211
212* Squashed "mentioned only once" warnings for $ImplicitUnicode and $Headless.
213  Reported by: Agent Zhang
214
215[Changes for 0.71 (JSON::Syck 0.14) - 2006-10-03]
216
217* Double-quoted strings in YAML output no longer contains continuation
218  lines, which confused YAML.pm terribly.
219  Reported by: Nelson Elhage
220
221[Changes for 0.70 (JSON::Syck 0.14) - 2006-10-02]
222
223* Load()/Dump()/LoadFile()/DumpFile() in YAML::Syck now support
224  multiple YAML streams -- i.e. dumping multiple Perl values into a
225  string composed of several YAML streams, and loading such a string
226  into several values under list context.
227
228[Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29]
229
230* Further improvements of loading semantics for explicitly
231  tagged nodes.
232  Contributed by: Yuval Kogman
233
234
235[Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29]
236
237* The initialization sequence could cause segfaults on
238  FreeBSD systems.
239  Reported by: Chia-Liang Kao
240
241* Emit '!perl/ref' instead of '!perl/ref:' for consistency with
242  other language's tagging systems.
243  Contributed by: Yuval Kogman
244
245[Changes for 0.65 (JSON::Syck 0.14) - 2006-07-28]
246
247* Delay initialization of B::Deparse objects until the first
248  time UseCode or LoadCode is in active use.
249  Reported by: Chia-Liang Kao
250
251[Changes for 0.64 (JSON::Syck 0.14) - 2006-07-22]
252
253* Deparsing code references was erroneously generating extra
254  NUL bytes on 64-bit platforms.
255  Reported by: Jesse Vincent
256
257[Changes for 0.63 (JSON::Syck 0.14) - 2006-07-20]
258
259* When JSON's SingleQuote mode is set to true, single quotes
260  inside JSON strings is now escaped properly.
261  Reported by: [Changes for 0.70 (JSON::Syck 0.14) - 2006-10-02]
262
263* Load()/Dump()/LoadFile()/DumpFile() in YAML::Syck now support
264  multiple YAML streams -- i.e. dumping multiple Perl values into a
265  string composed of several YAML streams, and loading such a string
266  into several values under list context.
267
268[Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29]
269
270* Further improvements of loading semantics for explicitly
271  tagged nodes.
272  Contributed by: Yuval Kogman
273
274
275[Changes for 0.66 (JSON::Syck 0.14) - 2006-07-29]
276
277* The initialization sequence could cause segfaults on
278  FreeBSD systems.
279  Reported by: Chia-Liang Kao
280
281* Emit '!perl/ref' instead of '!perl/ref:' for consistency with
282  other language's tagging systems.
283  Contributed by: Yuval Kogman
284
285[Changes for 0.65 (JSON::Syck 0.14) - 2006-07-28]
286
287* Delay initialization of B::Deparse objects until the first
288  time UseCode or LoadCode is in active use.
289  Reported by: Chia-Liang Kao
290
291[Changes for 0.64 (JSON::Syck 0.14) - 2006-07-22]
292
293* Deparsing code references was erroneously generating extra
294  NUL bytes on 64-bit platforms.
295  Reported by: Jesse Vincent
296
297[Changes for 0.63 (JSON::Syck 0.14) - 2006-07-20]
298
299* When JSON's SingleQuote mode is set to true, single quotes
300  inside JSON strings is now escaped properly.
301  Reported by: Nelson Elhage
302
303[Changes for 0.62 (JSON::Syck 0.13) - 2006-07-11]
304
305* Fix compilation with Microsoft Visual C++.
306  Reported by: Nilson Santos Figueiredo Junior
307
308[Changes for 0.61 (JSON::Syck 0.13) - 2006-07-01]
309
310* Fix segmentation faults introduced by pre-loading B::Deparse.
311  Reported by: Randal Schwartz, Tatsuhiko Miyagawa
312
313[Changes for 0.60 (JSON::Syck 0.13) - 2006-06-30]
314
315* Completely change the way YAML tagging of references again, this time
316  using !!perl instead of !perl for compatibility with YAML.pm and other
317  YAML 1.1 implementations.
318
319[Changes for 0.46_02 (JSON::Syck 0.13) - 2006-06-29]
320
321* Completely change the way YAML tagging of references and
322  blessed references work: See http://pyyaml.org/wiki/PerlTagScheme
323  for the new specification.
324
325  Note that this means the emitter BREAKS COMPATIBILITY with earlier
326  versions of YAML loaders (both YAML::Syck and YAML.pm), although it
327  will still load YAML streams produced by earlier loaders.
328
329  Contributed by: Yuval Kogman
330
331[Changes for 0.46_01 (JSON::Syck 0.13) - 2006-06-25]
332
333* Add support for code references in YAML
334  Contributed by: Yuval Kogman, based on Storable.xs
335
336[Changes for 0.45 (JSON::Syck 0.13) - 2006-05-27]
337
338* Bogus indentations are no longer emitted for JSON for strings
339  containing newlines.
340  Reported by: Tatsuhiko Miyagawa
341
342* Fix memory leaks on Dump.
343  Contributed by: Andrew Danforth
344
345* Upgrade to upstream Syck 0.56-trunk; no functional changes.
346
347[Changes for 0.44 (JSON::Syck 0.12) - 2006-05-04]
348
349* Fix tests so they work warninglessly on 5.005. 
350
351* Fix incorrect indentation level for scalars initialized twice --
352  once as string and once as references -- such as the ones produced
353  by YAML.pm's Load() function.
354  Reported by: Alex Vandiver
355
356* Multilevel self-recursive structures now no longer generate
357  redundant anchor names.
358  Reported by: Alex Vandiver
359
360* Fix memory leaks when linking child nodes to parent hashes and
361  arrays.  Also fix leaks when libsyck parser encounters an error.
362  Contributed by: Andrew Danforth
363
364* Added test cases to validate the memory leak fixes.  Devel::Leak
365  is an optional dependency for these tests.
366  Contributed by: Clayton O'Neill
367
368[Changes for 0.43 (JSON::Syck 0.11) - 2006-04-29]
369
370* Loading self-recursive structures no longer trigger an
371  "Use of uninitialized value" warning.
372
373* Tests now pass for real on Perl 5.005.
374  Reported by: Anton Berezin
375
376* Setting $JSON::Syck::SingleQuote to true did not work for strings
377  ending in whitespaces.
378  Contributed by: Alex Vandiver
379
380[Changes for 0.42 (JSON::Syck 0.10) - 2006-04-25]
381
382* Support for loading recursive structures.
383  Reminded by: Adam Kennedy
384
385* Regained support for Perl 5.005.
386
387[Changes for 0.41 (JSON::Syck 0.10) - 2006-04-01]
388
389* Correctly dump circular structures in array and hash references.
390  Reported by: Jesse Vincent
391
392* Support for loading blessed scalar references.
393  Requested by: Dan Kogai
394
395* 0.40 was missing included Test::More, so tests could fail on a 
396  freshly installed Perl 5.6.x.
397  Reported by: Uri Guttman
398
399[Changes for 0.40 (JSON::Syck 0.10) - 2006-03-31]
400
401* Merge YAML::Syck and JSON::Syck to a single distribution. Unified
402  our svn repo codebase onto openfoundry[1] as well.
403  [1] http://svn.openfoundry.org/perlsyck
404
405* Fixed JSON null serialization bug [rt:18021], unsigned integer bug
406  [rt:18464].
407
408* Under JSON, scalar references are dereferenced eplicitly and
409  subroutine refefrences are serialized to null.
410
411* Fixed bug that integer elements in tied hashes were not correctly
412  serialized. Reported by: Dan Kogai
413
414[Changes for 0.38 - 2006-03-14]
415
416* Documentation change: in the POD text, stress the importance of setting
417  $YAML::Syck::ImplicitTyping to true, for interoperability with other
418  language's YAML/Syck bindings is desired.
419  Requested by: "dgaramond2" on Perlmonks.
420
421[Changes for 0.37 - 2006-03-14]
422
423* Fix build on Win32 caused by upstream Syck header changes.
424  Reported by: Nilson Santos F. Jr.
425
426[Changes for 0.36 - 2006-03-10]
427
428* YAML.pm 0.35 or earlier emitted "--- #YAML:1.0" instead of "--- %YAML:1.0"
429  as the version string; work around it to maintain compatibility..
430  Reported by: Chia-Liang Kao
431
432[Changes for 0.35 - 2006-03-09]
433
434* Under implicit typing, hex and octal integers triggered segfaults.
435  Reported by: Rachwal Waldemar
436
437[Changes for 0.34 - 2006-03-07]
438
439* Upgrade to Module::Install 0.59.
440
441* Corrected copyright notices.
442
443[Changes for 0.33 - 2006-02-14]
444
445* Plain strings beginning with "~" was loaded as undef.
446  Reported by: Stephen Quinney
447
448[Changes for 0.32 - 2006-02-11]
449
450* Synchronize to upstream r231 (Ruby 1.8.4), with improved parsing of block
451  scalars, trailing colons/tabs, and support for complex keys (although not
452  enabled in Perl 5 yet.)
453
454[Changes for 0.31 - 2006-02-10]
455
456* Strings ending in colons, spaces or tabs was not quoted properly.
457  Reported by: Stephen Quinney
458
459[Changes for 0.30 - 2006-02-06]
460
461* When loading anchors pointing to a hash reference, reference count did
462  not increment accordingly.
463  Reported by: Johan Vromans
464
465* After loading hashes or arrays containing null elements, assigning into
466  those elements triggered a "modification of non-creatable value" error.
467  Reported by: Clinton Gormley
468
469* The string '~' is now emitted as a quoted "~" instead of bare ~
470  (which would be loaded as undef.)
471  Reported by: Stephen Quinney
472
473[Changes for 0.29 - 2006-02-05]
474
475* Proper quoting support (for the JSON branch only).
476  Reported by: Anton Berezin
477
478* Switch to XSLoader on Perl 5.6.0+ for faster loading.
479
480[Changes for 0.28 - 2006-01-16]
481
482* Undef hash values is now emitted as "~" instead of "".
483  Reported by: Tatsuhiko Miyagawa
484
485* FETCH magic of tied variables and loop iterators is now respected.
486  Reported by: Tatsuhiko Miyagawa
487
488[Changes for 0.27 - 2006-01-16]
489
490* $YAML::Syck::SortKeys is now on by default.
491  Requested by: Brian Ingerson
492
493[Changes for 0.26 - 2006-01-16]
494
495* Add a $YAML::Syck::SortKeys flag to enable sorting hash keys.
496  Requested by: Brian Ingerson
497
498[Changes for 0.25 - 2006-01-14]
499
500* Loading foreign objects from YAML tags:
501  For example, "--- !hs/Foo {a: b}" is blessed into hs::Foo.
502
503[Changes for 0.24 - 2006-01-14]
504
505* Silence warnings on 64-bit machines.
506  Reported by: Anton Berezin
507
508[Changes for 0.23 - 2006-01-14]
509
510* Fix build for 5.6.x again.
511  Reported by: Anton Berezin
512
513[Changes for 0.22 - 2006-01-12]
514
515* Dump numbers without quoting even when under Unicode flag.
516  Conversely, a scalar with Unicode bit set is dumped as Unicode even
517  if it had stored a number before.
518  Reported by: Tatsuhiko Miyagawa
519
520[Changes for 0.21 - 2006-01-11]
521
522* Support for loading and dumping unicode strings.
523  Requested by: Tatsuhiko Miyagawa
524
525* Add a $YAML::Syck::ImplicitUnicode flag to control implicit setting
526  of unicode flags.
527
528[Changes for 0.20 - 2006-01-11]
529
530* Support for loading and dumping scalar references.
531
532* Support for dumping self-recursive data structures.
533
534[Changes for 0.19 - 2006-01-11]
535
536* More efficient memory use and allocation for the JSON branch.
537
538* Fix build on Perl 5.6.x again.
539  Reported by: Anton Berezin
540
541[Changes for 0.18 - 2006-01-11]
542
543* Allow installation for people with older Module::Install versions.
544  Reported by: Brian Ingerson
545
546[Changes for 0.17 - 2006-01-11]
547
548* Use the correct style for dual vars and tied scalars.
549  Reported by: Tatsuhiko Miyagawa
550
551[Changes for 0.16 - 2006-01-11]
552
553* Proper Headless/chomping/quoting support for Miyagawa's JSON::Syck
554  branch.  JSON::Syck and YAML::Syck now shares a codebase completely.
555  Requested by: Tatsuhiko Miyagawa
556
557[Changes for 0.15 - 2006-01-10]
558
559* Add a $YAML::Syck::Headless flag to control emission of "---\n"
560  headers, for easier JSON interoperability.
561
562* Fix mis-dumping references as strings if the same pad position has
563  stored a previous dump result as string.
564  Reported by: Tatsuhiko Miyagawa
565
566* Fix build on Perl 5.6.x and on platforms without NAN/INF support.
567  Reported by: Anton Berezin
568
569[Changes for 0.14 - 2006-01-09]
570
571* Add a $YAML::Syck::ImplicitTyping flag to control recognition
572  of implicit types.  Currently supports null, bool, float, int;
573  if it's turned off (as per default) only null is recognized.
574  Reported by: Brian Ingerson
575
576* Fix potential emission of redundant "--- " headings in large
577  dumped documents.
578
579* We no longer ship Storable.xs with the distribution.
580
581[Changes for 0.13 - 2006-01-09]
582
583* Parsing an empty string no longer causes bus error in threaded Perls.
584  Reported by: Tatsuhiko Miyagawa
585
586[Changes for 0.12 - 2006-01-09]
587
588* Parser errors now raises proper exceptions instead of segfaults.
589  Reported by: Tatsuhiko Miyagawa
590
591[Changes for 0.11 - 2006-01-09]
592
593* Trailing newlines were not outputted by emitters.
594  Reported by: Chia-Liang Kao
595
596[Changes for 0.10 - 2006-01-09]
597
598* Fix emitting of empty strings; they are now always quoted.
599  Reported by: Chia-Liang Kao
600
601[Changes for 0.09 - 2006-01-09]
602
603* Downgrade to the last stable release of libsyck to fix the
604  hash dumping layout problem.
605  Reported by: Gaal Yahas
606
607[Changes for 0.08 - 2006-01-09]
608
609* Fix double-free problem in object dumping.
610  Reported by: Chia-Liang Kao
611
612[Changes for 0.07 - 2006-01-09]
613
614* Loading of blessed hash and array references.
615
616* Do away with Test::More as testing dependency.
617
618[Changes for 0.06 - 2006-01-08]
619
620* Fix building problems on case-insensitive filesystems.
621  Reported by: Chia-Liang Kao
622
623[Changes for 0.05 - 2006-01-08]
624
625* DumpFile() and LoadFile() is exported by default.
626
627* Undef now dumps as '~'; also supports dumping blessed references as
628  'perl/!type'.  (Loading them doesn't work at this moment.)
629  Implemented by: Gaal Yahas
630
631* Loading hashes and arrays no longer creates dangling references
632  that caused memory leaks.
633  Reported by: Tatsuhiko Miyagawa
634
635[Changes for 0.04 - 2005-12-28]
636
637* Truly support Perl versions before 5.7.3, thanks to ppport.h.
638  Reported by: Anton Berezin
639
640[Changes for 0.03 - 2005-12-27]
641
642* Make syck.h compile with a Perl built with -DDEBUG.
643  Reported by: Slaven Rezic
644
645[Changes for 0.02 - 2005-12-26]
646
647* Move from SWIG to much lighter-weight native XS implementation.
648
649* Begins bundling Storable.xs to use the same serialization logic.
650
651[Changes for 0.01 - 2005-12-26]
652
653* Initial release to CPAN of this six-hours-old hack.
654