diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,5 +1,13 @@
+## Changes in 0.10.1 [2018.04.10]
+- Add `Data.List.NonEmpty.Compat`.
+- Reexport `(Data.Semigroup.<>)` from `Data.Monoid.Compat`.
+- Tighten lower bounds of compat package dependencies.
+ - This coincides with the `base-compat-0.10.1` release. Refer to the
+   [`base-compat` changelog](https://github.com/haskell-compat/base-compat/blob/master/base-compat/CHANGES.markdown#changes-in-0101-20180410)
+   for more details.
+
 ## Changes in 0.10.0 [2018.04.05]
  - Sync with `base-4.11`/GHC 8.4
  - This coincides with the `base-compat-0.10` release. Refer to the
-   [`base-compat` changelog](https://github.com/haskell-compat/base-compat/blob/master/base-compat/CHANGES.markdown#changes-in-0100-????????)
-   for details.
+   [`base-compat` changelog](https://github.com/haskell-compat/base-compat/blob/master/base-compat/CHANGES.markdown#changes-in-0100-20180405)
+   for more details.
diff --git a/base-compat-batteries.cabal b/base-compat-batteries.cabal
--- a/base-compat-batteries.cabal
+++ b/base-compat-batteries.cabal
@@ -1,5 +1,5 @@
 name:             base-compat-batteries
-version:          0.10.0
+version:          0.10.1
 license:          MIT
 license-file:     LICENSE
 copyright:        (c) 2012-2018 Simon Hengel,
@@ -54,24 +54,24 @@
   ghc-options:
       -Wall
   build-depends:
-      base        >= 4.3  && < 5,
-      base-compat >= 0.10 && < 0.11
+      base        >= 4.3    && < 5,
+      base-compat >= 0.10.1 && < 0.11
   if !impl(ghc >= 7.8)
     build-depends:
-      tagged >= 0.8 && < 0.9
+      tagged >= 0.8.5 && < 0.9
   if !impl(ghc >= 7.10)
     build-depends:
-      nats >= 1.1 && < 1.2,
-      void >= 0.7 && < 0.8
+      nats >= 1.1.2 && < 1.2,
+      void >= 0.7.2 && < 0.8
   if !impl(ghc >= 8.0)
     build-depends:
-      fail                >= 4.9  && < 4.10,
-      semigroups          >= 0.16 && < 0.19,
-      transformers        >= 0.2  && < 0.6,
-      transformers-compat >= 0.3  && < 0.7
+      fail                >= 4.9.0.0 && < 4.10,
+      semigroups          >= 0.18.4  && < 0.19,
+      transformers        >= 0.2     && < 0.6,
+      transformers-compat >= 0.6     && < 0.7
   if !impl(ghc >= 8.2)
     build-depends:
-      bifunctors >= 5.4.1 && < 5.6
+      bifunctors >= 5.5.2 && < 5.6
   ghc-options:
       -fno-warn-duplicate-exports
 
@@ -103,6 +103,7 @@
       Data.Functor.Sum.Compat
       Data.IORef.Compat
       Data.List.Compat
+      Data.List.NonEmpty.Compat
       Data.Monoid.Compat
       Data.Proxy.Compat
       Data.Ratio.Compat
@@ -157,6 +158,7 @@
       Data.Functor.Sum.Compat.Repl.Batteries
       Data.IORef.Compat.Repl.Batteries
       Data.List.Compat.Repl.Batteries
+      Data.List.NonEmpty.Compat.Repl.Batteries
       Data.Monoid.Compat.Repl.Batteries
       Data.Proxy.Compat.Repl.Batteries
       Data.Ratio.Compat.Repl.Batteries
diff --git a/src/Data/List/NonEmpty/Compat.hs b/src/Data/List/NonEmpty/Compat.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/List/NonEmpty/Compat.hs
@@ -0,0 +1,78 @@
+{-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
+-- | This backports the modern "Data.Semigroup" interface back to
+-- @base-4.9@/GHC 8.0.
+module Data.List.NonEmpty.Compat (
+  -- * The type of non-empty streams
+    NonEmpty(..)
+
+  -- * Non-empty stream transformations
+  , map         
+  , intersperse 
+  , scanl       
+  , scanr       
+  , scanl1      
+  , scanr1      
+  , transpose   
+  , sortBy      
+  , sortWith      
+  -- * Basic functions
+  , length      
+  , head        
+  , tail        
+  , last        
+  , init        
+  , (<|), cons  
+  , uncons      
+  , unfoldr     
+  , sort        
+  , reverse     
+  , inits       
+  , tails       
+  -- * Building streams
+  , iterate     
+  , repeat      
+  , cycle       
+  , unfold      
+  , insert      
+  , some1       
+  -- * Extracting sublists
+  , take        
+  , drop        
+  , splitAt     
+  , takeWhile   
+  , dropWhile   
+  , span        
+  , break       
+  , filter      
+  , partition   
+  , group       
+  , groupBy     
+  , groupWith     
+  , groupAllWith  
+  , group1      
+  , groupBy1    
+  , groupWith1     
+  , groupAllWith1  
+  -- * Sublist predicates
+  , isPrefixOf  
+  -- * \"Set\" operations
+  , nub         
+  , nubBy       
+  -- * Indexing streams
+  , (!!)        
+  -- * Zipping and unzipping streams
+  , zip         
+  , zipWith     
+  , unzip       
+  -- * Converting to and from a list
+  , fromList    
+  , toList      
+  , nonEmpty    
+  , xor         
+) where
+
+#if MIN_VERSION_base(4,9,0)
+import "base-compat" Data.List.NonEmpty.Compat
+#else
+import "semigroups" Data.List.NonEmpty
+#endif
diff --git a/src/Data/List/NonEmpty/Compat/Repl/Batteries.hs b/src/Data/List/NonEmpty/Compat/Repl/Batteries.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/List/NonEmpty/Compat/Repl/Batteries.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE PackageImports #-}
+{-# OPTIONS_GHC -fno-warn-dodgy-exports -fno-warn-unused-imports #-}
+-- | Reexports "Data.List.NonEmpty.Compat"
+-- from a globally unique namespace.
+module Data.List.NonEmpty.Compat.Repl.Batteries (
+  module Data.List.NonEmpty.Compat
+) where
+import "this" Data.List.NonEmpty.Compat
diff --git a/src/Data/Monoid/Compat.hs b/src/Data/Monoid/Compat.hs
--- a/src/Data/Monoid/Compat.hs
+++ b/src/Data/Monoid/Compat.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE CPP, NoImplicitPrelude, PackageImports #-}
 module Data.Monoid.Compat (
   module Base
+, (<>)
 ) where
 
-import "base-compat" Data.Monoid.Compat as Base
+import "base-compat" Data.Monoid.Compat as Base hiding ((<>))
+import Data.Semigroup ((<>))
