diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+0.5.0.1
+=======
+* Fix numeric formatting in Handle scribe.
+* Bump deps for GHC 8.2.1
+
 0.5.0.0
 =======
 * Improved documentation.
diff --git a/katip.cabal b/katip.cabal
--- a/katip.cabal
+++ b/katip.cabal
@@ -1,5 +1,5 @@
 name:                katip
-version:             0.5.0.0
+version:             0.5.0.1
 synopsis:            A structured logging framework.
 description:
   Katip is a structured logging framework. See README.md for more details.
@@ -54,7 +54,7 @@
     OverloadedStrings
 
   build-depends: base >=4.5 && <5
-               , aeson >=0.6 && <1.2
+               , aeson >=0.6 && <1.3
                , async < 3.0.0.0
                , auto-update >= 0.1 && < 0.2
                , bytestring >= 0.9 && < 0.11
@@ -64,9 +64,9 @@
                , hostname >=1.0 && <1.1
                , old-locale >= 1.0 && < 1.1
                , string-conv >= 0.1 && < 0.2
-               , template-haskell >= 2.8 && < 2.12
+               , template-haskell >= 2.8 && < 2.13
                , text >= 0.11 && <1.3
-               , time >= 1 && < 1.7
+               , time >= 1 && < 1.9
                , transformers >= 0.3 && < 0.6
                , transformers-compat
                , unordered-containers >= 0.2 && < 0.3
@@ -74,6 +74,7 @@
                , mtl >= 2.0 && < 2.3
                , transformers-base >= 0.3 && < 0.6
                , resourcet >= 1.1 && < 1.2
+               , scientific >= 0.3.3.0
                , microlens >= 0.2.0.0 && < 0.5
                , microlens-th >= 0.1.0.0 && < 0.5
                , semigroups
diff --git a/src/Katip/Scribes/Handle.hs b/src/Katip/Scribes/Handle.hs
--- a/src/Katip/Scribes/Handle.hs
+++ b/src/Katip/Scribes/Handle.hs
@@ -10,6 +10,7 @@
 import           Data.Aeson
 import qualified Data.HashMap.Strict    as HM
 import           Data.Monoid
+import           Data.Scientific        as S
 import           Data.Text              (Text)
 import           Data.Text.Lazy.Builder
 import           Data.Text.Lazy.IO      as T
@@ -34,10 +35,13 @@
       case v of
         Object o -> concat [renderPair (k <> "." <> k', v')  | (k', v') <- HM.toList o]
         String t -> [fromText (k <> ":" <> t)]
-        Number n -> [fromText (k <> ":") <> fromString (show n)]
+        Number n -> [fromText (k <> ":") <> fromString (formatNumber n)]
         Bool b -> [fromText (k <> ":") <> fromString (show b)]
         Null -> [fromText (k <> ":null")]
         _ -> mempty -- Can't think of a sensible way to handle arrays
+    formatNumber :: Scientific -> String
+    formatNumber n =
+      formatScientific Generic (if isFloating n then Nothing else Just 0) n
 
 
 -------------------------------------------------------------------------------
diff --git a/test/Katip/Tests/Scribes/Handle-text.golden b/test/Katip/Tests/Scribes/Handle-text.golden
--- a/test/Katip/Tests/Scribes/Handle-text.golden
+++ b/test/Katip/Tests/Scribes/Handle-text.golden
@@ -36,5 +36,5 @@
 [2016-06-12 12:34:56][foo][Info][example][7331][1337][note.deep:some note] message
 [2016-06-12 12:34:56][foo][Info][example][7331][1337][note.deep:some note][main:Some.Module path/Some/Module.hs:30:1] message
 [2016-06-12 12:34:56][foo][Info][example][7331][1337][note.deep:some note][main:Some.Module путь/Some/Module.hs:3000:9000] message
-[2016-06-12 12:34:56][foo][Info][example][7331][1337][sub:null][text:][num:0.0][float:0.0] message
-[2016-06-12 12:34:56][foo][Info][example][7331][1337][sub.note.deep:some note][text:note][num:10.0][float:5.5] message
+[2016-06-12 12:34:56][foo][Info][example][7331][1337][sub:null][text:][num:0][float:0] message
+[2016-06-12 12:34:56][foo][Info][example][7331][1337][sub.note.deep:some note][text:note][num:10][float:5.5] message
