diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # Snipcheck
 
+https://travis-ci.org/nmattia/snipcheck.svg?branch=master
+
 Snipcheck makes sure that the code snippets in markdown files are up-to-date.
 
 This is very much a work in progress. The only function currently available is
@@ -26,3 +28,18 @@
 
     some more content
 
+
+## Release check-list
+
+1. Make sure you're on master
+
+1. Bump the version in `snipcheck.cabal`:
+
+> Given a version number MAJOR.MINOR.PATCH, increment the:
+>
+> MAJOR version when you make incompatible API changes,
+> MINOR version when you add functionality in a backwards-compatible manner, and
+> PATCH version when you make backwards-compatible bug fixes.
+
+1. Run `stack update --pvp-bounds both .` to upload `snipcheck` to `hackage`
+1. Commit the updated `snipcheck.cabal` file.
diff --git a/snipcheck.cabal b/snipcheck.cabal
--- a/snipcheck.cabal
+++ b/snipcheck.cabal
@@ -1,5 +1,5 @@
 name: snipcheck
-version: 0.1.0.1
+version: 0.1.0.2
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
diff --git a/src/Snipcheck.hs b/src/Snipcheck.hs
--- a/src/Snipcheck.hs
+++ b/src/Snipcheck.hs
@@ -4,11 +4,13 @@
 module Snipcheck where
 
 import Control.Monad
+import Data.Char (isSpace)
+import Data.List (dropWhileEnd)
 import Data.Maybe
-import qualified Data.Map as Map
 import Data.Monoid
 import System.Process(readCreateProcess, shell)
 import Text.Pandoc (Block(..))
+import qualified Data.Map as Map
 
 import qualified Text.Pandoc as Pandoc
 
@@ -81,19 +83,23 @@
     unMetaStr (Pandoc.Str s) = Just s
     unMetaStr _ = Nothing
 
+trim :: String -> String
+trim = dropWhile isSpace . dropWhileEnd isSpace
+
 check :: Pandoc.Block -> IO ()
 check (CodeBlock (typ, classes, kvs) content)
   | "shell" `elem` classes = do
       let Right cmds = extractCommands content
       forM_ cmds $ \(cmd, expected) -> do
-        actual <- lines <$> readCreateProcess (shell cmd) ""
-        let expected' = sloppyString <$> expected
+        actual <- (fmap trim . lines) <$> readCreateProcess (shell cmd) ""
+        let expected' = (sloppyString . trim) <$> expected
         unless (checkSloppy actual expected') $ error $ mconcat
           [ "Couldnt match expected ", show expected'
           , " with " <> show actual
           ]
   | otherwise = print (typ, classes, kvs)
 check _ = return ()
+
 
 extractCommands :: String -> Either String [(String, [String])]
 extractCommands str = go (lines str)
