Releases: ruby/rdoc
Release list
v8.0.0
RDoc 8.0.0 is the biggest RDoc release in years. It brings together the work we have been doing to modernize Ruby's documentation experience: a Prism-based parser, RBS signatures in generated documentation, .rbs files as documentation input, a live preview server, theme polish, and many long-standing bug fixes.
For users, the biggest visible change is that RDoc can now show type information next to method documentation. RBS signatures are rendered in both HTML and ri, and the Aliki theme now presents method entries as signature cards. This should make generated documentation more useful for both human readers and tools that consume Ruby documentation.
For documentation authors, RDoc 8.0.0 adds rdoc --server and rake rdoc:server, giving you a local preview server with live reload. This release also includes many fixes around Markdown, cross-references, page links, C source handling, server mode, and generated HTML structure. The goal is to make writing and checking documentation less tedious.
Internally, RDoc has migrated to the Prism-based parser and removed the old Ripper-based parser. This saves RDoc from re-implementing new Ruby syntax support manually going forward. The release also includes a refreshed coverage report, a new user-facing configuration reference, more Aliki polish, and finally, an RDoc logo.
There are breaking changes in this release, so please read the details below before upgrading. But overall, RDoc 8.0.0 is a big step toward making Ruby's documentation tooling feel actively maintained again.
What's Changed
💥 Breaking Changes
- Change default ruby parser to RDoc::Parser::PrismRuby by @tompng in #1581
- Remove deprecated CLI options and directives by @st0012 in #1616
- Refactor formatter options by @st0012 in #1623
- Remove unused memoized caches from Context by @st0012 in #1644
- Add server mode with live reload (
rdoc --server) by @st0012 in #1620 - Drop Ripper-based parser by @st0012 in #1690
✨ Enhancements
- Style method entries as signature cards in aliki theme by @st0012 in #1669
- Overhaul coverage report by @st0012 in #1663
- Display RBS type signatures in documentation by @st0012 in #1665
- Parse RBS files as RDoc input by @st0012 in #1728
- Polish Aliki documentation theme by @st0012 in #1742
🐛 Bug Fixes
- Stop generating a separate page file for
main_pageby @st0012 in #1624 - Fix markdown table parser consuming lines without pipes as table rows by @st0012 in #1626
- Fix section comments with the prism parser by @Earlopain in #1639
- Fix deadlock on Ctrl+C in server mode by @st0012 in #1649
- Fix server mode live reload for C files by @st0012 in #1647
- Don't auto-link to non-text source files in cross-references by @st0012 in #1646
- Fix encoding error when C parser reads external source files by @st0012 in #1657
- Fix page links returning 404 in server mode by @st0012 in #1671
- Fix indentation not being preserved on first line in code fences by @extern-c in #1672
- Fix broken sidebar links for chained class aliases by @st0012 in #1675
- Preserve
#prefix for unresolved cross-references by @st0012 in #1676 - Fix Markdown blockquote parsing by @st0012 in #1627
- Stop lazy alias resolver from overwriting real classes (#1662) by @st0012 in #1689
- Strip markdown HTML comments within paragraph by @tompng in #1698
- Remove obsolete -V short flag from --visibility option by @st0012 in #1703
- Change "check syntax" message when it isn't a ruby file by @rwstauner in #1715
- Avoid detecting encoding comments in documentation text by @st0012 in #1727
- Fix colorization of imaginary/rational numbers by @Earlopain in #1733
- Simplify CrossReference resolve by @tompng in #1571
📚 Documentation
- [DOC] Move
RubygemsHookdoc to the right place by @st0012 in #1629 - Add comparison with GitHub Flavored Markdown spec by @st0012 in #1550
- Add user-facing configuration reference by @st0012 in #1692
- Add RDoc logo to documentation by @st0012 in #1734
🛠 Other Changes
- rubocop --autocorrect by @tompng in #1611
- Expand RDoc::Attr#dd_alias test cases for aliased attributes access types by @extern-c in #1612
- Bump required ruby version to 2.7 by @Earlopain in #1615
- Add breaking-change category to release notes and release-check skill by @st0012 in #1619
- Support constant assign parsed before class/module definition by @tompng in #1621
- Add CI check for RI backward compatibility by @st0012 in #1625
- Bump step-security/harden-runner from 2.14.2 to 2.15.0 by @dependabot[bot] in #1632
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1631
- Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #1630
- Refactor comment_location from Array to Hash by @st0012 in #1634
- Re-add truffleruby in CI by @eregon in #1636
- Make the link clickable only on a tty by @nobu in #1637
- Bump step-security/harden-runner from 2.15.0 to 2.15.1 by @dependabot[bot] in #1640
- Bump ruby/setup-ruby from 1.288.0 to 1.290.0 by @dependabot[bot] in #1641
- Remove dead constants and unused AnonClass by @st0012 in #1642
- Fix herb linter offenses in ERB templates by @st0012 in #1645
- Print timing for page requests and re-parsing in server mode by @st0012 in #1648
- Bump rubygems/release-gem from 1.1.2 to 1.1.4 by @dependabot[bot] in #1650
- Bump step-security/harden-runner from 2.15.1 to 2.16.0 by @dependabot[bot] in #1651
- Add
contents: writepermission for preview of PR from ruby/rdoc by @kou in #1653 - Bump ruby/setup-ruby from 1.290.0 to 1.293.0 by @dependabot[bot] in #1652
- Bump flatted from 3.3.3 to 3.4.2 by @dependabot[bot] in #1656
- Bump ruby/setup-ruby from 1.293.0 to 1.295.0 by @dependabot[bot] in #1660
- chore: Have license content match gemspec by @thompson-tomo in #1654
- Bump actions/configure-pages from 5 to 6 by @dependabot[bot] in #1668
- Bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #1667
- Bump ruby/setup-ruby from 1.295.0 to 1.299.0 by @dependabot[bot] in #1666
- Bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in #1661
- Bump step-security/harden-runner from 2.16.0 to 2.16.1 by @dependabot[bot] in #1674
- Bump rubygems/release-gem from 1.1.4 to 1.2.0 by @dependabot[bot] in #1673
- Bump actions/github-script from 8 to 9 by @dependabot[bot] in #1679
- Bump ruby/setup-ruby from 1.299.0 to 1.301.0 by @dependabot[bot] in #1678
- Bump step-security/harden-runner from 2.16.1 to 2.17.0 by @dependabot[bot] in #1677
- Bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in #1680
- Bump ruby/setup-ruby from 1.301.0 to 1.302.0 by @dependabot[bot] in #1681
- Bump step-security/harden-runner from 2.17.0 to 2.19.0 by @dependabot[bot] in #1682
- Fix CSS to prevent method name overflow by @ybiquitous in #1686
- Bump ruby/setup-ruby from 1.302.0 to 1.306.0 by @dependabot[bot] in #1687
- Bump postcss from 8.5.6 to 8.5.12 by @dependabot[bot] in #1688
- Bump step-security/harden-runner from 2.19.0 to 2.19.1 by @dependabot[bot] in #1693
- Use prism to check if code is valid by @Earlopain in #1695
- Remove
ruby-titleclass by @Earlopain in #1694 - Remove parser module indirection us...
v7.0.4
v7.2.0
What's Changed
✨ Enhancements
- Expand GitHub style references in ChangeLog to URL by @nobu in #1547
- Highlight bash commands by @st0012 in #1544
🐛 Bug Fixes
- Replace attribute_manager with a new rdoc-inline-format parser by @tompng in #1559
- Fix not scrolling in search results when
ArrowUporArrowDownforAlikiby @ccmywish in #1587 - Implement escapes in Markdown to RDoc conversion by @tompng in #1575
- Change PrismRuby not to depend on hack that stores module nesting information to context.parent by @tompng in #1580
- Hide search results on Escape key on desktop too for
Alikiby @ccmywish in #1593 - Fix visit_call_node visit arguments twice by @tompng in #1596
- Fix accept_table with incomplete rows by @st0012 in #1599
- Fix sections not displaying their text by @Earlopain in #1600
- Ignore visibility method, attr definition, module_function within block by @tompng in #1595
- Fix broken legacy rdoc-ref labels and duplicate heading IDs by @st0012 in #1602
- Add unique IDs to section headings in Aliki template by @st0012 in #1603
- Fix RDoc::Attr#add_alias handling of aliased attribute accessor by @extern-c in #1605
📚 Documentation
- Fix broken RDoc Markup Reference link in RDoc::Comment by @extern-c in #1566
- Add missing quote for 'unknown' by @p8 in #1589
🛠 Other Changes
- Bump ruby/setup-ruby from 1.281.0 to 1.284.0 by @dependabot[bot] in #1569
- Fix a test that uses invalid syntax by @Earlopain in #1577
- Removed truffleruby from CI by @hsbt in #1586
- Bump ruby/setup-ruby from 1.284.0 to 1.286.0 by @dependabot[bot] in #1582
- Bump step-security/harden-runner from 2.14.0 to 2.14.1 by @dependabot[bot] in #1583
- Bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in #1584
- Bump ruby/setup-ruby from 1.286.0 to 1.287.0 by @dependabot[bot] in #1594
- Add
/release-checkClaude Code skill by @st0012 in #1604 - Bump ruby/setup-ruby from 1.287.0 to 1.288.0 by @dependabot[bot] in #1606
- Bump step-security/harden-runner from 2.14.1 to 2.14.2 by @dependabot[bot] in #1607
- Bump version to 7.2.0 by @st0012 in #1608
New Contributors
Full Changelog: v7.1.0...v7.2.0
v7.1.0
What's Changed
✨ Enhancements
- Support GitHub style markdown heading anchor and link reference by @st0012 in #1540
- Allow using backticks to quote text in RDoc markup too by @st0012 in #1551
🐛 Bug Fixes
- Fix comment_location for merged ClassModule by @tompng in #1531
- Prevent style rendering in code blocks by @st0012 in #1536
- Improve code block language detection by @st0012 in #1538
- Fix Markdown strikethrough (
~~text~~) not rendering in HTML output by @st0012 in #1541 - Define
Markup::Headingas a struct on rubies older than v4.0.0 by @vinistock in #1549 - Fix cross-reference resolution for constants by @extern-c in #1539
📚 Documentation
- Rebuild RDoc markup documentation by @st0012 in #1542
- [DOC] Remove italic bold styling inside codeblock by @tompng in #1552
- Use playwright MCP as the recommended way to test RDoc end to end by @st0012 in #1545
- Fix broken RDoc Markup Reference links in RDoc::Markup by @extern-c in #1560
🛠 Other Changes
- Bump ruby/setup-ruby from 1.275.0 to 1.276.0 by @dependabot[bot] in #1534
- Simplify newline handling of comment token in TokenStream#to_html by @tompng in #1532
- Bump setup-ruby to the latest release by @st0012 in #1543
- Use class for highlight selector by @st0012 in #1546
- Align strikethrough support with GitHub Markdown by @st0012 in #1548
- Bump ruby/setup-ruby from 1.278.0 to 1.281.0 by @dependabot[bot] in #1561
- Bump version to v7.1.0 by @vinistock in #1562
Full Changelog: v7.0.3...v7.1.0
v7.0.3
What's Changed
🐛 Bug Fixes
📚 Documentation
- Mention the comment type annotations in docs by @vinistock in #1522
🛠 Other Changes
- Bump ruby/setup-ruby from 1.270.0 to 1.275.0 by @dependabot[bot] in #1517
- Fix "statement not reached" warnings by @nobu in #1518
- Standardize table and heading markup elements by @vinistock in #1389
- Standardize HardBreak markup by @vinistock in #1519
- Standardize BlankLine markup by @vinistock in #1520
- Standardize Raw markup by @vinistock in #1521
Full Changelog: v7.0.2...v7.0.3
v7.0.2
What's Changed
🐛 Bug Fixes
- Fix class/module alias document having wrong name by @tompng in #1515
- Change sidebar hiding strategy to avoid flickering on mobile devices by @st0012 in #1516
- Fix search dropdown behaviour by @st0012 in #1512
🛠 Other Changes
- Fix herb linting errors in ERB templates by @st0012 in #1514
- Reduce sidebar list item padding by @st0012 in #1513
Full Changelog: v7.0.1...v7.0.2
v7.0.1
What's Changed
🐛 Bug Fixes
- [Aliki] Fix search result type styling on mobile by @Earlopain in #1509
- Make sure path link in footers work correctly by @st0012 in #1508
🛠 Other Changes
Full Changelog: v7.0.0...v7.0.1
v7.0.0
What's Changed
✨ Enhancements
🐛 Bug Fixes
- Fix method source code not created if a method's description is skipped by @extern-c in #1488
- Fix call-seq deduplicate for name overlap in aliases by @tompng in #1491
📚 Documentation
🛠 Other Changes
- Bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #1490
- Bump step-security/harden-runner from 2.13.2 to 2.13.3 by @dependabot[bot] in #1489
- ci: Ensure using pinned actions/checkout by @kou in #1493
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #1499
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #1501
- Bump step-security/harden-runner from 2.13.3 to 2.14.0 by @dependabot[bot] in #1500
- Bump setup-ruby to v1.270.0 by @st0012 in #1503
- Change the default theme to Aliki by @st0012 in #1502
- Bump RDoc version to 7.0.0 by @st0012 in #1506
New Contributors
Full Changelog: v6.17.0...v7.0.0
v6.17.0
What's Changed
✨ Enhancements
- Aliki: Add padding to TOC by @Earlopain in #1481
- Apply markup in table cell by @ksss in #1483
- Improve main sidebar by @st0012 in #1485
🐛 Bug Fixes
- Aliki: Make hamburger toggle non-selectable by @Earlopain in #1480
- Remove align-self from nav that restricted toc-list width by @tompng in #1486
- Fix source code styling issues by @st0012 in #1487
🛠 Other Changes
- Bump actions/checkout from 5.0.1 to 6.0.0 by @dependabot[bot] in #1482
New Contributors
Full Changelog: v6.16.1...v6.17.0