diff --git a/History.rdoc b/History.rdoc
index 690895492d..cf767709b7 100644
--- a/History.rdoc
+++ b/History.rdoc
@@ -10,6 +10,196 @@ Notable feature additions are markdown support and an WEBrick servlet that can
serve HTML from an ri store. (This means that RubyGems 2.0+ no longer needs
to build HTML documentation when installing gems.)
+Changes since RDoc 3.12.1:
+
+* Breaking changes
+ * The default output encoding for RDoc is now UTF-8. Previously RDoc used
+ the default external encoding which was determined from your locale.
+ Issue #106 by Justin Baker.
+ * RDoc::RI::Store is now RDoc::Store so ri data generated by RDoc 4 cannot
+ be read by earlier versions of RDoc. RDoc::RI::Store exists as an alias
+ of RDoc::Store so ri data from older versions can still be read.
+ RDoc::RI::Store will be removed in RDoc 5.
+
+ Tests that create RDoc::CodeObjects on the fly without wiring them into
+ the documentation tree (did not use add_class, add_method, etc.) must be
+ updated to use these methods. The documentation tree automatically
+ attaches them to the store instance which allows lookups to work
+ correctly. Additionally, a new method RDoc::Store#add_file must be used
+ instead of RDoc::TopLevel.new. The latter will not be attached to the
+ documentation tree.
+ * RDoc generators must accept an RDoc::Store and an RDoc::Options in
+ initialize. RDoc no longer passes an Array of RDoc::TopLevel objects to
+ #generate. Use RDoc::Store#all_files instead.
+ * Some markup formatters (RDoc::Markup::To*) now accept an RDoc::Options
+ instance as the first argument. Notably, the base class Formatter and
+ ToHtml*. (This is not universal due to the difficult at accessing the
+ user's options instance deep inside RDoc. A future major release may
+ remedy this.)
+ * Added new markup nodes and specials that RDoc::Markup::Formatter
+ subclasses must handle. If you're using RDoc::Markup::FormatterTestCase
+ the new methods you need to add should be readily apparent.
+ * Removed RDoc::RI::Paths::SYSDIR and ::SITEDIR. These were hidden
+ constants so no breakage is expected. Use RDoc::RI::Paths::system_dir
+ and ::site_dir instead.
+ * RDoc::RI::Store#modules has been renamed to RDoc::Store#module_names
+ to avoid confusion with RDoc::Store#all_modules imported from
+ RDoc::TopLevel.
+ * RDoc::RDocError has been removed. It was deprecated throughout RDoc 3.
+ * ri -f html is no longer supported.
+ * Comment definitions in C comments are now only discovered from the first
+ line. A colon on a subsequent line won't trigger definition extraction.
+ Issue #103, see also
+ http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/42942
+ * Fixed :stopdoc: for class A::B where A has not been seen. Issue #95 by
+ Ryan Davis
+ * RDoc::ClassModule#each_ancestor no longer yields itself if there is
+ circular ancestry
+
+* Major enhancements
+ * ri can now show pages (README, etc.)
+
+ ri rdoc:README
+
+ Will show the README for the latest version of RDoc. You can specify
+ exact gem versions such as "rdoc-4.0:README" or view pages from the
+ standard library documentation with "ruby:README".
+
+ RDoc 3 did not save pages in ri data so you will need to regenerate
+ documentation from your gems to use this feature.
+ * Added Markdown as a supported format. The markdown format can be set on a
+ per-file or per-comment basis with the +:markdown:+ directive like the rd
+ and tomdoc formats and on a per-project basis with
+ rdoc --markup markdown --write-options
+ * Removed global state from RDoc. RDoc::Store holds the documentation tree
+ and connects the driver to the parsers and generator. This also allows
+ documentation parsing and generation for multiple instances, but the rdoc
+ command-line tool does not support this.
+
+ Due to this change RDoc::RDoc.current and RDoc::RDoc.reset no longer
+ exist.
+
+* Minor enhancements
+ * Added --page-dir option to give pretty names for a FAQ, guides, or other
+ documentation you write that is not stored in the project root. For
+ example, with the following layout:
+
+ README.txt
+ guides/syntax.txt
+ guides/conversion.txt
+
+ Running `rdoc --page-dir guides` will make the files in "guides" appear to
+ be at the top level of the project. This means they will appear to exist
+ at the top level in HTML output and you can access them with
+ `ri your_gem:syntax` and `ri your_gem:conversion`.
+ * Added --root for building documentation from outside the source dir.
+ * Added current heading and page-top links to HTML headings.
+ * Added a ChangeLog parser. It automatically parses files that begin
+ with 'ChangeLog'
+ * Added a table of contents to the sidebar.
+ * RDoc markup format merges adjacent labels in a label or note list into a
+ single definition list item for output.
+ * RDoc now tracks use of extend. Pull request #118 by Michael Granger.
+ * RDoc now tracks methods that use super. Pull request #116 by Erik
+ Hollensbe.
+ * Added methods ::system_dir, ::site_dir, ::home_dir and ::gem_dir to fetch
+ the components of RDoc::RI::Paths.path individually.
+ * Added support for rb_file_const.
+ * RDoc now processes files in sorted order. Issue #71 by Vít Ondruch
+ * RDoc now warns with --verbose when methods are duplicated. Issue #71 by
+ Vít Ondruch
+ * ri will display documentation for all methods in a class if -a is given.
+ Issue #57 by casper
+ * The RDoc coverage report will report line information for attributes,
+ constants and methods missing documentation. Issue #121 by Zachary Scott
+ * RDoc now reports a warning for files that are unreadable due to
+ permissions problems.
+ * RDoc controls documentation generation for RubyGems 2.0+
+
+* Bug fixes
+ * Fixed parsing of multibyte files with incomplete characters at byte 1024.
+ Ruby bug #6393 by nobu, patch by Nobuyoshi Nakada and Yui NARUSE.
+ * Fixed rdoc -E. Ruby Bug #6392 and (modified) patch by Nobuyoshi Nakada
+ * Added link handling to Markdown output. Bug #160 by burningTyger.
+ * Fixed HEREDOC output for the limited case of a heredoc followed by a line
+ end. When a HEREDOC is not followed by a line end RDoc is not currently
+ smart enough to restore the source correctly. Bug #162 by Zachary Scott.
+ * Fixed parsing of executables with shebang and encoding comments. Bug #161
+ by Marcus Stollsteimer
+ * RDoc now ignores methods defined on constants instead of creating a fake
+ module. Bug #163 by Zachary Scott.
+ * Fixed ChangeLog parsing for FFI gem. Bug #165 by Zachary Scott.
+ * RDoc now links \#=== methods. Bug #164 by Zachary Scott.
+ * Allow [] following argument names for TomDoc. Bug #167 by Ellis Berner.
+ * Fixed the RDoc servlet for home and site directories. Bug #170 by Thomas
+ Leitner.
+ * Fixed references to methods in the RDoc servlet. Bug #171 by Thomas
+ Leitner.
+ * Fixed debug message when generating the darkfish root page. Pull Request
+ #174 by Thomas Leitner.
+ * Fixed deletion of attribute ri data when a class was loaded then saved.
+ Issue #171 by Thomas Leitner.
+ * Fully qualified names for constants declared from the top level are now
+ attached to their class or module properly.
+ * Fixed table of contents display in HTML output for classes and modules.
+ * Incremental ri builds of C files now work. C variable names from previous
+ runs are now saved between runs.
+ * A word that is directly followed by a multi-word tidy link label no longer
+ disappears. (Like text{link}[http://example]
)
+ * Fixed legacy template support. Pull Request #107 by Justin Baker.
+ * An HTML class in a verbatim section no longer triggers ruby parsing.
+ Issue #92 by Vijay Dev
+ * Improved documentation for setting the default documentation format for
+ your ruby project. Issue #94 by Henrik Hodne
+ * Fixed handling of LANG in the RDoc::Options tests. Issue #99 by Vít
+ Ondruch
+ * RDoc no longer quits when given an entry that is not a file or directory.
+ Issue #101 by Charles Nutter
+ * Fixed bug in syntax-highlighting that would corrupt regular expressions.
+ Ruby Bug #6488 by Benny Lyne Amorsen.
+ * "class Object" no longer appears in the coverage report if all its methods
+ are documented. This suppresses a false positive for libraries that add
+ toplevel methods. Pull Request #128 by Zachary Scott.
+ * Fixed test_gen_url test name in TestRDocMarkupToHtml. Pull Request #130
+ by Zachary Scott.
+ * Comment-defined methods ahead of define_method are now discovered. Issue
+ #133 by eclectic923
+ * Fixed detection of define_method documentation. Issue #138 by Marvin
+ Gülker.
+ * Fixed lexing of character syntax (?z
). Reported by Xavier
+ Noria.
+ * Add license to gem spec. Issue #144 by pivotalcommon
+ * Fixed comment selection for classes. Pull request #146 by pioz
+ * Fixed parsing of def self.&() end
. Issue #148 by Michael
+ Lucy
+ * Generated RD parser files are now included in the gem. Issue #145 by
+ Marvin Gülker
+ * Class and module aliases now create new classes to avoid duplicate names
+ in the class list. Issue #143 by Richard Schneeman, Rails Issue #2839
+ * RDoc::Markup::Parser now correctly matches indentation of lists when
+ multibyte characters are used in the list labels. Issue #140 by
+ burningTyger
+ * Fixed mangling of email addresses that look like labels. Issue #129 by
+ Tobias Koch
+ * Classes and modules in a C file may now be created in any order. Issue
+ #124 by Su Zhang
+ * A metaprogrammed method supports the :args: directive. Issue #100
+ * A metaprogrammed method supports the :yields: directive.
+ * RDoc will now look for directives up to the end of the line. For example,
+ class B < A; end # :nodoc:
+ will now hide documentation of B. Issue #125 by Zachary Scott
+ * Fixed tokenization of % when it is not followed by a $-string type
+ * Fixed display of __END__ in documentation examples in HTML output
+ * Fixed tokenization of reserved words used as new-style hash keys
+ * RDoc now handles class << $gvar by ignoring the body
+ * Fixed parsing of class A:: B.
+ * Worked around bug in RDoc::RubyLex where tokens won't be reinterpreted
+ after unget_tk.
+ * Fixed class << ::Foo writing documentation to /Foo.html
+ * Fixed class ::A referencing itself from inside its own namespace.
+
+Changes since RDoc 4.0.0.rc.2:
+
* Bug fix
* Templates now use the correct encoding when generating pages. Issue #183
by Vít Ondruch
@@ -217,6 +407,14 @@ to build HTML documentation when installing gems.)
* Fixed class << ::Foo writing documentation to /Foo.html
* Fixed class ::A referencing itself from inside its own namespace.
+=== 3.12.1 / 2013-02-05
+
+* Bug fixes
+ * Fixed an XSS exploit in darkfish.js. This could lead to cookie disclosure
+ to third parties. See CVE-2013-0256[rdoc-ref:CVE-2013-0256.rdoc] for full
+ details including a patch you can apply to generated RDoc documentation.
+ * Ensured that rd parser files are generated before checking the manifest.
+
=== 3.12 / 2011-12-15
* Minor enhancements
@@ -359,6 +557,28 @@ to build HTML documentation when installing gems.)
parsed. Unless your project includes nonexistent modules this avoids
worst-case behavior (O(n!)) of RDoc::Include#module.
+=== 3.9.5 / 2013-02-05
+
+* Bug fixes
+ * Fixed an XSS exploit in darkfish.js. This could lead to cookie disclosure
+ to third parties. See CVE-2013-0256.rdoc for full details including a
+ patch you can apply to generated RDoc documentation.
+
+=== 3.9.4 / 2011-08-26
+
+* Bug fixes
+ * Applied typo and grammar fixes from Luke Gruber. Ruby bug #5203
+
+=== 3.9.3 / 2011-08-23
+
+* Bug fixes
+ * Add US-ASCII magic comments to work with ruby -Ku. Issue #63 by
+ Travis D. Warlick, Jr.
+ * Image paths at HTTPS URLs are now turned into +
+ tags. Pull
+ Request #60 by James Mead
+ * Markup defined by RDoc::Markup#add_special inside a is no
+ longer converted.
+
=== 3.9.2 / 2011-08-11
* Bug fix