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 lookbook for the gitlab-lookbook fork, which relaxes lookbook's rouge upper bound.
  • pry-shell was bumped to ~> 0.7.0, which drops the tty-markdown chain that also pinned rouge < 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::HTML subclasses.
  • Renaming the coq lexer to rocq (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

Merge request reports

Loading
Loading