File: COMPATIBILITY

package info (click to toggle)
libyaml-syck-perl 1.31-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 836 kB
  • sloc: ansic: 4,110; perl: 602; makefile: 3
file content (25 lines) | stat: -rw-r--r-- 787 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
YAML::Syck and YAML.pm 0.60 breaks compatibility with older versions by
changing the tags that are output for serialized objects.

This was the old way:

    --- !perl/Foo::Bar {}
    --- !perl/@Baz []
    --- !perl/$Quux ""

New way:

    --- !!perl/hash:Foo::Bar {}
    --- !!perl/array:Baz []
    --- !!perl/scalar:Quux ""

* This change was made after discussions with the Python and Ruby
  implementers to standardize on this form.
* YAML::Syck was updated at the same time as YAML.pm so that they
  serialize objects the same way.
* YAML.pm roundtrips the new format and still parses the old (now
  deprecated) format.
* The best strategy is to update to the latest version.
* There are potential problems if you use YAML for RPC and the server
  and client versions don't match.