- Require Dart 3.4
- Fix UTF-16 surrogate pair handling in plain scaler.
- Require Dart 2.19
- Added
topics
inpubspec.yaml
.
- Switch to using package:lints.
- Populate the pubspec
repository
field.
loadYaml
and related functions now accept arecover
flag instructing the parser to attempt to recover from parse errors and may return invalid or synthetic nodes. When recovering, anErrorListener
can also be supplied to listen for errors that are recovered from.- Drop dependency on
package:charcode
.
- Stable null safety release.
- Updated to support 2.12.0 and null safety.
- Allow
YamlNode
s to be wrapped with an optionalstyle
parameter. - BREAKING The
sourceUrl
named argument is statically typed asUri
instead of allowingString
orUri
.
- Update min Dart SDK to
2.4.0
. - Fixed span for null nodes in block lists.
- POSSIBLY BREAKING CHANGE: Make
YamlMap
preserve parsed key order. This is breaking because some programs may rely on theHashMap
sort order.
- Fixed deprecated API usage in README.
- Fixed lints that affect package score.
- Set max SDK version to
<3.0.0
, and adjust other dependencies.
- Remove use of deprecated features.
- Updated SDK version to 2.0.0-dev.17.0
- Stop using comment-based generic syntax.
- Properly refuse mappings with duplicate keys.
- Fix an infinite loop when parsing some invalid documents.
- Support
string_scanner
1.0.0.
- Fix all strong-mode warnings.
- Remove the dependency on
path
, since we don't actually import it.
- Fix more strong mode warnings.
- Fix two analysis issues with DDC's strong mode.
- Fix a bug with 2.1.4 where source span information was being discarded for scalar values.
- Substantially improve performance.
- Add a hint that a colon might be missing when a mapping value is found in the wrong context.
- Fix a crashing bug when parsing block scalars.
- Properly scope
SourceSpan
s for scalar values surrounded by whitespace.
-
Rewrite the parser for a 10x speed improvement.
-
Support anchors and aliases (
&foo
and*foo
). -
Support explicit tags (e.g.
!!str
). Note that user-defined tags are still not fully supported. -
%YAML
and%TAG
directives are now parsed, although again user-defined tags are not fully supported. -
YamlScalar
,YamlList
, andYamlMap
now expose the styles in which they were written (for example plain vs folded, block vs flow). -
A
yamlWarningCallback
field is exposed. This field can be used to customize how YAML warnings are displayed.
-
Fix an import in a test.
-
Widen the version constraint on the
collection
package.
- Fix a few lingering references to the old
Span
class in documentation and tests.
-
Switch from
source_maps
'Span
class tosource_span
'sSourceSpan
class. -
For consistency with
source_span
andstring_scanner
, allsourceName
parameters have been renamed tosourceUrl
. They now accept Urls as well as Strings.
-
Fix broken type arguments that caused breakage on dart2js.
-
Fix an analyzer warning in
yaml_node_wrapper.dart
.
-
Add new publicly-accessible constructors for
YamlNode
subclasses. These constructors make it possible to use the same API to access non-YAML data as YAML data. -
Make
YamlException
inherit from source_map'sSpanFormatException
. This improves the error formatting and allows callers access to source range information.
- Fix a variable name typo.
-
Backwards incompatibility: The data structures returned by
loadYaml
andloadYamlStream
are now immutable. -
Backwards incompatibility: The interface of the
YamlMap
class has changed substantially in numerous ways. External users may no longer construct their own instances. -
Maps and lists returned by
loadYaml
andloadYamlStream
now contain information about their source locations. -
A new
loadYamlNode
function returns the source location of top-level scalars as well.
- Improve error messages when a file fails to parse.
- Ensure that maps are order-independent when used as map keys.
- The
YamlMap
class is deprecated. In a future version, maps returned byloadYaml
andloadYamlStream
will be DartHashMap
s with a custom equality operation.