diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+0.3.25
+
+* Add types from `time-1.11` / `time-compat-1.9.4`: `Month`, `Quarter`, `QuarterOfYear`
+
 0.3.24
 
 * Add `strict` instances.
diff --git a/quickcheck-instances.cabal b/quickcheck-instances.cabal
--- a/quickcheck-instances.cabal
+++ b/quickcheck-instances.cabal
@@ -1,5 +1,5 @@
 name:               quickcheck-instances
-version:            0.3.24
+version:            0.3.25
 synopsis:           Common quickcheck instances
 description:
   QuickCheck instances.
@@ -22,8 +22,8 @@
   Antoine Latter <aslatter@gmail.com>, Oleg Grenrus <oleg.grenrus@iki.fi>
 
 maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
-homepage:           https://github.com/phadej/qc-instances
-bug-reports:        https://github.com/phadej/qc-instances/issues
+homepage:           https://github.com/haskellari/qc-instances
+bug-reports:        https://github.com/haskellari/qc-instances/issues
 copyright:          Copyright 2012-2016 Antoine Latter, 2017-2019 Oleg Grenrus
 category:           Testing
 build-type:         Simple
@@ -38,12 +38,12 @@
    || ==8.2.2
    || ==8.4.4
    || ==8.6.5
-   || ==8.8.3
-   || ==8.10.1
+   || ==8.8.4
+   || ==8.10.2
 
 source-repository head
   type:     git
-  location: https://github.com/phadej/qc-instances.git
+  location: https://github.com/haskellari/qc-instances.git
 
 flag bytestring-builder
   description: Use bytestring-builder (with old bytestring)
@@ -96,7 +96,7 @@
     , tagged                >=0.8.6   && <0.9
     , text                  >=1.2.3.0 && <1.3
     , these                 >=1.1.1.1 && <1.2
-    , time-compat           >=1.9.2.2 && <1.10
+    , time-compat           >=1.9.4   && <1.10
     , transformers          >=0.3.0.0 && <0.6
     , transformers-compat   >=0.6.5   && <0.7
     , unordered-containers  >=0.2.2.0 && <0.3
diff --git a/src/Test/QuickCheck/Instances/Time.hs b/src/Test/QuickCheck/Instances/Time.hs
--- a/src/Test/QuickCheck/Instances/Time.hs
+++ b/src/Test/QuickCheck/Instances/Time.hs
@@ -8,11 +8,13 @@
 
 import Test.QuickCheck
 
-import qualified Data.Time.Calendar.Compat     as Time
-import qualified Data.Time.Clock.Compat        as Time
-import qualified Data.Time.Clock.System.Compat as Time
-import qualified Data.Time.Clock.TAI.Compat    as Time
-import qualified Data.Time.LocalTime.Compat    as Time
+import qualified Data.Time.Calendar.Compat         as Time
+import qualified Data.Time.Calendar.Month.Compat   as Time
+import qualified Data.Time.Calendar.Quarter.Compat as Time
+import qualified Data.Time.Clock.Compat            as Time
+import qualified Data.Time.Clock.System.Compat     as Time
+import qualified Data.Time.Clock.TAI.Compat        as Time
+import qualified Data.Time.LocalTime.Compat        as Time
 
 -------------------------------------------------------------------------------
 -- time
@@ -145,10 +147,8 @@
 
 instance Arbitrary Time.DayOfWeek where
     arbitrary = elements [Time.Monday .. Time.Sunday]
-
 instance CoArbitrary Time.DayOfWeek where
     coarbitrary = coarbitrary . fromEnum
-
 instance Function Time.DayOfWeek where
     function = functionMap fromEnum toEnum
 
@@ -186,3 +186,42 @@
     function = functionMap
         (\(Time.CalendarDiffTime m nt) -> (m, nt))
         (uncurry Time.CalendarDiffTime)
+
+instance Arbitrary Time.Month where
+    arbitrary = do
+        y <- arbitrary
+        m <- chooseInt (1,12)
+        return (Time.fromYearMonth (y + 2000) m)
+    shrink mm = case Time.toYearMonth mm of
+        (y, m) -> do
+            (y', m') <- shrink (y - 2000, m)
+            return (Time.fromYearMonth (y' + 2000) m')
+instance CoArbitrary Time.Month where
+    coarbitrary (Time.MkMonth m) = coarbitrary m
+instance Function Time.Month where
+    function = functionMap
+        (\(Time.MkMonth m) -> m)
+        Time.MkMonth
+
+instance Arbitrary Time.QuarterOfYear where
+    arbitrary = elements [ Time.Q1 .. Time.Q2 ]
+instance CoArbitrary Time.QuarterOfYear where
+    coarbitrary = coarbitrary . fromEnum
+instance Function Time.QuarterOfYear where
+    function = functionBoundedEnum
+
+instance Arbitrary Time.Quarter where
+    arbitrary = do
+        y <- arbitrary
+        q <- arbitrary
+        return (Time.fromYearQuarter (y + 2000) q)
+    shrink qq = case Time.toYearQuarter qq of
+        (y, q) -> do
+            (y', q') <- shrink (y - 2000, q)
+            return (Time.fromYearQuarter (y' + 2000) q')
+instance CoArbitrary Time.Quarter where
+    coarbitrary (Time.MkQuarter x) = coarbitrary x
+instance Function Time.Quarter where
+    function = functionMap
+        (\(Time.MkQuarter x) -> x)
+        Time.MkQuarter
