diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+
+## 0.3.0 (2023-04-24)
+
+#### Changed
+
+- Dropped support for GHC 7.
+- Tightened PVP version bounds, for GHC 8.0 through to GHC 9.4.4.
+
 ## 0.2.4 (2022-08-26)
 
 #### Changed
diff --git a/lib/Streaming/ByteString/Internal.hs b/lib/Streaming/ByteString/Internal.hs
--- a/lib/Streaming/ByteString/Internal.hs
+++ b/lib/Streaming/ByteString/Internal.hs
@@ -5,6 +5,7 @@
 {-# LANGUAGE MagicHash             #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
+{-# LANGUAGE TypeOperators         #-}
 {-# LANGUAGE UnboxedTuples         #-}
 {-# LANGUAGE UndecidableInstances  #-}
 {-# LANGUAGE UnliftedFFITypes      #-}
diff --git a/streaming-bytestring.cabal b/streaming-bytestring.cabal
--- a/streaming-bytestring.cabal
+++ b/streaming-bytestring.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               streaming-bytestring
-version:            0.2.4
+version:            0.3.0
 synopsis:           Fast, effectful byte streams.
 description:
   This library enables fast and safe streaming of byte data, in either @Word8@ or
@@ -34,14 +34,15 @@
   https://github.com/haskell-streaming/streaming-bytestring/issues
 
 tested-with:
-  GHC ==7.10.3
-   || ==8.0.2
+  GHC ==8.0.2
    || ==8.2.2
    || ==8.4.4
    || ==8.6.5
    || ==8.8.4
    || ==8.10.3
    || ==9.0.2
+   || ==9.2.5
+   || ==9.4.4
 
 source-repository head
   type:     git
@@ -68,32 +69,21 @@
     Unsafe
 
   build-depends:
-      base               >=4.8     && <5.0
-    , bytestring
-    , deepseq
-    , exceptions
-    , ghc-prim           >=0.4     && <0.9
+      base               >=4.9     && <5.0
+    , bytestring         >=0.10.4  && <0.12
+    , deepseq            >=1.4     && <1.5
+    , exceptions         >=0.8     && <0.11
+    , ghc-prim           >=0.4     && <0.10
     , mmorph             >=1.0     && <1.3
-    , mtl                >=2.1     && <2.3
-    , resourcet
+    , mtl                >=2.2     && <2.4
+    , resourcet          >=1.1     && <1.4
     , streaming          >=0.1.4.0 && <0.3
-    , transformers       >=0.3     && <0.6
-    , transformers-base
-
-  if impl(ghc <7.8)
-    build-depends:
-        bytestring          >=0 && <0.10.4.0
-      , bytestring-builder
-
-  else
-    if impl(ghc <8.0)
-      build-depends: bytestring >=0.10.4 && <0.11
-
-    else
-      build-depends: bytestring >=0.10.4 && <0.12
+    , transformers       >=0.4     && <0.7
+    , transformers-base  >=0.4     && <0.5
 
   if impl(ghc <8.0)
-    build-depends: semigroups
+    build-depends:
+      semigroups         >=0.18    && <0.19
 
 test-suite test
   default-language: Haskell2010
@@ -101,13 +91,13 @@
   hs-source-dirs:   tests
   main-is:          Test.hs
   build-depends:
-      base                  >=4        && <5
-    , bytestring
-    , resourcet             >=1.1
+      base                  >=4.9     && <5
+    , bytestring            >=0.10.4  && <0.12
+    , resourcet             >=1.1     && <1.4
     , smallcheck            >=1.1.1
-    , streaming
+    , streaming             >=0.1.4.0 && <0.3
     , streaming-bytestring
     , tasty                 >=0.11.0.4
     , tasty-hunit           >=0.9
     , tasty-smallcheck      >=0.8.1
-    , transformers
+    , transformers          >=0.3     && <0.7
