You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
YAML 1.31 recommends using something else, such as YAML::PP.
I have experimented with switching to YAML::PP and YAML::Tiny but the tests fail to subtle differences in serialisation. Notably, some numbers are turned into strings, e.g. version: \'1.64\' instead of version: 1.64.
In experiments YAML::Tiny seems to work better as it preserves decimal places, e.g. 0.00 is not turned into 0.
(On closer inspection, YAML::Tiny does not support all of the required features.)
That sounds like a good idea - i guess we should double check that we have some sanity test, and then switch to ::Any, and reject any implementations that don't have all the features
Activity
robrwo commentedon Jan 2, 2024
I'm unsure if using an XS module or one that uses an external library like YAML::Syck is appropriate.
rabbiveesh commentedon Jan 2, 2024
I don't think i'd want to make an XS module a mandatory dep, though i'd be happy for it to be an optional one that's loaded if available.
mikkoi commentedon Apr 17, 2025
We could use https://metacpan.org/dist/YAML/view/lib/YAML/Any.pod
YAML::Any - Pick a YAML implementation and use it.
Currently, YAML::Any will choose the first one of these YAML implementations that is installed on your system:
YAML::XS
YAML::Syck
YAML::Old
YAML
YAML::Tiny
rabbiveesh commentedon Apr 17, 2025
That sounds like a good idea - i guess we should double check that we have some sanity test, and then switch to ::Any, and reject any implementations that don't have all the features
mikkoi commentedon Apr 17, 2025
PR: #190