diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for ghctags
 
+## 0.6.2.0 -- 2026-03-08
+
+- `GHC-9.14` support.
+- `GHC-9.12` support.
+
 ## 0.6.1.1 -- 2024-07-21
 
 - `GHC-9.10` support.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -82,18 +82,19 @@
 cabal install --lib ghc-tags-plugin
 ```
 
-In `cabal.project.local` file add `package` stanza for every local package :
+In `cabal.project.local` file add [`program-options`] stanza, which enables the plugin
+for all local packages:
 ```
-project some-project
+program-options
     ghc-options: -package-db=PACKAGE_DB
                  -plugin-package=ghc-tags-plugin
                  -fplugin=Plugin.GhcTags
 ```
 
-`PACKAGE_DB` is likely to be something like (for `ghc-8.6.5`)
+`PACKAGE_DB` is likely to be something like
 (all environment variables must be expanded):
 ```
-${HOME}/.cabal/store/ghc-8.6.5/package.db
+${HOME}/.cabal/store/ghc-9.12.2/package.db
 ```
 or on Windows (note the `""` syntax)
 ```
@@ -213,3 +214,4 @@
 [`ghc-tags-fork`]: https://github.com/coot/ghc-tags
 [`ghc-tags-hackage`]: https://hackage.haskell.org/package/ghc-tags
 [`ghc-tags-core`]: https//hackage.haskell.org/package/ghc-tags-core
+[`program-options`]: https://cabal.readthedocs.io/en/stable/cabal-project-description-file.html#program-options
diff --git a/ghc-tags-plugin.cabal b/ghc-tags-plugin.cabal
--- a/ghc-tags-plugin.cabal
+++ b/ghc-tags-plugin.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                ghc-tags-plugin
-version:             0.6.1.1
+version:             0.6.2.0
 synopsis:            A compiler plugin which generates tags file from GHC parsed syntax tree.
 description:
   __etags__ format.  For a standalone `ghc-tags` command look for or
@@ -12,14 +12,14 @@
 license-file:        LICENSE
 author:              Marcin Szamotulski
 maintainer:          coot@coot.me
-copyright:           (c) 2020-2024, Marcin Szamotulski
+copyright:           (c) 2020-2025, Marcin Szamotulski
 category:            Development
 stability:           alpha
 extra-source-files:  CHANGELOG.md
                      README.md
 homepage:            https://github.com/coot/ghc-tags-plugin#readme
 bug-reports:         https://github.com/coot/ghc-tags-plugin/issues
-tested-with:         GHC == { 9.6, 9.8, 9.10 }
+tested-with:         GHC == { 9.6, 9.8, 9.10, 9.12 }
 
 -- Don't build gtp-check command by default; it's a development tool.
 flag gtp-check
@@ -34,10 +34,6 @@
   ghc-options:         -Wall
                        -Wno-unticked-promoted-constructors
                        -Wcompat
-                       -- the following three warnings are enabled by -Wall in
-                       -- ghc-9.2
-                       -Wno-incomplete-uni-patterns
-                       -Wno-incomplete-record-updates
                        -Wpartial-fields
                        -Widentities
                        -Wredundant-constraints
@@ -53,7 +49,7 @@
   other-modules:       Plugin.GhcTags.CTag
                        Paths_ghc_tags_plugin
   autogen-modules:     Paths_ghc_tags_plugin
-  build-depends:       base              >=4.12.0.0 && <4.21,
+  build-depends:       base              >=4.12 && < 4.23,
                        bytestring        >=0.10 && < 0.13,
                        directory        ^>=1.3,
                        filepath         ^>=1.4 || ^>= 1.5,
diff --git a/lib/Plugin/GhcTags.hs b/lib/Plugin/GhcTags.hs
--- a/lib/Plugin/GhcTags.hs
+++ b/lib/Plugin/GhcTags.hs
@@ -12,7 +12,7 @@
 
 import           Control.Exception
 import           Control.Monad (when)
-#if __GLASGOW_HASKELL__ >= 906
+#if MIN_VERSION_GLASGOW_HASKELL(9,6,0,0)
 import           Control.Monad.State.Strict
 #else
 import           Control.Monad.State.Strict hiding (when, void)
@@ -92,7 +92,7 @@
 import qualified Plugin.GhcTags.CTag as CTag
 
 
-#if   __GLASGOW_HASKELL__ >= 906
+#if MIN_VERSION_GLASGOW_HASKELL(9,6,0,0)
 type GhcPsModule = HsModule GhcPs
 #else
 type GhcPsModule = HsModule
diff --git a/lib/Plugin/GhcTags/FileLock.hs b/lib/Plugin/GhcTags/FileLock.hs
--- a/lib/Plugin/GhcTags/FileLock.hs
+++ b/lib/Plugin/GhcTags/FileLock.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE CPP #-}
-
 module Plugin.GhcTags.FileLock
   ( withFileLock
   , LockMode (..)
@@ -8,11 +6,7 @@
 import           Control.Exception
 import           Control.Monad (when)
 
-#if !defined(mingw32_HOST_OS)
-import           Lukko.FLock
-#else
-import           Lukko.Windows
-#endif
+import           Lukko
 
 -- | 'flock' base lock (on posix) or `LockFileEx` on Windows.
 --
