Skip to content

Commit 51d8448

Browse files
committed
Release v5.0.0
1 parent ed2ae68 commit 51d8448

File tree

2 files changed

+90
-1
lines changed

2 files changed

+90
-1
lines changed

CHANGELOG.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,95 @@ This log summarizes the changes in each released version of Rouge.
44

55
Rouge follows [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html).
66

7+
## version 5.0.0: 2026-03-24
8+
9+
[Comparison with the previous version](https://github.com/rouge-ruby/rouge/compare/v4.7.0...v5.0.0)
10+
11+
**This is a major release** and includes some breaking changes:
12+
13+
- General
14+
- Drop support for EOL Ruby 2.7 ([#2204](https://github.com/rouge-ruby/rouge/pull/2204/) by Nicholas La Roux)
15+
16+
### Other changes
17+
18+
- General
19+
- Rewrite the Apache builtin generator to use SVN ([#2253](https://github.com/rouge-ruby/rouge/pull/2253/) by Jeanine Adkisson)
20+
- Add Rubocop rule to catch arrays of size > 300. Also fix a bunch of .rubocop_todo.yml ([#2256](https://github.com/rouge-ruby/rouge/pull/2256/) by Jeanine Adkisson)
21+
- Fix deprecated Git::Log#each call ([#2254](https://github.com/rouge-ruby/rouge/pull/2254/) by Tan Le)
22+
- Fix all trailing whitespace ([#2240](https://github.com/rouge-ruby/rouge/pull/2240/) by Jeanine Adkisson)
23+
- Update GitLab's contact ([#2247](https://github.com/rouge-ruby/rouge/pull/2247/) by Tan Le)
24+
- Add Contributing.md guidelines ([#2244](https://github.com/rouge-ruby/rouge/pull/2244/) by Jeanine Adkisson)
25+
- replace references to rackup with puma ([#2235](https://github.com/rouge-ruby/rouge/pull/2235/) by Jeanine Adkisson)
26+
- Ensure `rake check:style` lints the same files as standard RuboCop runs ([#2237](https://github.com/rouge-ruby/rouge/pull/2237/) by Nicholas La Roux)
27+
- ensure all generated keyword sets are sorted / uniq ([#2230](https://github.com/rouge-ruby/rouge/pull/2230/) by Jeanine Adkisson)
28+
- Regenerate RuboCop todo ([#2234](https://github.com/rouge-ruby/rouge/pull/2234/) by Nicholas La Roux)
29+
- Fix various RuboCop todos offences ([#2231](https://github.com/rouge-ruby/rouge/pull/2231/) by Nicholas La Roux)
30+
- update doc links master -> main ([#2229](https://github.com/rouge-ruby/rouge/pull/2229/) by Jeanine Adkisson)
31+
- Fix CI so that it runs on push and PR for main branch ([#2227](https://github.com/rouge-ruby/rouge/pull/2227/) by Nicholas La Roux)
32+
- Add custom RuboCop::Cop::Rouge::NoBuildingAlternationPatternInRegexp cop ([#2224](https://github.com/rouge-ruby/rouge/pull/2224/) by Nicholas La Roux)
33+
- PROPOSAL: add a fallthrough! method for continuing to check later rules ([#2210](https://github.com/rouge-ruby/rouge/pull/2210/) by Jeanine Adkisson)
34+
- README improvements ([#2219](https://github.com/rouge-ruby/rouge/pull/2219/) by Jeanine Adkisson)
35+
- Safe auto-correct and manually fix RuboCop infractions and regen todo ([#2206](https://github.com/rouge-ruby/rouge/pull/2206/) by Nicholas La Roux)
36+
- fix custom demos ([#2218](https://github.com/rouge-ruby/rouge/pull/2218/) by Jeanine Adkisson)
37+
- various doc fixes ([#2216](https://github.com/rouge-ruby/rouge/pull/2216/) by Jeanine Adkisson)
38+
- Modernize RuboCop usage, add/enable performance, minitest, and rake cops ([#2205](https://github.com/rouge-ruby/rouge/pull/2205/) by Nicholas La Roux)
39+
- Prevent character literals spanning lines ([#2214](https://github.com/rouge-ruby/rouge/pull/2214/) by Tan Le)
40+
- Remove duplicate ostruct entry from Gemfile ([#2212](https://github.com/rouge-ruby/rouge/pull/2212/) by Nicholas La Roux)
41+
- Fix warnings while maintaining lazy-loading behaviour, and re-generate keyword sets. ([#2202](https://github.com/rouge-ruby/rouge/pull/2202/) by Jeanine Adkisson)
42+
- Check for extra newline in delegated formatter output in HTMLTable ([#2185](https://github.com/rouge-ruby/rouge/pull/2185/) by Sepehr Kalanaki)
43+
- Enforce MFA to be enabled via gemspec + RuboCop ([#2209](https://github.com/rouge-ruby/rouge/pull/2209/) by Nicholas La Roux)
44+
- Use gem strscan, and take advantage of StringScanner#fixed_anchor ([#2208](https://github.com/rouge-ruby/rouge/pull/2208/) by Jeanine Adkisson)
45+
- Explicitly test against Ruby 4.0 now that head is Ruby 4.1 ([#2207](https://github.com/rouge-ruby/rouge/pull/2207/) by Nicholas La Roux)
46+
- Update contact email on COC ([#2192](https://github.com/rouge-ruby/rouge/pull/2192/) by Tan Le)
47+
- Bump actions/checkout to v6 ([#2191](https://github.com/rouge-ruby/rouge/pull/2191/) by Tan Le)
48+
- Console Lexer
49+
- Fix ConsoleLexer ignoring comments=false option ([#2200](https://github.com/rouge-ruby/rouge/pull/2200/) by 0xdf) ([#2201](https://github.com/rouge-ruby/rouge/pull/2201/) by 0xdf)
50+
- CSS Lexer
51+
- Modernize the CSS lexer ([#2217](https://github.com/rouge-ruby/rouge/pull/2217/) by Jeanine Adkisson)
52+
- Dart Lexer
53+
- Add support for triple-quoted raw strings in Dart lexer ([#2187](https://github.com/rouge-ruby/rouge/pull/2187/) by Modestas Valauskas)
54+
- Dylan Lexer (**NEW**)
55+
- Adds a Dylan lexer ([#2248](https://github.com/rouge-ruby/rouge/pull/2248/) by Jeanine Adkisson)
56+
- Dylan: add operator escapes and string hex escapes ([#2250](https://github.com/rouge-ruby/rouge/pull/2250/) by Jeanine Adkisson)
57+
- Elixir Lexer
58+
- add halfway support for multiline elixir sigils ([#2052](https://github.com/rouge-ruby/rouge/pull/2052/) by Ben Smithgall)
59+
- Fix Elixir Lexer Sigil Handling ([#2190](https://github.com/rouge-ruby/rouge/pull/2190/) by P-SiZK)
60+
- Gherkin Lexer
61+
- Gherkin annotated strings ([#2252](https://github.com/rouge-ruby/rouge/pull/2252/) by Jeanine Adkisson)
62+
- regen gherkin keywords again, there were duplicates still ([#2238](https://github.com/rouge-ruby/rouge/pull/2238/) by Jeanine Adkisson)
63+
- Fix the broken Gherkin spec on main, and refactor STEP_REGEX ([#2226](https://github.com/rouge-ruby/rouge/pull/2226/) by Jeanine Adkisson)
64+
- ensure all gherkin keywords are stripped of whitespace, and regen ([#2222](https://github.com/rouge-ruby/rouge/pull/2222/) by Jeanine Adkisson)
65+
- GLSL Lexer
66+
- Rewrite the GLSL lexer as not a subclass of C ([#2249](https://github.com/rouge-ruby/rouge/pull/2249/) by Jeanine Adkisson)
67+
- Add some missing GLSL keywords ([#2189](https://github.com/rouge-ruby/rouge/pull/2189/) by Julius Häger)
68+
- Groovy Lexer
69+
- Allow Groovy files to start with a shebang ([#2091](https://github.com/rouge-ruby/rouge/pull/2091/) by Bond-009)
70+
- Igor Pro Lexer
71+
- Update lexer for Igor Pro for recent Igor Pro 9 version ([#1985](https://github.com/rouge-ruby/rouge/pull/1985/) by Michael Huth)
72+
- ISBL Lexer
73+
- remove proprietary builtins list from ISBL ([#2236](https://github.com/rouge-ruby/rouge/pull/2236/) by Jeanine Adkisson)
74+
- MoonScript Lexer
75+
- Moonscript: add `from` keyword ([#2233](https://github.com/rouge-ruby/rouge/pull/2233/) by Jeanine Adkisson)
76+
- Nix Lexer
77+
- nix: Fix identifier lexing ([#2181](https://github.com/rouge-ruby/rouge/pull/2181/) by nsfisis)
78+
- PDF Lexer (**NEW**)
79+
- Add PDF syntax to Rouge ([#2058](https://github.com/rouge-ruby/rouge/pull/2058/) by Peter Wyatt)
80+
- fix style in pdf lexer ([#2251](https://github.com/rouge-ruby/rouge/pull/2251/) by Jeanine Adkisson)
81+
- PHP Lexer
82+
- php: Support property hooks ([#2213](https://github.com/rouge-ruby/rouge/pull/2213/) by nsfisis)
83+
- PowerShell Lexer
84+
- Add 'pwsh' alias to Powershell lexer ([#2239](https://github.com/rouge-ruby/rouge/pull/2239/) by Olav Rønnestad Birkeland)
85+
- Ruby Lexer
86+
- remove use of joined idents in ruby ([#2225](https://github.com/rouge-ruby/rouge/pull/2225/) by Jeanine Adkisson)
87+
- Rust Lexer
88+
- rust: Add support for string continuation escape ([#2126](https://github.com/rouge-ruby/rouge/pull/2126/) by 极速蜗牛)
89+
- Sed Lexer
90+
- Fix potential ReDoS vulnerability in sed lexer ([#2120](https://github.com/rouge-ruby/rouge/pull/2120/) by SATO, Yoshiyuki)
91+
- Veryl Lexer (**NEW**)
92+
- Add a lexer for Veryl language ([#2148](https://github.com/rouge-ruby/rouge/pull/2148/) by Naoya Hatta)
93+
- YAML Lexer
94+
- Improve YAML lexer: handle quoted keys. ([#2156](https://github.com/rouge-ruby/rouge/pull/2156/) by Myron Marston)
95+
796
## version 4.7.0: 2025-12-31
897

998
[Comparison with the previous version](https://github.com/rouge-ruby/rouge/compare/v4.6.1...v4.7.0)

lib/rouge/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
module Rouge
55
def self.version
6-
"4.7.0"
6+
"5.0.0"
77
end
88
end

0 commit comments

Comments
 (0)