Skip to content

Bump prism from 0.22.0 to 0.28.0#261

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/prism-0.28.0
Closed

Bump prism from 0.22.0 to 0.28.0#261
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/prism-0.28.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 6, 2024

Bumps prism from 0.22.0 to 0.28.0.

Release notes

Sourced from prism's releases.

v0.28.0

Added

  • Nested hashes will now warn for duplicated keys, as in: { foo: 1, **{ foo: 2 } }.
  • Prism::ReturnNode now has a flag on it to indicate if it is redundant.
  • Prism::Location#slice_lines and Prism::Node#slice_lines are now provided to slice the source code of a node including the content before the node on the same line that it starts on and the content after the node on the same line that it ends on.
  • Symbols with invalid byte sequences now give errors.
  • You can now pass "3.3.1" to the version: parameter on all Prism.* APIs.
  • Prism::Source#lines, Prism::Location#source_lines, Prism::Node#source_lines, and Prism::Node#script_lines are now provided, which will all return the source code of the source as an array of strings.
  • Prism::ASCIISource is now provided, which is a subclass of Prism::Source but specialized to increase performance when the source is entirely ASCII.
  • Prism now provides errors when parsing Ruby 3.4+ syntax for index expressions with keywords or blocks.
  • Prism now provides an error when **nil is used after other keyword parameters.
  • Prism now provides errors when safe navigation is used in call target expressions, e.g., foo&.bar, = 1.
  • Prism::Node#tunnel is now provided, which returns an array of nodes starting at the current node that contain a given line and column.

Changed

  • All translation layers now assume an eval context, which means they will not return errors for invalid jumps like yield.
  • Prism::Node#inspect now uses a queue instead of recursion to avoid stack overflows.
  • Prism now more closely mirrors CRuby interpolation semantics, which means you could potentially have a static literal string that directly interpolates another static literal string.
  • The shipped RBI sorbet types no longer use generics.
  • Prism::ConstantPathNode#child and Prism::ConstantTargetNode#child are now deprecated, replaced by two new fields on these nodes: name and name_loc.

v0.27.0

Added

  • Implemented === for each of the nodes, which will check if equality but ignore the specific ranges of locations.

Changed

  • Fix translation of ItParametersNode for parser translation.
  • Fix translation of dstr for ruby_parser translation.
  • Do not allow omitted hash values whose keys end with ! or ?.
  • Split up Prism::ParseResult into Prism::Result with subclasses Prism::ParseResult, Prism::LexResult, Prism::ParseLexResult, and Prism::LexCompat::Result.
  • Change reflection classes to have only a single IntegerField class and rename DoubleField to FloatField.
  • Fall back to default AR and CC in Makefile.
  • Use GC-able symbols for the syntax tree to avoid adding to the global symbol table.
  • Fix a bug with karatsuba_multiply that would result in a stack overflow.
  • Fix parser translation when looking for tokens with srange_find.

v0.26.0

Added

  • Add Prism::Node::fields, which returns a list of Prism::Reflection::Field objects representing the fields of the node class. This is useful in metaprogramming contexts.
  • Prism::Location#chop, for removing the last byte from a location.
  • The void statement warning is now implemented.
  • The unreachable statement warning is now implemented.
  • A syntax error has been added for block arguments on yields, e.g., yield(&foo).

Changed

... (truncated)

Changelog

Sourced from prism's changelog.

[0.28.0] - 2024-05-03

Added

  • Nested hashes will now warn for duplicated keys, as in: { foo: 1, **{ foo: 2 } }.
  • Prism::ReturnNode now has a flag on it to indicate if it is redundant.
  • Prism::Location#slice_lines and Prism::Node#slice_lines are now provided to slice the source code of a node including the content before the node on the same line that it starts on and the content after the node on the same line that it ends on.
  • Symbols with invalid byte sequences now give errors.
  • You can now pass "3.3.1" to the version: parameter on all Prism.* APIs.
  • Prism::Source#lines, Prism::Location#source_lines, Prism::Node#source_lines, and Prism::Node#script_lines are now provided, which will all return the source code of the source as an array of strings.
  • Prism::ASCIISource is now provided, which is a subclass of Prism::Source but specialized to increase performance when the source is entirely ASCII.
  • Prism now provides errors when parsing Ruby 3.4+ syntax for index expressions with keywords or blocks.
  • Prism now provides an error when **nil is used after other keyword parameters.
  • Prism now provides errors when safe navigation is used in call target expressions, e.g., foo&.bar, = 1.
  • Prism::Node#tunnel is now provided, which returns an array of nodes starting at the current node that contain a given line and column.

Changed

  • All translation layers now assume an eval context, which means they will not return errors for invalid jumps like yield.
  • Prism::Node#inspect now uses a queue instead of recursion to avoid stack overflows.
  • Prism now more closely mirrors CRuby interpolation semantics, which means you could potentially have a static literal string that directly interpolates another static literal string.
  • The shipped RBI sorbet types no longer use generics.
  • Prism::ConstantPathNode#child and Prism::ConstantTargetNode#child are now deprecated, replaced by two new fields on these nodes: name and name_loc.

[0.27.0] - 2024-04-23

Added

  • Implemented === for each of the nodes, which will check if equality but ignore the specific ranges of locations.

Changed

  • Fix translation of ItParametersNode for parser translation.
  • Fix translation of dstr for ruby_parser translation.
  • Do not allow omitted hash values whose keys end with ! or ?.
  • Split up Prism::ParseResult into Prism::Result with subclasses Prism::ParseResult, Prism::LexResult, Prism::ParseLexResult, and Prism::LexCompat::Result.
  • Change reflection classes to have only a single IntegerField class and rename DoubleField to FloatField.
  • Fall back to default AR and CC in Makefile.
  • Use GC-able symbols for the syntax tree to avoid adding to the global symbol table.
  • Fix a bug with karatsuba_multiply that would result in a stack overflow.
  • Fix parser translation when looking for tokens with srange_find.

[0.26.0] - 2024-04-18

Added

  • Add Prism::Node::fields, which returns a list of Prism::Reflection::Field objects representing the fields of the node class. This is useful in metaprogramming contexts.
  • Prism::Location#chop, for removing the last byte from a location.
  • The void statement warning is now implemented.
  • The unreachable statement warning is now implemented.

... (truncated)

Commits
  • 64b112c Bump to v0.28.0
  • 9a24c71 Merge pull request #2770 from ruby/location-adjoin
  • a298db6 Prism::Location#adjoin
  • 5d9dff4 Merge pull request #2769 from ruby/tunnel
  • 0bf5d65 Prism::Node#tunnel
  • 624fdf7 Disallow *a&.x=0
  • c290b09 Merge pull request #2754 from Shopify/vs/specialize_source
  • 994316d Merge pull request #2768 from ruby/disallow-safe-navigation-call-target
  • b1917ad Disallow safe navigation in a call target node
  • 32e3808 Merge pull request #2767 from ruby/disallow-ssnil-after-keywords
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [prism](https://github.com/ruby/prism) from 0.22.0 to 0.28.0.
- [Release notes](https://github.com/ruby/prism/releases)
- [Changelog](https://github.com/ruby/prism/blob/main/CHANGELOG.md)
- [Commits](ruby/prism@v0.22.0...v0.28.0)

---
updated-dependencies:
- dependency-name: prism
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels May 6, 2024
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 13, 2024

Superseded by #264.

@dependabot dependabot Bot closed this May 13, 2024
@dependabot dependabot Bot deleted the dependabot/bundler/prism-0.28.0 branch May 13, 2024 02:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants