Revision history for Perl module YAML::PP
v0.38.0 2024-01-30 00:22:42+01:00
- Add support for builtin booleans by default
- Add FAQ
- Add --cyclic option to yamlpp-load(-dump)
v0.37.0 2023-11-09 16:46:43+01:00
- Breaking change: Make cyclic_refs fatal by default for safety, like
announced (avoid memory leaks)
- Add support for plain scalars ending with colons (Issue #48, ingy++)
0.036 2023-05-10 17:09:48+02:00
- Add option -dumpcode to turn of dumping coderefs in YAML::PP::Schema::Perl
- ci updates
0.035 2022-09-30 21:16:16+02:00
- Fix parsing alias as mapping key
- Support emitting folded block scalars. Now any input should
be able to output as a folded block scalar correctly. Preserving
scalar styles will now also preserve those
0.034 2022-06-30 10:31:56+02:00
- Fix parsing empty folded block scalars with trailing linebreaks
- Fix error handling (remaining tokens on invalid input)
- Support experimental v5.36 booleans
- Allow to specify multiple boolean classes (issue #37)
0.033 2022-06-27 16:31:32+02:00
- Fix add_mapping_resolver + on_create (tie existing data)
0.032 2022-03-08 19:02:00+01:00
- Add missing '~' to allowed chars in tags
- Restructure directive parsing a bit
- Support YAML::PP::Ref in yamlpp-* utility scripts
- Add -P to yaml-load-dump --preserve
- Add --dump option to yamlpp-parse-emit
- yamlpp-load-dump -D JSON::PP: don't output space before colon
- Add export tags to YAML::PP::Common
- Update yaml-test-suite to 2022-01-17
0.031 2021-12-25 23:43:19+01:00
- Fix several rare test cases:
- Support literal escaped tabs
- Allow only one digit for block scalar indent indicator
- Allow comments at the end of directives
- Match word boundary after '%YAML'
- Allow tabs and multiple spaces between directive elements
- Forbid lines starting with tabs in block mode
- After tabs no further indentation elements allowed
0.030 2021-11-07 21:57:28+01:00
- preserve: Keep existing data (issue #44)
- Forbid directive without directive end marker
- Support explicit empty key/value pairs in flow mappings
- Enforce EOL after end of flow context
- Forbid multiple question marks in flow mappings
0.029 2021-10-25 00:02:53+02:00
- Fix basic implicit mappings in flow sequences, e.g. [a, b: c, d]
0.028 2021-10-21 22:00:36+02:00
- Fix empty values with properties in flow mappings and sequences
(`[ &foo , bar]`, `{ &foo , k: v }`)
- Fix: Allow comment lines with tabs in flow
- Fix: parsing of explicit block indenting (issue #46)
- Automatically tie new hashes inside tied hashes (issue #44)
- yamlpp-load-dump: Add options --dump-module and --include*
- docs: Add mising constants (issue #45)
0.027 2021-04-09 11:13:28+02:00
- Forbid duplicate keys by default like announced in 0.026
- Add possibility to preserve alias names (see 'preserve' option)
- Highlighter: Add option to expand tabs in ansi color mode
- yamlpp-events: Add option --module
- Improve error message when trying to load an undefined alias
- Fix a test for perl 5.8.8
0.026 2020-09-11 00:39:09+02:00
- Add option 'duplicate_keys'. The default allows it for now and will
change to forbid in the next release.
0.025 2020-09-06 22:14:07+02:00
- Emitter: Fix indentation issues for non-default indents
- Emitter: Add option 'width' for maximum columns
- Improve error message for unhandled reftypes
0.024 2020-08-17 12:07:01+02:00
- Parser: fix flow mappings on one line
- Improve utility tools yamlpp-load(-dump) (add new options --merge,
--perl and --module) #35
- Minor improvements to emitter scalar style output
- Emitter supports flow style
- Support for preserving flow style in Loader/Dumper
- Create preserved nodes from scratch with preserved_* methods
- Minor fixes for the Perl schema and globs
- Update testsuite to data-2020-08-01
0.023 2020-07-09 22:09:50+02:00
- Support loading and dumping typeglobs. Issue #15
- Dumper: Don't use aliases for JSON::PP/boolean.pm booleans, because they
alwas use the same reference. Issue #32
- Fix float comparison in test. Issue #33
- Make aliases in custom tags work
- YAML::PP::Highlight: colorize mapping keys
0.022 2020-05-04 17:40:36+02:00
- Emitter: Also quote if string starts with '...'
- Emitter: Fix bug when emitting complex keys
- Preserve also quoting style of hash keys
- Schema: Fix YAML 1.1 integers (no keading zeros)
- Scripts: Rename yamlpp5- to yamlpp- and symlink
- Scripts: Add options to yamlpp-load-dump
- Tests: Support reporting flow style in testsuite event output
- Tests: Restructure schema tests and outsource test data
- Events: Make version_directive compatible to libyaml
- Docs: Restructure
0.021 2020-02-27 19:04:58+01:00
- Add option 'preserve' for preserving hash key order and quoting
style when loading and dumping
0.020 2020-02-17 15:35:44+01:00
- Change default schema from JSON to Core (this change was supposed
to go in 0.019 but wasn't completely done)
- Add option version_directive (print %YAML 1.2)
- Add option yaml_version
- Add support for detecting the right schema depending on the
YAML version directive
- Support both %YAML and %TAG directive for a document
- Improve emitter (output footer ... after open-ended block scalars)
- Improve emitter (quote strings starting with `---` to reduce ambiguity
for the reader)
0.019 2020-02-13 16:06:56+01:00
- Important (and possibly breaking) changes:
- Change default schema from JSON to Core.
Reason: This is the recommended Schema for YAML 1.2, and what people
would expect to be the default.
- load* in scalar context returns first document.
Reason: I think this is the most reasonable behaviour, and it
will continue to work the same if you later add documents to a file.
- Empty nodes in YAML 1.2 JSON Schema resolve to '' by default like
before, but now it can be configured
- Fix some control character escaping and encoding issues (issue#16, issue#17)
YAML::PP will now just assume all input data are unicode characters
and won't do an explicit utf8::upgrade
- Fix Core schema resolver for inf: add +.inf, +.Inf, +.INF
- Improve emitter regarding empty lists/hashes (no newline before []/{})
- Spelling and grammar fixes (PR#23 @gregoa)
- Fix YAML::PP::Grammar pod (PR#22 @gregoa)
- Fix yamlpp5-load-dump
- Fix error tokens output
- Update yaml-test-suite to data-2020-02-11
0.018 2019-07-06 19:40:10+02:00
- Turn scalar style constants into numbers
- Deprecate YAML_QUOTED_SCALAR_STYLE
0.017 2019-06-29 14:34:17+02:00
- Add Include plugin
- Allow to only bless specific classes for Perl Schema
- YAML::PP accepts existing schema in constructor
- subschema can be an object
- Switch the order of 'equals' and regex tag resolvers
0.016 2019-05-20 12:37:01+02:00
- Change load methods to return the last document in scalar context for
compatibility with other YAML loaders
- Fix Lexer/Emitter (allowing/forbidding special characters in plain scalars)
- Custom representer must fill $node->{data}
- Dump: uptf8::upgrade input value (so it can store binary data)
0.015 2019-05-14 21:00:59+02:00
- Support Mac \r and Win \r\n line endings
- Add options header and footer
- Add support for merge keys
0.014 2019-05-07 21:46:56+02:00
- Change tagtype option in Perl Schema (e.g. tag=!perl+!!perl)
- Change on_data handler to pass a reference
0.013 2019-04-30 16:02:52+02:00
- Add option "indent" for dumping
- Support both !perl/ and !!perl/ tags
- Change default schema from Core to JSON
- Add YAML::PP::Schema::Binary for representing binary data
0.012 2019-04-14 14:02:36+02:00
- Fix bug in emitter (strings starting with % must be quoted)
- Implement loading of schema classes not prefixed with YAML::PP::Schema
(PR#8 @pplu)
- Implement loading of perl objects
- Fix line number of multiline tokens
- Refactor parser/lexer. All tokens (except indentation) are now
parsed by the grammar.
- Change arguments of resolver callback
- Add a catchall resolver for scalars
0.011 2019-03-23 12:03:12+01:00
- Add YAML::PP::Common; use constants for YAML styles
- Add YAML::PP::Schema::Perl - Dump perl objects, coderefs etc.
- Add YAML::PP::Schema::Tie::IxHash - keep order of hashes
- Add YAML::PP::Schema::YAML1_1
- Add class_isa representer (PR#7 @pplu)
- Add exceptions in tests for broken inf
- Refactor schema testing
- Fix indent bugs in emitter (aliases, empty lists/mappings)
- Fix bug in emitter for values starting with '? ' or '- '
- Add missing resolvers to Core and YAML1_1 Schema
0.010 2018-11-02 12:53:41+01:00
- Fix regex for start of plain scalars
- Large refactoring of lexer/parser.
- Adjacent flow mapping values are now supported (JSON compat:
`{"foo":23}`)
- Empty flow mapping values are now supported
- Fix nested flow collections
0.009 2018-09-30 14:10:15+02:00
- Fix yamlpp5-highlight bug from v0.008
- load_file(), LoadFile(), dump_file() and DumpFile() can take filehandles
0.008 2018-09-24 21:49:42+02:00
- Support perl 5.8
- Fix bug in folded block scalar parsing
- Support multiple document end markers without content
- Allow tabs at the beginning of line for flow nodes
- Optimize reading input with many lines
- Some internal changes
- Refactor test suite
- Add YAML::PP::Highlight::Dump()
0.007 2018-06-20 21:36:26+02:00
- Support .inf/.nan
- Always output decimal point when dumping floats
- YAML directive needs space
- Improve emitter
- Output multiline strings as literal block scalars
- Fix regex for integers in Core Schema
- Fix dumping of dualvars
- Fix emitting of empty strings
- Improve emitter scalar styles
- Allow zero indented sequences for complex mapping keys/values
- Fix parsing empty quoted strings
0.006 2018-04-01 22:59:31+02:00
- Support YAML Failsafe, JSON and Core Schema
- Add dump_file, DumpFile
- Add YAML::PP::Writer
- Add YAML::PP::Representer
- Detect cyclic references when loading
- perl boolean false is now the empty string instead of 0
- Add column numbers to error messages
- Fixed various bugs in Emitter
- Can now emit empty collections like [], {}
0.005 2017-11-23 17:09:55+01:00
- Support reading files
- Replace load() with load_string(), dump() with dump_string()
- Support legacy interface functions Load, LoadFile, Dump
- ... and --- are now correctly invalid in quoted scalars
- Improve block scalar handling, passing two more tests
- Improve multiline plain handling, passing another test
- Partial implementation of flow style collections
- Allow unicode in alias/anchor names
- Document header at the end is now recognized
- Support all valid escapes in double quotes
- ...and forbid invalid ones
- Multiline quoted strings must be indented
- Forbid sequence or mapping as a mapping value on the same line
- Forbit sequence after an anchor/tag on the same line
0.004 2017-09-15 13:30:50+02:00
- Improve regex for plain scalars
- Support literal unicode characters
- Reject undefined tag shorthand handles
- Fix JSON test
- Update yaml-test-suite
0.003_002 2017-09-09 16:27:28+02:00
- Lots of refactoring
- Lots of little bugfixes
- Split Loader into Constructor
- Add yaml-test-suite to release tarball
- Add a Lexer
- Better error messages
- Add a highlighter for HTML and ANSI colors
- Dumper can dump aliases/anchors now
0.003_001 2017-08-07 23:29:51+02:00
- Fix some parsing bugs for quoted strings
- Add Dumper and Emitter
0.003 2017-05-31 23:35:44+02:00
- Changes for new Loader API
0.002 2017-04-30 19:07:48+02:00
- Loader: Support stringification of complex mapping keys
- Improve regexes for mapping keys, tags, anchors/aliases
- Improve number support (int, float, oct, hex)
- Reserved directives generate a warning now
- Support Carriage Return as line break
- Support missing final line break
- Make JSON::PP optional in test
- Fix bug for perl <= 5.22
0.001 Thu Apr 20 20:46:43 2017 +0200
- First Release