Skip to content

Metal 10.0.0

Latest
Compare
Choose a tag to compare
@jvdb jvdb released this 09 Feb 09:34
· 58 commits to master since this release
f31ea1e

This release includes the following major improvements:

  1. #360: There are additional def shorthands with the same parameters as the until shorthands with the difference that the terminator is not included in the parsegraph. This allows for writing defs until the beginning of a next token, without consuming it.
  2. #375: There is a new expression Join and matching shorthands join. With this expression you can join any arbitrary set of expressions and this evaluates to a single flattened list.
  3. #392: The expression ref accepts multiple names and finds values that matches any of these names. The values are returned in parsing order, not in the order the names are specified.
  4. #399: Introducing ParseValueCache. This cache keeps track of any value by name, which improves the performance of ref by name significantly, since it will not need to process the entire ParseGraph for each ref anymore.

Additionally, some smaller changes have been made. Most significantly:

  1. #367 Bugfix: The name of an until is now included in the scope name of the inner def.
  2. #405: There is a huge performance gain when using ConcatenatedValueSource for concatenating large chunks of data.
  3. #402: Hashes of all immutable objects within metal are cached, which improves performance when using these objects in a HashMap.
  4. #362: Builds are now automatically run by GitHub actions.

Note: The next Metal version will require at least a JRE of version 17 instead of 11.

Full Changelog: v9.0.0...metal-10.0.0

For a more detailed list of changes, please see the 10.0.0 Milestone.