Skip to content

Bump prism from 0.22.0 to 0.29.0#264

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

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

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

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

Bumps prism from 0.22.0 to 0.29.0.

Release notes

Sourced from prism's releases.

v0.29.0

Added

  • Added Prism::CallNode#full_message_loc, which gives the location including the = if there is one.
  • A warning for when # shareable_constant_value is not used on its own line.
  • An error for invalid implicit local variable writes.
  • Implicit hash patterns in array patterns are disallowed.
  • We now validate that Unicode escape sequences are not surrogates.

Changed

  • All fields named operator have been renamed to binary_operator for *OperatorWriteNode nodes. This is to make it easier to provide C++ support. In the Ruby API, the old fields are aliased to the new fields with a deprecation warning.
  • Many updated error messages to more closely match CRuby.
  • We ensure keyword parameters do not end in ! or ?.
  • Fixed some escaping in string literals with control sequences and hex escapes.
  • Fix a bug with RBS types when used outside the ruby/prism codebase.

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 ?.

... (truncated)

Changelog

Sourced from prism's changelog.

[0.29.0] - 2024-05-10

Added

  • Added Prism::CallNode#full_message_loc, which gives the location including the = if there is one.
  • A warning for when # shareable_constant_value is not used on its own line.
  • An error for invalid implicit local variable writes.
  • Implicit hash patterns in array patterns are disallowed.
  • We now validate that Unicode escape sequences are not surrogates.

Changed

  • All fields named operator have been renamed to binary_operator for *OperatorWriteNode nodes. This is to make it easier to provide C++ support. In the Ruby API, the old fields are aliased to the new fields with a deprecation warning.
  • Many updated error messages to more closely match CRuby.
  • We ensure keyword parameters do not end in ! or ?.
  • Fixed some escaping in string literals with control sequences and hex escapes.
  • Fix a bug with RBS types when used outside the ruby/prism codebase.

[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

... (truncated)

Commits

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.29.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.29.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 13, 2024
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Jun 10, 2024

Superseded by #282.

@dependabot dependabot Bot closed this Jun 10, 2024
@dependabot dependabot Bot deleted the dependabot/bundler/prism-0.29.0 branch June 10, 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