diff --git a/changelog b/changelog
index 4d8e22861..7ec7e9f33 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,490 @@
+pandoc (1.9)
+
+  [new features]
+
+  * Added a Microsoft Word `docx` writer. The writer includes support
+    for highlighted code and for math (which is converted from TeX to OMML,
+    Office's native math markup language, using texmath's new OMML module).
+    A new option `--reference-docx` allows the user to customize the
+    styles in the standard `reference.docx`.
+
+  * Added an `asciidoc` writer (<http://www.methods.co.nz/asciidoc/>).
+
+  * Better support for slide shows:
+
+    + Added a `dzslides` writer. DZSlides is a lightweight HTML5/javascript
+      slide show format due to Paul Rouget (<http://paulrouget.com/dzslides/>).
+
+    + Added a LaTeX `beamer` writer. Beamer is a LaTeX package for creating
+      slide presentations.
+
+    + New, flexible rules for dividing documents into sections and slides
+      (see the "Structuring the slide show" in the User's Guide).  These
+      are backward-compatible with the old rules, but they allow slide
+      shows to be organized into sections and subsections containing
+      multiple slides.
+
+    + Added a `--slide-level` option to override defaults and select a slide
+      level below the first header level with content. Note that content
+      in sections above the slide level will not appear in slides (either in
+      beamer or in HTML slide shows). This is primarily useful for creating
+      documents that can be made into both slides and handouts (which contain
+      additional content outside the slides).
+
+  * New `--self-contained` option tries to create HTML output that does not
+    depend on an internet connection or the presence of any external
+    files. Linked images, CSS, and javascript is downloaded and encoded in
+    `data:` URIs. This is useful for making portable HTML slide shows. The
+    `--offline` option has been deprecated and is now treated as a synonym or
+    `--self-contained`.
+
+  * Support for PDF output:
+
+    + Removed the old `markdown2pdf`.
+    + `pandoc` can now create PDFs (assuming you have latex and a set of
+      appropriate packages installed): just specify an output file with the
+      `.pdf` extension.
+    + A new option `--latex-engine` allows you to specify `pdflatex`,
+      `xelatex`, or `lualatex` as the processor.
+
+  * Highlighting changes:
+
+    + Syntax highlighting is now a standard feature; pandoc no longer
+      need be compiled with a `highlighting` flag to enable it.
+    + A new `--no-highlight` option allows it to be selectively disabled.
+    + Highlighting now works in `docx`, `latex`, and `epub`, as well as
+      `html`, `html5`, `dzslides`, `s5`, and `slidy`.
+    + A new `--highlight-style` option selects between various highlighting
+      color themes.
+
+  * Internal links to sections now work in ConTeXt and LaTeX as well as HTML
+    (thanks to B. Scott Michel).
+
+  * EPUB improvements:
+
+    + Internal and external links now work in EPUB.
+    + Raw HTML is allowed.
+    + New `--epub-embed-font` option.
+    + Customizable templates for EPUB pages, giving more control over
+      formatting: `epub-page.html`, `epub-coverimage.html`,
+      `epub-titlepage.html`.
+
+  * `--mathml` now works with DocBook as well as HTML.
+
+  * Support for math in RST reader and writer.  Inline math uses the
+    `` :math:`...` `` construct.  Display math uses
+
+        .. math:: ...
+
+    or if the math is multiline,
+
+        .. math::
+
+           ...
+
+    These constructions seem to be supported now by `rst2latex.py`.
+
+  * Github syntax for fenced code blocks is now understood in pandoc's
+    markdown.  You can now write
+
+        ```ruby
+        x = 2
+        ```
+
+    instead of
+
+        ~~~ {.ruby}
+        x = 2
+        ~~~~
+
+  * Easier scripting:  a new `ToJsonFilter` class makes it easier to
+    write Haskell scripts to manipulate the Pandoc AST.
+
+  [behavior changes]
+
+  * Fixed parsing of consecutive lists in markdown.
+    Pandoc previously behaved like Markdown.pl for consecutive
+    lists of different styles. Thus, the following would be parsed
+    as a single ordered list, rather than an ordered list followed
+    by an unordered list:
+
+        1. one
+        2. two
+
+        - one
+        - two
+
+    This change makes pandoc behave more sensibly, parsing this as
+    two lists.  Any change in list type (ordered/unordered) or in
+    list number style will trigger a new list. Thus, the following
+    will also be parsed as two lists:
+
+        1. one
+        2. two
+
+        a. one
+        b. two
+
+    Since we regard this as a bug in Markdown.pl, and not something
+    anyone would ever rely on, we do not preserve the old behavior
+    even when `--strict` is selected.
+
+  * Allow links in markdown image captions.  This change also means that
+
+        [link with [link](/url)](/url)
+
+    will turn into
+
+        <p><a href="/url">link with link</a></p>
+
+    instead of
+
+        <p><a href="/url">link with [link](/url)</a></p>
+
+  * Improved handling of citations using `citeproc-hs-0.3.4`.
+    Added `--citation-abbreviations` option (Andrea Rossato).
+
+  * Disallow punctuation as the last letter of a citation key.
+    This means that '@item1.' will be parsed as a citation, 'item1',
+    followed by a period, instead of a citation 'item1.', as was the
+    case previously.
+
+  * In HTML output, citations are now put in a span with class `citation`.
+
+  * The markdown reader now recognizes DocBook block and inline tags.
+    It was always possible to include raw DocBook tags in a markdown
+    document, but now pandoc will be able to distinguish block from
+    inline tags and behave accordingly. Thus, for example,
+
+        <sidebar>
+        hello
+        </sidebar>
+
+    will not be wrapped in `<para>` tags.
+
+  * Dashes work differently with `--smart`: `---` is always em-dash,
+    and `--` is always en-dash.  Pandoc no longer tries to guess when
+    `-` should be en-dash.  *Note:* This may change how existing documents
+    look when processed with pandoc. A new option, `--old-dashes`,
+    is provided for legacy documents.
+
+  * `--smart` is no longer selected automatically with `man` output.
+
+  * The deprecated `--xetex` option has been removed.
+
+  * The `--html5`/`-5` option has been deprecated. Use `-t html5`
+    instead. `html5` and `html5+lhs` are now separate output formats.
+
+  * `'` is no longer escaped in HTML output.  It does not need to be
+    escaped outside of attributes.
+
+  * The `--ascii` option has been removed, because of differences
+      in blaze-html's and xhtml's escaping.
+
+  * Pandoc will no longer transform leading newlines in code
+    blocks to `<br/>` tags.
+
+  * The ODT writer now sizes images appropriately, using the image
+    size and DPI information embedded in the image.
+
+  * `--standalone` is once again implicitly for a non-text output format
+    (ODT, EPUB).  You can again do `pandoc test.txt -o test.odt`
+    and get a standalone ODT file.
+
+  * The Docbook writer now uses `<sect1>`, `<sect2>`, etc. instead of
+    `<section>`.
+
+  * The HTML writer now uses `<del>` for strikeout.
+
+  * In HTML output with `--section-divs`, the classes `section` and
+    `level[1,2,..6]` are put on the `div` tags so they can be styled.
+    In HTML 5 output with `--section-divs`, the classes
+    `level[1,2,...6]` are put on `section` tags.
+
+  * EPUB writer changes:
+
+    + The `lang` variable now sets the language
+      in the metadata (if it is not set, we default to the locale
+      language).
+    + EPUB:  UTF-8 is used rather than decimal entities.
+
+  * Added `titleslide` class to title slide in S5 template.
+
+  * In HTML, EPUB, and docx metadata, the date is normalized into
+    YYYY-MM-DD format if possible. (This is required for validation.)
+
+  * Attributes in highlighted code blocks are now preserved in HTML.
+    The container element will have the classes, id, and key-value attributes
+    you specified in the delimited code block. Previously these were stripped
+    off.
+
+  * The reference backlink in the HTML writer no longer has a special
+    `footnoteBacklink` class.
+
+  * The HTML template has been split into `html` and `html5` templates.
+
+  * Author and date are treated more consistently in HTML templates.
+    Authors are now `<h2>`, date `<h3>`.
+
+  * URLs are hyphenated in the ConTeXt writer (B. Scott Michel).
+
+  * The markdown writer now uses setext headers for levels 1-2.
+    The old behavior (ATX headers for all levels) can be restored
+    using the new `--atx-headers` option.
+
+  [bug fixes]
+
+  * Better support for combining characters and East Asian wide characters
+    in markdown and reST.
+
+  * Better handling of single quotes with `--smart`.
+    Previously `D'oh l'*aide*` would be parsed with left and right single
+    quotes instead of apostrophes. This kind of error is now fixed.
+
+  * Highlighting: Use `reads` instead of `read` for better error handling.
+    Fixes crash on `startNum="abc"`.
+
+  * Added blank comment after directives in rst template.
+
+  * Unescape entities in citation `refId`. The `refId`s coming
+    from citeproc contain XML numeric entities, and these don't match with the
+    citation keys parsed by pandoc. Solution is to unescape them.
+
+  * HTML reader: Fixed bug parsing tables with both thead and tbody.
+
+  * Markdown reader:
+
+    + Better handling of escapes in link URLs and titles.
+    + Fixed backslash escapes in reference links.
+    + Fixed bug in table/hrule parsing, by checking that the top
+      line of a table is not followed by a blank line. This bug caused
+      slowdowns on some files with hrules and tables, as pandoc tried to
+      interpret the hrules as the tops of multiline tables.
+    + Fixed bug in code block attribute parser. Previously the ID attribute
+      got lost if it didn't come first. Now attributes can come in any order.
+
+  * RST reader: allow footnotes followed by newline without space chars
+    (patch from Masayoshi Takahashi).
+
+  * LaTeX reader:
+
+    + Ignore empty groups {}, { }.
+    + LaTeX reader: Handle \@.
+    + LaTeX reader:  Don't crash on commands like `\itemsep`.
+    + LaTeX reader:  Better handling of letter environments.
+
+  * RST writer: Fixed bug involving empty table cells. isSimple was being
+    calculated in a way that assumed there were no non-empty cells.
+
+  * ConTeXt writer:
+
+    + Made `--toc` work even without `--number-sections`.
+    + Escape # in link URLs.
+    + Use buffering for footnotes containing code blocks.
+    + Changed 'descr' to 'description', fixed alignment.
+
+  * LaTeX writer:
+
+    + Escape euro character.
+    + Don't escape ~ inside href{...}.
+    + Escape # in href URLs.
+    + Improved detection of book classes.  We now check the
+      `documentclass` variable, and if that is not set, we look through
+      the template itself.  Also, we have added the KOMA classes scrreprt
+      and scrbook.  You can now make a book using
+      `pandoc -V documentclass:book mybook.txt -o mybook.pdf`
+    + LHS files now set the "listings" variable, so that the definition
+      of the `code` environment will be included in the template.
+    + Links are colored blue by default (this can be changed by
+      modifying `hyperref` settings in the template).
+    + Added `lang` variable to LaTeX template.
+
+  * HTML writer:
+
+    + Fixed bug in HTML template with html5 and mathml.
+    + Don't use self-closing img, br, hr tags for HTML5.
+    + Use `<section>` for footnotes if HTML5.
+    + Update HTML templates to use Content-Style-Type meta tag.
+    + Use separate variables for meta-date, meta-author.
+      This makes footnotes work in author and date fields.
+    + Use 'vertical-align:middle' in WebTeX math for better alignment.
+
+  * S5/slidy writer:  Make footnotes appear on separate slide at end.
+
+  * MIME: Added 'layout-cache' to getMimeType. This ensures that the
+    META-INF/manifest.xml for ODT files will have everything it needs, so
+    that ODT files modified by LibreOffice can be used as `--reference-odt`.
+
+  * Templates: Return empty string for json template.
+
+  * `Text.Pandoc.Biblio`:
+
+    + Expand citations recursively inside nested inlines.
+    + Treat \160 as space when parsing locator and suffix.
+      This fixes a bug with "p. 33" when `--smart` is used. Previously
+      the whole "p. 33" would be included in the suffix, with no locator.
+    + Put whole author-in-text citation in a Cite.  Previously just the
+      date and other info went in the Cite.
+    + Don't add comma+space to prefix if it ends in punctuation.
+      (Andrea Rossato)
+
+  * Updated chicago-author-date.csl.  The old version did not work
+    properly for edited volumes with no author.
+
+  * EPUB writer:
+
+    + Add date to EPUB titlepage and metadata.
+    + Added TOC identifier in EPUB page template.
+    + Don't generate superfluous file `cover-image.jpg`.
+
+  [under the hood improvements]
+
+  * Modified make_osx_package.sh to use cabal-dev.
+
+  * Modified windows installer generater to use cabal-dev.
+
+  * Fixed make_osx_package.sh.  Items no longer installed as root.
+    Man page zipped and given proper permissions.
+
+  * Setup: Making man pages now works with cabal-dev. In Setup.hs we now
+    invoke 'runghc' in a way that points it to the correct package databases,
+    instead of always falling back to the default user package db. (Thanks to
+    Antoine Latter.)
+
+  * Updated to work with GHC 7.4 (Antoine Latter).
+
+  * Removed dependency on old-time.
+
+  * DZSlides: Added dzslides/template.html. This is the unaltered file from
+    the dzslides repository. Pandoc now reads it, looking for the core part,
+    and includes this in the new dzslides template via the 'dzslides-core'
+    variable. When dzslides is updated, you can just put the new template.html
+    in your `~/.pandoc/dzslides` directory, and things should work -- provided
+    the core part can be identified as everything from
+
+        <!-- {{{{ dzslides core
+
+    to the end of the file.  This should make it a bit easier to keep up
+    to date.
+
+  * New slidy directory for "self-contained."
+
+  * LaTeX parser completely rewritten; it is now much more accurate,
+    robust, and extensible.
+
+  * Simplified `Text.Pandoc.Biblio`, removed `procInlines`, used
+    generics instead.
+
+  * TeXMath writer:  Use unicode thin spaces for thin spaces.
+    Partially resolves issue #333.
+
+  * Markdown citations: don't strip off initial space in locator.
+
+  [API changes]
+
+  * Removed `Apostrophe`, `EmDash`, `EnDash`, and `Ellipses`
+    from the native `Inline` type in pandoc-types.  Now we use `Str`
+    elements with unicode.
+
+  * Improvements to `Text.Pandoc.Builder`:
+
+    + `Inlines` and `Blocks` are now newtypes (not synonyms for
+      sequences).
+    + Instances are defined for `IsString`, `Show`, `Read`, `Monoid`,
+      and a new `Listable` class, which allows these to be manipulated
+      to some extent like lists. Monoid append includes automatic
+      normalization.
+    + `+++` has been replaced by `<>` (mappend).
+
+  * Use blaze-html instead of xhtml for HTML generation.
+    This changes the type of `writeHtml`.
+
+  * `Text.Pandoc.Shared`:
+
+    + Added `warn` and `err`.
+    + Removed `unescapeURI`, modified `escapeURI`.
+      (See under [behavior changes], above.)
+
+  * Changes in URI escaping:  Previously the readers escaped URIs by
+    converting unicode characters to octets and then percent encoding.
+    Now unicode characters are left as they are, and `escapeURI` only
+    percent-encodes space characters.  This gives more readable
+    URIs, and works well with modern user agents. URIs are no longer unescaped
+    at all on conversion to `markdown`, `asciidoc`, `rst`, `org`.
+
+  * New module `Text.Pandoc.SelfContained`.
+
+  * New module `Text.Pandoc.Docx`.
+
+  * New module `Text.Pandoc.PDF`.
+
+  * Added `writerBeamer` to `WriterOptions`.
+
+  * Added `normalizeDate` to `Text.Pandoc.Shared`.
+
+  * Added `splitStringWithIndices` in `Text.Pandoc.Shared`.
+    This is like `splitWithIndices`, but it is sensitive to distinctions
+    between wide, combining, and regular characters.
+
+  * `Text.Pandoc.Pretty`:
+
+    + Added `chomp` combinator.
+    + Added `beforeNonBreak` combinator.  This allows you to include
+      something conditionally on it being before a nonblank.
+      Used for RST inline math.
+    + Added `charWidth` function. All characters marked W or F in the unicode
+      spec EastAsianWidth.txt get width 2.
+    + Added `realLength`, based on `charWidth`. `realLength` is now
+      used in calculating offsets.
+
+  * New module `Text.Pandoc.Slides`, for common functions for breaking
+    a document into slides.
+
+  * Removed `Text.Pandoc.S5`, which is no longer needed.
+
+  * Added `Text.Pandoc.ImageSize`.  This is intened for use
+    in `docx` and `odt` writers, so the size and dpi of images
+    can be calculated.
+
+  * Removed `writerAscii` in `WriterOptions`.
+
+  * Added `writerHighlight` to `WriterOptions`.
+
+  * Added `DZSlides` to `HTMLSlideVariant`.
+
+  * `writeEPUB` has a new argument for font files to embed.
+
+  * Added `stateLastStrPos` to `ParserState`. This lets us keep track
+    of whether we're parsing the position immediately after a regular
+    (non-space, non-symbol) string, which is useful for distinguishing
+    apostrophes from single quote starts.
+
+  * `Text.Pandoc.Parsing`:
+
+    + `escaped` now returns a `Char`.
+    + Removed `charsInBalanced'`, added a character parser as
+      a parameter of `charsInBalanced`.  This is needed for
+      proper handling of escapes, etc.
+    + Added `withRaw`.
+
+  * Added `toEntities` to `Text.Pandoc.XML`.
+
+  * `Text.Pandoc.Readers.LaTeX`:
+
+    + Export `handleIncludes`.
+    + Export `rawLaTeXBlock` instead of `rawLaTeXEnvironment'`.
+
+  * Added `ToJsonFilter` class and `toJsonFilter` function to
+    `Text.Pandoc`, deprecating the old `jsonFilter` function.
+
+  * `Text.Pandoc.Highlighting`:
+
+     + Removed `highlightHtml`, `defaultHighlightingCss`.
+     + Export `formatLaTeXInline`, `formatLaTeXBlock`, and `highlight`, plus
+       key functions from highlighting-kate.
+     + Changed types of highlighting function.  `highlight` returns a
+       `Maybe`, not an `Either`.
+
 pandoc (1.8.2.1)
 
   * Relaxed cabal consntraints for test-framework (S. Trofimovich).