Skip to content

v0.7.0

Compare
Choose a tag to compare
@kddnewton kddnewton released this 14 Aug 21:10
· 3230 commits to main since this release
a16f528

Added

  • We now have an explicit FlipFlopNode. It has the same flags as RangeNode.
  • We now have a syntax error when implicit and explicit blocks are passed to a method call.
  • Node#slice is now implemented, for retrieving the slice of the source code corresponding to a node.
  • We now support the utf8-mac encoding.
  • Predicate methods have been added for nodes that have flags. For example CallNode#safe_navigation? and RangeNode#exclude_end?.
  • The gem now functions on JRuby and TruffleRuby, thanks to a new FFI backend.
  • Comments are now part of the serialization API.

Changed

  • Autotools has been removed from the build system, so when the gem is installed it will no longer need to go through a configure step.
  • The AST for foo = *bar has changed to have an explicit array on the right hand side, rather than a splat node. This is more consistent with how other parsers handle this.
  • RangeNodeFlags has been renamed to RangeFlags.
  • Unary minus on number literals is now parsed as part of the literal, rather than a call to a unary operator. This is more consistent with how other parsers handle this.