diff --git a/simple-session.cabal b/simple-session.cabal
--- a/simple-session.cabal
+++ b/simple-session.cabal
@@ -1,5 +1,5 @@
 name:                simple-session
-version:             0.9.0.0
+version:             0.10.0.0
 synopsis:            Cookie-based session management for the Simple web framework
 description:
 
@@ -49,9 +49,9 @@
     , bytestring
     , containers
     , http-types
-    , simple >= 0.9
+    , simple >= 0.10
     , transformers
-    , wai >= 2.1
+    , wai >= 3.0
   default-language:    Haskell2010
 
 source-repository head
diff --git a/src/Web/Simple/Session.hs b/src/Web/Simple/Session.hs
--- a/src/Web/Simple/Session.hs
+++ b/src/Web/Simple/Session.hs
@@ -116,12 +116,12 @@
 -- The path set on the cookie is \"/\", meaning it applies to all routes on the
 -- domain, and no expiration is set.
 addCookie :: (S.ByteString, S.ByteString) -> Response -> Response
-addCookie (key, value) (ResponseSource stat hdrs src) =
-  ResponseSource stat (("Set-Cookie", cookie key value):hdrs) src
 addCookie (key, value) (ResponseFile stat hdrs fl mfp) =
   ResponseFile stat (("Set-Cookie", cookie key value):hdrs) fl mfp
 addCookie (key, value) (ResponseBuilder stat hdrs bldr) =
   ResponseBuilder stat (("Set-Cookie", cookie key value):hdrs) bldr
+addCookie (key, value) (ResponseStream stat hdrs src) =
+  ResponseStream stat (("Set-Cookie", cookie key value):hdrs) src
 addCookie _ resp = resp -- Can't do anything for ResponseRaw
 
 cookie :: S.ByteString -> S.ByteString -> S.ByteString
