diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
 
 `fedora-dists` uses [PVP Versioning](https://pvp.haskell.org).
 
+## 2.1.0 (2022-05-18)
+- add epel-next to Dist and Branch (juhp/fbrnch#29)
+- remove obsolete deps on bytestring and time
+
 ## 2.0.0 (2022-01-17)
 - Distribution.Fedora: new IO-based Dist API
   without Fedora version hardcoding
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -6,5 +6,6 @@
 [![Stackage Nightly](http://stackage.org/package/fedora-dists/badge/nightly)](http://stackage.org/nightly/package/fedora-dists)
 [![GitHub CI](https://github.com/juhp/fedora-dists/workflows/build/badge.svg)](https://github.com/juhp/fedora-dists/actions)
 
-
 Library for Fedora distribution versions
+
+See <https://hackage.haskell.org/package/fedora-dists> for documentation.
diff --git a/fedora-dists.cabal b/fedora-dists.cabal
--- a/fedora-dists.cabal
+++ b/fedora-dists.cabal
@@ -1,12 +1,13 @@
 cabal-version:       1.18
 name:                fedora-dists
-version:             2.0.0
+version:             2.1.0
 synopsis:            Library for Fedora distribution versions
 description:
-            This library provides the Dist datatype and various associated
-            metadata functions for Red Hat distributions (Fedora, EPEL, RHEL)
-            needed for packaging development and building. It uses current
-            releasedata from Fedora PDC. Also provides a Branch type.
+            This library provides the Dist and Branch datatypes
+            and various associated metadata functions for
+            Red Hat distributions (Fedora, EPEL, RHEL) needed for
+            packaging development and building.
+            It uses current releasedata from Fedora PDC.
 homepage:            https://github.com/juhp/fedora-dists
 bug-reports:         https://github.com/juhp/fedora-dists/issues
 license:             GPL-3
@@ -34,11 +35,9 @@
 
   build-depends:       base >= 4.6 && < 5
                      , aeson
-                     , bytestring
                      , pdc
                      , cached-json-file
                      , text
-                     , time
 
   ghc-options:         -Wall
   if impl(ghc >= 8.0)
diff --git a/src/Distribution/Fedora.hs b/src/Distribution/Fedora.hs
--- a/src/Distribution/Fedora.hs
+++ b/src/Distribution/Fedora.hs
@@ -52,18 +52,21 @@
 -- (roughly corresponds to a git branch)
 data Dist = RHEL Version -- ^ RHEL version
           | EPEL Int -- ^ EPEL release
+          | EPELNext Int -- ^ EPEL Next release
           | Fedora Int -- ^ Fedora release
   deriving (Eq, Ord)
 
 instance Show Dist where
   show (Fedora n) = "f" ++ show n
   show (EPEL n) = (if n <= 6 then "el" else "epel") ++ show n
+  show (EPELNext n) = "epel" ++ show n ++ "-next"
   show (RHEL v) = "rhel-" ++ showVersion v
 
 -- | Read from eg "f35", "epel8"
 instance Read Dist where
-  readPrec = choice [pFedora, pEPEL, pRHEL] where
+  readPrec = choice [pFedora, pEPELNext, pEPEL, pRHEL] where
     pFedora = Fedora <$> (lift (char 'f') *> readPrec)
+    pEPELNext = EPELNext <$> (lift (string "epel") *> readPrec <* lift (string "-next"))
     pEPEL = EPEL <$> (lift (string "epel") *> readPrec)
     pRHEL = RHEL <$> lift (do
       v <- string "rhel-" >> parseVersion
@@ -167,6 +170,7 @@
 distRepo branched (Fedora n) | Fedora n > branched = "rawhide"
                              | otherwise = "fedora"
 distRepo _ (EPEL _) = "epel"
+distRepo _ (EPELNext _) = "epel-next"
 distRepo _ (RHEL _) = "rhel"
 
 -- | Map `Dist` to Maybe the DNF/YUM updates repo name, relative to latest branch
@@ -178,7 +182,8 @@
 -- | Whether dist has overrides in Bodhi, relative to latest branch
 distOverride :: Dist -> Dist -> Bool
 distOverride branch (Fedora n) = Fedora n <= branch
-distOverride _ (EPEL n) = n < 9
+distOverride _ (EPEL n) = n < 10
+distOverride _ (EPELNext n) = n < 10
 distOverride _ _ = False
 
 -- | OS release major version for `Dist`, relative to latest branch
@@ -186,6 +191,7 @@
 distVersion branch (Fedora n) | Fedora n > branch = "rawhide"
 distVersion _ (Fedora n) = show n
 distVersion _ (EPEL n) = show n
+distVersion _ (EPELNext n) = show n
 distVersion _ (RHEL n) = show n
 
 -- | Mock configuration for `Dist` and arch, relative to latest branch
@@ -202,6 +208,7 @@
 rpmDistTag :: Dist -> String
 rpmDistTag (Fedora n) = ".fc" ++ show n
 rpmDistTag (EPEL n) = ".el" ++ show n
+rpmDistTag (EPELNext n) = ".el" ++ show n
 rpmDistTag (RHEL v) = ".el" ++ (show . head . versionBranch) v
 
 -- | Command line tool for `Dist` (eg "koji")
diff --git a/src/Distribution/Fedora/Branch.hs b/src/Distribution/Fedora/Branch.hs
--- a/src/Distribution/Fedora/Branch.hs
+++ b/src/Distribution/Fedora/Branch.hs
@@ -46,13 +46,16 @@
 -- | Branch datatype
 --
 -- Branch can be rawhide, or a fedora or epel branch
-data Branch = EPEL Int | Fedora Int | Rawhide
+data Branch = EPEL Int | EPELNext Int | Fedora Int | Rawhide
   deriving (Eq, Ord)
 
 -- | Read a Fedora Branch name, otherwise return branch string
 eitherBranch :: String -> Either String Branch
 eitherBranch "rawhide" = Right Rawhide
 eitherBranch ('f':ns) | all isDigit ns = let br = Fedora (read ns) in Right br
+-- FIXME add proper parsing:
+eitherBranch "epel8-next" = Right $ EPELNext 8
+eitherBranch "epel9-next" = Right $ EPELNext 9
 eitherBranch ('e':'p':'e':'l':n) | all isDigit n = let br = EPEL (read n) in Right br
 eitherBranch ('e':'l':n) | all isDigit n = let br = EPEL (read n) in Right br
 eitherBranch cs = Left cs
@@ -110,17 +113,20 @@
   show Rawhide = "rawhide"
   show (Fedora n) = "f" ++ show n
   show (EPEL n) = (if n <= 6 then "el" else "epel") ++ show n
+  show (EPELNext n) = "epel" ++ show n ++ "-next"
 
 -- | Map Branch to Koji destination tag
 branchDestTag :: Branch -> String
 branchDestTag Rawhide = "rawhide"
 branchDestTag (Fedora n) = show (Fedora n) ++ "-updates-candidate"
 branchDestTag (EPEL n) = show (EPEL n) ++ "-testing-candidate"
+branchDestTag (EPELNext n) = show (EPELNext n) ++ "-testing-candidate"
 
 -- | Default build target associated with a branch
 branchTarget :: Branch -> String
 branchTarget (Fedora n) = show (Fedora n)
 branchTarget (EPEL n) = show (EPEL n)
+branchTarget (EPELNext n) = show (EPELNext n)
 branchTarget Rawhide = "rawhide"
 
 --getLatestBranch :: IO Branch
@@ -142,6 +148,12 @@
        then EPEL (n+1)
        else EPEL n
   else error' $ "Unsupported branch: " ++ show (EPEL n)
+newerBranch (EPELNext n) branches =
+  if EPELNext n `elem` branches
+  then if EPELNext (n+1) `elem` branches
+       then EPELNext (n+1)
+       else EPELNext n
+  else error' $ "Unsupported branch: " ++ show (EPELNext n)
 
 --olderBranch :: Branch -> Branch
 --olderBranch Rawhide = latestBranch
@@ -182,4 +194,5 @@
 branchDist :: Branch -> IO Dist.Dist
 branchDist (Fedora n) = return $ Dist.Fedora n
 branchDist (EPEL n) = return $ Dist.EPEL n
+branchDist (EPELNext n) = return $ Dist.EPELNext n
 branchDist Rawhide = Dist.getRawhideDist
