diff --git a/snap-core.cabal b/snap-core.cabal
--- a/snap-core.cabal
+++ b/snap-core.cabal
@@ -1,5 +1,5 @@
 name:           snap-core
-version:        1.0.3.2
+version:        1.0.4.0
 synopsis:       Snap: A Haskell Web Framework (core interfaces and types)
 
 description:
@@ -35,7 +35,7 @@
 bug-reports:    https://github.com/snapframework/snap-core/issues
 category:       Web, Snap, IO-Streams
 Tested-With:    GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3,
-                GHC == 8.0.1, GHC == 8.2.1, GHC == 8.4.1
+                GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.3
 
 extra-source-files:
   test/TestSuite.hs,
@@ -147,7 +147,7 @@
     readable                  >= 0.1     && < 0.4,
     regex-posix               >= 0.95    && < 1,
     text                      >= 0.11    && < 1.3,
-    time                      >= 1.0     && < 1.9,
+    time                      >= 1.0     && < 1.10,
     transformers              >= 0.3     && < 0.6,
     transformers-base         >= 0.4     && < 0.5,
     unix-compat               >= 0.3     && < 0.6,
@@ -185,7 +185,7 @@
 
   if flag(network-uri)
     build-depends: network-uri >= 2.6 && < 2.7,
-                   network     >= 2.6 && < 2.7
+                   network     >= 2.6 && < 3.1
   else
     build-depends: network-uri >= 2.5 && < 2.6,
                    network     >= 2.3 && < 2.6
@@ -273,11 +273,11 @@
     zlib                       >= 0.5      && <0.7
 
   if flag(network-uri)
-    build-depends: network-uri >= 2.6 && < 2.7,
-                   network     >= 2.6 && < 2.7
+    build-depends: network-uri,
+                   network
   else
-    build-depends: network-uri >= 2.5 && < 2.6,
-                   network     >= 2.3 && < 2.6
+    build-depends: network-uri,
+                   network
 
   ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -threaded
                -fno-warn-unused-do-bind
diff --git a/src/Snap/Internal/Http/Types.hs b/src/Snap/Internal/Http/Types.hs
--- a/src/Snap/Internal/Http/Types.hs
+++ b/src/Snap/Internal/Http/Types.hs
@@ -1310,10 +1310,16 @@
 
 
 ------------------------------------------------------------------------------
+-- | Adapted from:
+--
+-- <https://www.iana.org/assignments/http-status-codes/http-status-codes.txt>
 statusReasonMap :: IM.IntMap ByteString
 statusReasonMap = IM.fromList [
         (100, "Continue"),
         (101, "Switching Protocols"),
+        (102, "Processing"),
+        (103, "Early Hints"),
+        -- 104-199 Unassigned
         (200, "OK"),
         (201, "Created"),
         (202, "Accepted"),
@@ -1321,13 +1327,21 @@
         (204, "No Content"),
         (205, "Reset Content"),
         (206, "Partial Content"),
+        (207, "Multi-Status"),
+        (208, "Already Reported"),
+        -- 209-225 Unassigned
+        (226, "IM Used"),
+        -- 227-299 Unassigned,
         (300, "Multiple Choices"),
         (301, "Moved Permanently"),
         (302, "Found"),
         (303, "See Other"),
         (304, "Not Modified"),
         (305, "Use Proxy"),
+        (306, "(Unused)"),
         (307, "Temporary Redirect"),
+        (308, "Permanent Redirect"),
+        -- 309-399 Unassigned
         (400, "Bad Request"),
         (401, "Unauthorized"),
         (402, "Payment Required"),
@@ -1336,24 +1350,45 @@
         (405, "Method Not Allowed"),
         (406, "Not Acceptable"),
         (407, "Proxy Authentication Required"),
-        (408, "Request Time-out"),
+        (408, "Request Timeout"),
         (409, "Conflict"),
         (410, "Gone"),
         (411, "Length Required"),
         (412, "Precondition Failed"),
-        (413, "Request Entity Too Large"),
-        (414, "Request-URI Too Large"),
+        (413, "Payload Too Large"),
+        (414, "URI Too Long"),
         (415, "Unsupported Media Type"),
-        (416, "Requested range not satisfiable"),
+        (416, "Range Not Satisfiable"),
         (417, "Expectation Failed"),
+        -- 418-420 Unassigned
+        (421, "Misdirected Request"),
+        (422, "Unprocessable Entity"),
+        (423, "Locked"),
+        (424, "Failed Dependency"),
+        (425, "Too Early"),
+        (426, "Upgrade Required"),
+        -- 427 Unassigned
+        (428, "Precondition Required"),
+        (429, "Too Many Requests"),
+        -- 430 Unassigned
+        (431, "Request Header Fields Too Large"),
+        -- 432-450 Unassigned
+        (451, "Unavailable For Legal Reasons"),
+        -- 452-499 Unassigned
         (500, "Internal Server Error"),
         (501, "Not Implemented"),
         (502, "Bad Gateway"),
         (503, "Service Unavailable"),
-        (504, "Gateway Time-out"),
-        (505, "HTTP Version not supported")
+        (504, "Gateway Timeout"),
+        (505, "HTTP Version Not Supported"),
+        (506, "Variant Also Negotiates"),
+        (507, "Insufficient Storage"),
+        (508, "Loop Detected"),
+        -- 509 Unassigned
+        (510, "Not Extended"),
+        (511, "Network Authentication Required")
+        -- 512-599 Unassigned
     ]
-
 
 ------------------------------------------------------------------------------
 -- Deprecated functions
diff --git a/src/Snap/Internal/Util/FileServe.hs b/src/Snap/Internal/Util/FileServe.hs
--- a/src/Snap/Internal/Util/FileServe.hs
+++ b/src/Snap/Internal/Util/FileServe.hs
@@ -120,6 +120,7 @@
 -- >   ( ".conf"    , "text/plain"                                             ),
 -- >   ( ".cpp"     , "text/plain"                                             ),
 -- >   ( ".css"     , "text/css"                                               ),
+-- >   ( ".csv"     , "text/csv"                                               ),
 -- >   ( ".cxx"     , "text/plain"                                             ),
 -- >   ( ".doc"     , "application/msword"                                     ),
 -- >   ( ".docx"    , S.append "application/vnd.openxmlformats-officedocument"
@@ -177,9 +178,9 @@
 -- >   ( ".tar.gz"  , "application/x-tgz"                                      ),
 -- >   ( ".tbz"     , "application/x-bzip-compressed-tar"                      ),
 -- >   ( ".text"    , "text/plain"                                             ),
+-- >   ( ".tgz"     , "application/x-tgz"                                      ),
 -- >   ( ".tif"     , "image/tiff"                                             ),
 -- >   ( ".tiff"    , "image/tiff"                                             ),
--- >   ( ".tgz"     , "application/x-tgz"                                      ),
 -- >   ( ".torrent" , "application/x-bittorrent"                               ),
 -- >   ( ".ts"      , "video/mp2t"                                             ),
 -- >   ( ".txt"     , "text/plain"                                             ),
@@ -216,6 +217,7 @@
     ( ".conf"    , "text/plain"                                             ),
     ( ".cpp"     , "text/plain"                                             ),
     ( ".css"     , "text/css"                                               ),
+    ( ".csv"     , "text/csv"                                               ),
     ( ".cxx"     , "text/plain"                                             ),
     ( ".doc"     , "application/msword"                                     ),
     ( ".docx"    , S.append "application/vnd.openxmlformats-officedocument"
@@ -273,11 +275,12 @@
     ( ".tar.gz"  , "application/x-tgz"                                      ),
     ( ".tbz"     , "application/x-bzip-compressed-tar"                      ),
     ( ".text"    , "text/plain"                                             ),
-    ( ".tif"     , "image/tiff"                                             ),
-    ( ".tiff"    , "image/tiff"                                             ),
     ( ".tgz"     , "application/x-tgz"                                      ),
+    ( ".tiff"    , "image/tiff"                                             ),
+    ( ".tif"     , "image/tiff"                                             ),
     ( ".torrent" , "application/x-bittorrent"                               ),
     ( ".ts"      , "video/mp2t"                                             ),
+    ( ".ttf"     , "font/ttf"                                               ),
     ( ".txt"     , "text/plain"                                             ),
     ( ".wav"     , "audio/x-wav"                                            ),
     ( ".wax"     , "audio/x-ms-wax"                                         ),
diff --git a/src/Snap/Internal/Util/FileUploads.hs b/src/Snap/Internal/Util/FileUploads.hs
--- a/src/Snap/Internal/Util/FileUploads.hs
+++ b/src/Snap/Internal/Util/FileUploads.hs
@@ -770,7 +770,7 @@
 
 
 ------------------------------------------------------------------------------
--- | Allows the file to be uploaded, with maximum size /n/.
+-- | Allows the file to be uploaded, with maximum size /n/ in bytes.
 allowWithMaximumSize :: Int64 -> PartUploadPolicy
 allowWithMaximumSize = PartUploadPolicy . Just
 
