Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 6.07 KB

CHANGELOG.md

File metadata and controls

90 lines (62 loc) · 6.07 KB

Change log

master (unreleased)

New features

  • #92: Add ProcessedSource#tokens_within, ProcessedSource#first_token_of and ProcessedSource#last_token_of. (@fatkodima)
  • #88: Add RescueNode. Add ResbodyNode#exceptions and ResbodyNode#branch_index. (@fatkodima)
  • #89: Support right hand assignment for Ruby 2.8 (3.0) parser. (@koic)

0.3.0 (2020-08-01)

New features

Bug fixes

  • #70: Fix arguments processing for BreakNode (@marcandre)
  • #70: (Potentially breaking) BreakNode and ReturnNode no longer include MethodDispatchNode. These methods were severely broken (@marcandre)

Changes

  • #44: (Breaking) Use parser flag self.emit_forward_arg = true by default. (@marcandre)
  • #86: PairNode#delimiter and inverse_delimiter now accept their argument as a named argument. (@marcandre)
  • #87: (Potentially breaking) Have IfNode#branches return a nil value if source has else; end (@marcandre)
  • #72: (Potentially breaking) SuperNode/DefinedNode/YieldNode#arguments now return a frozen array. (@marcandre)

0.2.0 (2020-07-19)

New features

  • #50: Support find pattern matching for Ruby 2.8 (3.0) parser. (@koic)
  • #55: Add ProcessedSource#line_with_comment?. (@marcandre)
  • #63: NodePattern now supports patterns as arguments to predicate and functions. (@marcandre)
  • #64: Add Node#global_const?. (@marcandre)
  • #28: Add struct_constructor?, class_definition? and module_definition? matchers. (@tejasbubane)

Bug fixes

  • #55: Fix ProcessedSource#commented? for multi-line ranges. Renamed contains_comment? (@marcandre)
  • #69: (Potentially breaking) RetryNode has many errors. It is now a Node. (@marcandre)

0.1.0 (2020-06-26)

New features

  • #36: Add post_condition_loop? and loop_keyword? for Node. (@fatkodima)
  • #38: Add helpers allowing to check whether the method is a nonmutating operator method or a nonmutating method of several core classes. (@fatkodima)
  • #37: Add enumerable_method? for MethodIdentifierPredicates. (@fatkodima)
  • #4: Add interpolation? for RegexpNode. (@tejasbubane)
  • #20: Add option predicates for RegexpNode. (@owst)
  • #11: Add argument_type? method to make it easy to recognize argument nodes. (@tejasbubane)
  • #31: NodePattern now uses param === node to match params, which allows Regexp, Proc, Set in addition to Nodes and literals. (@marcandre)
  • #41: Add delimiters and related predicates for RegexpNode. (@owst)
  • #46: Basic support for non-legacy AST output from parser. Note that there is no support (yet) in main RuboCop gem. Expect emit_forward_arg to be set to true in v1.0 (@marcandre)
  • #48: Support Parser::Ruby28 for Ruby 2.8 (3.0) parser (experimental). (@koic)
  • #35: NodePattern now accepts %named_param and %CONST. The macros def_node_matcher and def_node_search accept default named parameters. (@marcandre)

0.0.3 (2020-05-15)

Changes

  • #7: Classes NodePattern, ProcessedSource and Token moved to AST::NodePattern, etc. The rubocop gem has aliases to ensure compatibility. (@marcandre)
  • #7: AST::ProcessedSource.from_file now raises a Errno::ENOENT instead of a RuboCop::Error. (@marcandre)

0.0.2 (2020-05-12)

Bug fixes

0.0.1 (2020-05-11)