Skip to content

Upgrading rdoc 5 to 6

Breaking5.1.0 → 6.17.0Breaking4Security3Platform1Deprecated1New27Changed41Fixed75Other190

Fetching 50 releases from GitHub…25 / 50
BreakingUpgrade verdict

4 breaking changes and a platform requirement change and 3 security fixes.

  • Code that passes a file name when creating a parser will need to stop doing so.
  • Drops the unnecessary file_name parameter from Parser.for.
  • Makes Options a required constructor argument of Store.
  • Code that passed a Document object where a comment is expected will no longer work.
Top 5 of 9 that need code or config changes

Ruby requirement changed in 6.6.0: >= 1.9.3 → >= 2.6.0.

Adds erb >= 0, psych >= 4.0.0, tsort >= 0.

Breaking4
Removes the unnecessary file_name parameter from Parser#initialize.
Parser#initializefile_name
Drops the unnecessary file_name parameter from Parser.for.
Parser.for
Makes Options a required constructor argument of Store.
OptionsStore
Stops accepting Document objects as CodeObject#comment.
CodeObject#commentDocument
Security3
Fixes a ReDoS vulnerability.
Isolates the root dir when specified.
RDoc RCE vulnerability with .rdoc_options
Low · CVSS 4.5
Platform1
Drops support for Ruby 2.5 or earlier because of CVE-2021-31799.
Deprecated1
Deprecates the main and title directives.
maintitle

Generated by DepDelta from published Ruby source. Not mixed with prose notes.

  • removed: const IDENT_RE
  • added: const ParseError
  • added: const Racc.Copyright
  • added: const Racc.Racc_No_Extensions
  • added: const Racc.VERSION
  • added: const Racc.Version
  • added: module Racc
  • added: static method RDoc.home()
  • removed: class Gauntlet < Gauntlet
  • removed: class RubyLex
  • removed: class TestCase < MiniTest::Unit::TestCase
  • removed: const RubyToken.EXPR_ARG
  • removed: const RubyToken.EXPR_BEG
  • removed: const RubyToken.EXPR_CLASS
  • removed: const RubyToken.EXPR_DOT
  • removed: const RubyToken.EXPR_END
  • removed: const RubyToken.EXPR_FNAME
  • removed: const RubyToken.EXPR_MID
  • removed: const RubyToken.Symbol
  • removed: const RubyToken.TkReading2Token
  • removed: const RubyToken.TkSymbol2Token
  • removed: const RubyToken.TkToken2Reading
  • removed: const RubyToken.TokenDefinitions
  • removed: constructor Gauntlet()
  • removed: constructor RubyLex(_, _)
  • removed: method Alias.full_old_name()
  • removed: method ClassModule.comment()
  • removed: method CodeObject.each_parent()
  • removed: method CodeObject.full_name()
  • removed: method Comment.force_encoding(_)
  • removed: method Comment.format()
  • removed: method Constant.store()
  • removed: method Context.defined_in?(_)
  • removed: method Context.each_attribute()
  • removed: method Context.each_constant()
  • removed: method Context.each_extend()
  • removed: method Context.each_include()
  • removed: method Context.find_file_named(_)
  • removed: method Gauntlet.run(_)
  • removed: method Gauntlet.run_the_gauntlet(_ = …, _ = …)
  • removed: method Markdown._NonAlphanumeric()
  • removed: method Markdown._OneStarClose()
  • removed: method Markdown._OneStarOpen()
  • removed: method Markdown._OneUlClose()
  • removed: method Markdown._OneUlOpen()
  • removed: method Markdown._TwoStarClose()
  • removed: method Markdown._TwoStarOpen()
  • removed: method Markdown._TwoUlClose()
  • removed: method Markdown._TwoUlOpen()
  • removed: method Markup.add_special(_, _)
  • removed: method MethodAttr.store()
  • removed: method Mixin.store()
  • removed: method Options.encode_with(_)
  • removed: method RubyToken.Token(_, _ = …)
  • removed: method RubyToken.set_token_position(_, _)
  • removed: method RubygemsHook.delete_legacy_args(_)
  • removed: method RubygemsHook.document(_, _, _)
  • removed: method RubygemsHook.new_rdoc()
  • removed: method RubygemsHook.setup()
  • removed: method Stats.coverage_level()
  • removed: method TestCase.setup()
  • removed: method TopLevel.base_name()
  • removed: method TopLevel.display?()
  • removed: method TopLevel.last_modified()
  • removed: method TopLevel.name()
  • removed: method TopLevel.page_name()
  • removed: module RubyToken
  • removed: property AnyMethod.call_seq: reader
  • removed: property AnyMethod.params: accessor
  • removed: property ClassModule.diagram: accessor
  • removed: property CodeObject.offset: accessor
  • removed: property CodeObject.viewer: accessor
  • removed: property MethodAttr.param_seq: reader
  • removed: property RDoc.exclude: accessor
  • removed: property RubyLex.continue: accessor
  • removed: property RubyLex.lex_state: accessor
  • removed: property RubyLex.reader: reader
  • removed: property Store.rdoc: accessor
  • removed: property TopLevel.diagram: accessor
  • removed: property TopLevel.file_stat: accessor
  • removed: static method Encoding.read_file(_, _, _ = …)
  • removed: static method Encoding.remove_frozen_string_literal(_)
  • removed: static method Encoding.set_encoding(_)
  • removed: static method Parser.process_directive(_, _, _)
  • removed: static method RubyLex.debug?()
  • removed: static method RubyLex.tokenize(_, _)
  • removed: static method RubyToken.def_token(_, _ = …, _ = …, *)
  • removed: static property MethodAttr.add_line_numbers: accessor
  • removed: static property RubyLex.debug_level: accessor
  • removed: static property RubygemsHook.rdoc_version: reader
  • changed: constructor Alias(_, _, _, _, _ = …) → constructor Alias(_, _, _, _, singleton: …)
  • changed: constructor AnyMethod(_, _) → constructor AnyMethod(_, _, singleton: …)
  • changed: constructor Attr(_, _, _, _, _ = …) → constructor Attr(_, _, _, _, singleton: …)
  • changed: constructor Comment(_ = …, _ = …) → constructor Comment(_ = …, _ = …, _ = …)
  • changed: constructor ERBIO(_, _ = …, _ = …, _ = …) → constructor ERBIO(_, trim_mode: …, eoutvar: …)
  • changed: constructor MethodAttr(_, _) → constructor MethodAttr(_, _, singleton: …)
  • changed: constructor Options() → constructor Options(_ = …)
  • changed: constructor Parser(_, _, _, _, _) → constructor Parser(_, _, _, _)
  • changed: constructor Store(_ = …, _ = …) → constructor Store(_, path: …, type: …)
  • changed: method Comment.extract_call_seq(_) → method Comment.extract_call_seq()
  • changed: method Context.add_module_alias(_, _, _) → method Context.add_module_alias(_, _, _, _)
  • changed: method Context.http_url(_) → method Context.http_url()
  • changed: method Store.add_file(_, _ = …) → method Store.add_file(_, relative_name: …, parser: …)
  • changed: method Text.expand_tabs(_) → static method Text.expand_tabs(_)
  • changed: method TokenStream.add_token(*) → method TokenStream.add_token(_)
  • changed: method TokenStream.add_tokens(*) → method TokenStream.add_tokens(_)
  • changed: method TokenStream.collect_tokens() → method TokenStream.collect_tokens(_)
  • changed: method TokenStream.start_collecting_tokens() → method TokenStream.start_collecting_tokens(_)
  • changed: method TopLevel.http_url(_) → method TopLevel.http_url()
  • changed: property Alias.singleton: accessor → property Alias.singleton: reader
  • changed: property Options.exclude: accessor → property Options.exclude: writer
  • changed: property RDoc.store: reader → property RDoc.store: accessor
  • changed: property TopLevel.parser: accessor → property TopLevel.parser: reader
  • changed: static method Parser.for(_, _, _, _, _) → static method Parser.for(_, _, _, _)
  • added: class RubyGemsHook
  • added: const CrossReference.METHOD_ARGS_REGEXP_STR
  • added: const CrossReference.METHOD_ARG_REGEXP_STR
  • added: const Encoding.HEADER_REGEXP
  • added: const Options.DEFAULT_EXCLUDE
  • added: const RDoc.TEST_SUITE_DIRECTORY_NAMES
  • added: const RDoc.UNCONDITIONALLY_SKIPPED_DIRECTORIES
  • added: const Text.SPACE_SEPARATED_LETTER_CLASS
  • added: constructor RDoc()
  • added: constructor RubyGemsHook(_, _ = …, _ = …)
  • added: method AnyMethod.has_call_seq?()
  • added: method AnyMethod.is_alias_for()
  • added: method AnyMethod.marshal_dump()
  • added: method AnyMethod.marshal_load(_)
  • added: method AnyMethod.name()
  • added: method AnyMethod.param_list()
  • added: method AnyMethod.param_seq()
  • added: method AnyMethod.skip_description?()
  • added: method AnyMethod.superclass_method()
  • added: method ClassModule.complete(_)
  • added: method ClassModule.document_self_or_methods()
  • added: method ClassModule.documented?()
  • added: method ClassModule.each_ancestor()
  • added: method ClassModule.embed_mixins()
  • added: method ClassModule.find_ancestor_local_symbol(_)
  • added: method ClassModule.find_class_named(_)
  • added: method ClassModule.full_name()
  • added: method ClassModule.fully_qualified_nesting_namespaces()
  • added: method ClassModule.marshal_dump()
  • added: method ClassModule.marshal_load(_)
  • added: method ClassModule.merge(_)
  • added: method ClassModule.merge_collections(_, _, _)
  • added: method ClassModule.merge_sections(_)
  • added: method ClassModule.module?()
  • added: method ClassModule.name_for_path()
  • added: method ClassModule.nesting_namespaces()
  • added: method ClassModule.non_aliases()
  • added: method ClassModule.parse(_)
  • added: method ClassModule.path()
  • added: method ClassModule.remove_nodoc_children()
  • added: method ClassModule.remove_things(_, _)
  • added: method ClassModule.search_record()
  • added: method ClassModule.super_classes()
  • added: method ClassModule.superclass()
  • added: method ClassModule.to_s()
  • added: method ClassModule.type()
  • added: method ClassModule.update_aliases()
  • added: method ClassModule.update_extends()
  • added: method ClassModule.update_includes()
  • added: method CodeObject.ignore()
  • added: method CodeObject.ignored?()
  • added: method CodeObject.options()
  • added: method CodeObject.parent()
  • added: method CodeObject.parent_name()
  • added: method CodeObject.record_location(_)
  • added: method CodeObject.section()
  • added: method CodeObject.start_doc()
  • added: method CodeObject.stop_doc()
  • added: method CodeObject.suppress()
  • added: method CodeObject.suppressed?()
  • added: method Comment.encode!(_)
  • added: method Comment.inspect()
  • added: method Comment.normalize()
  • added: method Comment.normalized?()
  • added: method Comment.parse()
  • added: method Comment.remove_private()
  • added: method Comment.tomdoc?()
  • added: method Constant.to_s()
  • added: method Context.add_module_by_normal_module(_)
  • added: method Context.instance_methods()
  • added: method Context.set_constant_visibility_for(_, _)
  • added: method CrossReference.resolve_method(_)
  • added: method Markdown._ExplicitLinkWithLabel()
  • added: method Markdown._HtmlBlockCloseHead()
  • added: method Markdown._HtmlBlockHead()
  • added: method Markdown._HtmlBlockOpenHead()
  • added: method Markdown._Strike()
  • added: method Markdown._Table()
  • added: method Markdown._TableAlign()
  • added: method Markdown._TableAlign2()
  • added: method Markdown._TableHead()
  • added: method Markdown._TableItem()
  • added: method Markdown._TableItem2()
  • added: method Markdown._TableLine()
  • added: method Markdown._TableRow()
  • added: method Markdown._Whitespace()
  • added: method Markdown.code(_)
  • added: method Markdown.current_character(_ = …)
  • added: method Markdown.current_pos_info(_ = …)
  • added: method Markdown.get_line(_)
  • added: method Markdown.parse_cell_inline(_)
  • added: method Markdown.parse_table_cells(_)
  • added: method Markdown.position_line_offsets()
  • added: method Markdown.strike(_)
  • added: method Markup.add_regexp_handling(_, _)
  • added: method MethodAttr.add_alias(_, _)
  • added: method MethodAttr.aref()
  • added: method MethodAttr.aref_prefix()
  • added: method MethodAttr.find_method_or_attribute(_)
  • added: method MethodAttr.find_see()
  • added: method MethodAttr.full_name()
  • added: method MethodAttr.html_name()
  • added: method MethodAttr.inspect()
  • added: method MethodAttr.name_ord_range()
  • added: method MethodAttr.name_prefix()
  • added: method MethodAttr.parent_name()
  • added: method MethodAttr.path()
  • added: method MethodAttr.pretty_name()
  • added: method MethodAttr.pretty_print(_)
  • added: method MethodAttr.search_record()
  • added: method MethodAttr.to_s()
  • added: method MethodAttr.type()
  • added: method Mixin.to_s()
  • added: method Options.exclude()
  • added: method Options.override(_)
  • added: method Options.sanitize_path(_)
  • added: method Options.setup_generator(_ = …)
  • added: method Options.template_dir_for(_)
  • added: method Options.to_yaml(*)
  • added: method Options.warn(_)
  • added: method Options.write_options()
  • added: method Parser.handle_tab_width(_)
  • added: method RDoc.document(_)
  • added: method RDoc.error(_)
  • added: method RDoc.gather_files(_)
  • added: method RDoc.generate()
  • added: method RDoc.handle_pipe()
  • added: method RDoc.install_siginfo_handler()
  • added: method RDoc.list_files_in_directory(_)
  • added: method RDoc.normalized_file_list(_, _ = …, _ = …)
  • added: method RDoc.output_flag_file(_)
  • added: method RDoc.parse_dot_doc_file(_, _)
  • added: method RDoc.parse_file(_)
  • added: method RDoc.parse_files(_)
  • added: method RDoc.remove_siginfo_handler()
  • added: method RDoc.remove_unparseable(_)
  • added: method RDoc.setup_output_dir(_, _)
  • added: method RDoc.update_output_dir(_, _, _ = …)
  • added: method RubyGemsHook.delete_legacy_args(_)
  • added: method RubyGemsHook.document(_, _, _)
  • added: method RubyGemsHook.generate()
  • added: method RubyGemsHook.new_rdoc()
  • added: method RubyGemsHook.rdoc_installed?()
  • added: method RubyGemsHook.remove()
  • added: method RubyGemsHook.ri_installed?()
  • added: method RubyGemsHook.setup()
  • added: method SingleClass.pretty_print(_)
  • added: method Stats.doc_stats(_)
  • added: method Stats.done_adding()
  • added: method Stats.fully_documented?()
  • added: method Stats.great_job()
  • added: method Stats.percent_doc()
  • added: method Stats.report()
  • added: method Stats.report_attributes(_)
  • added: method Stats.report_class_module(_)
  • added: method Stats.report_constants(_)
  • added: method Stats.report_methods(_)
  • added: method Stats.summary()
  • added: method Stats.undoc_params(_)
  • added: method Store.resolve_c_superclasses()
  • added: method Store.unique_classes()
  • added: method Store.unique_classes_and_modules()
  • added: method Store.unique_modules()
  • added: method Store.update_parser_of_file(_, _)
  • added: method Task.coverage_task_description()
  • added: method TokenStream.source_language()
  • added: property AnyMethod.section_title: accessor
  • added: property CodeObject.mixin_from: accessor
  • added: property Comment.line: accessor
  • added: property Comment.to_s: reader
  • added: property Options.apply_default_exclude: reader
  • added: property Options.autolink_excluded_words: accessor
  • added: property Options.canonical_root: accessor
  • added: property Options.class_module_path_prefix: accessor
  • added: property Options.embed_mixins: accessor
  • added: property Options.file_path_prefix: accessor
  • added: property Options.footer_content: accessor
  • added: property Options.skip_tests: accessor
  • added: property Options.warn_missing_rdoc_ref: accessor
  • added: property RubyGemsHook.force: accessor
  • added: property RubyGemsHook.generate_rdoc: accessor
  • added: property RubyGemsHook.generate_ri: accessor
  • added: property Store.options: reader
  • added: property Store.unmatched_constant_alias: reader
  • added: property Text.language: accessor
  • added: property TopLevel.base_name: reader
  • added: property TopLevel.name: reader
  • added: property TopLevel.page_name: reader
  • added: protected method AnyMethod._call_seq()
  • added: set AnyMethod.call_seq(_)
  • added: set AnyMethod.store(_)
  • added: set ClassModule.comment(_)
  • added: set ClassModule.name(_)
  • added: set ClassModule.store(_)
  • added: set ClassModule.superclass(_)
  • added: set CodeObject.full_name(_)
  • added: set CodeObject.store(_)
  • added: set Comment.format(_)
  • added: set Comment.normalized(_)
  • added: set Comment.text(_)
  • added: set Constant.store(_)
  • added: set MethodAttr.block_params(_)
  • added: set MethodAttr.store(_)
  • added: set Mixin.store(_)
  • added: set Options.quiet(_)
  • added: set Options.visibility(_)
  • added: set Stats.coverage_level(_)
  • added: set Store.title(_)
  • added: set TopLevel.parser(_)
  • added: static method Comment.from_document(_)
  • added: static method Comment.parse(_, _, _, _)
  • added: static method Options.load_options()
  • added: static method RubyGemsHook.generate(_, _)
  • added: static method RubyGemsHook.load_rdoc()
  • added: static method RubyGemsHook.remove(_)
  • added: static method RubygemsHook.default_gem?()
  • added: static method RubygemsHook.rdoc_version()
  • added: static property RubyGemsHook.rdoc_version: reader
  • added: static set RDoc.current(_)
  • removed: const Darkfish.GENERATOR_DIR
  • removed: const Darkfish.SVNID_PATTERN
  • removed: method Darkfish.class_dir()
  • removed: method Darkfish.file_dir()
  • removed: method Darkfish.get_svninfo(_)
  • removed: method Darkfish.time_delta_string(_)
  • removed: method JsonIndex.class_dir()
  • removed: method JsonIndex.file_dir()
  • removed: method POT.class_dir()
  • added: class Aliki < RDoc::Generator::Darkfish
  • added: const Darkfish.ParagraphExcerptRegexpOther
  • added: const Darkfish.ParagraphExcerptRegexpUnicode
  • added: constructor Aliki(_, _)
  • added: method Aliki.write_style_sheet()
  • added: method Darkfish.excerpt(_)
  • added: method Darkfish.generate_ancestor_list(_, _)
  • added: method Darkfish.generate_class_index_content(_, _)
  • added: method Darkfish.generate_class_link(_, _)
  • added: method Darkfish.group_classes_by_namespace_for_sidebar(_)
  • added: method Darkfish.traverse_classes(_, _, _, _ = …)
  • added: method Markup.canonical_url()
  • added: class KpegPosInfo < Struct.new(:pos, :lno, :col, :line, :char)
  • added: method Literals.current_character(_ = …)
  • added: method Literals.current_pos_info(_ = …)
  • added: method Literals.get_line(_)
  • added: method Literals.position_line_offsets()
  • added: class KpegPosInfo < Struct.new(:pos, :lno, :col, :line, :char)
  • removed: class FormatterTestCase < RDoc::TestCase
  • removed: class Special
  • removed: class TextFormatterTestCase < RDoc::Markup::FormatterTestCase
  • removed: constructor Special(_, _)
  • removed: method Document.file()
  • removed: method Formatter.add_special_RDOCLINK()
  • removed: method Formatter.add_special_TIDYLINK()
  • removed: method Formatter.convert_special(_)
  • removed: method FormatterTestCase.setup()
  • removed: method Parser.char_pos(_)
  • removed: method Parser.token_pos(_)
  • removed: method Special.==(_)
  • removed: method Special.inspect()
  • removed: method Special.to_s()
  • removed: method ToBs.convert_special(_)
  • removed: method ToHtmlCrossref.handle_special_CROSSREF(_)
  • removed: method ToHtmlCrossref.handle_special_HYPERLINK(_)
  • removed: method ToHtmlSnippet.handle_special_CROSSREF(_)
  • removed: method ToHtmlSnippet.handle_special_HARD_BREAK(_)
  • removed: method ToLabel.handle_special_CROSSREF(_)
  • removed: method ToLabel.handle_special_HARD_BREAK()
  • removed: method ToLabel.handle_special_TIDYLINK(_)
  • removed: method ToMarkdown.handle_special_HARD_BREAK(_)
  • removed: method ToMarkdown.handle_special_RDOCLINK(_)
  • removed: method ToMarkdown.handle_special_TIDYLINK(_)
  • removed: method ToRdoc.handle_special_HARD_BREAK(_)
  • removed: method ToRdoc.handle_special_SUPPRESSED_CROSSREF(_)
  • removed: property AttributeManager.special: reader
  • removed: property Attributes.special: reader
  • removed: property Special.text: accessor
  • removed: property Special.type: reader
  • removed: static method FormatterTestCase.add_visitor_tests()
  • removed: static method TextFormatterTestCase.add_text_tests()
  • changed: constructor AttrSpan(_) → constructor AttrSpan(_, _)
  • changed: method AttributeManager.convert_attrs(_, _) → method AttributeManager.convert_attrs(_, _, _ = …)
  • changed: method ToHtmlCrossref.cross_reference(_, _ = …) → method ToHtmlCrossref.cross_reference(_, _ = …, _ = …, rdoc_ref: …)
  • added: class RegexpHandling
  • added: class Table
  • added: const AttributeManager.NON_PRINTING_END
  • added: const AttributeManager.NON_PRINTING_START
  • added: const ToHtml.URL_CHARACTERS_REGEXP_STR
  • added: const ToRdoc.DEFAULT_HEADINGS
  • added: constructor RegexpHandling(_, _)
  • added: constructor Table(_, _, _)
  • added: method AttributeManager.add_html(_, _, _ = …)
  • added: method AttributeManager.add_regexp_handling(_, _, _ = …)
  • added: method AttributeManager.add_word_pair(_, _, _, _ = …)
  • added: method AttributeManager.convert_attrs_matching_word_pairs(_, _, _)
  • added: method AttributeManager.convert_attrs_word_pair_map(_, _, _)
  • added: method AttributeManager.convert_html(_, _, _ = …)
  • added: method AttributeManager.convert_regexp_handlings(_, _, _ = …)
  • added: method AttributeManager.display_attributes()
  • added: method AttributeManager.exclusive?(_)
  • added: method AttributeManager.flow(_)
  • added: method AttributeManager.mask_protected_sequences()
  • added: method AttributeManager.match_length(_)
  • added: method AttributeManager.split_into_flow()
  • added: method AttributeManager.unmask_protected_sequences()
  • added: method Document.merge(_)
  • added: method Document.merged?()
  • added: method Document.pretty_print(_)
  • added: method Document.push(*)
  • added: method Document.table_of_contents()
  • added: method Formatter.add_regexp_handling_RDOCLINK()
  • added: method Formatter.add_regexp_handling_TIDYLINK()
  • added: method Formatter.convert_regexp_handling(_)
  • added: method Formatter.each_attr_tag(_, _ = …)
  • added: method Formatter.tt_tag?(_, _ = …)
  • added: method RegexpHandling.==(_)
  • added: method RegexpHandling.inspect()
  • added: method RegexpHandling.to_s()
  • added: method Table.==(_)
  • added: method Table.accept(_)
  • added: method Table.pretty_print(_)
  • added: method ToAnsi.calculate_text_width(_)
  • added: method ToBs.accept_list_item_start(_)
  • added: method ToBs.calculate_text_width(_)
  • added: method ToBs.convert_regexp_handling(_)
  • added: method ToHtml.init_link_notation_regexp_handlings()
  • added: method ToHtml.init_regexp_handlings()
  • added: method ToHtmlCrossref.init_link_notation_regexp_handlings()
  • added: method ToHtmlSnippet.handle_regexp_CROSSREF(_)
  • added: method ToHtmlSnippet.handle_regexp_HARD_BREAK(_)
  • added: method ToJoinedParagraph.accept_table()
  • added: method ToLabel.handle_regexp_CROSSREF(_)
  • added: method ToLabel.handle_regexp_HARD_BREAK()
  • added: method ToLabel.handle_regexp_TIDYLINK(_)
  • added: method ToMarkdown.handle_regexp_HARD_BREAK(_)
  • added: method ToMarkdown.handle_regexp_RDOCLINK(_)
  • added: method ToMarkdown.handle_regexp_TIDYLINK(_)
  • added: method ToRdoc.accept_table(_, _, _)
  • added: method ToRdoc.calculate_text_width(_)
  • added: method ToRdoc.handle_regexp_HARD_BREAK(_)
  • added: method ToRdoc.handle_regexp_SUPPRESSED_CROSSREF(_)
  • added: method ToTableOfContents.accept_table()
  • added: property AttributeManager.exclusive_bitmap: reader
  • added: property AttributeManager.regexp_handlings: reader
  • added: property Attributes.regexp_handling: reader
  • added: property RegexpHandling.text: accessor
  • added: property RegexpHandling.type: reader
  • added: property Table.align: accessor
  • added: property Table.body: accessor
  • added: property Table.header: accessor
  • added: set Document.file(_)
  • added: class MyStringScanner
  • added: constructor MyStringScanner(_)
  • added: method MyStringScanner.[](_)
  • added: method MyStringScanner.eos?()
  • added: method MyStringScanner.matched()
  • added: method MyStringScanner.newline!()
  • added: method MyStringScanner.pos()
  • added: method MyStringScanner.scan(_)
  • added: method MyStringScanner.unscan(_)
  • removed: method C.deduplicate_call_seq()
  • removed: method C.deduplicate_method_name(_, _)
  • removed: method C.do_classes()
  • removed: method C.do_constants()
  • removed: method C.do_missing()
  • removed: method C.do_modules()
  • removed: method C.do_singleton_class()
  • removed: method C.do_struct_define_without_accessor()
  • removed: method C.find_alias_comment(_, _, _)
  • removed: method C.find_attr_comment(_, _, _ = …, _ = …)
  • removed: method C.find_body(_, _, _, _, _ = …)
  • removed: method C.gen_body_table(_)
  • removed: method Ruby.get_constant_with_optional_parens()
  • removed: method Ruby.stop_at_EXPR_END()
  • removed: method Simple.remove_private_comment(_)
  • changed: constructor C(_, _, _, _, _) → constructor C(_, _, _, _)
  • changed: constructor Ruby(_, _, _, _, _) → constructor Ruby(_, _, _, _)
  • changed: constructor Simple(_, _, _, _, _) → constructor Simple(_, _, _, _)
  • changed: method Ruby.new_comment(_) → method Ruby.new_comment(_, _ = …)
  • changed: method RubyTools.skip_tkspace(_ = …) → method RubyTools.skip_tkspace()
  • added: class PrismRuby < RDoc::Parser
  • added: class RipperStateLex
  • added: const C.BOOL_ARG_PATTERN
  • added: const C.TRUE_VALUES
  • added: const RipperStateLex.EXPR_ARG
  • added: const RipperStateLex.EXPR_END
  • added: const RipperStateLex.EXPR_ENDFN
  • added: const RipperStateLex.EXPR_FNAME
  • added: constructor PrismRuby(_, _, _, _)
  • added: constructor RipperStateLex(_)
  • added: method C.add_alias(_, _, _, _, _)
  • added: method C.do_classes_and_modules()
  • added: method PrismRuby.add_alias_method(_, _, _)
  • added: method PrismRuby.add_attributes(_, _, _)
  • added: method PrismRuby.add_constant(_, _, _, _)
  • added: method PrismRuby.add_extends(_, _)
  • added: method PrismRuby.add_includes(_, _)
  • added: method PrismRuby.add_includes_extends(_, _, _)
  • added: method PrismRuby.add_method(_, receiver_name:, receiver_fallback_type:, visibility:, singleton:, params:, calls_super:, block_params:, tokens:, start_line:, args_end_line:, end_line:)
  • added: method PrismRuby.add_module_or_class(_, _, _, is_class: …, superclass_name: …, superclass_expr: …)
  • added: method PrismRuby.call_node_name_arguments(_)
  • added: method PrismRuby.change_method_to_module_function(_)
  • added: method PrismRuby.change_method_visibility(_, _, singleton: …)
  • added: method PrismRuby.consecutive_comment(_)
  • added: method PrismRuby.file_line_comment_token(_)
  • added: method PrismRuby.find_or_create_constant_owner_name(_)
  • added: method PrismRuby.find_or_create_module_path(_, _)
  • added: method PrismRuby.handle_code_object_directives(_, _)
  • added: method PrismRuby.handle_meta_method_comment(_, _, _)
  • added: method PrismRuby.handle_modifier_directive(_, _)
  • added: method PrismRuby.handle_standalone_consecutive_comment_directive(_, _, _, _, _)
  • added: method PrismRuby.has_modifier_nodoc?(_)
  • added: method PrismRuby.normal_comment_treat_as_ghost_method_for_now?(_, _)
  • added: method PrismRuby.parse_comment_text_to_directives(_, _)
  • added: method PrismRuby.parse_comment_tomdoc(_, _, _, _)
  • added: method PrismRuby.prepare_comments(_)
  • added: method PrismRuby.prepare_line_nodes(_)
  • added: method PrismRuby.process_comments_until(_)
  • added: method PrismRuby.record_location(_)
  • added: method PrismRuby.resolve_constant_path(_)
  • added: method PrismRuby.scan()
  • added: method PrismRuby.should_document?(_)
  • added: method PrismRuby.skip_comments_until(_)
  • added: method PrismRuby.slice_tokens(_, _)
  • added: method PrismRuby.visible_tokens_from_location(_)
  • added: method PrismRuby.with_container(_, singleton: …)
  • added: method PrismRuby.with_in_proc_block()
  • added: method RipperStateLex.get_squashed_tk()
  • added: method Ruby.get_included_module_with_optional_parens()
  • added: method Ruby.skip_parentheses()
  • added: method Ruby.tk_nl?(_)
  • added: method RubyTools.skip_tkspace_without_nl()
  • added: property PrismRuby.container: reader
  • added: property PrismRuby.singleton: reader
  • added: property PrismRuby.visibility: accessor
  • added: static method RipperStateLex.end?(_)
  • added: static method RipperStateLex.parse(_)
  • added: class RDocVisitor < Prism::Visitor
  • added: constructor RDocVisitor(_, _, _)
  • added: method RDocVisitor.visit_alias_method_node(_)
  • added: method RDocVisitor.visit_block_node(_)
  • added: method RDocVisitor.visit_call_node(_)
  • added: method RDocVisitor.visit_class_node(_)
  • added: method RDocVisitor.visit_constant_path_write_node(_)
  • added: method RDocVisitor.visit_constant_write_node(_)
  • added: method RDocVisitor.visit_def_node(_)
  • added: method RDocVisitor.visit_if_node(_)
  • added: method RDocVisitor.visit_module_node(_)
  • added: method RDocVisitor.visit_singleton_class_node(_)
  • added: method RDocVisitor.visit_unless_node(_)
  • added: class MethodSignatureVisitor < Prism::Visitor
  • added: constructor MethodSignatureVisitor()
  • added: method MethodSignatureVisitor.visit_def_node(_)
  • added: method MethodSignatureVisitor.visit_forwarding_super_node(_)
  • added: method MethodSignatureVisitor.visit_super_node(_)
  • added: method MethodSignatureVisitor.visit_yield_node(_)
  • added: property MethodSignatureVisitor.calls_super: reader
  • added: property MethodSignatureVisitor.params: reader
  • added: property MethodSignatureVisitor.yields: reader
  • added: static method MethodSignatureVisitor.scan_signature(_)
  • added: class InnerStateLex < Ripper::Filter
  • added: class Token < Struct.new(:line_no, :char_no, :kind, :text, :state)
  • added: constructor InnerStateLex(_)
  • added: method InnerStateLex.on_default(_, _, _)
  • removed: const BlockParser.TMPFILE
  • removed: method Driver.find_pager_jruby(_)
  • removed: method Driver.in_path?(_)
  • changed: method Driver.method_document(_, _) → method Driver.method_document(_, _, _)
  • changed: method Driver.render_method_comment(_, _) → method Driver.render_method_comment(_, _, _ = …)
  • added: const Driver.RDOC_REFS_REGEXP
  • added: method Driver.check_did_you_mean()
  • added: method Driver.expand_rdoc_refs_at_the_bottom(_)
  • added: constructor NotFoundError(_, _ = …)
  • removed: class Error < RDoc::Error
  • removed: class NEWLINE_TOKEN < TkNL.new
  • removed: class TkError < Token
  • removed: class TkId < Token
  • removed: class TkKW < TkId
  • removed: class TkNode < Token
  • removed: class TkOPASGN < TkOp
  • removed: class TkOp < Token
  • removed: class TkSYMBOL
  • removed: class TkUnknownChar < Token
  • removed: class TkVal < Token
  • removed: class Token
  • removed: constructor TkId(_, _, _, _)
  • removed: constructor TkNode(_, _, _, _ = …)
  • removed: constructor TkOPASGN(_, _, _, _)
  • removed: constructor TkOp(_, _, _, _ = …)
  • removed: constructor TkUnknownChar(_, _, _, _)
  • removed: constructor TkVal(_, _, _, _ = …)
  • removed: constructor Token(_, _, _, _ = …)
  • removed: method TkId.==(_)
  • removed: method TkId.inspect()
  • removed: method TkId.set_text(_)
  • removed: method TkId.text()
  • removed: method TkNode.==(_)
  • removed: method TkNode.inspect()
  • removed: method TkNode.set_text(_)
  • removed: method TkNode.text()
  • removed: method TkOPASGN.==(_)
  • removed: method TkOPASGN.inspect()
  • removed: method TkOPASGN.text()
  • removed: method TkOp.==(_)
  • removed: method TkOp.inspect()
  • removed: method TkOp.set_text(_)
  • removed: method TkSYMBOL.to_sym()
  • removed: method TkUnknownChar.==(_)
  • removed: method TkUnknownChar.inspect()
  • removed: method TkUnknownChar.set_text(_)
  • removed: method TkUnknownChar.text()
  • removed: method TkVal.==(_)
  • removed: method TkVal.inspect()
  • removed: method TkVal.set_text(_)
  • removed: method Token.==(_)
  • removed: method Token.inspect()
  • removed: method Token.set_text(_)
  • removed: property TkOp.name: accessor
  • removed: property TkOp.text: accessor
  • removed: property TkVal.text: accessor
  • removed: property TkVal.value: accessor
  • removed: property Token.char_no: reader
  • removed: property Token.line_no: reader
  • removed: property Token.seek: reader
  • removed: property Token.text: accessor
  • added: class ParseError < StandardError
  • added: class Parser
  • added: const Parser.Racc_Main_Parsing_Routine
  • added: const Parser.Racc_Runtime_Core_Version
  • added: const Parser.Racc_Runtime_Core_Version_R
  • added: const Parser.Racc_Runtime_Type
  • added: const Parser.Racc_Runtime_Version
  • added: const Parser.Racc_YY_Parse_Method
  • added: method Parser._racc_do_parse_rb(_, _)
  • added: method Parser._racc_do_reduce(_, _)
  • added: method Parser._racc_evalact(_, _)
  • added: method Parser._racc_init_sysvars()
  • added: method Parser._racc_setup()
  • added: method Parser._racc_yyparse_rb(_, _, _, _)
  • added: method Parser.next_token()
  • added: method Parser.on_error(_, _, _)
  • added: method Parser.racc_accept()
  • added: method Parser.racc_e_pop(_, _, _)
  • added: method Parser.racc_next_state(_, _)
  • added: method Parser.racc_print_stacks(_, _)
  • added: method Parser.racc_print_states(_)
  • added: method Parser.racc_read_token(_, _, _)
  • added: method Parser.racc_reduce(_, _, _, _)
  • added: method Parser.racc_shift(_, _, _)
  • added: method Parser.racc_token2str(_)
  • added: method Parser.token_to_str(_)
  • added: method Parser.yyaccept()
  • added: method Parser.yyerrok()
  • added: method Parser.yyerror()
  • added: static method Parser.racc_runtime_type()