diff --git a/README b/README
--- a/README
+++ b/README
@@ -22,7 +22,7 @@
 [OpenDocument], [ODT], [Word docx], [GNU Texinfo], [MediaWiki markup],
 [DokuWiki markup], [Haddock markup], [EPUB] (v2 or v3),
 [FictionBook2], [Textile], [groff man] pages, [Emacs Org mode],
-[AsciiDoc], [InDesign ICML], [TEI XML], and [Slidy], [Slideous], [DZSlides],
+[AsciiDoc], [InDesign ICML], [TEI Simple], and [Slidy], [Slideous], [DZSlides],
 [reveal.js] or [S5] HTML slide shows. It can also produce [PDF] output
 on systems where LaTeX, ConTeXt, or `wkhtmltopdf` is installed.
 
@@ -1005,9 +1005,15 @@
 can be specified using the `--template` option.  You can also override
 the system default templates for a given output format *FORMAT*
 by putting a file `templates/default.*FORMAT*` in the user data
-directory (see `--data-dir`, above). *Exceptions:* For `odt` output,
-customize the `default.opendocument` template.  For `pdf` output,
-customize the `default.latex` template.
+directory (see `--data-dir`, above). *Exceptions:*
+
+- For `odt` output, customize the `default.opendocument`
+  template.
+- For `pdf` output, customize the `default.latex` template
+  (or the `default.beamer` template, if you use `-t beamer`,
+  or the `default.context` template, if you use `-t context`).
+- `docx` has no template (however, you can use
+  `--reference-docx` to customize the output).
 
 Templates contain *variables*, which allow for the inclusion of
 arbitrary information at any point in the file. Variables may be set
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,34 +1,37 @@
+pandoc (1.17.0.1)
+
+  * File scope is no longer used when there are no input files (i.e.,
+    when input comes from stdin).  Previously file scope was triggered
+    when the `json` reader was specified and input came from `stdin`,
+    and this caused no output to be produced.  (Fix due to Jesse Rosenthal;
+    thanks to Fedor Sheremetyev for calling the bug to our attention.)
+  * Improved documentation of templates (#2797).
+
 pandoc (1.17)
 
   * Added `--file-scope` option (Jesse Rosenthal).
-    Traditionally pandoc operates on multiple files by first concatenating
+    By default pandoc operates on multiple files by first concatenating
     them (around extra line breaks) and then processing the joined file. So
     it only parses a multi-file document at the document scope. This has the
-    benefit that footnotes and links can be in different files, but it also
-    introduces some difficulties: (a) it is difficult to join files with
-    footnotes without some sort of preprocessing, which makes it difficult
-    to write academic documents in small pieces; (b) it makes it impossible
-    to process multiple binary input files, which can't be catted; (c) it
-    makes it impossible to process files from different input formats.
-    The `--file-scope` option causes pandoc to parse the files first,
-    and then combine the parsed output, instead of combining before
-    parsing. This makes it impossible to have links across multiple files,
-    and auto-identified headers won't work correctly if headers in multiple
-    files have the same name. On the other hand, footnotes across multiple
-    files will work correctly and will allow more freedom for input formats.
-    `--file-scope` is selected automatically for binary input files (which
-    cannot be concatenated anyway) and for pandoc json.
+    benefit that footnotes and links can be in different files, but for
+    some purposes it is useful to parse the individual files first
+    and then combine their outputs (e.g. when the files use footnotes
+    or links with the same labels).  The `--file-scope` option causes
+    pandoc to parse the files first, and then combine the parsed output,
+    instead of combining before parsing. `--file-scope` is selected
+    automatically for binary input files (which cannot be concatenated)
+    and for pandoc json.
 
-  * Add TEI Writer (csforste) and `tei` output format.
+  * Add TEI Writer (Chris Forster) and `tei` output format.
 
   * Added a general `ByteStringReader` with warnings, used by the docx
     reader (API change, Jesse Rosenthal).
 
   * Add `readDocxWithWarnings` (API change, Jesse Rosenthal).
 
-  * Changed type of Shared.uniqueIdent argument from [String] to Set String.
-    This avoids performance problems in documents with many identically
-    named headers (API change, #2671).
+  * Changed type of `Shared.uniqueIdent`'s argument from `[String]`
+    to `Set String.` This avoids performance problems in documents with
+    many identically named headers (API change, #2671).
 
   * Removed `tex_math_single_backslash` from `markdown_github` options
     (#2707).
@@ -53,12 +56,13 @@
       links have their spaces removed, and are appropriately smushed
       together (#2689).
 
-  * HTML reader: Fixed behavior of base tag (#2777).
+  * HTML reader:
 
-    + If the base path does not end with slash, the last component
+    + Fixed behavior of base tag (#2777).
+      If the base path does not end with slash, the last component
       will be replaced.  E.g. base = `http://example.com/foo`
       combines with `bar.html` to give `http://example.com/bar.html`.
-    + If the href begins with a slash, the whole path of the base
+      If the href begins with a slash, the whole path of the base
       is replaced.  E.g. base = `http://example.com/foo/` combines
       with `/bar.html` to give `http://example.com/bar.html`.
     + Rewrote `htmlInBalanced`.  This version avoids an exponential
@@ -124,10 +128,7 @@
       anyway if no positioning is specified).  Now LaTeX emplates can
       control the overall table alignment in a document by setting the
       longtable length variables `LTleft` and `LTright`.  For example,
-
-        \setlength\LTleft\parindent
-        \setlength\LTright\fill
-
+      `\setlength\LTleft\parindent\setlength\LTright\fill`
       will create left-aligned tables that respect paragraph indentation.
 
   * Docx writer: Handle image alt text (#2754, Mauro Bieg).
diff --git a/man/pandoc.1 b/man/pandoc.1
--- a/man/pandoc.1
+++ b/man/pandoc.1
@@ -1,5 +1,5 @@
 .\"t
-.TH PANDOC 1 "January 12, 2016" "pandoc 1.17"
+.TH PANDOC 1 "January 12, 2016" "pandoc 1.17.0.1"
 .SH NAME
 pandoc - general markup converter
 .SH SYNOPSIS
@@ -18,8 +18,8 @@
 shows), ConTeXt, RTF, OPML, DocBook, OpenDocument, ODT, Word docx, GNU
 Texinfo, MediaWiki markup, DokuWiki markup, Haddock markup, EPUB (v2 or
 v3), FictionBook2, Textile, groff man pages, Emacs Org mode, AsciiDoc,
-InDesign ICML, [TEI XML], and Slidy, Slideous, DZSlides, reveal.js or S5
-HTML slide shows.
+InDesign ICML, TEI Simple, and Slidy, Slideous, DZSlides, reveal.js or
+S5 HTML slide shows.
 It can also produce PDF output on systems where LaTeX, ConTeXt, or
 \f[C]wkhtmltopdf\f[] is installed.
 .PP
@@ -1159,9 +1159,18 @@
 format \f[I]FORMAT\f[] by putting a file
 \f[C]templates/default.*FORMAT*\f[] in the user data directory (see
 \f[C]\-\-data\-dir\f[], above).
-\f[I]Exceptions:\f[] For \f[C]odt\f[] output, customize the
-\f[C]default.opendocument\f[] template.
-For \f[C]pdf\f[] output, customize the \f[C]default.latex\f[] template.
+\f[I]Exceptions:\f[]
+.IP \[bu] 2
+For \f[C]odt\f[] output, customize the \f[C]default.opendocument\f[]
+template.
+.IP \[bu] 2
+For \f[C]pdf\f[] output, customize the \f[C]default.latex\f[] template
+(or the \f[C]default.beamer\f[] template, if you use
+\f[C]\-t\ beamer\f[], or the \f[C]default.context\f[] template, if you
+use \f[C]\-t\ context\f[]).
+.IP \[bu] 2
+\f[C]docx\f[] has no template (however, you can use
+\f[C]\-\-reference\-docx\f[] to customize the output).
 .PP
 Templates contain \f[I]variables\f[], which allow for the inclusion of
 arbitrary information at any point in the file.
diff --git a/pandoc.cabal b/pandoc.cabal
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -1,5 +1,5 @@
 Name:            pandoc
-Version:         1.17
+Version:         1.17.0.1
 Cabal-Version:   >= 1.10
 Build-Type:      Custom
 License:         GPL
diff --git a/pandoc.hs b/pandoc.hs
--- a/pandoc.hs
+++ b/pandoc.hs
@@ -1327,6 +1327,7 @@
   (doc, media) <- case reader of
     (StringReader _) | not fileScope && readerName' /= "json" ->
                          sourceToDoc sources
+    _ | null sources -> sourceToDoc sources
     _  -> do pairs <- mapM (\s -> sourceToDoc [s]) sources
              return (mconcat $ map fst pairs, mconcat $ map snd pairs)
 
