@@ -10,6 +10,196 @@ Notable feature additions are markdown support and an WEBrick servlet that can
1010serve HTML from an ri store. (This means that RubyGems 2.0+ no longer needs
1111to build HTML documentation when installing gems.)
1212
13+ Changes since RDoc 3.12.1:
14+
15+ * Breaking changes
16+ * The default output encoding for RDoc is now UTF-8. Previously RDoc used
17+ the default external encoding which was determined from your locale.
18+ Issue #106 by Justin Baker.
19+ * RDoc::RI::Store is now RDoc::Store so ri data generated by RDoc 4 cannot
20+ be read by earlier versions of RDoc. RDoc::RI::Store exists as an alias
21+ of RDoc::Store so ri data from older versions can still be read.
22+ RDoc::RI::Store will be removed in RDoc 5.
23+
24+ Tests that create RDoc::CodeObjects on the fly without wiring them into
25+ the documentation tree (did not use add_class, add_method, etc.) must be
26+ updated to use these methods. The documentation tree automatically
27+ attaches them to the store instance which allows lookups to work
28+ correctly. Additionally, a new method RDoc::Store#add_file must be used
29+ instead of RDoc::TopLevel.new. The latter will not be attached to the
30+ documentation tree.
31+ * RDoc generators must accept an RDoc::Store and an RDoc::Options in
32+ initialize. RDoc no longer passes an Array of RDoc::TopLevel objects to
33+ #generate. Use RDoc::Store#all_files instead.
34+ * Some markup formatters (RDoc::Markup::To*) now accept an RDoc::Options
35+ instance as the first argument. Notably, the base class Formatter and
36+ ToHtml*. (This is not universal due to the difficult at accessing the
37+ user's options instance deep inside RDoc. A future major release may
38+ remedy this.)
39+ * Added new markup nodes and specials that RDoc::Markup::Formatter
40+ subclasses must handle. If you're using RDoc::Markup::FormatterTestCase
41+ the new methods you need to add should be readily apparent.
42+ * Removed RDoc::RI::Paths::SYSDIR and ::SITEDIR. These were hidden
43+ constants so no breakage is expected. Use RDoc::RI::Paths::system_dir
44+ and ::site_dir instead.
45+ * RDoc::RI::Store#modules has been renamed to RDoc::Store#module_names
46+ to avoid confusion with RDoc::Store#all_modules imported from
47+ RDoc::TopLevel.
48+ * RDoc::RDocError has been removed. It was deprecated throughout RDoc 3.
49+ * ri -f html is no longer supported.
50+ * Comment definitions in C comments are now only discovered from the first
51+ line. A colon on a subsequent line won't trigger definition extraction.
52+ Issue #103, see also
53+ http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/42942
54+ * Fixed :stopdoc: for class A::B where A has not been seen. Issue #95 by
55+ Ryan Davis
56+ * RDoc::ClassModule#each_ancestor no longer yields itself if there is
57+ circular ancestry
58+
59+ * Major enhancements
60+ * ri can now show pages (README, etc.)
61+
62+ ri rdoc:README
63+
64+ Will show the README for the latest version of RDoc. You can specify
65+ exact gem versions such as "rdoc-4.0:README" or view pages from the
66+ standard library documentation with "ruby:README".
67+
68+ RDoc 3 did not save pages in ri data so you will need to regenerate
69+ documentation from your gems to use this feature.
70+ * Added Markdown as a supported format. The markdown format can be set on a
71+ per-file or per-comment basis with the +:markdown:+ directive like the rd
72+ and tomdoc formats and on a per-project basis with
73+ <tt>rdoc --markup markdown --write-options</tt>
74+ * Removed global state from RDoc. RDoc::Store holds the documentation tree
75+ and connects the driver to the parsers and generator. This also allows
76+ documentation parsing and generation for multiple instances, but the rdoc
77+ command-line tool does not support this.
78+
79+ Due to this change RDoc::RDoc.current and RDoc::RDoc.reset no longer
80+ exist.
81+
82+ * Minor enhancements
83+ * Added --page-dir option to give pretty names for a FAQ, guides, or other
84+ documentation you write that is not stored in the project root. For
85+ example, with the following layout:
86+
87+ README.txt
88+ guides/syntax.txt
89+ guides/conversion.txt
90+
91+ Running `rdoc --page-dir guides` will make the files in "guides" appear to
92+ be at the top level of the project. This means they will appear to exist
93+ at the top level in HTML output and you can access them with
94+ `ri your_gem:syntax` and `ri your_gem:conversion`.
95+ * Added --root for building documentation from outside the source dir.
96+ * Added current heading and page-top links to HTML headings.
97+ * Added a ChangeLog parser. It automatically parses files that begin
98+ with 'ChangeLog'
99+ * Added a table of contents to the sidebar.
100+ * RDoc markup format merges adjacent labels in a label or note list into a
101+ single definition list item for output.
102+ * RDoc now tracks use of extend. Pull request #118 by Michael Granger.
103+ * RDoc now tracks methods that use super. Pull request #116 by Erik
104+ Hollensbe.
105+ * Added methods ::system_dir, ::site_dir, ::home_dir and ::gem_dir to fetch
106+ the components of RDoc::RI::Paths.path individually.
107+ * Added support for rb_file_const.
108+ * RDoc now processes files in sorted order. Issue #71 by Vít Ondruch
109+ * RDoc now warns with --verbose when methods are duplicated. Issue #71 by
110+ Vít Ondruch
111+ * ri will display documentation for all methods in a class if -a is given.
112+ Issue #57 by casper
113+ * The RDoc coverage report will report line information for attributes,
114+ constants and methods missing documentation. Issue #121 by Zachary Scott
115+ * RDoc now reports a warning for files that are unreadable due to
116+ permissions problems.
117+ * RDoc controls documentation generation for RubyGems 2.0+
118+
119+ * Bug fixes
120+ * Fixed parsing of multibyte files with incomplete characters at byte 1024.
121+ Ruby bug #6393 by nobu, patch by Nobuyoshi Nakada and Yui NARUSE.
122+ * Fixed rdoc -E. Ruby Bug #6392 and (modified) patch by Nobuyoshi Nakada
123+ * Added link handling to Markdown output. Bug #160 by burningTyger.
124+ * Fixed HEREDOC output for the limited case of a heredoc followed by a line
125+ end. When a HEREDOC is not followed by a line end RDoc is not currently
126+ smart enough to restore the source correctly. Bug #162 by Zachary Scott.
127+ * Fixed parsing of executables with shebang and encoding comments. Bug #161
128+ by Marcus Stollsteimer
129+ * RDoc now ignores methods defined on constants instead of creating a fake
130+ module. Bug #163 by Zachary Scott.
131+ * Fixed ChangeLog parsing for FFI gem. Bug #165 by Zachary Scott.
132+ * RDoc now links \#=== methods. Bug #164 by Zachary Scott.
133+ * Allow [] following argument names for TomDoc. Bug #167 by Ellis Berner.
134+ * Fixed the RDoc servlet for home and site directories. Bug #170 by Thomas
135+ Leitner.
136+ * Fixed references to methods in the RDoc servlet. Bug #171 by Thomas
137+ Leitner.
138+ * Fixed debug message when generating the darkfish root page. Pull Request
139+ #174 by Thomas Leitner.
140+ * Fixed deletion of attribute ri data when a class was loaded then saved.
141+ Issue #171 by Thomas Leitner.
142+ * Fully qualified names for constants declared from the top level are now
143+ attached to their class or module properly.
144+ * Fixed table of contents display in HTML output for classes and modules.
145+ * Incremental ri builds of C files now work. C variable names from previous
146+ runs are now saved between runs.
147+ * A word that is directly followed by a multi-word tidy link label no longer
148+ disappears. (Like <code>text{link}[http://example]</code>)
149+ * Fixed legacy template support. Pull Request #107 by Justin Baker.
150+ * An HTML class in a verbatim section no longer triggers ruby parsing.
151+ Issue #92 by Vijay Dev
152+ * Improved documentation for setting the default documentation format for
153+ your ruby project. Issue #94 by Henrik Hodne
154+ * Fixed handling of LANG in the RDoc::Options tests. Issue #99 by Vít
155+ Ondruch
156+ * RDoc no longer quits when given an entry that is not a file or directory.
157+ Issue #101 by Charles Nutter
158+ * Fixed bug in syntax-highlighting that would corrupt regular expressions.
159+ Ruby Bug #6488 by Benny Lyne Amorsen.
160+ * "class Object" no longer appears in the coverage report if all its methods
161+ are documented. This suppresses a false positive for libraries that add
162+ toplevel methods. Pull Request #128 by Zachary Scott.
163+ * Fixed test_gen_url test name in TestRDocMarkupToHtml. Pull Request #130
164+ by Zachary Scott.
165+ * Comment-defined methods ahead of define_method are now discovered. Issue
166+ #133 by eclectic923
167+ * Fixed detection of define_method documentation. Issue #138 by Marvin
168+ Gülker.
169+ * Fixed lexing of character syntax (<code>?z</code>). Reported by Xavier
170+ Noria.
171+ * Add license to gem spec. Issue #144 by pivotalcommon
172+ * Fixed comment selection for classes. Pull request #146 by pioz
173+ * Fixed parsing of <code>def self.&() end</code>. Issue #148 by Michael
174+ Lucy
175+ * Generated RD parser files are now included in the gem. Issue #145 by
176+ Marvin Gülker
177+ * Class and module aliases now create new classes to avoid duplicate names
178+ in the class list. Issue #143 by Richard Schneeman, Rails Issue #2839
179+ * RDoc::Markup::Parser now correctly matches indentation of lists when
180+ multibyte characters are used in the list labels. Issue #140 by
181+ burningTyger
182+ * Fixed mangling of email addresses that look like labels. Issue #129 by
183+ Tobias Koch
184+ * Classes and modules in a C file may now be created in any order. Issue
185+ #124 by Su Zhang
186+ * A metaprogrammed method supports the :args: directive. Issue #100
187+ * A metaprogrammed method supports the :yields: directive.
188+ * RDoc will now look for directives up to the end of the line. For example,
189+ class B < A; end # :nodoc:
190+ will now hide documentation of B. Issue #125 by Zachary Scott
191+ * Fixed tokenization of % when it is not followed by a $-string type
192+ * Fixed display of __END__ in documentation examples in HTML output
193+ * Fixed tokenization of reserved words used as new-style hash keys
194+ * RDoc now handles class << $gvar by ignoring the body
195+ * Fixed parsing of class A:: B.
196+ * Worked around bug in RDoc::RubyLex where tokens won't be reinterpreted
197+ after unget_tk.
198+ * Fixed class << ::Foo writing documentation to /Foo.html
199+ * Fixed class ::A referencing itself from inside its own namespace.
200+
201+ Changes since RDoc 4.0.0.rc.2:
202+
13203* Bug fix
14204 * Templates now use the correct encoding when generating pages. Issue #183
15205 by Vít Ondruch
@@ -217,6 +407,14 @@ to build HTML documentation when installing gems.)
217407 * Fixed class << ::Foo writing documentation to /Foo.html
218408 * Fixed class ::A referencing itself from inside its own namespace.
219409
410+ === 3.12.1 / 2013-02-05
411+
412+ * Bug fixes
413+ * Fixed an XSS exploit in darkfish.js. This could lead to cookie disclosure
414+ to third parties. See CVE-2013-0256[rdoc-ref:CVE-2013-0256.rdoc] for full
415+ details including a patch you can apply to generated RDoc documentation.
416+ * Ensured that rd parser files are generated before checking the manifest.
417+
220418=== 3.12 / 2011-12-15
221419
222420* Minor enhancements
@@ -359,6 +557,28 @@ to build HTML documentation when installing gems.)
359557 parsed. Unless your project includes nonexistent modules this avoids
360558 worst-case behavior (<tt>O(n!)</tt>) of RDoc::Include#module.
361559
560+ === 3.9.5 / 2013-02-05
561+
562+ * Bug fixes
563+ * Fixed an XSS exploit in darkfish.js. This could lead to cookie disclosure
564+ to third parties. See CVE-2013-0256.rdoc for full details including a
565+ patch you can apply to generated RDoc documentation.
566+
567+ === 3.9.4 / 2011-08-26
568+
569+ * Bug fixes
570+ * Applied typo and grammar fixes from Luke Gruber. Ruby bug #5203
571+
572+ === 3.9.3 / 2011-08-23
573+
574+ * Bug fixes
575+ * Add US-ASCII magic comments to work with <tt>ruby -Ku</tt>. Issue #63 by
576+ Travis D. Warlick, Jr.
577+ * Image paths at HTTPS URLs are now turned into +<img>+ tags. Pull
578+ Request #60 by James Mead
579+ * Markup defined by RDoc::Markup#add_special inside a <tt><tt></tt> is no
580+ longer converted.
581+
362582=== 3.9.2 / 2011-08-11
363583
364584* Bug fix
0 commit comments