diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+0.1.3
+-----
+
+- Use `foldable1-classes-compat` in additional to (old) `semigroupoids`
+  as `Foldable1` provider.
+
 0.1.2
 -----
 
diff --git a/dlist-nonempty.cabal b/dlist-nonempty.cabal
--- a/dlist-nonempty.cabal
+++ b/dlist-nonempty.cabal
@@ -1,5 +1,5 @@
 name:               dlist-nonempty
-version:            0.1.2
+version:            0.1.3
 synopsis:           Non-empty difference lists
 description:
   Difference lists are a list-like type supporting O(1) append. This is
@@ -55,15 +55,18 @@
   default-language: Haskell2010
   hs-source-dirs:   src
   build-depends:
-      base     >=4.5 && <4.18
+      base     >=4.5 && <4.19
     , deepseq  >=1.3 && <1.5
     , dlist    >=1.0 && <1.1
 
-  if flag(semigroupoids)
-    build-depends: semigroupoids >=5.1 && <5.4
-
   if !impl(ghc >=8.0)
     build-depends: semigroups >=0.18.2 && <0.21
+
+  if !impl(ghc >=9.6)
+    build-depends: foldable1-classes-compat >=0.1 && <0.2
+
+  if flag(semigroupoids)
+    build-depends: semigroupoids >=5.1 && <6.1
 
   other-extensions: CPP
   exposed-modules:
diff --git a/src/Data/DList/NonEmpty/Internal.hs b/src/Data/DList/NonEmpty/Internal.hs
--- a/src/Data/DList/NonEmpty/Internal.hs
+++ b/src/Data/DList/NonEmpty/Internal.hs
@@ -24,14 +24,18 @@
 import qualified Data.List as List
 import qualified Data.List.NonEmpty as NE
 import qualified Data.Foldable as F
+import qualified Data.Foldable1 as F1
 
 #ifdef MIN_VERSION_semigroupoids
 import Data.Functor.Apply (Apply (..))
 import Data.Functor.Bind (Bind (..))
 import Data.Functor.Alt (Alt (..))
-import qualified Data.Semigroup.Foldable as SF
 import qualified Data.Semigroup.Traversable as ST
+
+#if !MIN_VERSION_semigroupoids(6,0,0)
+import qualified Data.Semigroup.Foldable as SF
 #endif
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 
@@ -259,6 +263,14 @@
   {-# INLINE (<>) #-}
 
 -------------------------------------------------------------------------------
+-- foldable1
+-------------------------------------------------------------------------------
+
+instance F1.Foldable1 NonEmptyDList where
+  foldMap1 f = F1.foldMap1 f . toNonEmpty
+  toNonEmpty = toNonEmpty
+
+-------------------------------------------------------------------------------
 -- semigroupoids
 -------------------------------------------------------------------------------
 
@@ -266,15 +278,15 @@
 instance Apply NonEmptyDList where (<.>) = (<*>)
 instance Bind NonEmptyDList where (>>-) = (>>=)
 
-instance SF.Foldable1 NonEmptyDList where
-  foldMap1 f = SF.foldMap1 f . toNonEmpty
-#if MIN_VERSION_semigroupoids(5,2,1)
-  toNonEmpty = toNonEmpty
-#endif
-
 instance ST.Traversable1 NonEmptyDList where
   traverse1 f = fmap fromNonEmpty . ST.traverse1 f . toNonEmpty
   sequence1   = fmap fromNonEmpty . ST.sequence1 . toNonEmpty
+
+#if !MIN_VERSION_semigroupoids(6,0,0)
+instance SF.Foldable1 NonEmptyDList where
+  foldMap1 = F1.foldMap1
+  toNonEmpty = toNonEmpty
+#endif
 
 instance Alt NonEmptyDList where
   (<!>) = append
