Loading
Bump rouge to 5.x
What does this MR do and why?
Widens the rouge constraint from ~> 4.7.0 to ~> 5.0 and regenerates the lockfiles to pick up Rouge 5.0.
Why now
This MR was previously held open as a draft while two transitive deps pinned rouge < 5.0. Both blockers have since been cleared on master:
- !245456 (merged) swapped
lookbookfor thegitlab-lookbookfork, which relaxes lookbook'srougeupper bound. pry-shellwas bumped to~> 0.7.0, which drops thetty-markdownchain that also pinnedrouge < 5.0.
With master rebased in, bundle update rouge now resolves cleanly.
Compatibility
Rouge 5's documented breaking changes are limited to:
- Dropping EOL Ruby 2.7 support (GitLab is on Ruby 3.3+, so unaffected).
- Overhauling internal HTML formatter delegation (rouge#2286) — explicitly documented as not affecting custom
Rouge::Formatters::HTMLsubclasses. - Renaming the
coqlexer torocq(rouge#2269) — the GitLab codebase does not reference this lexer by name.
Lockfile changes
Both Gemfile.lock and Gemfile.next.lock are updated with the version bump and the new strscan (~> 3.1) transitive dependency that Rouge 5 introduces. bundle exec rake bundler:gemfile:sync runs cleanly.
MR acceptance checklist
- Pipeline is green
- Reviewer confirms no regressions in rouge-lexed content (blob highlighting, snippets, wiki, etc.)
Edited by Kai Armstrong