diff --git a/om-socket.cabal b/om-socket.cabal
--- a/om-socket.cabal
+++ b/om-socket.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                om-socket
-version:             0.11.0.3
+version:             0.11.0.4
 synopsis:            Socket utilities.
 description:         Binary ingress server, egress client, and
                      bidirectional binarry client/server
@@ -25,23 +25,23 @@
 
 common dependencies
   build-depends:
-    , aeson          >= 2.0.3.0   && < 2.1
-    , base           >= 4.15.0.0  && < 4.16
+    , aeson          >= 2.0.3.0   && < 2.3
+    , base           >= 4.15.1.0  && < 4.20
     , binary         >= 0.8.8.0   && < 0.9
     , binary-conduit >= 1.3.1     && < 1.4
-    , bytestring     >= 0.10.12.1 && < 0.11
+    , bytestring     >= 0.10.12.1 && < 0.13
     , conduit        >= 1.3.4.3   && < 1.4
     , conduit-extra  >= 1.3.6     && < 1.4
     , containers     >= 0.6.4.1   && < 0.7
     , exceptions     >= 0.10.4    && < 0.11
-    , megaparsec     >= 9.2.2     && < 9.3
+    , megaparsec     >= 9.2.2     && < 9.7
     , monad-logger   >= 0.3.37    && < 0.4
     , network        >= 3.1.2.7   && < 3.2
-    , om-show        >= 0.1.2.2   && < 0.2
+    , om-show        >= 0.1.2.6   && < 0.2
     , stm            >= 2.5.0.0   && < 2.6
-    , text           >= 1.2.5.0   && < 1.3
+    , text           >= 1.2.5.0   && < 2.2
     , time           >= 1.9.3     && < 1.10
-    , tls            >= 1.5.8     && < 1.6
+    , tls            >= 1.5.8     && < 1.10
 
 library
   import: warnings, dependencies
@@ -87,7 +87,7 @@
   default-language: Haskell2010
   build-depends:
     , om-socket
-    , transformers >= 0.5.6.2 && < 0.6
+    , transformers >= 0.5.6.2 && < 0.7
 
 -- This isn't really a test, it is just used to make sure the example
 -- compiles without clusttering up the package with a bunch of
diff --git a/src/OM/Socket.hs b/src/OM/Socket.hs
--- a/src/OM/Socket.hs
+++ b/src/OM/Socket.hs
@@ -24,17 +24,17 @@
 ) where
 
 
-import Control.Applicative ((<|>))
+import Control.Applicative (Alternative((<|>)))
 import Control.Concurrent (Chan, MVar, forkIO, newChan, newEmptyMVar,
   putMVar, readChan, takeMVar, throwTo, writeChan)
 import Control.Concurrent.STM (TVar, atomically, newTVar, readTVar,
   retry, writeTVar)
 import Control.Exception (SomeException, bracketOnError, throw)
 import Control.Monad (join, void, when)
-import Control.Monad.Catch (MonadCatch, MonadThrow, throwM, try)
-import Control.Monad.IO.Class (MonadIO, liftIO)
-import Control.Monad.Logger.CallStack (MonadLoggerIO, askLoggerIO,
-  logDebug, logError, logWarn, runLoggingT)
+import Control.Monad.Catch (MonadThrow(throwM), MonadCatch, try)
+import Control.Monad.IO.Class (MonadIO(liftIO))
+import Control.Monad.Logger.CallStack (LoggingT(runLoggingT),
+  MonadLoggerIO(askLoggerIO), logDebug, logError, logWarn)
 import Data.Aeson (FromJSON, FromJSONKey, ToJSON, ToJSONKey)
 import Data.Binary (Binary(get), encode)
 import Data.Binary.Get (Decoder(Done, Fail, Partial), pushChunk,
@@ -51,17 +51,23 @@
 import Data.Void (Void)
 import Data.Word (Word32)
 import GHC.Generics (Generic)
-import Network.Socket (Family(AF_INET, AF_INET6, AF_UNIX),
-  SockAddr(SockAddrInet, SockAddrInet6, SockAddrUnix),
+import Network.Socket (AddrInfo(addrAddress), Family(AF_INET, AF_INET6,
+  AF_UNIX), SockAddr(SockAddrInet, SockAddrInet6, SockAddrUnix),
   SocketOption(ReuseAddr), SocketType(Stream), HostName, ServiceName,
-  Socket, accept, addrAddress, bind, close, connect, defaultProtocol,
-  getAddrInfo, listen, setSocketOption, socket)
+  Socket, accept, bind, close, connect, defaultProtocol, getAddrInfo,
+  listen, setSocketOption, socket)
 import Network.Socket.ByteString (recv)
 import Network.Socket.ByteString.Lazy (sendAll)
 import Network.TLS (ClientParams, Context, ServerParams, contextNew,
   handshake, recvData, sendData)
 import OM.Show (showt)
-import Text.Megaparsec (Parsec, eof, many, oneOf, parse, satisfy)
+import Prelude (Applicative(pure), Bool(False, True), Bounded(minBound),
+  Either(Left, Right), Enum(succ), Eq((/=)), Functor(fmap), Maybe(Just,
+  Nothing), Monad((>>), (>>=), return), MonadFail(fail), Semigroup((<>)),
+  Show(show), ($), (++), (.), (=<<), IO, Monoid, Num, Ord, String,
+  sequence_, snd, userError)
+import Text.Megaparsec (MonadParsec(eof), Parsec, many, oneOf, parse,
+  satisfy)
 import Text.Megaparsec.Char (char)
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Lazy as BSL
