diff --git a/log.cabal b/log.cabal
--- a/log.cabal
+++ b/log.cabal
@@ -1,5 +1,5 @@
 name:                log
-version:             0.8
+version:             0.9.0.0
 synopsis:            Structured logging solution with multiple backends
 
 description:         A library that provides a way to record structured
@@ -25,7 +25,7 @@
 category:            System
 build-type:          Simple
 cabal-version:       >=1.10
-tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
+tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2
 
 Source-repository head
   Type:     git
@@ -36,6 +36,12 @@
                        Log.Backend.ElasticSearch,
                        Log.Backend.ElasticSearch.Internal,
                        Log.Backend.ElasticSearch.Lens,
+                       Log.Backend.ElasticSearch.V1,
+                       Log.Backend.ElasticSearch.V1.Internal,
+                       Log.Backend.ElasticSearch.V1.Lens,
+                       Log.Backend.ElasticSearch.V5,
+                       Log.Backend.ElasticSearch.V5.Internal,
+                       Log.Backend.ElasticSearch.V5.Lens,
                        Log.Backend.PostgreSQL,
                        Log.Backend.StandardOutput,
                        Log.Backend.StandardOutput.Bulk,
@@ -47,9 +53,9 @@
                        Log.Monad
 
   build-depends:       base <5,
-                       log-base >= 0.7,
-                       log-elasticsearch >= 0.8,
-                       log-postgres >= 0.7
+                       log-base >= 0.7 && < 0.9,
+                       log-elasticsearch >= 0.9 && < 0.10,
+                       log-postgres >= 0.7 && < 0.9
 
   hs-source-dirs:      src
 
diff --git a/src/Log/Backend/ElasticSearch.hs b/src/Log/Backend/ElasticSearch.hs
--- a/src/Log/Backend/ElasticSearch.hs
+++ b/src/Log/Backend/ElasticSearch.hs
@@ -1,5 +1,5 @@
-module Log.Backend.ElasticSearch (
-  module Log.Backend.ElasticSearch
-  ) where
+module Log.Backend.ElasticSearch
+    {-# DEPRECATED "Use directly Log.Backend.ElasticSearch.V1 or V5" #-}
+    ( module Log.Backend.ElasticSearch.V1 ) where
 
-import "log-elasticsearch" Log.Backend.ElasticSearch
+import Log.Backend.ElasticSearch.V1
diff --git a/src/Log/Backend/ElasticSearch/Internal.hs b/src/Log/Backend/ElasticSearch/Internal.hs
--- a/src/Log/Backend/ElasticSearch/Internal.hs
+++ b/src/Log/Backend/ElasticSearch/Internal.hs
@@ -1,5 +1,5 @@
-module Log.Backend.ElasticSearch.Internal (
-  module Log.Backend.ElasticSearch.Internal
-  ) where
+module Log.Backend.ElasticSearch.Internal
+    {-# DEPRECATED "Use directly Log.Backend.ElasticSearch.V1 or V5" #-}
+    ( module Log.Backend.ElasticSearch.V1.Internal ) where
 
-import "log-elasticsearch" Log.Backend.ElasticSearch.Internal
+import Log.Backend.ElasticSearch.V1.Internal
diff --git a/src/Log/Backend/ElasticSearch/Lens.hs b/src/Log/Backend/ElasticSearch/Lens.hs
--- a/src/Log/Backend/ElasticSearch/Lens.hs
+++ b/src/Log/Backend/ElasticSearch/Lens.hs
@@ -1,5 +1,5 @@
-module Log.Backend.ElasticSearch.Lens (
-  module Log.Backend.ElasticSearch.Lens
-  ) where
+module Log.Backend.ElasticSearch.Lens
+    {-# DEPRECATED "Use directly Log.Backend.ElasticSearch.V1 or V5" #-}
+    ( module Log.Backend.ElasticSearch.V1.Lens ) where
 
-import "log-elasticsearch" Log.Backend.ElasticSearch.Lens
+import Log.Backend.ElasticSearch.V1.Lens
diff --git a/src/Log/Backend/ElasticSearch/V1.hs b/src/Log/Backend/ElasticSearch/V1.hs
new file mode 100644
--- /dev/null
+++ b/src/Log/Backend/ElasticSearch/V1.hs
@@ -0,0 +1,5 @@
+module Log.Backend.ElasticSearch.V1 (
+  module Log.Backend.ElasticSearch.V1
+  ) where
+
+import "log-elasticsearch" Log.Backend.ElasticSearch.V1
diff --git a/src/Log/Backend/ElasticSearch/V1/Internal.hs b/src/Log/Backend/ElasticSearch/V1/Internal.hs
new file mode 100644
--- /dev/null
+++ b/src/Log/Backend/ElasticSearch/V1/Internal.hs
@@ -0,0 +1,5 @@
+module Log.Backend.ElasticSearch.V1.Internal (
+  module Log.Backend.ElasticSearch.V1.Internal
+  ) where
+
+import "log-elasticsearch" Log.Backend.ElasticSearch.V1.Internal
diff --git a/src/Log/Backend/ElasticSearch/V1/Lens.hs b/src/Log/Backend/ElasticSearch/V1/Lens.hs
new file mode 100644
--- /dev/null
+++ b/src/Log/Backend/ElasticSearch/V1/Lens.hs
@@ -0,0 +1,5 @@
+module Log.Backend.ElasticSearch.V1.Lens (
+  module Log.Backend.ElasticSearch.V1.Lens
+  ) where
+
+import "log-elasticsearch" Log.Backend.ElasticSearch.V1.Lens
diff --git a/src/Log/Backend/ElasticSearch/V5.hs b/src/Log/Backend/ElasticSearch/V5.hs
new file mode 100644
--- /dev/null
+++ b/src/Log/Backend/ElasticSearch/V5.hs
@@ -0,0 +1,5 @@
+module Log.Backend.ElasticSearch.V5 (
+  module Log.Backend.ElasticSearch.V5
+  ) where
+
+import "log-elasticsearch" Log.Backend.ElasticSearch.V5
diff --git a/src/Log/Backend/ElasticSearch/V5/Internal.hs b/src/Log/Backend/ElasticSearch/V5/Internal.hs
new file mode 100644
--- /dev/null
+++ b/src/Log/Backend/ElasticSearch/V5/Internal.hs
@@ -0,0 +1,5 @@
+module Log.Backend.ElasticSearch.V5.Internal (
+  module Log.Backend.ElasticSearch.V5.Internal
+  ) where
+
+import "log-elasticsearch" Log.Backend.ElasticSearch.V5.Internal
diff --git a/src/Log/Backend/ElasticSearch/V5/Lens.hs b/src/Log/Backend/ElasticSearch/V5/Lens.hs
new file mode 100644
--- /dev/null
+++ b/src/Log/Backend/ElasticSearch/V5/Lens.hs
@@ -0,0 +1,5 @@
+module Log.Backend.ElasticSearch.V5.Lens (
+  module Log.Backend.ElasticSearch.V5.Lens
+  ) where
+
+import "log-elasticsearch" Log.Backend.ElasticSearch.V5.Lens
diff --git a/test/IntegrationTest.hs b/test/IntegrationTest.hs
--- a/test/IntegrationTest.hs
+++ b/test/IntegrationTest.hs
@@ -3,7 +3,7 @@
 import Log
 import Log.Backend.StandardOutput
 import Log.Backend.StandardOutput.Bulk
-import Log.Backend.ElasticSearch
+import Log.Backend.ElasticSearch.V5
 import Test.ElasticSearch
 
 import Data.List
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -1,7 +1,7 @@
 module Main where
 
 import Log
-import Log.Backend.ElasticSearch
+import Log.Backend.ElasticSearch.V5
 import Test.ElasticSearch
 
 import System.Random
diff --git a/test/Test/ElasticSearch.hs b/test/Test/ElasticSearch.hs
--- a/test/Test/ElasticSearch.hs
+++ b/test/Test/ElasticSearch.hs
@@ -6,13 +6,13 @@
   ,refreshTestIndex)
 where
 
-import Log.Backend.ElasticSearch
+import Log.Backend.ElasticSearch.V5
 
 import Control.Monad
 import Data.Aeson
 import Data.Text (Text)
 import Data.Time
-import Database.Bloodhound
+import Database.V5.Bloodhound
 import Network.HTTP.Client
 import Test.Tasty.HUnit
 
