diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Changelog for polysemy-plugin
 
+## 0.3.0.0 (2021-03-30)
+
+### Breaking Changes
+* Dropped support for GHC 8.4
+
 ## 0.2.5.2 (2020-11-01)
 
 - Fixed crashes stemming from unused optimization passes
diff --git a/polysemy-plugin.cabal b/polysemy-plugin.cabal
--- a/polysemy-plugin.cabal
+++ b/polysemy-plugin.cabal
@@ -1,104 +1,126 @@
-cabal-version:      2.0
-name:               polysemy-plugin
-version:            0.2.5.2
-license:            BSD3
-license-file:       LICENSE
-copyright:          2019 Sandy Maguire
-maintainer:         sandy@sandymaguire.me
-author:             Sandy Maguire
-homepage:           https://github.com/isovector/polysemy#readme
-bug-reports:        https://github.com/isovector/polysemy/issues
-synopsis:           Disambiguate obvious uses of effects.
-description:
-    Please see the README on GitHub at <https://github.com/isovector/polysemy/tree/master/polysemy-plugin#readme>
+cabal-version: 2.0
 
-category:           Polysemy
-build-type:         Custom
+-- This file has been generated from package.yaml by hpack version 0.34.4.
+--
+-- see: https://github.com/sol/hpack
+
+name:           polysemy-plugin
+version:        0.3.0.0
+synopsis:       Disambiguate obvious uses of effects.
+description:    Please see the README on GitHub at <https://github.com/isovector/polysemy/tree/master/polysemy-plugin#readme>
+category:       Polysemy
+homepage:       https://github.com/polysemy-research/polysemy#readme
+bug-reports:    https://github.com/polysemy-research/polysemy/issues
+author:         Sandy Maguire
+maintainer:     sandy@sandymaguire.me
+copyright:      2019 Sandy Maguire
+license:        BSD3
+license-file:   LICENSE
+build-type:     Custom
 extra-source-files:
     README.md
     ChangeLog.md
 
 source-repository head
-    type:     git
-    location: https://github.com/isovector/polysemy
+  type: git
+  location: https://github.com/polysemy-research/polysemy
 
 custom-setup
-    setup-depends:
-        Cabal >=3.0.1.0 && <3.1,
-        base >=4.9 && <5,
-        cabal-doctest >=1.0.6 && <1.1
+  setup-depends:
+      Cabal
+    , base >=4.9 && <5
+    , cabal-doctest >=1.0.6 && <1.1
 
 flag corelint
-    description: Perform the corelint tests
-    default:     False
-    manual:      True
+  description: Perform the corelint tests
+  manual: True
+  default: False
 
 library
-    exposed-modules:
-        Polysemy.Plugin
-        Polysemy.Plugin.Fundep
-        Polysemy.Plugin.Fundep.Stuff
-        Polysemy.Plugin.Fundep.Unification
-        Polysemy.Plugin.Fundep.Utils
-
-    hs-source-dirs:     src
-    other-modules:      Paths_polysemy_plugin
-    autogen-modules:    Paths_polysemy_plugin
-    default-language:   Haskell2010
-    default-extensions:
-        DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds
-        RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications
-        TypeOperators TypeFamilies UnicodeSyntax
-
-    build-depends:
-        base >=4.9 && <5,
-        containers >=0.5 && <0.7,
-        ghc >=8.4.4 && <9,
-        ghc-tcplugins-extra >=0.3 && <0.5,
-        polysemy >=1.3 && <1.5,
-        syb ==0.7.*,
-        transformers >=0.5.2.0 && <0.6
+  exposed-modules:
+      Polysemy.Plugin
+      Polysemy.Plugin.Fundep
+      Polysemy.Plugin.Fundep.Stuff
+      Polysemy.Plugin.Fundep.Unification
+      Polysemy.Plugin.Fundep.Utils
+  other-modules:
+      Paths_polysemy_plugin
+  autogen-modules:
+      Paths_polysemy_plugin
+  hs-source-dirs:
+      src
+  default-extensions:
+      DataKinds
+      DeriveFunctor
+      FlexibleContexts
+      GADTs
+      LambdaCase
+      PolyKinds
+      RankNTypes
+      ScopedTypeVariables
+      StandaloneDeriving
+      TypeApplications
+      TypeOperators
+      TypeFamilies
+      UnicodeSyntax
+  build-depends:
+      base >=4.9 && <5
+    , containers >=0.5 && <0.7
+    , ghc >=8.6.5 && <9
+    , ghc-tcplugins-extra >=0.3 && <0.5
+    , polysemy >=1.3
+    , syb ==0.7.*
+    , transformers >=0.5.2.0 && <0.6
+  default-language: Haskell2010
 
 test-suite polysemy-plugin-test
-    type:               exitcode-stdio-1.0
-    main-is:            Main.hs
-    build-tool-depends: hspec-discover:hspec-discover -any
-    hs-source-dirs:     test
-    other-modules:
-        BadSpec
-        DoctestSpec
-        ExampleSpec
-        LegitimateTypeErrorSpec
-        MultipleVarsSpec
-        PluginSpec
-        TypeErrors
-        VDQSpec
-        Paths_polysemy_plugin
-        Build_doctests
-
-    autogen-modules:    Build_doctests
-    default-language:   Haskell2010
-    default-extensions:
-        DataKinds DeriveFunctor FlexibleContexts GADTs LambdaCase PolyKinds
-        RankNTypes ScopedTypeVariables StandaloneDeriving TypeApplications
-        TypeOperators TypeFamilies UnicodeSyntax
-
-    ghc-options:
-        -threaded -rtsopts -with-rtsopts=-N -fplugin=Polysemy.Plugin
-
-    build-depends:
-        base >=4.9 && <5,
-        containers >=0.5 && <0.7,
-        doctest >=0.16.0.1 && <0.17,
-        ghc >=8.4.4 && <9,
-        ghc-tcplugins-extra >=0.3 && <0.5,
-        hspec >=2.6.0 && <3,
-        inspection-testing >=0.4.2 && <0.5,
-        polysemy >=1.3.0.0 && <1.5,
-        polysemy-plugin -any,
-        should-not-typecheck >=2.1.0 && <3,
-        syb ==0.7.*,
-        transformers >=0.5.2.0 && <0.6
-
-    if flag(corelint)
-        ghc-options: -dcore-lint -dsuppress-all
+  type: exitcode-stdio-1.0
+  main-is: Main.hs
+  other-modules:
+      BadSpec
+      DoctestSpec
+      ExampleSpec
+      LegitimateTypeErrorSpec
+      MultipleVarsSpec
+      PluginSpec
+      TypeErrors
+      VDQSpec
+      Paths_polysemy_plugin
+      Build_doctests
+  autogen-modules:
+      Build_doctests
+  hs-source-dirs:
+      test
+  default-extensions:
+      DataKinds
+      DeriveFunctor
+      FlexibleContexts
+      GADTs
+      LambdaCase
+      PolyKinds
+      RankNTypes
+      ScopedTypeVariables
+      StandaloneDeriving
+      TypeApplications
+      TypeOperators
+      TypeFamilies
+      UnicodeSyntax
+  ghc-options: -threaded -rtsopts -with-rtsopts=-N -fplugin=Polysemy.Plugin
+  build-tool-depends:
+      hspec-discover:hspec-discover
+  build-depends:
+      base >=4.9 && <5
+    , containers >=0.5 && <0.7
+    , doctest >=0.16.0.1 && <0.17
+    , ghc >=8.6.5 && <9
+    , ghc-tcplugins-extra >=0.3 && <0.5
+    , hspec >=2.6.0 && <3
+    , inspection-testing >=0.4.2 && <0.5
+    , polysemy >=1.3.0.0
+    , polysemy-plugin
+    , should-not-typecheck >=2.1.0 && <3
+    , syb ==0.7.*
+    , transformers >=0.5.2.0 && <0.6
+  if flag(corelint)
+    ghc-options: -dcore-lint -dsuppress-all
+  default-language: Haskell2010
