Skip to content

Releases: copper-leaf/kudzu

5.3.0

13 May 18:16
Compare
Choose a tag to compare
  • Enables wasmJs target

5.2.0

25 Jan 21:51
Compare
Choose a tag to compare
  • Updates to Kotlin 1.9.22

5.1.0

17 Aug 18:50
Compare
Choose a tag to compare
  • Updates to Kotlin 1.9.0

5.0.0

06 Apr 17:50
Compare
Choose a tag to compare
  • Updates to Kotlin 1.8.20
  • Drops support for deprecated KMPP targets:
    • JS Legacy
    • iosArm32

4.0.1

21 Feb 20:45
Compare
Choose a tag to compare
  • Performance improvements related to ParserException. Thanks for @kilink for the contribution!

4.0.0

05 Oct 23:54
Compare
Choose a tag to compare
  • Updates to Kotlin 1.7.20, and removes @ExperimentalStdlibApi now that DeepRecursiveFunction is now stable
  • Make it possible to process choice nodes with type safety. Thanks to @ephemient for the contribution!

Instead of requiring casting to access

MappedParser(ChoiceParser(FooParser(), BarParser())) { node ->
    when (node) {
        is Choice2Node.Option1 -> (node.node as FooNode).foo
        is Choice2Node.Option2 -> (node.node as BarNode).bar
    }
}

we can rely on the compiler to check

MappedParser(ChoiceParser(FooParser(), BarParser())) { node ->
    when (node) {
        is Choice2Node.Option1 -> node.node.foo
        is Choice2Node.Option2 -> node.node.bar
    }
}

3.1.0

03 Mar 17:23
Compare
Choose a tag to compare
  • Adds choiceIndex property to ChoiceNNode

3.0.0

02 Mar 23:33
Compare
Choose a tag to compare
  • Updates to kotlin 1.6.10
  • Implements strongly-typed Choice parsers in the same manner as Sequence parsers (supports 2-9 choices)
  • don't check for empty with many parser. Let the sub-parser make that determination
  • Improve error messages
  • Wrap expressions in RootExpressionNode
  • Adds newline and EOF parsers

2.6.0

15 Jul 19:21
Compare
Choose a tag to compare
  • Adds a bunch of Sequence parsers for fixed lengths to preserve strong generic typing. SequenceParser is now a factory function instead of a constructor, returning the appropriate sequence parser for the number of "varargs".
  • Validate that the start and end tags match in TagParser
  • Enables hierarchical sourcesets

2.5.0

12 May 23:05
Compare
Choose a tag to compare
  • Adds NoopParser for implementing self-closing tags with the TagParser
  • Adds AnyTextParser, which is like AnyTextParser, but parses any non-whitespace characters