diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,13 @@
 # Changelog
 
-## [0.3.0.1] - 2024-07-26
+## [0.4.0.0] - 2024-08-03
 
+### Changed
+
+* Remove orphan `ToYaml (Autodocodec a)` instance, instead defining a `AutodocodecYaml` newtype 
+  and replacing the instance with a non-orphan `ToYaml (AutodocodecYaml a)` instance.
+
+## [0.3.0.1] - 2024-07-26
 
 * Support for `autodocodec >=0.4` and `autodocodec-schema >=0.2`.
 
diff --git a/autodocodec-yaml.cabal b/autodocodec-yaml.cabal
--- a/autodocodec-yaml.cabal
+++ b/autodocodec-yaml.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           autodocodec-yaml
-version:        0.3.0.2
+version:        0.4.0.0
 synopsis:       Autodocodec interpreters for yaml
 homepage:       https://github.com/NorfairKing/autodocodec#readme
 bug-reports:    https://github.com/NorfairKing/autodocodec/issues
diff --git a/src/Autodocodec/Yaml.hs b/src/Autodocodec/Yaml.hs
--- a/src/Autodocodec/Yaml.hs
+++ b/src/Autodocodec/Yaml.hs
@@ -40,7 +40,7 @@
 
 -- | Encode a value as a Yaml 'ByteString' via its type's 'codec'.
 encodeYamlViaCodec :: (HasCodec a) => a -> ByteString
-encodeYamlViaCodec = Yaml.toByteString . Autodocodec
+encodeYamlViaCodec = Yaml.toByteString . AutodocodecYaml
 
 -- | Parse a Yaml 'ByteString' using a type's 'codec'.
 eitherDecodeYamlViaCodec :: (HasCodec a) => ByteString -> Either Yaml.ParseException a
diff --git a/src/Autodocodec/Yaml/Encode.hs b/src/Autodocodec/Yaml/Encode.hs
--- a/src/Autodocodec/Yaml/Encode.hs
+++ b/src/Autodocodec/Yaml/Encode.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE PartialTypeSignatures #-}
-{-# OPTIONS_GHC -fno-warn-partial-type-signatures -fno-warn-orphans #-}
+{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
 
 module Autodocodec.Yaml.Encode where
 
@@ -10,7 +10,6 @@
 import Autodocodec.Aeson.Encode
 import Autodocodec.Class
 import Autodocodec.Codec
-import Autodocodec.DerivingVia
 import Control.Arrow (first)
 import Data.Coerce (coerce)
 import Data.Scientific
@@ -94,5 +93,7 @@
       JSON.Object o -> yamlObject o
       JSON.Array v -> Yaml.array $ map yamlValue $ V.toList v
 
-instance (HasCodec a) => ToYaml (Autodocodec a) where
-  toYaml = toYamlViaCodec . unAutodocodec
+newtype AutodocodecYaml a = AutodocodecYaml {unAutodocodecYaml :: a}
+
+instance (HasCodec a) => ToYaml (AutodocodecYaml a) where
+  toYaml = toYamlViaCodec . unAutodocodecYaml
