diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,7 +7,14 @@
 
 ## [Unreleased]
 
-## [0.3.1.0] - 2026-10-15
+## [0.4.0.0] - 2026-09-16
+
+### Removed
+
+- Support for GHC 9.14. A faulty CI setup incorrectly stated that we were
+  building and testing successfully on GHC 9.14.
+
+## [0.3.1.0] - 2026-09-15
 
 ### Added
 
diff --git a/tricorder-types.cabal b/tricorder-types.cabal
--- a/tricorder-types.cabal
+++ b/tricorder-types.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           tricorder-types
-version:        0.3.1.0
+version:        0.4.0.0
 synopsis:       Shared domain types for various Tricorder components
 description:    Shared domain types for various Tricorder components like
                 [Tricorder itself](https://hackage.haskell.org/package/tricorder) and
@@ -23,7 +23,6 @@
   , GHC == 9.6.7
   , GHC == 9.8.4
   , GHC == 9.12.4
-  , GHC == 9.14.1
 extra-doc-files:
     README.md
     CHANGELOG.md
@@ -62,7 +61,7 @@
   ghc-options: -Weverything -Wno-unsafe -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction -Wno-missing-kind-signatures -Wno-missing-local-signatures -Wno-missing-import-lists -Wno-implicit-prelude -Wno-unticked-promoted-constructors -Wno-unused-packages -Wno-all-missed-specialisations -Wno-missed-specialisations
   build-depends:
       aeson >=2.2 && <2.4
-    , atelier-prelude ==0.3.*
+    , atelier-prelude ==0.4.*
     , base >=4.18 && <4.23
     , text ==2.1.*
   mixins:
