diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Changelog for haskell-language-server
 
+## 2.0.0.1
+
+- Add overloaded record dot plugin intial version (closes #3350) (#3560)
+- Binaries for GHC 9.2.8 and GHC 9.6.2
+
 ## 2.0.0.0
 
 - New versioning scheme for all packages distributed as part of HLS,
@@ -95,7 +100,7 @@
 ([#3411](https://github.com/haskell/haskell-language-server/pull/3411)) by @pepeiborra
 - Support fourmolu 0.10
 ([#3410](https://github.com/haskell/haskell-language-server/pull/3410)) by @brandonchinn178
-- Fix nix build CI 
+- Fix nix build CI
 ([#3404](https://github.com/haskell/haskell-language-server/pull/3404)) by @wavewave
 - Fix fourmolu with -f-fixity-th in nix env
 ([#3400](https://github.com/haskell/haskell-language-server/pull/3400)) by @wavewave
@@ -145,7 +150,7 @@
 ([#3339](https://github.com/haskell/haskell-language-server/pull/3339)) by @santiweight
 - Add hls-cabal-fmt-plugin to hackage release CI script and HLS library
 ([#3335](https://github.com/haskell/haskell-language-server/pull/3335)) by @fendor
-- Ensure at least 1 capability 
+- Ensure at least 1 capability
 ([#3334](https://github.com/haskell/haskell-language-server/pull/3334)) by @pepeiborra
 - Add support for Fourmolu 0.9
 ([#3331](https://github.com/haskell/haskell-language-server/pull/3331)) by @brandonchinn178
@@ -324,7 +329,7 @@
 - Initial support for GHC 9.4 with binaries for GHC 9.4.1 and GHC 9.4.2
 - Startup time and performance improvements on projects using Template Haskell by serializing intermediate core (#2813)
 - Memory usage improvements due to using a packed representation for filepaths (#3067, @kokobd)
-- Improvements for hls-class-plugin (#2920, @July541) 
+- Improvements for hls-class-plugin (#2920, @July541)
 - The new hls-gadt-plugin (#2899, @July541)
 - Moving code actions from ghcide to the new hls-refactor-plugin (#3091, @wz1000)
 - Many more improvements and bug fixes thanks to our contributors!
@@ -549,7 +554,7 @@
 ([#2873](https://github.com/haskell/haskell-language-server/pull/2873)) by @pepeiborra
 - Expand input to pragma if available
 ([#2871](https://github.com/haskell/haskell-language-server/pull/2871)) by @July541
-- Fix hanging redundant import on Unicode function 
+- Fix hanging redundant import on Unicode function
 ([#2870](https://github.com/haskell/haskell-language-server/pull/2870)) by @drsooch
 - Compatibility with older aeson releases
 ([#2868](https://github.com/haskell/haskell-language-server/pull/2868)) by @pepeiborra
@@ -754,7 +759,7 @@
 - Improve logging
 ([#2558](https://github.com/haskell/haskell-language-server/pull/2558)) by @eddiemundo
 - Improve recompilation avoidance in the presence of TH
-([#2316](https://github.com/haskell/haskell-language-server/pull/2316)) by @wz1000 
+([#2316](https://github.com/haskell/haskell-language-server/pull/2316)) by @wz1000
 
 ## 1.6.1.1 (*only hackage release*)
 
diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal
--- a/haskell-language-server.cabal
+++ b/haskell-language-server.cabal
@@ -1,7 +1,7 @@
 cabal-version:      3.0
 category:           Development
 name:               haskell-language-server
-version:            2.0.0.0
+version:            2.0.0.1
 synopsis:           LSP server for GHC
 description:
   Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
@@ -174,6 +174,11 @@
   default:     True
   manual:      True
 
+flag overloadedRecordDot
+  description: Enable overloadedRecordDot plugin
+  default:     True
+  manual:      True
+
 -- formatters
 
 flag floskell
@@ -213,144 +218,149 @@
 
 common cabalfmt
   if flag(cabalfmt)
-    build-depends: hls-cabal-fmt-plugin == 2.0.0.0
+    build-depends: hls-cabal-fmt-plugin == 2.0.0.1
     cpp-options: -Dhls_cabalfmt
 
 common cabal
   if flag(cabal)
-    build-depends: hls-cabal-plugin == 2.0.0.0
+    build-depends: hls-cabal-plugin == 2.0.0.1
     cpp-options: -Dhls_cabal
 
 common class
   if flag(class)
-    build-depends: hls-class-plugin == 2.0.0.0
+    build-depends: hls-class-plugin == 2.0.0.1
     cpp-options: -Dhls_class
 
 common callHierarchy
   if flag(callHierarchy)
-    build-depends: hls-call-hierarchy-plugin == 2.0.0.0
+    build-depends: hls-call-hierarchy-plugin == 2.0.0.1
     cpp-options: -Dhls_callHierarchy
 
 common haddockComments
   if flag(haddockComments) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
-    build-depends: hls-haddock-comments-plugin == 2.0.0.0
+    build-depends: hls-haddock-comments-plugin == 2.0.0.1
     cpp-options: -Dhls_haddockComments
 
 common eval
   if flag(eval)
-    build-depends: hls-eval-plugin == 2.0.0.0
+    build-depends: hls-eval-plugin == 2.0.0.1
     cpp-options: -Dhls_eval
 
 common importLens
   if flag(importLens)
-    build-depends: hls-explicit-imports-plugin == 2.0.0.0
+    build-depends: hls-explicit-imports-plugin == 2.0.0.1
     cpp-options: -Dhls_importLens
 
 common refineImports
   if flag(refineImports)
-    build-depends: hls-refine-imports-plugin == 2.0.0.0
+    build-depends: hls-refine-imports-plugin == 2.0.0.1
     cpp-options: -Dhls_refineImports
 
 common rename
   if flag(rename)
-    build-depends: hls-rename-plugin == 2.0.0.0
+    build-depends: hls-rename-plugin == 2.0.0.1
     cpp-options: -Dhls_rename
 
 common retrie
   if flag(retrie)
-    build-depends: hls-retrie-plugin == 2.0.0.0
+    build-depends: hls-retrie-plugin == 2.0.0.1
     cpp-options: -Dhls_retrie
 
 common tactic
   if flag(tactic) && (impl(ghc < 9.2.1) || flag(ignore-plugins-ghc-bounds))
-    build-depends: hls-tactics-plugin == 2.0.0.0
+    build-depends: hls-tactics-plugin == 2.0.0.1
     cpp-options: -Dhls_tactic
 
 common hlint
   if flag(hlint) && impl(ghc < 9.5)
-    build-depends: hls-hlint-plugin == 2.0.0.0
+    build-depends: hls-hlint-plugin == 2.0.0.1
     cpp-options: -Dhls_hlint
 
 common stan
   if flag(stan) && (impl(ghc >= 8.10) && impl(ghc < 9.0))
-    build-depends: hls-stan-plugin == 2.0.0.0
+    build-depends: hls-stan-plugin == 2.0.0.1
     cpp-options: -Dhls_stan
 
 common moduleName
   if flag(moduleName)
-    build-depends: hls-module-name-plugin == 2.0.0.0
+    build-depends: hls-module-name-plugin == 2.0.0.1
     cpp-options: -Dhls_moduleName
 
 common pragmas
   if flag(pragmas)
-    build-depends: hls-pragmas-plugin == 2.0.0.0
+    build-depends: hls-pragmas-plugin == 2.0.0.1
     cpp-options: -Dhls_pragmas
 
 common splice
   if flag(splice)
-    build-depends: hls-splice-plugin == 2.0.0.0
+    build-depends: hls-splice-plugin == 2.0.0.1
     cpp-options: -Dhls_splice
 
 common alternateNumberFormat
   if flag(alternateNumberFormat)
-    build-depends: hls-alternate-number-format-plugin == 2.0.0.0
+    build-depends: hls-alternate-number-format-plugin == 2.0.0.1
     cpp-options: -Dhls_alternateNumberFormat
 
 common qualifyImportedNames
   if flag(qualifyImportedNames)
-    build-depends: hls-qualify-imported-names-plugin == 2.0.0.0
+    build-depends: hls-qualify-imported-names-plugin == 2.0.0.1
     cpp-options: -Dhls_qualifyImportedNames
 
 common codeRange
   if flag(codeRange)
-    build-depends: hls-code-range-plugin == 2.0.0.0
+    build-depends: hls-code-range-plugin == 2.0.0.1
     cpp-options: -Dhls_codeRange
 
 common changeTypeSignature
   if flag(changeTypeSignature)
-    build-depends: hls-change-type-signature-plugin == 2.0.0.0
+    build-depends: hls-change-type-signature-plugin == 2.0.0.1
     cpp-options: -Dhls_changeTypeSignature
 
 common gadt
   if flag(gadt)
-    build-depends: hls-gadt-plugin == 2.0.0.0
+    build-depends: hls-gadt-plugin == 2.0.0.1
     cpp-options: -Dhls_gadt
 
 common explicitFixity
   if flag(explicitFixity)
-    build-depends: hls-explicit-fixity-plugin == 2.0.0.0
+    build-depends: hls-explicit-fixity-plugin == 2.0.0.1
     cpp-options: -DexplicitFixity
 
 common explicitFields
   if flag(explicitFields)
-    build-depends: hls-explicit-record-fields-plugin == 2.0.0.0
+    build-depends: hls-explicit-record-fields-plugin == 2.0.0.1
     cpp-options: -DexplicitFields
 
+common overloadedRecordDot
+  if flag(overloadedRecordDot) && (impl(ghc >= 9.2.0) || flag(ignore-plugins-ghc-bounds))
+    build-depends: hls-overloaded-record-dot-plugin == 2.0.0.1
+    cpp-options: -Dhls_overloaded_record_dot
+
 -- formatters
 
 common floskell
-  if flag(floskell) && impl(ghc < 9.5) 
-    build-depends: hls-floskell-plugin == 2.0.0.0
+  if flag(floskell) && impl(ghc < 9.5)
+    build-depends: hls-floskell-plugin == 2.0.0.1
     cpp-options: -Dhls_floskell
 
 common fourmolu
   if flag(fourmolu)
-    build-depends: hls-fourmolu-plugin == 2.0.0.0
+    build-depends: hls-fourmolu-plugin == 2.0.0.1
     cpp-options: -Dhls_fourmolu
 
 common ormolu
   if flag(ormolu) && impl(ghc < 9.5)
-    build-depends: hls-ormolu-plugin == 2.0.0.0
+    build-depends: hls-ormolu-plugin == 2.0.0.1
     cpp-options: -Dhls_ormolu
 
 common stylishHaskell
   if flag(stylishHaskell) && impl(ghc < 9.5)
-    build-depends: hls-stylish-haskell-plugin == 2.0.0.0
+    build-depends: hls-stylish-haskell-plugin == 2.0.0.1
     cpp-options: -Dhls_stylishHaskell
 
 common refactor
   if flag(refactor)
-    build-depends: hls-refactor-plugin == 2.0.0.0
+    build-depends: hls-refactor-plugin == 2.0.0.1
     cpp-options: -Dhls_refactor
 
 library
@@ -387,6 +397,7 @@
                   , ormolu
                   , stylishHaskell
                   , refactor
+                  , overloadedRecordDot
 
   exposed-modules:
     Ide.Arguments
@@ -405,12 +416,12 @@
     , cryptohash-sha1
     , data-default
     , ghc
-    , ghcide                == 2.0.0.0
+    , ghcide                == 2.0.0.1
     , githash               >=0.1.6.1
     , lsp
     , hie-bios
     , hiedb
-    , hls-plugin-api        == 2.0.0.0
+    , hls-plugin-api        == 2.0.0.1
     , optparse-applicative
     , optparse-simple
     , process
@@ -549,7 +560,7 @@
     , lens-aeson
     , ghcide
     , ghcide-test-utils
-    , hls-test-utils == 2.0.0.0
+    , hls-test-utils == 2.0.0.1
     , lsp-types
     , aeson
     , hls-plugin-api
diff --git a/src/HlsPlugins.hs b/src/HlsPlugins.hs
--- a/src/HlsPlugins.hs
+++ b/src/HlsPlugins.hs
@@ -100,6 +100,10 @@
 import qualified Ide.Plugin.ExplicitFields         as ExplicitFields
 #endif
 
+#if hls_overloaded_record_dot
+import qualified Ide.Plugin.OverloadedRecordDot    as OverloadedRecordDot
+#endif
+
 -- formatters
 
 #if hls_floskell
@@ -226,11 +230,14 @@
       let pId = "ghcide-code-actions-fill-holes" in Refactor.fillHolePluginDescriptor (pluginRecorder pId) pId :
       let pId = "ghcide-extend-import-action" in Refactor.extendImportPluginDescriptor (pluginRecorder pId) pId :
 #endif
-      GhcIde.descriptors (pluginRecorder "ghcide")
 #if explicitFixity
-      ++ [let pId = "explicit-fixity" in ExplicitFixity.descriptor (pluginRecorder pId) pId]
+      let pId = "explicit-fixity" in ExplicitFixity.descriptor (pluginRecorder pId) pId :
 #endif
 #if explicitFields
-      ++ [let pId = "explicit-fields" in ExplicitFields.descriptor (pluginRecorder pId) pId]
+      let pId = "explicit-fields" in ExplicitFields.descriptor (pluginRecorder pId) pId :
 #endif
+#if hls_overloaded_record_dot
+      let pId = "overloaded-record-dot" in OverloadedRecordDot.descriptor (pluginRecorder pId) pId :
+#endif
+      GhcIde.descriptors (pluginRecorder "ghcide")
 
diff --git a/test/testdata/hieBiosError/hie.yaml b/test/testdata/hieBiosError/hie.yaml
deleted file mode 100644
--- a/test/testdata/hieBiosError/hie.yaml
+++ /dev/null
diff --git a/test/testdata/wErrorTest/dist-newstyle/build/x86_64-linux/ghc-8.10.3/test-0.1.0.0/build/autogen/Paths_test.hs b/test/testdata/wErrorTest/dist-newstyle/build/x86_64-linux/ghc-8.10.3/test-0.1.0.0/build/autogen/Paths_test.hs
deleted file mode 100644
--- a/test/testdata/wErrorTest/dist-newstyle/build/x86_64-linux/ghc-8.10.3/test-0.1.0.0/build/autogen/Paths_test.hs
+++ /dev/null
@@ -1,50 +0,0 @@
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE NoRebindableSyntax #-}
-{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}
-module Paths_test (
-    version,
-    getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,
-    getDataFileName, getSysconfDir
-  ) where
-
-import qualified Control.Exception as Exception
-import Data.Version (Version(..))
-import System.Environment (getEnv)
-import Prelude
-
-#if defined(VERSION_base)
-
-#if MIN_VERSION_base(4,0,0)
-catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
-#else
-catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a
-#endif
-
-#else
-catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
-#endif
-catchIO = Exception.catch
-
-version :: Version
-version = Version [0,1,0,0] []
-bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath
-
-bindir     = "/home/zubin/.cabal/bin"
-libdir     = "/home/zubin/.cabal/lib/x86_64-linux-ghc-8.10.3/test-0.1.0.0-inplace"
-dynlibdir  = "/home/zubin/.cabal/lib/x86_64-linux-ghc-8.10.3"
-datadir    = "/home/zubin/.cabal/share/x86_64-linux-ghc-8.10.3/test-0.1.0.0"
-libexecdir = "/home/zubin/.cabal/libexec/x86_64-linux-ghc-8.10.3/test-0.1.0.0"
-sysconfdir = "/home/zubin/.cabal/etc"
-
-getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath
-getBinDir = catchIO (getEnv "test_bindir") (\_ -> return bindir)
-getLibDir = catchIO (getEnv "test_libdir") (\_ -> return libdir)
-getDynLibDir = catchIO (getEnv "test_dynlibdir") (\_ -> return dynlibdir)
-getDataDir = catchIO (getEnv "test_datadir") (\_ -> return datadir)
-getLibexecDir = catchIO (getEnv "test_libexecdir") (\_ -> return libexecdir)
-getSysconfDir = catchIO (getEnv "test_sysconfdir") (\_ -> return sysconfdir)
-
-getDataFileName :: FilePath -> IO FilePath
-getDataFileName name = do
-  dir <- getDataDir
-  return (dir ++ "/" ++ name)
