diff --git a/Network/IRC/Bot/Commands.hs b/Network/IRC/Bot/Commands.hs
--- a/Network/IRC/Bot/Commands.hs
+++ b/Network/IRC/Bot/Commands.hs
@@ -6,7 +6,6 @@
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as B
 import Data.Data
-import Data.Monoid ((<>))
 import Network.IRC (Message(Message, msg_prefix, msg_command, msg_params), Command, Prefix(NickName))
 import Network.IRC.Bot.BotMonad (BotMonad, askMessage, sendMessage)
 
diff --git a/Network/IRC/Bot/Core.hs b/Network/IRC/Bot/Core.hs
--- a/Network/IRC/Bot/Core.hs
+++ b/Network/IRC/Bot/Core.hs
@@ -16,7 +16,6 @@
 import Control.Monad            (mplus, forever, void, when)
 import Data.ByteString          (ByteString)
 import qualified Data.ByteString.Char8 as C
-import Data.Monoid              ((<>))
 import Data.Set                 (Set, empty)
 import Data.Time                (UTCTime, addUTCTime, getCurrentTime)
 import Network.Socket           hiding (Debug)
diff --git a/Network/IRC/Bot/Options.hs b/Network/IRC/Bot/Options.hs
--- a/Network/IRC/Bot/Options.hs
+++ b/Network/IRC/Bot/Options.hs
@@ -11,7 +11,6 @@
 import qualified Data.Set
 
 import Options.Applicative
-import Data.Semigroup ((<>))
 
 import Network.IRC.Bot.Core       (BotConf(..), User(..))
 import Network.IRC.Bot.Log        (Logger, LogLevel(..), stdoutLogger)
diff --git a/Network/IRC/Bot/Parsec.hs b/Network/IRC/Bot/Parsec.hs
--- a/Network/IRC/Bot/Parsec.hs
+++ b/Network/IRC/Bot/Parsec.hs
@@ -1,7 +1,5 @@
 {-# LANGUAGE FlexibleContexts, OverloadedStrings #-}
--- Enable when GHC7.10 support is not needed
--- where this fails with 'unknown flag'
--- {-# OPTIONS_GHC -Wno-orphans #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
 
 module Network.IRC.Bot.Parsec where
 
@@ -41,7 +39,6 @@
 import Data.Char (digitToInt)
 import Data.List (intercalate, nub)
 import Data.Maybe (fromMaybe)
-import Data.Monoid ((<>))
 import Network.IRC.Bot.Log
 import Network.IRC.Bot.BotMonad
 import Network.IRC.Bot.Commands
diff --git a/Network/IRC/Bot/Part/Channels.hs b/Network/IRC/Bot/Part/Channels.hs
--- a/Network/IRC/Bot/Part/Channels.hs
+++ b/Network/IRC/Bot/Part/Channels.hs
@@ -4,7 +4,6 @@
 import Control.Concurrent.STM (atomically)
 import Control.Concurrent.STM.TVar (TVar, newTVar, readTVar, writeTVar)
 import Control.Monad.Trans (MonadIO(liftIO))
-import Data.Monoid ((<>))
 import Data.Set (Set, insert, toList)
 import Data.ByteString (ByteString)
 import Network.IRC (Message(..), joinChan)
diff --git a/Network/IRC/Bot/Part/Hello.hs b/Network/IRC/Bot/Part/Hello.hs
--- a/Network/IRC/Bot/Part/Hello.hs
+++ b/Network/IRC/Bot/Part/Hello.hs
@@ -5,7 +5,6 @@
 import Control.Monad.Trans      (liftIO)
 import Data.Maybe               (fromMaybe)
 import Data.ByteString          (ByteString)
-import Data.Monoid              ((<>))
 import Network.IRC.Bot.Log      (LogLevel(Debug))
 import Network.IRC.Bot.BotMonad (BotMonad(..), maybeZero)
 import Network.IRC.Bot.Commands (PrivMsg(..),askSenderNickName, replyTo, sendCommand)
diff --git a/Network/IRC/Bot/Part/NickUser.hs b/Network/IRC/Bot/Part/NickUser.hs
--- a/Network/IRC/Bot/Part/NickUser.hs
+++ b/Network/IRC/Bot/Part/NickUser.hs
@@ -3,7 +3,6 @@
 import Control.Monad.Trans        (liftIO)
 import Data.ByteString            (ByteString)
 import Data.ByteString.Char8      (pack)
-import Data.Monoid                ((<>))
 import Network.IRC.Bot.BotMonad   (BotMonad(..) )
 import Network.IRC.Bot.Types      (User(..))
 import Network.IRC.Bot.ErrorCodes
diff --git a/Network/IRC/Bot/PosixLogger.hs b/Network/IRC/Bot/PosixLogger.hs
--- a/Network/IRC/Bot/PosixLogger.hs
+++ b/Network/IRC/Bot/PosixLogger.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-
 
@@ -21,7 +22,7 @@
 import Network.IRC.Bot.Commands (PrivMsg(PrivMsg), toPrivMsg)
 import System.Directory   (createDirectoryIfMissing)
 import System.FilePath    ((</>))
-import System.Posix.ByteString ( Fd, OpenMode(WriteOnly), OpenFileFlags(append), closeFd, defaultFileFlags
+import System.Posix.ByteString ( Fd, OpenMode(WriteOnly), OpenFileFlags(..), closeFd, defaultFileFlags
                                , openFd
                                )
 import System.Posix.IO.ByteString (fdWriteBuf)
@@ -43,7 +44,11 @@
             (Just logDir) ->
                 do let logPath = logDir </> (formatTime defaultTimeLocale ((dropWhile (== '#') (unpack channel)) ++ "-%Y-%m-%d.txt") now)
                    createDirectoryIfMissing True logDir
+#if MIN_VERSION_unix(2,8,0)
+                   fd <- openFd (pack logPath) WriteOnly (defaultFileFlags { append = True, creat = Just 0o0644 })
+#else
                    fd <- openFd (pack logPath) WriteOnly (Just 0o0644) (defaultFileFlags { append = True })
+#endif
                    return (Just fd)
       updateLogHandle :: UTCTime -> Day -> Maybe Fd -> IO (Day, Maybe Fd)
       updateLogHandle _now logDay Nothing = return (logDay, Nothing)
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env runhaskell
-import Distribution.Simple
-main = defaultMain
diff --git a/app/demo.hs b/app/demo.hs
--- a/app/demo.hs
+++ b/app/demo.hs
@@ -5,7 +5,6 @@
 import Network.IRC.Bot.Part.Dice  (dicePart)
 import Network.IRC.Bot.Part.Hello (helloPart)
 import Network.IRC.Bot.Part.NickUser (nickUserPart)
-import Network.IRC.Bot.Part.Channels (initChannelsPart)
 
 main :: IO ()
 main = runBotWithParts $ pure
diff --git a/ircbot.cabal b/ircbot.cabal
--- a/ircbot.cabal
+++ b/ircbot.cabal
@@ -1,5 +1,5 @@
 Name:                ircbot
-Version:             0.6.6.1
+Version:             0.6.6.2
 Synopsis:            A library for writing IRC bots
 Description:         A simple library for an IRC bot
 License:             BSD3
@@ -44,20 +44,20 @@
   else
     ghc-options:  -Wall
   Build-depends:  base       >= 4    && <5,
-                  bytestring >= 0.10 && < 0.12,
-                  containers >= 0.4  && < 0.7,
+                  bytestring >= 0.10 && < 0.13,
+                  containers >= 0.4  && < 0.8,
                   directory   < 1.4,
-                  filepath   >= 1.2  && < 1.5,
+                  filepath   >= 1.2  && < 1.6,
                   irc        == 0.6.*,
-                  mtl        >= 2.0  && < 2.3,
+                  mtl        >= 2.0  && < 2.4,
                   network    >= 3.1  && < 3.2,
                   parsec     == 3.1.*,
-                  time       >= 1.5  && < 1.12,
-                  unix       >= 2.4  && < 2.8,
+                  time       >= 1.5  && < 1.13,
+                  unix       >= 2.4  && < 2.9,
                   random     >= 1.0  && < 1.3,
                   stm        >= 2.2  && < 2.6,
                   SafeSemaphore >= 0.10 && < 0.11,
-                  optparse-applicative >= 0.14 && < 0.17
+                  optparse-applicative >= 0.14 && < 0.19
 
   if !impl(ghc >= 8.0)
     build-depends: semigroups >= 0.18
@@ -65,7 +65,7 @@
 Executable ircbot-demo
   main-is:        demo.hs
   hs-source-dirs: app
-  ghc-options:    -threaded -rtsopts -with-rtsopts=-N
+  ghc-options:    -Wall -threaded -rtsopts -with-rtsopts=-N
   build-depends:  base       >= 4    && <5,
                   ircbot
   default-language:    Haskell2010
