diff --git a/Changes.md b/Changes.md
new file mode 100644
--- /dev/null
+++ b/Changes.md
@@ -0,0 +1,7 @@
+# Change log for the `shell-utility` package
+
+## 0.1
+
+* `Log`: Do not add trailing newlines.
+  This is consistent with Cabal's logging functions.
+  It allows us to use initial newlines where appropriate.
diff --git a/shell-utility.cabal b/shell-utility.cabal
--- a/shell-utility.cabal
+++ b/shell-utility.cabal
@@ -1,5 +1,5 @@
 Name:           shell-utility
-Version:        0.0
+Version:        0.1
 License:        BSD3
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -18,8 +18,11 @@
 Tested-With:    GHC==7.4.2, GHC==8.6.5
 Cabal-Version:  >=1.6
 Build-Type:     Simple
+Extra-Source-Files:
+  Changes.md
+
 Source-Repository this
-  Tag:         0.0
+  Tag:         0.1
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/shell-utility/
 
diff --git a/src/Shell/Utility/Exit.hs b/src/Shell/Utility/Exit.hs
--- a/src/Shell/Utility/Exit.hs
+++ b/src/Shell/Utility/Exit.hs
@@ -31,3 +31,8 @@
 
 instance (IsString str) => Exit (Either str) where
    exitFailureMsg = Left . fromString
+
+{- ToDo:
+Optparse.Applicative.ReadM could also be an instance
+but this would add a new dependency.
+-}
diff --git a/src/Shell/Utility/Log.hs b/src/Shell/Utility/Log.hs
--- a/src/Shell/Utility/Log.hs
+++ b/src/Shell/Utility/Log.hs
@@ -20,7 +20,7 @@
 Display on 'IO.stderr' at 'normal' verbosity and above.
 -}
 warn :: Verbosity -> String -> IO ()
-warn = atLevel normal $ IO.hPutStrLn IO.stderr . ("Warning: " ++)
+warn = atLevel normal $ IO.hPutStr IO.stderr . ("Warning: " ++)
 
 {- |
 Useful status message.
@@ -32,7 +32,7 @@
 but not floods of detail.
 -}
 notice :: Verbosity -> String -> IO ()
-notice = atLevel normal putStrLn
+notice = atLevel normal putStr
 
 {- |
 More detail on the operation of some action.
@@ -40,7 +40,7 @@
 Display at 'verbose' verbosity and above.
 -}
 info :: Verbosity -> String -> IO ()
-info = atLevel verbose putStrLn
+info = atLevel verbose putStr
 
 {- |
 Detailed internal debugging information
@@ -48,7 +48,7 @@
 Display for 'deafening' verbosity.
 -}
 debug :: Verbosity -> String -> IO ()
-debug = atLevel deafening putStrLn
+debug = atLevel deafening putStr
 
 atLevel ::
    (Monad m, Ord verbosity) =>
