diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+5.8
+  - API change: EvPaste input event now provides paste data as a raw
+    ByteString rather than a String to allow the application to decode
+    how best to decode it
+
 5.7.1
   - ModeDemo: added an explicit Control.Applicative import for older GHCs
 
diff --git a/dist/build/verify-attribute-opsStub/verify-attribute-opsStub-tmp/verify-attribute-opsStub.hs b/dist/build/verify-attribute-opsStub/verify-attribute-opsStub-tmp/verify-attribute-opsStub.hs
deleted file mode 100644
--- a/dist/build/verify-attribute-opsStub/verify-attribute-opsStub-tmp/verify-attribute-opsStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyAttributeOps ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-crop-span-generationStub/verify-crop-span-generationStub-tmp/verify-crop-span-generationStub.hs b/dist/build/verify-crop-span-generationStub/verify-crop-span-generationStub-tmp/verify-crop-span-generationStub.hs
deleted file mode 100644
--- a/dist/build/verify-crop-span-generationStub/verify-crop-span-generationStub-tmp/verify-crop-span-generationStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyCropSpanGeneration ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-display-attributesStub/verify-display-attributesStub-tmp/verify-display-attributesStub.hs b/dist/build/verify-display-attributesStub/verify-display-attributesStub-tmp/verify-display-attributesStub.hs
deleted file mode 100644
--- a/dist/build/verify-display-attributesStub/verify-display-attributesStub-tmp/verify-display-attributesStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyDisplayAttributes ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-empty-image-propsStub/verify-empty-image-propsStub-tmp/verify-empty-image-propsStub.hs b/dist/build/verify-empty-image-propsStub/verify-empty-image-propsStub-tmp/verify-empty-image-propsStub.hs
deleted file mode 100644
--- a/dist/build/verify-empty-image-propsStub/verify-empty-image-propsStub-tmp/verify-empty-image-propsStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyEmptyImageProps ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-eval-terminfo-capsStub/verify-eval-terminfo-capsStub-tmp/verify-eval-terminfo-capsStub.hs b/dist/build/verify-eval-terminfo-capsStub/verify-eval-terminfo-capsStub-tmp/verify-eval-terminfo-capsStub.hs
deleted file mode 100644
--- a/dist/build/verify-eval-terminfo-capsStub/verify-eval-terminfo-capsStub-tmp/verify-eval-terminfo-capsStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyEvalTerminfoCaps ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-image-opsStub/verify-image-opsStub-tmp/verify-image-opsStub.hs b/dist/build/verify-image-opsStub/verify-image-opsStub-tmp/verify-image-opsStub.hs
deleted file mode 100644
--- a/dist/build/verify-image-opsStub/verify-image-opsStub-tmp/verify-image-opsStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyImageOps ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-image-transStub/verify-image-transStub-tmp/verify-image-transStub.hs b/dist/build/verify-image-transStub/verify-image-transStub-tmp/verify-image-transStub.hs
deleted file mode 100644
--- a/dist/build/verify-image-transStub/verify-image-transStub-tmp/verify-image-transStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyImageTrans ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-inlineStub/verify-inlineStub-tmp/verify-inlineStub.hs b/dist/build/verify-inlineStub/verify-inlineStub-tmp/verify-inlineStub.hs
deleted file mode 100644
--- a/dist/build/verify-inlineStub/verify-inlineStub-tmp/verify-inlineStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyInline ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-layers-span-generationStub/verify-layers-span-generationStub-tmp/verify-layers-span-generationStub.hs b/dist/build/verify-layers-span-generationStub/verify-layers-span-generationStub-tmp/verify-layers-span-generationStub.hs
deleted file mode 100644
--- a/dist/build/verify-layers-span-generationStub/verify-layers-span-generationStub-tmp/verify-layers-span-generationStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyLayersSpanGeneration ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-parse-terminfo-capsStub/verify-parse-terminfo-capsStub-tmp/verify-parse-terminfo-capsStub.hs b/dist/build/verify-parse-terminfo-capsStub/verify-parse-terminfo-capsStub-tmp/verify-parse-terminfo-capsStub.hs
deleted file mode 100644
--- a/dist/build/verify-parse-terminfo-capsStub/verify-parse-terminfo-capsStub-tmp/verify-parse-terminfo-capsStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyParseTerminfoCaps ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-simple-span-generationStub/verify-simple-span-generationStub-tmp/verify-simple-span-generationStub.hs b/dist/build/verify-simple-span-generationStub/verify-simple-span-generationStub-tmp/verify-simple-span-generationStub.hs
deleted file mode 100644
--- a/dist/build/verify-simple-span-generationStub/verify-simple-span-generationStub-tmp/verify-simple-span-generationStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifySimpleSpanGeneration ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-terminalStub/verify-terminalStub-tmp/verify-terminalStub.hs b/dist/build/verify-terminalStub/verify-terminalStub-tmp/verify-terminalStub.hs
deleted file mode 100644
--- a/dist/build/verify-terminalStub/verify-terminalStub-tmp/verify-terminalStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyOutput ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-using-mock-terminalStub/verify-using-mock-terminalStub-tmp/verify-using-mock-terminalStub.hs b/dist/build/verify-using-mock-terminalStub/verify-using-mock-terminalStub-tmp/verify-using-mock-terminalStub.hs
deleted file mode 100644
--- a/dist/build/verify-using-mock-terminalStub/verify-using-mock-terminalStub-tmp/verify-using-mock-terminalStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyUsingMockTerminal ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/dist/build/verify-utf8-widthStub/verify-utf8-widthStub-tmp/verify-utf8-widthStub.hs b/dist/build/verify-utf8-widthStub/verify-utf8-widthStub-tmp/verify-utf8-widthStub.hs
deleted file mode 100644
--- a/dist/build/verify-utf8-widthStub/verify-utf8-widthStub-tmp/verify-utf8-widthStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import VerifyUtf8Width ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/src/Graphics/Vty/Input/Events.hs b/src/Graphics/Vty/Input/Events.hs
--- a/src/Graphics/Vty/Input/Events.hs
+++ b/src/Graphics/Vty/Input/Events.hs
@@ -1,5 +1,7 @@
 module Graphics.Vty.Input.Events where
 
+import Data.ByteString
+
 -- | Representations of non-modifier keys.
 --
 -- * KFun is indexed from 0 to 63. Range of supported FKeys varies by terminal and keyboard.
@@ -42,12 +44,14 @@
     -- signal. If read from 'nextEvent' this is the size at the time the
     -- event was processed by Vty. Typically these are the same, but if
     -- somebody is resizing the terminal quickly they can be different.
-    | EvPaste String
+    | EvPaste ByteString
     -- ^ A paste event occurs when a bracketed paste input sequence is
     -- received. For terminals that support bracketed paste mode, these
     -- events will be triggered on a paste event. Terminals that do not
     -- support bracketed pastes will send the paste contents as ordinary
-    -- input (which is probably bad, so beware!)
+    -- input (which is probably bad, so beware!) Note that the data is
+    -- provided in raw form and you'll have to decode (e.g. as UTF-8) if
+    -- that's what your application expects.
     deriving (Eq,Show,Read,Ord)
 
 type ClassifyMap = [(String,Event)]
diff --git a/src/Graphics/Vty/Input/Paste.hs b/src/Graphics/Vty/Input/Paste.hs
--- a/src/Graphics/Vty/Input/Paste.hs
+++ b/src/Graphics/Vty/Input/Paste.hs
@@ -7,6 +7,8 @@
     , bracketedPasteFinished
     ) where
 
+import qualified Data.ByteString.Char8 as BS8
+
 import Graphics.Vty.Input.Events
 import Graphics.Vty.Input.Classify.Types
 
@@ -35,7 +37,7 @@
         rest' = if bracketedPasteEnd `isPrefixOf` rest
                 then drop (length bracketedPasteEnd) rest
                 else rest
-    in Valid (EvPaste p) rest'
+    in Valid (EvPaste $ BS8.pack p) rest'
 
 takeUntil :: (Eq a) => [a] -> [a] -> ([a],[a])
 takeUntil [] _ = ([], [])
diff --git a/vty.cabal b/vty.cabal
--- a/vty.cabal
+++ b/vty.cabal
@@ -1,5 +1,5 @@
 name:                vty
-version:             5.7.1
+version:             5.8
 license:             BSD3
 license-file:        LICENSE
 author:              AUTHORS
