Skip to content

v1.0.0

Compare
Choose a tag to compare
@kddnewton kddnewton released this 28 Aug 19:40
· 232 commits to main since this release
163a265

Added

  • Add Node#breadth_first_search.
  • Add Node#node_id.
  • Add ArgumentsNode#contains_splat?.
  • Passing the special value false for the encoding option tells Prism to ignore magic encoding comments.
  • Expose flags on every node type (allows checking static literal and newline).
  • Implement mismatched indentation warning.
  • Add C API for receiving a callback when parsing shebangs with additional flags.

Changed

  • BREAKING: Some fields are renamed that had illogical names. The previous names all now emit deprecation warnings.
    • CaseMatchNode#consequent was renamed to CaseMatchNode#else_clause
    • CaseNode#consequent was renamed to CaseNode#else_clause
    • IfNode#consequent was renamed to IfNode#subsequent
    • RescueNode#consequent was renamed to RescueNode#subsequent
    • UnlessNode#consequent was renamed to UnlessNode#else_clause
  • Block exits are now allowed in loop predicates (e.g., while _ && break do end).
  • Multi-writes are now disallowed when not at the statement level.
  • Ensure that range operators are non-associative.
  • (JavaScript) Correctly deserialize encoded strings.
  • Properly support parsing regular expressions in extended mode.
  • Use gmake on FreeBSD.
  • Parsing streams now handles NUL bytes in the middle of the stream.
  • Properly detect invalid returns.