diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,8 @@
+0.12.0.1 (2021-12-04)
+=====================
+
+- Allow semigroups 0.20
+
 0.12.0.0 (2020-12-31)
 =====================
 
diff --git a/language-thrift.cabal b/language-thrift.cabal
--- a/language-thrift.cabal
+++ b/language-thrift.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.34.2.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: d80a1a764a9011be77762ba5390e28715af67b898b56b31e76b9845e55684958
+-- hash: 3e937cba14cc7d2b64284d4ab69cac1944266faa7871aa91fbd6c4800138236e
 
 name:           language-thrift
-version:        0.12.0.0
+version:        0.12.0.1
 synopsis:       Parser and pretty printer for the Thrift IDL format.
 description:    This package provides a parser and pretty printer for the
                 <http://thrift.apache.org/docs/idl Thrift IDL format>.
@@ -45,12 +45,12 @@
       src
   ghc-options: -Wall
   build-depends:
-      ansi-wl-pprint >=0.6 && <0.7
+      ansi-wl-pprint ==0.6.*
     , base >=4.7 && <5
     , containers >=0.5 && <0.7
     , megaparsec >=9.0 && <10.0
-    , scientific >=0.3 && <0.4
-    , semigroups >=0.18 && <0.20
+    , scientific ==0.3.*
+    , semigroups >=0.18 && <0.21
     , text >=1.2
     , transformers
   default-language: Haskell2010
@@ -66,14 +66,14 @@
       hspec-discover:hspec-discover >=2.1
   build-depends:
       QuickCheck >=2.5
-    , ansi-wl-pprint >=0.6 && <0.7
+    , ansi-wl-pprint ==0.6.*
     , base >=4.7 && <5
     , containers >=0.5 && <0.7
     , hspec >=2.0
     , language-thrift
     , megaparsec >=9.0 && <10.0
-    , scientific >=0.3 && <0.4
-    , semigroups >=0.18 && <0.20
+    , scientific ==0.3.*
+    , semigroups >=0.18 && <0.21
     , text >=1.2
     , transformers
   other-modules:
