diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## Changes in 0.31.1
+  - Show the header when printing to stdout (see #331)
+  - Add help for `--numeric-version`(see #337)
+
 ## Changes in 0.31.0
   - Add `mixin` to the fields read by dependencies when they are
     objects (see #318)
diff --git a/hpack.cabal b/hpack.cabal
--- a/hpack.cabal
+++ b/hpack.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.30.0.
+-- This file has been generated from package.yaml by hpack version 0.31.0.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 3d155641237ff3e777fbdcb7ea2f36ada952f78ea89a02794019752f6b0705a9
+-- hash: d0e64e7193dd79e7d688f56350272b988a08b6f0f9706767a37f122ceeae72ee
 
 name:           hpack
-version:        0.31.0
+version:        0.31.1
 synopsis:       A modern format for Haskell packages
 description:    See README at <https://github.com/sol/hpack#readme>
 category:       Development
diff --git a/src/Hpack.hs b/src/Hpack.hs
--- a/src/Hpack.hs
+++ b/src/Hpack.hs
@@ -101,6 +101,7 @@
   Utf8.hPutStrLn stderr $ unlines [
       "Usage: " ++ name ++ " [ --silent ] [ --force | -f ] [ PATH ] [ - ]"
     , "       " ++ name ++ " --version"
+    , "       " ++ name ++ " --numeric-version"
     , "       " ++ name ++ " --help"
     ]
 
@@ -181,9 +182,10 @@
   case status of
     Generated -> do
       let hash = sha256 withoutHeader
+          out  = cabalVersion ++ header (decodeOptionsTarget options) v hash ++ body
       if toStdout
-        then Utf8.putStr withoutHeader
-        else Utf8.writeFile cabalFile (cabalVersion ++ header (decodeOptionsTarget options) v hash ++ body)
+        then Utf8.putStr out
+        else Utf8.writeFile cabalFile out
     _ -> return ()
   return Result {
       resultWarnings = warnings
