diff --git a/README.markdown b/README.markdown
deleted file mode 100644
--- a/README.markdown
+++ /dev/null
@@ -1,111 +0,0 @@
-# regex-examples
-
-regex is a regular expression toolkit for regex-base with:
-
-  * a text-replacement toolkit with type-safe text-replacement templates;
-  * special datatypes for matches and captures;
-  * compile-time checking of RE syntax;
-  * a unified means of controlling case-sensitivity and multi-line options;
-  * high-level AWK-like tools for building text processing apps;
-  * the option of using match operators with reduced polymorphism on the
-    text and result types;
-  * regular expression macros including:
-      + a number of useful RE macros;
-      + a test bench for testing and documenting new macro environments;
-  * built-in support for the TDFA and PCRE back ends;
-  * comprehensive documentation, tutorials and copious examples.
-
-
-See the [About page](http://about.regex.uk) for details.
-
-
-## regex and regex-examples
-
-The library and tutorial, tests and examples have been split across
-two packages:
-
-  * the `regex` package contains the regex library with the Posix TDFA
-    back end
-  * the `regex-with-pcre` library package contains the extra modules
-    needed for the PCRE back end
-  * the `regex-examples` package contains the tutorial, tests
-    and example programs.
-
-
-## Road Map
-
-&nbsp;&nbsp;&nbsp;&nbsp;&#x2612;&nbsp;&nbsp;2017-04-10  v1.0.0.0  [First stable release](https://github.com/iconnect/regex/milestone/3)
-
-&nbsp;&nbsp;&nbsp;&nbsp;&#x2612;&nbsp;&nbsp;2017-06-03  v1.0.1.0  [PCRE.Text, strict PVP, Update Stackage vrns, add re-top](https://github.com/iconnect/regex/milestone/19)
-
-&nbsp;&nbsp;&nbsp;&nbsp;&#x2610;&nbsp;&nbsp;2017-08-31  v2.0.0.0  [Fast text replacement with benchmarks](https://github.com/iconnect/regex/milestone/4)
-
-
-
-See the [Roadmap page](http://roadmap.regex.uk) for details.
-
-
-## The regex blog
-
-Check out the [regex blog](http://blog.regex.uk) for news articles and
-discussion concerning all things regex.
-
-
-## Build Status
-
-[![Hackage](http://regex.uk/badges/hackage.svg)](https://hackage.haskell.org/package/regex) [![BSD3 License](http://regex.uk/badges/license.svg)](https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29) [![Un*x build](http://regex.uk/badges/unix-build.svg)](https://travis-ci.org/iconnect/regex) [![Windows build](http://regex.uk/badges/windows-build.svg)](https://ci.appveyor.com/project/engineerirngirisconnectcouk/regex/branch/master) [![Coverage](http://regex.uk/badges/coverage.svg)](https://coveralls.io/github/iconnect/regex?branch=master)
-
-See [build status page](http://regex.uk/build-status) for details.
-
-
-## Installing the Package
-
-The package can be easily installed with cabal or stack on GHC-8.0,
- 7.10 or 7.8 for the above platforms. See the
-[Installation page](http://installation.regex.uk) for details.
-
-
-## The Tutorial Tests and Examples
-
-See the [Tutorial page](http://tutorial.regex.uk) and
-[Examples page](http://examples.regex.uk) for details.
-
-
-## Helping Out
-
-If you have any feedback or suggestion then please drop us a line.
-
-  * `t` [&#64;hregex](https://twitter.com/hregex)\n
-  * `e` maintainers@regex.uk\n
-  * `w` http://issues.regex.uk
-
-The [Contact page](http://contact.regex.uk) has more details.
-
-
-## The API
-
-The Haddocks can be found at http://hs.regex.uk.
-
-
-## The Macro Tables
-
-The macro environments are an important part of the package and
-are documented [here](http://macros.regex.uk).
-
-
-## The regex.uk Directory
-
-A handy overview of the regex.uk domain can be found
-[here](http://directory.regex.uk).
-
-
-## The Changelog
-
-The `changelog` is posted [here](http://changelog.regex.uk).
-
-
-## The Authors
-
-This library was written and is currently maintained by
-[Chris Dornan](mailto:chris.dornan@irisconnect.com) aka
-[&#64;cdornan](https://twitter.com/cdornan)
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,111 @@
+# regex
+
+regex is a regular expression toolkit for regex-base with:
+
+  * a text-replacement toolkit with type-safe text-replacement templates;
+  * special datatypes for matches and captures;
+  * compile-time checking of RE syntax;
+  * a unified means of controlling case-sensitivity and multi-line options;
+  * high-level AWK-like tools for building text processing apps;
+  * the option of using match operators with reduced polymorphism on the
+    text and result types;
+  * regular expression macros including:
+      + a number of useful RE macros;
+      + a test bench for testing and documenting new macro environments;
+  * built-in support for the TDFA and PCRE back ends;
+  * comprehensive documentation, tutorials and copious examples.
+
+
+See the [About page](http://about.regex.uk) for details.
+
+
+## regex and regex-examples
+
+The library and tutorial, tests and examples have been split across
+two packages:
+
+  * the `regex` package contains the regex library with the Posix TDFA
+    back end
+  * the `regex-with-pcre` library package contains the extra modules
+    needed for the PCRE back end
+  * the `regex-examples` package contains the tutorial, tests
+    and example programs.
+
+
+## Road Map
+
+- [X] 2017-04-10  v1.0.0.0  [First stable release](https://github.com/iconnect/regex/milestone/3)
+- [X] 2017-06-03  v1.0.1.0  [PCRE.Text, strict PVP, Update Stackage vrns, add re-top](https://github.com/iconnect/regex/milestone/19)
+- [X] 2017-06-04  v1.0.1.1  [Fix 1.0.1.0 release bug and provisionally fix UTF8/PCRE interworking](https://github.com/iconnect/regex/milestone/20)
+- [X] 2017-06-05  v1.0.1.2  [Permit utf8-string-1](https://github.com/iconnect/regex/milestone/21)
+- [X] 2017-06-05  v1.0.1.3  [Suspend Windows tests for PCRE on UTF-8 text](https://github.com/iconnect/regex/milestone/22)
+- [ ] 2017-08-31  v2.0.0.0  [Fast text replacement with benchmarks](https://github.com/iconnect/regex/milestone/4)
+
+
+See the [Roadmap page](http://roadmap.regex.uk) for details.
+
+
+## The regex blog
+
+Check out the [regex blog](http://blog.regex.uk) for news articles and
+discussion concerning all things regex.
+
+
+## Build Status
+
+[![Hackage](http://regex.uk/badges/hackage.svg)](https://hackage.haskell.org/package/regex) [![BSD3 License](http://regex.uk/badges/license.svg)](https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29) [![Un*x build](http://regex.uk/badges/unix-build.svg)](https://travis-ci.org/iconnect/regex) [![Windows build](http://regex.uk/badges/windows-build.svg)](https://ci.appveyor.com/project/engineerirngirisconnectcouk/regex/branch/master) [![Coverage](http://regex.uk/badges/coverage.svg)](https://coveralls.io/github/iconnect/regex?branch=master)
+
+See [build status page](http://regex.uk/build-status) for details.
+
+
+## Installing the Package
+
+The package can be easily installed with cabal or stack on GHC-8.0,
+ 7.10 or 7.8 for the above platforms. See the
+[Installation page](http://installation.regex.uk) for details.
+
+
+## The Tutorial Tests and Examples
+
+See the [Tutorial page](http://tutorial.regex.uk) and
+[Examples page](http://examples.regex.uk) for details.
+
+
+## Helping Out
+
+If you have any feedback or suggestion then please drop us a line.
+
+  * `t` [&#64;hregex](https://twitter.com/hregex)<br/>
+  * `e` maintainers@regex.uk<br/>
+  * `w` http://issues.regex.uk
+
+The [Contact page](http://contact.regex.uk) has more details.
+
+
+## The API
+
+The Haddocks can be found at http://hs.regex.uk.
+
+
+## The Macro Tables
+
+The macro environments are an important part of the package and
+are documented [here](http://macros.regex.uk).
+
+
+## The regex.uk Directory
+
+A handy overview of the regex.uk domain can be found
+[here](http://directory.regex.uk).
+
+
+## The Changelog
+
+The `changelog` is posted [here](http://changelog.regex.uk).
+
+
+## The Authors
+
+This library was written and is currently maintained by
+[Chris Dornan](mailto:chris.dornan@irisconnect.com) aka
+[&#64;cdornan](https://twitter.com/cdornan)
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,8 @@
 -*-change-log-*-
 
+1.0.1.4 Chris Dornan <chris.dornan@irisconnect.co.uk> 2018-12-14
+  * GHC-8.4.4, GHC-8.6.2 (#160)
+
 1.0.1.3 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-06-05
   * Suspending UTF-8 tests for Windows/PCRE (#144)
 
diff --git a/examples/TestKit.lhs b/examples/TestKit.lhs
--- a/examples/TestKit.lhs
+++ b/examples/TestKit.lhs
@@ -42,6 +42,7 @@
 import qualified Data.List                                as L
 import           Data.Maybe
 import qualified Data.Text                                as T
+import qualified Data.Text.IO                             as T
 import           Prelude.Compat
 import qualified Shelly                                   as SH
 import           System.Directory
@@ -109,7 +110,7 @@
     ms = txt *=~ [re|<<\$version\$>>|]
 
 readCurrentVersion :: IO Vrn
-readCurrentVersion = parseVrn <$> readFile "lib/version.txt"
+readCurrentVersion = parseVrn . T.unpack <$> T.readFile "lib/version.txt"
 
 write_current_version :: Vrn -> IO ()
 write_current_version = writeFile "lib/version.txt" . presentVrn
diff --git a/examples/re-tests.lhs b/examples/re-tests.lhs
--- a/examples/re-tests.lhs
+++ b/examples/re-tests.lhs
@@ -368,18 +368,18 @@
 search_replace_tests = testGroup "SearchReplace" $
     [ testCase "?=~/ [ed_| ... |]" $ "baz bar foobar" @=? "foo bar foobar" T_ST.?=~/ [ed_|foo///baz|] ()
     , testCase "*=~/ [ed_| ... |]" $ "baz bar bazbar" @=? "foo bar foobar" T_ST.*=~/ [ed_|foo///baz|] MultilineSensitive
-    , testCase "TDFA.ed/String" $ test  id         tdfa_eds
-    , testCase "PCRE.ed/String" $ test  id         pcre_eds
-    , testCase "TDFA.ed/B"      $ test  B.pack     tdfa_eds
-    , testCase "PCRE.ed/B"      $ test  B.pack     pcre_eds
-    , testCase "TDFA.ed/LBS"    $ test  LBS.pack   tdfa_eds
-    , testCase "PCRE.ed/LBS"    $ test  LBS.pack   pcre_eds
-    , testCase "TDFA.ed/S"      $ test  S.fromList tdfa_eds
-    , testCase "PCRE.ed/S"      $ test  S.fromList pcre_eds
-    , testCase "TDFA.ed/T"      $ test  T.pack     tdfa_eds
-    , testCase "TDFA.ed/LT"     $ test  LT.pack    tdfa_eds
-    , testCase "TDFA.ed/T(d)"   $ test  T.pack     tdfa_eds'
-    , testCase "PCRE.ed/LBS(d)" $ test  LBS.pack   pcre_eds'
+    , testCase "TDFA.ed/String" $ test_ id         tdfa_eds
+    , testCase "PCRE.ed/String" $ test_ id         pcre_eds
+    , testCase "TDFA.ed/B"      $ test_ B.pack     tdfa_eds
+    , testCase "PCRE.ed/B"      $ test_ B.pack     pcre_eds
+    , testCase "TDFA.ed/LBS"    $ test_ LBS.pack   tdfa_eds
+    , testCase "PCRE.ed/LBS"    $ test_ LBS.pack   pcre_eds
+    , testCase "TDFA.ed/S"      $ test_ S.fromList tdfa_eds
+    , testCase "PCRE.ed/S"      $ test_ S.fromList pcre_eds
+    , testCase "TDFA.ed/T"      $ test_ T.pack     tdfa_eds
+    , testCase "TDFA.ed/LT"     $ test_ LT.pack    tdfa_eds
+    , testCase "TDFA.ed/T(d)"   $ test_ T.pack     tdfa_eds'
+    , testCase "PCRE.ed/LBS(d)" $ test_ LBS.pack   pcre_eds'
     , testg "TDFA.op"        (T_ST.?=~/) (T_ST.*=~/) tdfa_sr
     , testg "PCRE.op"        (P_ST.?=~/) (P_ST.*=~/) pcre_sr
     , testg "TDFA.op/String" (T_ST.?=~/) (T_ST.*=~/) tdfa_sr_str
@@ -414,8 +414,8 @@
       True  -> const []
       False -> id
 
-    test :: IsRegex re a => (String->a) -> Edits Identity re a -> Assertion
-    test inj eds =  inj rsm @=? runIdentity (sed' eds $ inj inp)
+    test_ :: IsRegex re a => (String->a) -> Edits Identity re a -> Assertion
+    test_ inj eds =  inj rsm @=? runIdentity (sed' eds $ inj inp)
 
     testg lab op1 opm sr = testGroup lab
       [ testCase "?=~/" $ rs1 @=? inp `op1` sr
@@ -549,34 +549,34 @@
 \begin{code}
 many_tests :: TestTree
 many_tests = testGroup "Many Tests"
-    [ testCase "PCRE a"               $ test (PCRE.*=~) (PCRE.?=~) (PCRE.=~) (PCRE.=~~) matchOnce matchMany makeSearchReplace id          re_pcre
-    , testCase "PCRE ByteString"      $ test (P_BS.*=~) (P_BS.?=~) (P_BS.=~) (P_BS.=~~) matchOnce matchMany makeSearchReplace B.pack      re_pcre
-    , testCase "PCRE ByteString.Lazy" $ test (PLBS.*=~) (PLBS.?=~) (PLBS.=~) (PLBS.=~~) matchOnce matchMany makeSearchReplace LBS.pack    re_pcre
-    , testCase "PCRE Sequence"        $ test (P_SQ.*=~) (P_SQ.?=~) (P_SQ.=~) (P_SQ.=~~) matchOnce matchMany makeSearchReplace S.fromList  re_pcre
-    , testCase "PCRE String"          $ test (P_ST.*=~) (P_ST.?=~) (P_ST.=~) (P_ST.=~~) matchOnce matchMany makeSearchReplace id          re_pcre
-    , testCase "PCRE Text"            $ test (P_TX.*=~) (P_TX.?=~) (P_TX.=~) (P_TX.=~~) matchOnce matchMany makeSearchReplace T.pack      re_pcre
-    , testCase "PCRE Text.Lazy"       $ test (PLTX.*=~) (PLTX.?=~) (PLTX.=~) (PLTX.=~~) matchOnce matchMany makeSearchReplace LT.pack     re_pcre
-    , testCase "TDFA a"               $ test (TDFA.*=~) (TDFA.?=~) (TDFA.=~) (TDFA.=~~) matchOnce matchMany makeSearchReplace id          re_tdfa
-    , testCase "TDFA ByteString"      $ test (T_BS.*=~) (T_BS.?=~) (T_BS.=~) (T_BS.=~~) matchOnce matchMany makeSearchReplace B.pack      re_tdfa
-    , testCase "TDFA ByteString.Lazy" $ test (TLBS.*=~) (TLBS.?=~) (TLBS.=~) (TLBS.=~~) matchOnce matchMany makeSearchReplace LBS.pack    re_tdfa
-    , testCase "TDFA Sequence"        $ test (T_SQ.*=~) (T_SQ.?=~) (T_SQ.=~) (T_SQ.=~~) matchOnce matchMany makeSearchReplace S.fromList  re_tdfa
-    , testCase "TDFA String"          $ test (T_ST.*=~) (T_ST.?=~) (T_ST.=~) (T_ST.=~~) matchOnce matchMany makeSearchReplace id          re_tdfa
-    , testCase "TDFA Text"            $ test (T_TX.*=~) (T_TX.?=~) (T_TX.=~) (T_TX.=~~) matchOnce matchMany makeSearchReplace T.pack      re_tdfa
-    , testCase "TDFA Text.Lazy"       $ test (TLTX.*=~) (TLTX.?=~) (TLTX.=~) (TLTX.=~~) matchOnce matchMany makeSearchReplace LT.pack     re_tdfa
+    [ testCase "PCRE a"               $ test_ (PCRE.*=~) (PCRE.?=~) (PCRE.=~) (PCRE.=~~) matchOnce matchMany makeSearchReplace id          re_pcre
+    , testCase "PCRE ByteString"      $ test_ (P_BS.*=~) (P_BS.?=~) (P_BS.=~) (P_BS.=~~) matchOnce matchMany makeSearchReplace B.pack      re_pcre
+    , testCase "PCRE ByteString.Lazy" $ test_ (PLBS.*=~) (PLBS.?=~) (PLBS.=~) (PLBS.=~~) matchOnce matchMany makeSearchReplace LBS.pack    re_pcre
+    , testCase "PCRE Sequence"        $ test_ (P_SQ.*=~) (P_SQ.?=~) (P_SQ.=~) (P_SQ.=~~) matchOnce matchMany makeSearchReplace S.fromList  re_pcre
+    , testCase "PCRE String"          $ test_ (P_ST.*=~) (P_ST.?=~) (P_ST.=~) (P_ST.=~~) matchOnce matchMany makeSearchReplace id          re_pcre
+    , testCase "PCRE Text"            $ test_ (P_TX.*=~) (P_TX.?=~) (P_TX.=~) (P_TX.=~~) matchOnce matchMany makeSearchReplace T.pack      re_pcre
+    , testCase "PCRE Text.Lazy"       $ test_ (PLTX.*=~) (PLTX.?=~) (PLTX.=~) (PLTX.=~~) matchOnce matchMany makeSearchReplace LT.pack     re_pcre
+    , testCase "TDFA a"               $ test_ (TDFA.*=~) (TDFA.?=~) (TDFA.=~) (TDFA.=~~) matchOnce matchMany makeSearchReplace id          re_tdfa
+    , testCase "TDFA ByteString"      $ test_ (T_BS.*=~) (T_BS.?=~) (T_BS.=~) (T_BS.=~~) matchOnce matchMany makeSearchReplace B.pack      re_tdfa
+    , testCase "TDFA ByteString.Lazy" $ test_ (TLBS.*=~) (TLBS.?=~) (TLBS.=~) (TLBS.=~~) matchOnce matchMany makeSearchReplace LBS.pack    re_tdfa
+    , testCase "TDFA Sequence"        $ test_ (T_SQ.*=~) (T_SQ.?=~) (T_SQ.=~) (T_SQ.=~~) matchOnce matchMany makeSearchReplace S.fromList  re_tdfa
+    , testCase "TDFA String"          $ test_ (T_ST.*=~) (T_ST.?=~) (T_ST.=~) (T_ST.=~~) matchOnce matchMany makeSearchReplace id          re_tdfa
+    , testCase "TDFA Text"            $ test_ (T_TX.*=~) (T_TX.?=~) (T_TX.=~) (T_TX.=~~) matchOnce matchMany makeSearchReplace T.pack      re_tdfa
+    , testCase "TDFA Text.Lazy"       $ test_ (TLTX.*=~) (TLTX.?=~) (TLTX.=~) (TLTX.=~~) matchOnce matchMany makeSearchReplace LT.pack     re_tdfa
     ]
   where
-    test :: (IsRegex r s,Show s,Eq s)
-         => (s->r->Matches s)
-         -> (s->r->Match   s)
-         -> (s->r->Matches s)
-         -> (s->r->Maybe(Match s))
-         -> (r->s->Match   s)
-         -> (r->s->Matches s)
-         -> (s->s->Either String (SearchReplace r s))
-         -> (String->s)
-         -> r
-         -> Assertion
-    test (%*=~) (%?=~) (%=~) (%=~~) mo mm mk_sr0 inj r = do
+    test_ :: (IsRegex r s,Show s,Eq s)
+          => (s->r->Matches s)
+          -> (s->r->Match   s)
+          -> (s->r->Matches s)
+          -> (s->r->Maybe(Match s))
+          -> (r->s->Match   s)
+          -> (r->s->Matches s)
+          -> (s->s->Either String (SearchReplace r s))
+          -> (String->s)
+          -> r
+          -> Assertion
+    test_ (%*=~) (%?=~) (%=~) (%=~~) mo mm mk_sr0 inj r = do
         2         @=? countMatches mtchs
         Just txt' @=? matchedText  mtch
         mtchs     @=? mtchs'
diff --git a/examples/re-top.lhs b/examples/re-top.lhs
--- a/examples/re-top.lhs
+++ b/examples/re-top.lhs
@@ -11,6 +11,7 @@
 and checkout the 'corrections' branch.
 
 \begin{code}
+{-# LANGUAGE CPP                        #-}
 {-# LANGUAGE NoImplicitPrelude            #-}
 {-# LANGUAGE RecordWildCards              #-}
 {-# LANGUAGE OverloadedStrings            #-}
@@ -112,16 +113,31 @@
 These vectors have expected zeros and sums.
 
 \begin{code}
+#if __GLASGOW_HASKELL__ >= 804
+instance Semigroup Results where
+  (<>) = mappend_r
+#endif
+
 instance Monoid Results where
-  mempty  = Results 0 0 0 0 0
-  mappend (Results gp1 gw1 gf1 ga1 ps1)
+  mempty  = mempty_r
+  mappend = mappend_r
+\end{code}
+
+
+\begin{code}
+mappend_r :: Results -> Results -> Results
+mappend_r (Results gp1 gw1 gf1 ga1 ps1)
           (Results gp2 gw2 gf2 ga2 ps2) =
-      Results (gp1+gp2)
-              (gw1+gw2)
-              (gf1+gf2)
-              (ga1+ga2)
-              (ps1+ps2)
+       Results (gp1+gp2)
+               (gw1+gw2)
+               (gf1+gf2)
+               (ga1+ga2)
+               (ps1+ps2)
+
+mempty_r :: Results
+mempty_r  = Results 0 0 0 0 0
 \end{code}
+
 
 PL results are ordered by (points,goal-difference,goals-scored).
 
diff --git a/examples/re-tutorial-replacing.lhs b/examples/re-tutorial-replacing.lhs
--- a/examples/re-tutorial-replacing.lhs
+++ b/examples/re-tutorial-replacing.lhs
@@ -5,7 +5,7 @@
 Language Options and  Imports
 -----------------------------
 
-This tutorial is a literate Haskell program whwre we start by specifying
+This tutorial is a literate Haskell program where we start by specifying
 the language pragmas and imports we will need for this module.
 
 \begin{code}
@@ -83,7 +83,7 @@
 ---------------------
 
 The types returned by the `?=~` and `*=~` form the foundations of the
-package. Understandingv these simple types is the key to understanding
+package. Understanding these simple types is the key to understanding
 the package.
 
 The type of `*=~` in this module (imported from
diff --git a/examples/re-tutorial.lhs b/examples/re-tutorial.lhs
--- a/examples/re-tutorial.lhs
+++ b/examples/re-tutorial.lhs
@@ -44,10 +44,6 @@
      is for you, otherwise it is the PCRE back end, which is housed in
      a seperate `regex-with-pcre` package.
 
-  2. Which Haskell type is being used for the text I need to match? This
-     can influence as, at the time of writing, the `PCRE` `regex` back end
-     [does not support the`Text` types](https://github.com/iconnect/regex/issues/58).
-
 The import statement will in general look like this
 ```
   import Text.RE.<back-end>.<text-type>
diff --git a/lib/cabal-masters/constraints-incl.cabal b/lib/cabal-masters/constraints-incl.cabal
--- a/lib/cabal-masters/constraints-incl.cabal
+++ b/lib/cabal-masters/constraints-incl.cabal
@@ -1,11 +1,9 @@
-%-    regex                   == <<$version$>>
-%-    regex-with-pcre         == <<$version$>>
-%-    array                   >= 0.4      && < 0.6
-%-    base                    >= 4        && < 5
-%-    base-compat             >= 0.6      && < 0.10
+%-    array                   >= 0.4
+%-    base                    >= 4        && <  5
+%-    base-compat             >= 0.6
 %-    blaze-html              >= 0.8.1.0
 %-    bytestring              == 0.10.*
-%-    containers              >= 0.4      && < 0.6
+%-    containers              >= 0.4
 %-    data-default            >= 0.5.3
 %-    directory               >= 1.2.1.0
 %-    filepath                >= 1.3.0.2
@@ -23,10 +21,10 @@
 %-    tasty                   >= 0.10.1.2
 %-    tasty-hunit             >= 0.9.2
 %-    tasty-smallcheck        >= 0.8.0.1
-%-    template-haskell        >= 2.7      && < 2.12
+%-    template-haskell        >= 2.7
 %-    text                    == 1.2.*
-%-    time                    >= 1.4.2    && < 1.9
+%-    time                    >= 1.4.2
 %-    time-locale-compat      == 0.1.*
-%-    transformers            >= 0.2.2    && < 0.6
+%-    transformers            >= 0.2.2
 %-    unordered-containers    == 0.2.*
-%-    utf8-string             >= 1        && < 1.1
+%-    utf8-string             >= 1
diff --git a/lib/cabal-masters/executables-incl.cabal b/lib/cabal-masters/executables-incl.cabal
--- a/lib/cabal-masters/executables-incl.cabal
+++ b/lib/cabal-masters/executables-incl.cabal
@@ -97,8 +97,8 @@
     Other-Modules:
       TestKit
 
-    Extensions:         OverloadedStrings
     Default-Extensions: QuasiQuotes
+                        OverloadedStrings
 %build-depends-prog regex array base base-compat bytestring containers directory hashable heredoc regex-base regex-tdfa regex-tdfa-text regex-pcre-builtin shelly smallcheck tasty tasty-hunit tasty-smallcheck template-haskell transformers text time time-locale-compat unordered-containers
 
 %test-exe re-tutorial-options
diff --git a/lib/cabal-masters/test-extra-source-files-incl.cabal b/lib/cabal-masters/test-extra-source-files-incl.cabal
--- a/lib/cabal-masters/test-extra-source-files-incl.cabal
+++ b/lib/cabal-masters/test-extra-source-files-incl.cabal
@@ -1,5 +1,5 @@
 Extra-Source-Files:
-    README.markdown
+    README.md
     changelog
     data/2015-16-premierleague.txt
     data/access-errors.log
diff --git a/lib/mega-regex.cabal b/lib/mega-regex.cabal
--- a/lib/mega-regex.cabal
+++ b/lib/mega-regex.cabal
@@ -1,5 +1,5 @@
 Name:                   regex
-Version:                1.0.1.3
+Version:                1.0.1.4
 Synopsis:               Toolkit for regex-base
 Description:            A regular expression toolkit for regex-base with
                         compile-time checking of RE syntax, data types for
@@ -20,7 +20,7 @@
 bug-reports:            http://issues.regex.uk
 
 Extra-Source-Files:
-    README.markdown
+    README.md
     changelog
     data/2015-16-premierleague.txt
     data/access-errors.log
@@ -68,7 +68,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                1.0.1.3
+    Tag:                1.0.1.4
 
 
 
@@ -175,24 +175,24 @@
       -Werror
 
     Build-depends:
-        array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , hashable             == 1.2.*
       , regex-base           == 0.93.*
       , regex-pcre-builtin   == 0.94.*
       , regex-pcre-text      == 0.94.*
       , regex-tdfa           == 1.2.*
       , regex-tdfa-text      == 1.0.*
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
-      , utf8-string          >= 1        && < 1.1
+      , utf8-string          >= 1
 
 
 Executable re-gen-cabals
@@ -211,12 +211,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
       , regex-tdfa           == 1.2.*
@@ -241,12 +241,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
       , regex-tdfa           == 1.2.*
@@ -271,10 +271,10 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
@@ -300,10 +300,10 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
@@ -329,9 +329,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
@@ -355,9 +355,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
@@ -381,10 +381,10 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -392,9 +392,9 @@
       , regex-tdfa           == 1.2.*
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -415,10 +415,10 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -426,9 +426,9 @@
       , regex-tdfa           == 1.2.*
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -449,9 +449,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -478,9 +478,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -507,9 +507,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -534,9 +534,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -561,12 +561,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
@@ -579,10 +579,10 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
       , unordered-containers == 0.2.*
-      , utf8-string          >= 1        && < 1.1
+      , utf8-string          >= 1
 
 
 Test-Suite re-tests-test
@@ -602,12 +602,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
@@ -620,10 +620,10 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
       , unordered-containers == 0.2.*
-      , utf8-string          >= 1        && < 1.1
+      , utf8-string          >= 1
 
 
 
@@ -643,9 +643,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , blaze-html           >= 0.8.1.0
       , bytestring           == 0.10.*
       , data-default         >= 0.5.3
@@ -653,9 +653,9 @@
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -676,9 +676,9 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , blaze-html           >= 0.8.1.0
       , bytestring           == 0.10.*
       , data-default         >= 0.5.3
@@ -686,9 +686,9 @@
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -710,12 +710,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -728,11 +728,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -754,12 +754,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -772,11 +772,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -790,8 +790,8 @@
     Other-Modules:
       TestKit
 
-    Extensions:         OverloadedStrings
     Default-Extensions: QuasiQuotes
+                        OverloadedStrings
     Default-Language:   Haskell2010
 
     GHC-Options:
@@ -800,12 +800,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -818,11 +818,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -844,12 +844,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -862,11 +862,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -888,12 +888,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -906,11 +906,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -932,12 +932,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -950,11 +950,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -976,12 +976,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -994,11 +994,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -1020,12 +1020,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -1038,11 +1038,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -1064,12 +1064,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -1082,11 +1082,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -1108,12 +1108,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -1126,11 +1126,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -1153,12 +1153,12 @@
       -Werror
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -1171,11 +1171,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
diff --git a/lib/version.txt b/lib/version.txt
--- a/lib/version.txt
+++ b/lib/version.txt
@@ -1,1 +1,1 @@
-1.0.1.3
+1.0.1.4
diff --git a/regex-examples.cabal b/regex-examples.cabal
--- a/regex-examples.cabal
+++ b/regex-examples.cabal
@@ -1,5 +1,5 @@
 Name:                   regex-examples
-Version:                1.0.1.3
+Version:                1.0.1.4
 Synopsis:               Tutorial, tests and example programs for regex
 Description:            Tutorial, tests and example programs for regex,
                         a Regular Expression Toolkit for regex-base with
@@ -20,7 +20,7 @@
 bug-reports:            http://issues.regex.uk
 
 Extra-Source-Files:
-    README.markdown
+    README.md
     changelog
     data/2015-16-premierleague.txt
     data/access-errors.log
@@ -68,7 +68,7 @@
 Source-Repository this
     Type:               git
     Location:           https://github.com/iconnect/regex.git
-    Tag:                1.0.1.3
+    Tag:                1.0.1.4
 
 
 Executable re-gen-cabals
@@ -87,12 +87,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
       , regex-tdfa           == 1.2.*
@@ -117,12 +117,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
       , regex-tdfa           == 1.2.*
@@ -147,10 +147,10 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
@@ -176,10 +176,10 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , regex-base           == 0.93.*
@@ -205,9 +205,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
@@ -231,9 +231,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , shelly               >= 1.6.1.2
@@ -257,11 +257,11 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , regex-with-pcre      == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , regex-with-pcre      
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -269,9 +269,9 @@
       , regex-tdfa           == 1.2.*
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -292,11 +292,11 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , regex-with-pcre      == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , regex-with-pcre      
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -304,9 +304,9 @@
       , regex-tdfa           == 1.2.*
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -327,9 +327,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -356,9 +356,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -385,9 +385,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -412,9 +412,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
@@ -439,13 +439,13 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , regex-with-pcre      == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , regex-with-pcre      
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
@@ -458,10 +458,10 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
       , unordered-containers == 0.2.*
-      , utf8-string          >= 1        && < 1.1
+      , utf8-string          >= 1
 
 
 Test-Suite re-tests-test
@@ -481,13 +481,13 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , regex-with-pcre      == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , regex-with-pcre      
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , filepath             >= 1.3.0.2
       , heredoc              >= 0.2.0.0
@@ -500,10 +500,10 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
       , unordered-containers == 0.2.*
-      , utf8-string          >= 1        && < 1.1
+      , utf8-string          >= 1
 
 
 
@@ -523,9 +523,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , blaze-html           >= 0.8.1.0
       , bytestring           == 0.10.*
       , data-default         >= 0.5.3
@@ -533,9 +533,9 @@
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -556,9 +556,9 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , blaze-html           >= 0.8.1.0
       , bytestring           == 0.10.*
       , data-default         >= 0.5.3
@@ -566,9 +566,9 @@
       , filepath             >= 1.3.0.2
       , shelly               >= 1.6.1.2
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -590,12 +590,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -608,11 +608,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -634,12 +634,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -652,11 +652,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -670,8 +670,8 @@
     Other-Modules:
       TestKit
 
-    Extensions:         OverloadedStrings
     Default-Extensions: QuasiQuotes
+                        OverloadedStrings
     Default-Language:   Haskell2010
 
     GHC-Options:
@@ -680,12 +680,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -698,11 +698,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -724,13 +724,13 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , regex-with-pcre      == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , regex-with-pcre      
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -743,11 +743,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -769,13 +769,13 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , regex-with-pcre      == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , regex-with-pcre      
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -788,11 +788,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -814,12 +814,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -832,11 +832,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -858,12 +858,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -876,11 +876,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -902,12 +902,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -920,11 +920,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -946,12 +946,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -964,11 +964,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -990,12 +990,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -1008,11 +1008,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
@@ -1035,12 +1035,12 @@
       -Wwarn
 
     Build-depends:
-        regex                == 1.0.1.3
-      , array                >= 0.4      && < 0.6
-      , base                 >= 4        && < 5
-      , base-compat          >= 0.6      && < 0.10
+        regex                
+      , array                >= 0.4
+      , base                 >= 4        && <  5
+      , base-compat          >= 0.6
       , bytestring           == 0.10.*
-      , containers           >= 0.4      && < 0.6
+      , containers           >= 0.4
       , directory            >= 1.2.1.0
       , hashable             == 1.2.*
       , heredoc              >= 0.2.0.0
@@ -1053,11 +1053,11 @@
       , tasty                >= 0.10.1.2
       , tasty-hunit          >= 0.9.2
       , tasty-smallcheck     >= 0.8.0.1
-      , template-haskell     >= 2.7      && < 2.12
+      , template-haskell     >= 2.7
       , text                 == 1.2.*
-      , time                 >= 1.4.2    && < 1.9
+      , time                 >= 1.4.2
       , time-locale-compat   == 0.1.*
-      , transformers         >= 0.2.2    && < 0.6
+      , transformers         >= 0.2.2
       , unordered-containers == 0.2.*
 
 
