This release upgrades miette and thiserror in lockstep, bringing in syn2, in order to avoid potential issues with the upgrade.
- deps: bump miette and thiserror (db0a395f)
This release makes some breaking API changes, but most notably, introduces support for the KDL Query Language.
- kql: implement KQL query engine (#61) (6d1a516e)
- api: Improve .get()/.entry() APIs to be more consistent with Rust conventions (3d8778a6)
- BREAKING CHANGE:
- spans: rework the span API to be strictly by-val (#60) (04471a53)
- BREAKING CHANGE: this removes all the
.span_mut()
methods and changes the signature for.span()
.
- BREAKING CHANGE: this removes all the
- errors: Add better diagnostics for errant plain identifiers in nodes (#59) (3ddbfec8)
- spans: add spans to most elements (#57) (b17ef8e2)
- deps: bump miette (8d0f36ce)
- formatting: Fix formatting when decoration is not present (#56) (2e9c0447)
- fmt: Add clear_fmt_recursive method (#45) (cd2d6e42)
- entry: Add accessors to entry type. (#43) (afccf012)
- compliance: pull in spec test suite and fix issues (#40) (58a40fdf)
- fmt: shiny new comment-preserving formatter! (#38) (12d373a1)
Hello again!
kdl-rs 4.0.0 is a complete rewrite, featuring a full-fledged "document-oriented" parser: that is, formatting, whitespace, comments, etc, are all preserved and can be programmatically manipulated. KDL documents are fully round-trippable, without losing any of that human-written content!
This crate will, for the time being, not include a serde-based parser, but
there's also crates like knuffel
and
kaydle
now that do probide serde (or
serde-like) functionality. You should definitely check those out if you're
looking for that kind of workflow!
Please give this version a whirl if you've been curious about using KDL for your own projects, and let me know what can be improved, or even what you love about it!
- api: complete rewrite into document-oriented parser (#29) (364ea617)
- BREAKING CHANGE: Completely new API and bumped MSRV to 1.56.0.
- tests: add test for kdl-schema.kdl (#30) (ad34cfd9)
- types: add type annotation support (#31) (16c82f1e)
- errors: improve parsing errors and fix some bugs (#33) (8ed6a5cd)
- clear_fmt: add methods to clear formatting and reset it to default (892bf06e)
- errors: overhauled error reporting a ton (d63f336d)
- len: add APIs to calculate component lengths (#36) (177c42ca)
- spec: update parser to handle KDL 1.0.0 (f811c5c8)
- BREAKING CHANGE: Various things have changed in the process of moving to KDL 1.0.0. Please test your stuff
- license: change license to Apache-2.0 (0dbf75c7)
- BREAKING CHANGE: This is a significant licensing change. Please review.
It's been a while! This release brings kdl-rs much closer in sync with the actual spec.
- deps: Remove nom dependency on
bitvec
andlexical
(#14) (9bc5363b) - numbers: Fix parsing of non-integer and non-decimal numbers (#13) (c1b7c25c)
- display: implemented Display for KdlNode (#6) (b8c8b527)
- docs: Add documentation for the entire crate (#16) (94190697)
- identifier: much larger character set for identifiers (not just alphanumeric), to match spec more closely (#7) (95a1ee3e)
Initial Release! �