diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for HLint (* = breaking change)
 
+2.1.12, released 2018-12-10
+    Require haskell-src-exts-1.21
 2.1.11, released 2018-12-02
     #553, define __HLINT__=1 for the C preprocessor
     #546, suggest `x $> y` for `const x <$> y`, `pure x <$> y`, and `return x <$> y`
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -238,7 +238,7 @@
 
 You can see the output of `--default` [here](https://github.com/ndmitchell/hlint/blob/master/data/default.yaml).
 
-If you wish to use the [Dhall configuration language](https://github.com/dhall-lang/dhall-lang) to customize HLint, there [is an example](https://kowainik.github.io/posts/2018-09-09-dhall-to-hlint.html) and [type definition](https://github.com/kowainik/relude/blob/master/hlint/Rule.dhall).
+If you wish to use the [Dhall configuration language](https://github.com/dhall-lang/dhall-lang) to customize HLint, there [is an example](https://kowainik.github.io/posts/2018-09-09-dhall-to-hlint) and [type definition](https://github.com/kowainik/relude/blob/master/hlint/Rule.dhall).
 
 ### Ignoring hints
 
diff --git a/hlint.cabal b/hlint.cabal
--- a/hlint.cabal
+++ b/hlint.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.18
 build-type:         Simple
 name:               hlint
-version:            2.1.11
+version:            2.1.12
 license:            BSD3
 license-file:       LICENSE
 category:           Development
@@ -53,7 +53,7 @@
         cpphs >= 1.20.1,
         cmdargs >= 0.10,
         yaml >= 0.5.0,
-        haskell-src-exts >= 1.20 && < 1.21,
+        haskell-src-exts >= 1.21 && < 1.22,
         haskell-src-exts-util >= 0.2.1.2,
         uniplate >= 1.5,
         ansi-terminal >= 0.6.2,
diff --git a/src/Hint/Extensions.hs b/src/Hint/Extensions.hs
--- a/src/Hint/Extensions.hs
+++ b/src/Hint/Extensions.hs
@@ -267,6 +267,7 @@
     DerivStock{} -> mempty{derivesStock = xs}
     DerivAnyclass{} -> mempty{derivesAnyclass = xs}
     DerivNewtype{} -> mempty{derivesNewtype = xs}
+    DerivVia{} -> mempty
 addDerives nt _ xs = mempty
     {derivesStock = stock
     ,derivesAnyclass = other
diff --git a/src/Hint/Naming.hs b/src/Hint/Naming.hs
--- a/src/Hint/Naming.hs
+++ b/src/Hint/Naming.hs
@@ -71,7 +71,7 @@
     PatBind{} -> name
     TypeDecl{} -> name
     DataDecl _ _ _ _ cons _ -> name ++ [fromNamed x | QualConDecl _ _ _ x <- cons, x <- f x]
-    GDataDecl _ _ _ _ _ cons _ -> name ++ [fromNamed x | GadtDecl _ x _ _ <- cons]
+    GDataDecl _ _ _ _ _ cons _ -> name ++ [fromNamed x | GadtDecl _ x _ _ _ _ <- cons]
     TypeFamDecl{} -> name
     DataFamDecl{} -> name
     ClassDecl{} -> name
