Repository navigation
Roadmap for 2.0.0 #3990
Copy link
Copy link
Closed
Description
Opening this issue just for public visibility into the stuff I'm pushing on/expecting to happen before 2.0.0, which should hopefully be in the near-ish future. Now that all of the various bugs that I know about related to the actual structure of the tree have been fixed (https://bugs.ruby-lang.org/projects/ruby-master/issues?query_id=380), I'm looking to get the following stuff over the line before the next major.
Stuff on this repository in particular:
- The three PRs related to Rust stuff (strictly adding more functionality)
- Optimizations #4006 — Some optimizations.
- Better scope prism's C API #2888 — this largely involves moving a bunch of headers around. I have a PR in progress for this on ruby/ruby that will be reverse synced.
- Identify unexpected nodes in error recovery scenarios #3828 — there is an open PR for this that I need to review, and potentially modify.
- Support pre-compiled gems in our rubygems publishing workflow #4026 — Precompilation of the gem for common platforms (either rake-compiler-doc or cibuildgem).
- Modifying AST and generating source code #3466 — maybe a rewriter like Parser? I would like to have a formatter fallback like recast.
- Revisit comments #4044 — Revisit how comments are attached
Other stuff in the ecosystem I would like stabilized:
- Switch mk_builtin_loader.rb to use prism to parse ruby#10005 — using Prism for builtins in CRuby
- Split gem into Ruby and extension parts #3959 — JRuby stuff
- Switch parser over to Prism ruby-syntax-tree/syntax_tree#543 — using Prism in Syntax Tree
Other gems that could use migrating that would be nice but not required (ordered by downloads):
- rspec-* - Use Prism for parsing rspec/rspec#303
- byebug - Use cross-runtime check for valid syntax deivid-rodriguez/byebug#947
- temple - Allow using prism as the parser engine judofyr/temple#156
- yard - Allow using Prism for parsing lsegal/yard#1662
- state_machines - Use a cross-runtime syntax check without Ripper state-machines/state_machines#164
- power_assert - Add the ability to use the Prism parser power_assert#66
- test-prof - Use Prism for parsing if available test-prof/test-prof#338
- rbs - Prototype with the Prism parser rbs#2882
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
amy-hashi commentedon May 28, 2026
Will there be another release in the 1.x series before 2.0? We are having to build from source in order to get the latest fixes, since it's been so long since a release was cut. (Thank y'all for all the attention to open issues and PRs!)
kddnewton commentedon May 28, 2026
I wasn't planning on it. Is there a particular fix you're looking for? I can make a patch release and just backport a particular thing if you need. But main has a bunch of breaking changes so we can't cleanly release that atm.
eregon commentedon May 30, 2026
Do you have some examples of the breaking changes, do they affect only the C API, Ruby API, something else?
FWIW in TruffleRuby I'm currently using 5172b2a because I want some of the newer fixes (e.g. Ripper-related) and I feel asking for a release every time I update (e.g. Jan 28, Mar 26, Apr 6, May 14) would be a non-trivial overhead so I'm picking commits from master.
amy-hashi commentedon Jun 2, 2026
Yes, it was this bug in particular -> #4118
kddnewton commentedon Jul 20, 2026
Closing as the remaining tickets are open and we don't need this tracking anymore