diff --git a/lib/modules/datasource/conan/index.ts b/lib/modules/datasource/conan/index.ts
index b4fae4da514b3c3e37dfb28f744337c45c966f87..dd3fb0a12b4c99f6457147108ea779bc40c1d2ba 100644
--- a/lib/modules/datasource/conan/index.ts
+++ b/lib/modules/datasource/conan/index.ts
@@ -3,7 +3,7 @@ import { logger } from '../../../logger';
 import { cache } from '../../../util/cache/package/decorator';
 import { GithubHttp } from '../../../util/http/github';
 import { ensureTrailingSlash, joinUrlParts } from '../../../util/url';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import * as allVersioning from '../../versioning';
 import { Datasource } from '../datasource';
 import type {
@@ -58,7 +58,7 @@ export class ConanDatasource extends Datasource {
     const res = await this.githubHttp.get(url, {
       headers: { accept: 'application/vnd.github.v3.raw' },
     });
-    const doc = load(res.body, {
+    const doc = parseSingleYaml(res.body, {
       json: true,
     }) as ConanYAML;
     return {
diff --git a/lib/modules/datasource/custom/formats/yaml.ts b/lib/modules/datasource/custom/formats/yaml.ts
index f20f32d13000453e0671afc2275faec4b519e197..541eb2a9d47bd6a91019da84d38ed73f02715d56 100644
--- a/lib/modules/datasource/custom/formats/yaml.ts
+++ b/lib/modules/datasource/custom/formats/yaml.ts
@@ -1,18 +1,18 @@
 import { readLocalFile } from '../../../../util/fs';
 import type { Http } from '../../../../util/http';
-import { load } from '../../../../util/yaml';
+import { parseSingleYaml } from '../../../../util/yaml';
 import type { CustomDatasourceFetcher } from './types';
 
 export class YamlFetcher implements CustomDatasourceFetcher {
   async fetch(http: Http, registryURL: string): Promise<unknown> {
     const response = await http.get(registryURL);
 
-    return load(response.body);
+    return parseSingleYaml(response.body);
   }
 
   async readFile(registryURL: string): Promise<unknown> {
     const fileContent = await readLocalFile(registryURL, 'utf8');
 
-    return load(fileContent!);
+    return parseSingleYaml(fileContent!);
   }
 }
diff --git a/lib/modules/datasource/helm/common.spec.ts b/lib/modules/datasource/helm/common.spec.ts
index 63db19e8c4ed45fcd914dba6ed4ccd269c6c3389..09ad126e72b396da401e2450543d2079df1a6847 100644
--- a/lib/modules/datasource/helm/common.spec.ts
+++ b/lib/modules/datasource/helm/common.spec.ts
@@ -1,10 +1,10 @@
 import { Fixtures } from '../../../../test/fixtures';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { findSourceUrl } from './common';
 import type { HelmRepository } from './types';
 
 // Truncated index.yaml file
-const repo = load(Fixtures.get('sample.yaml'), {
+const repo = parseSingleYaml(Fixtures.get('sample.yaml'), {
   json: true,
 }) as HelmRepository;
 
diff --git a/lib/modules/datasource/helm/index.ts b/lib/modules/datasource/helm/index.ts
index aeff449f255eee7e7736bb87d42e4158c9240438..20c691794a21d22571cebd919cc30ed40af45335 100644
--- a/lib/modules/datasource/helm/index.ts
+++ b/lib/modules/datasource/helm/index.ts
@@ -3,7 +3,7 @@ import { logger } from '../../../logger';
 import { cache } from '../../../util/cache/package/decorator';
 import type { HttpResponse } from '../../../util/http/types';
 import { ensureTrailingSlash } from '../../../util/url';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import * as helmVersioning from '../../versioning/helm';
 import { Datasource } from '../datasource';
 import type { GetReleasesConfig, ReleaseResult } from '../types';
@@ -48,7 +48,7 @@ export class HelmDatasource extends Datasource {
       this.handleGenericErrors(err);
     }
     try {
-      const doc = load(res.body, {
+      const doc = parseSingleYaml(res.body, {
         json: true,
       }) as HelmRepository;
       if (!is.plainObject<HelmRepository>(doc)) {
diff --git a/lib/modules/manager/argocd/extract.ts b/lib/modules/manager/argocd/extract.ts
index 8553a748f064f401bd1f9c7700c213989791af46..cd3b44d8543d1c88065754d6d1d82f23eedf79f3 100644
--- a/lib/modules/manager/argocd/extract.ts
+++ b/lib/modules/manager/argocd/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { coerceArray } from '../../../util/array';
 import { trimTrailingSlash } from '../../../util/url';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { DockerDatasource } from '../../datasource/docker';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { HelmDatasource } from '../../datasource/helm';
@@ -33,7 +33,7 @@ export function extractPackageFile(
 
   let definitions: ApplicationDefinition[];
   try {
-    definitions = loadAll(content) as ApplicationDefinition[];
+    definitions = parseYaml(content) as ApplicationDefinition[];
   } catch (err) {
     logger.debug({ err, packageFile }, 'Failed to parse ArgoCD definition.');
     return null;
diff --git a/lib/modules/manager/azure-pipelines/extract.ts b/lib/modules/manager/azure-pipelines/extract.ts
index b5d353dec58c98a98e103128c751fdc9998a2720..5f2a1c7f2c81a5acc3d809b22e9dd4fe016a2d6c 100644
--- a/lib/modules/manager/azure-pipelines/extract.ts
+++ b/lib/modules/manager/azure-pipelines/extract.ts
@@ -3,7 +3,7 @@ import { logger } from '../../../logger';
 import { coerceArray } from '../../../util/array';
 import { regEx } from '../../../util/regex';
 import { joinUrlParts } from '../../../util/url';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { AzurePipelinesTasksDatasource } from '../../datasource/azure-pipelines-tasks';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { getDep } from '../dockerfile/extract';
@@ -106,7 +106,7 @@ export function parseAzurePipelines(
 ): AzurePipelines | null {
   let pkg: AzurePipelines | null = null;
   try {
-    pkg = load(content, { json: true }) as AzurePipelines;
+    pkg = parseSingleYaml(content, { json: true }) as AzurePipelines;
   } catch (err) /* istanbul ignore next */ {
     logger.debug({ packageFile, err }, 'Error parsing azure-pipelines content');
     return null;
diff --git a/lib/modules/manager/batect/extract.ts b/lib/modules/manager/batect/extract.ts
index fd9f4c4a03d784641be207ef32750dead72841e3..9f84b903a64e1aa48ed2ff035ce3cf86fc076947 100644
--- a/lib/modules/manager/batect/extract.ts
+++ b/lib/modules/manager/batect/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import upath from 'upath';
 import { logger } from '../../../logger';
 import { readLocalFile } from '../../../util/fs';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { id as dockerVersioning } from '../../versioning/docker';
 import { id as semverVersioning } from '../../versioning/semver';
@@ -17,7 +17,7 @@ import type {
 } from './types';
 
 function loadConfig(content: string): BatectConfig {
-  const config = load(content);
+  const config = parseSingleYaml(content);
 
   if (typeof config !== 'object') {
     throw new Error(
diff --git a/lib/modules/manager/cloudbuild/extract.ts b/lib/modules/manager/cloudbuild/extract.ts
index 6f04657b95545e333fee93fa842f42a1fa0ad371..92f08454da77de0f50e6d1c4f8dc07221016391b 100644
--- a/lib/modules/manager/cloudbuild/extract.ts
+++ b/lib/modules/manager/cloudbuild/extract.ts
@@ -1,6 +1,6 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { getDep } from '../dockerfile/extract';
 import type { PackageDependency, PackageFileContent } from '../types';
 
@@ -11,7 +11,7 @@ export function extractPackageFile(
   const deps: PackageDependency[] = [];
   try {
     // TODO: fix types
-    const doc: any = load(content);
+    const doc: any = parseSingleYaml(content);
     if (doc?.steps && is.array(doc.steps)) {
       for (const step of doc.steps) {
         if (step.name) {
diff --git a/lib/modules/manager/crossplane/extract.ts b/lib/modules/manager/crossplane/extract.ts
index 605a70fdf540c55b5364de0fd749bd1082d15acc..993dbdadf961d01ee2020d04674e40ba5d7ec5fe 100644
--- a/lib/modules/manager/crossplane/extract.ts
+++ b/lib/modules/manager/crossplane/extract.ts
@@ -1,5 +1,5 @@
 import { logger } from '../../../logger';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { getDep } from '../dockerfile/extract';
 import type {
   ExtractConfig,
@@ -21,7 +21,7 @@ export function extractPackageFile(
 
   let list = [];
   try {
-    list = loadAll(content);
+    list = parseYaml(content);
   } catch (err) {
     logger.debug(
       { err, packageFile },
diff --git a/lib/modules/manager/docker-compose/extract.ts b/lib/modules/manager/docker-compose/extract.ts
index 06ccb814744e219e4737df136a85aea2bd8b996f..03761162e804380d7ff78212612b049a5d3d9109 100644
--- a/lib/modules/manager/docker-compose/extract.ts
+++ b/lib/modules/manager/docker-compose/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { newlineRegex, regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { getDep } from '../dockerfile/extract';
 import type { ExtractConfig, PackageFileContent } from '../types';
 import type { DockerComposeConfig } from './types';
@@ -37,7 +37,7 @@ export function extractPackageFile(
   let config: DockerComposeConfig;
   try {
     // TODO: fix me (#9610)
-    config = load(content, { json: true }) as DockerComposeConfig;
+    config = parseSingleYaml(content, { json: true }) as DockerComposeConfig;
     if (!config) {
       logger.debug(
         { packageFile },
diff --git a/lib/modules/manager/fleet/extract.ts b/lib/modules/manager/fleet/extract.ts
index cee52e074f950ae798924e66fef020f2bd54e375..06b6b3ef2e9411d9405a6d7f97b2b8c56ce42392 100644
--- a/lib/modules/manager/fleet/extract.ts
+++ b/lib/modules/manager/fleet/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { regEx } from '../../../util/regex';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { HelmDatasource } from '../../datasource/helm';
 import { checkIfStringIsPath } from '../terraform/util';
@@ -120,7 +120,7 @@ export function extractPackageFile(
   try {
     if (regEx('fleet.ya?ml').test(packageFile)) {
       // TODO: fix me (#9610)
-      const docs = loadAll(content, null, { json: true }) as FleetFile[];
+      const docs = parseYaml(content, null, { json: true }) as FleetFile[];
       const fleetDeps = docs
         .filter((doc) => is.truthy(doc?.helm))
         .flatMap((doc) => extractFleetFile(doc));
@@ -128,7 +128,7 @@ export function extractPackageFile(
       deps.push(...fleetDeps);
     } else {
       // TODO: fix me (#9610)
-      const docs = loadAll(content, null, { json: true }) as GitRepo[];
+      const docs = parseYaml(content, null, { json: true }) as GitRepo[];
       const gitRepoDeps = docs
         .filter((doc) => doc.kind === 'GitRepo') // ensure only GitRepo manifests are processed
         .flatMap((doc) => extractGitRepo(doc));
diff --git a/lib/modules/manager/flux/extract.ts b/lib/modules/manager/flux/extract.ts
index 036c1a46f142c7f7c07d4561e4d25c8256499c2a..b5c6469392e24a03a3046f5260c368da356c39ba 100644
--- a/lib/modules/manager/flux/extract.ts
+++ b/lib/modules/manager/flux/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { readLocalFile } from '../../../util/fs';
 import { regEx } from '../../../util/regex';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags';
 import { DockerDatasource } from '../../datasource/docker';
 import { GitRefsDatasource } from '../../datasource/git-refs';
@@ -52,7 +52,7 @@ function readManifest(
   };
   let resources: FluxResource[];
   try {
-    resources = loadAll(content, null, { json: true }) as FluxResource[];
+    resources = parseYaml(content, null, { json: true }) as FluxResource[];
   } catch (err) {
     logger.debug({ err, packageFile }, 'Failed to parse Flux manifest');
     return null;
diff --git a/lib/modules/manager/github-actions/extract.ts b/lib/modules/manager/github-actions/extract.ts
index e0415683c9a1c26ad6f3f89ea08acb478548af8e..d8fff7ea0825f505bfc2976cac5cf8e1e59a7220 100644
--- a/lib/modules/manager/github-actions/extract.ts
+++ b/lib/modules/manager/github-actions/extract.ts
@@ -3,7 +3,7 @@ import { GlobalConfig } from '../../../config/global';
 import { logger } from '../../../logger';
 import { isNotNullOrUndefined } from '../../../util/array';
 import { newlineRegex, regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { GithubRunnersDatasource } from '../../datasource/github-runners';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import * as dockerVersioning from '../../versioning/docker';
@@ -166,7 +166,7 @@ function extractWithYAMLParser(
 
   let pkg: Workflow;
   try {
-    pkg = load(content, { json: true }) as Workflow;
+    pkg = parseSingleYaml(content, { json: true }) as Workflow;
   } catch (err) {
     logger.debug(
       { packageFile, err },
diff --git a/lib/modules/manager/gitlabci-include/common.spec.ts b/lib/modules/manager/gitlabci-include/common.spec.ts
index c71f0cf03fb05fa88d3057f40560dcc89f38bc73..40528525a69fcc8ad61b255bc1c16f492c848428 100644
--- a/lib/modules/manager/gitlabci-include/common.spec.ts
+++ b/lib/modules/manager/gitlabci-include/common.spec.ts
@@ -1,5 +1,5 @@
 import { Fixtures } from '../../../../test/fixtures';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import type { GitlabPipeline } from '../gitlabci/types';
 import { replaceReferenceTags } from '../gitlabci/utils';
 import {
@@ -10,7 +10,7 @@ import {
 } from './common';
 
 const yamlFileMultiConfig = Fixtures.get('gitlab-ci.1.yaml');
-const pipeline = load(
+const pipeline = parseSingleYaml(
   replaceReferenceTags(yamlFileMultiConfig),
 ) as GitlabPipeline;
 const includeLocal = { local: 'something' };
diff --git a/lib/modules/manager/gitlabci-include/extract.ts b/lib/modules/manager/gitlabci-include/extract.ts
index b38d730e485e2c61ad5f7a75e2e989348138b540..95a98dc87af54de350a9e94f3498925c50a9ec8e 100644
--- a/lib/modules/manager/gitlabci-include/extract.ts
+++ b/lib/modules/manager/gitlabci-include/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { GlobalConfig } from '../../../config/global';
 import { logger } from '../../../logger';
 import { regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { GitlabTagsDatasource } from '../../datasource/gitlab-tags';
 import type {
   GitlabInclude,
@@ -71,7 +71,7 @@ export function extractPackageFile(
   const platform = GlobalConfig.get('platform');
   const endpoint = GlobalConfig.get('endpoint');
   try {
-    const doc = load(replaceReferenceTags(content), {
+    const doc = parseSingleYaml(replaceReferenceTags(content), {
       json: true,
     }) as GitlabPipeline;
     const includes = getAllIncludeProjects(doc);
diff --git a/lib/modules/manager/gitlabci/extract.ts b/lib/modules/manager/gitlabci/extract.ts
index a520e0349a74c5cf6d7d35975c3d84ce8d39a986..8f5a6ce0164751f9ed529808ad6feec92b32139f 100644
--- a/lib/modules/manager/gitlabci/extract.ts
+++ b/lib/modules/manager/gitlabci/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { readLocalFile } from '../../../util/fs';
 import { trimLeadingSlash } from '../../../util/url';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import type {
   ExtractConfig,
   PackageDependency,
@@ -83,7 +83,7 @@ export function extractPackageFile(
 ): PackageFileContent | null {
   let deps: PackageDependency[] = [];
   try {
-    const doc = load(replaceReferenceTags(content), {
+    const doc = parseSingleYaml(replaceReferenceTags(content), {
       json: true,
     }) as Record<string, Image | Services | Job>;
     if (is.object(doc)) {
@@ -146,7 +146,7 @@ export async function extractAllPackageFiles(
     }
     let doc: GitlabPipeline;
     try {
-      doc = load(replaceReferenceTags(content), {
+      doc = parseSingleYaml(replaceReferenceTags(content), {
         json: true,
       }) as GitlabPipeline;
     } catch (err) {
diff --git a/lib/modules/manager/helm-requirements/extract.ts b/lib/modules/manager/helm-requirements/extract.ts
index 52834af8251d67924d7c2d42b3ed016d6d6c5b0e..8d42bcd4b552727c98d979d208174953631a0a28 100644
--- a/lib/modules/manager/helm-requirements/extract.ts
+++ b/lib/modules/manager/helm-requirements/extract.ts
@@ -1,6 +1,6 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { HelmDatasource } from '../../datasource/helm';
 import type {
   ExtractConfig,
@@ -17,7 +17,7 @@ export function extractPackageFile(
   // TODO: fix type
   let doc: any;
   try {
-    doc = load(content, { json: true }); // TODO #9610
+    doc = parseSingleYaml(content, { json: true }); // TODO #9610
   } catch (err) {
     logger.debug({ packageFile }, `Failed to parse helm requirements.yaml`);
     return null;
diff --git a/lib/modules/manager/helm-values/extract.ts b/lib/modules/manager/helm-values/extract.ts
index e75026dec80a47d62a77da40094a8a181c07e627..61437fdbb79571efd78b93cd90663ccaef7e577b 100644
--- a/lib/modules/manager/helm-values/extract.ts
+++ b/lib/modules/manager/helm-values/extract.ts
@@ -1,5 +1,5 @@
 import { logger } from '../../../logger';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { id as dockerVersioning } from '../../versioning/docker';
 import { getDep } from '../dockerfile/extract';
 import type { PackageDependency, PackageFileContent } from '../types';
@@ -66,7 +66,7 @@ export function extractPackageFile(
     // a parser that allows extracting line numbers would be preferable, with
     // the current approach we need to match anything we find again during the update
     // TODO: fix me (#9610)
-    parsedContent = loadAll(content, null, { json: true }) as any;
+    parsedContent = parseYaml(content, null, { json: true }) as any;
   } catch (err) {
     logger.debug({ err, packageFile }, 'Failed to parse helm-values YAML');
     return null;
diff --git a/lib/modules/manager/helmfile/extract.ts b/lib/modules/manager/helmfile/extract.ts
index 0ca299a2232b7aeaa3d44fdc792f82529746e8fb..379073c0c08f84e9690f18b0327c47d91f57befd 100644
--- a/lib/modules/manager/helmfile/extract.ts
+++ b/lib/modules/manager/helmfile/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { regEx } from '../../../util/regex';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { DockerDatasource } from '../../datasource/docker';
 import { HelmDatasource } from '../../datasource/helm';
 import type {
@@ -35,7 +35,7 @@ export async function extractPackageFile(
   // Record kustomization usage for all deps, since updating artifacts is run on the helmfile.yaml as a whole.
   let needKustomize = false;
   try {
-    docs = loadAll(content, null, {
+    docs = parseYaml(content, null, {
       removeTemplates: true,
       json: true,
     }) as Doc[];
diff --git a/lib/modules/manager/helmsman/extract.ts b/lib/modules/manager/helmsman/extract.ts
index f776cd0b2f0a45dbe1083f3d7c7161e577485e8a..697c2fdf4403a97caab3d66417d94906cbb2bb05 100644
--- a/lib/modules/manager/helmsman/extract.ts
+++ b/lib/modules/manager/helmsman/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { DockerDatasource } from '../../datasource/docker';
 import { HelmDatasource } from '../../datasource/helm';
 import type {
@@ -69,7 +69,7 @@ export function extractPackageFile(
 ): PackageFileContent | null {
   try {
     // TODO: fix me (#9610)
-    const doc = load(content, {
+    const doc = parseSingleYaml(content, {
       json: true,
     }) as HelmsmanDocument;
     if (!doc.apps) {
diff --git a/lib/modules/manager/helmv3/artifacts.ts b/lib/modules/manager/helmv3/artifacts.ts
index 7f7df8d6c600b48b7b80a1312a941be7623016f3..0228d5f9d82da3baa21f54c4ac05146ecc7fb96b 100644
--- a/lib/modules/manager/helmv3/artifacts.ts
+++ b/lib/modules/manager/helmv3/artifacts.ts
@@ -114,9 +114,11 @@ export async function updateArtifacts({
   }
   try {
     // get repositories and registries defined in the package file
-    const packages = yaml.load(newPackageFileContent) as ChartDefinition; //TODO #9610
+    const packages = yaml.parseSingleYaml(
+      newPackageFileContent,
+    ) as ChartDefinition; //TODO #9610
     const locks = existingLockFileContent
-      ? (yaml.load(existingLockFileContent) as ChartDefinition)
+      ? (yaml.parseSingleYaml(existingLockFileContent) as ChartDefinition)
       : { dependencies: [] }; //TODO #9610
 
     const chartDefinitions: ChartDefinition[] = [];
diff --git a/lib/modules/manager/helmv3/extract.ts b/lib/modules/manager/helmv3/extract.ts
index f6d9e9d4649ad28f418eb12be88e8d9efba2eb86..758b5d66b5112653608e07a9d62f4d10b19de6b8 100644
--- a/lib/modules/manager/helmv3/extract.ts
+++ b/lib/modules/manager/helmv3/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { getSiblingFileName, localPathExists } from '../../../util/fs';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { HelmDatasource } from '../../datasource/helm';
 import type {
   ExtractConfig,
@@ -23,7 +23,7 @@ export async function extractPackageFile(
   };
   try {
     // TODO: fix me (#9610)
-    chart = load(content, { json: true }) as any;
+    chart = parseSingleYaml(content, { json: true }) as any;
     if (!(chart?.apiVersion && chart.name && chart.version)) {
       logger.debug(
         { packageFile },
diff --git a/lib/modules/manager/jenkins/extract.ts b/lib/modules/manager/jenkins/extract.ts
index 51d3fa54acaca81cadee10df27f1006bb3f91649..161b356f3768789f4e28ba574247db74f783071e 100644
--- a/lib/modules/manager/jenkins/extract.ts
+++ b/lib/modules/manager/jenkins/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { isSkipComment } from '../../../util/ignore';
 import { newlineRegex, regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { JenkinsPluginsDatasource } from '../../datasource/jenkins-plugins';
 import * as mavenVersioning from '../../versioning/maven';
 import type { PackageDependency, PackageFileContent } from '../types';
@@ -57,7 +57,7 @@ function extractYaml(
   const deps: PackageDependency[] = [];
 
   try {
-    const doc = load(content, { json: true }) as JenkinsPlugins;
+    const doc = parseSingleYaml(content, { json: true }) as JenkinsPlugins;
     if (is.nonEmptyArray(doc?.plugins)) {
       for (const plugin of doc.plugins) {
         if (plugin.artifactId) {
diff --git a/lib/modules/manager/kubernetes/extract.ts b/lib/modules/manager/kubernetes/extract.ts
index 9920f16007281c6569ec6d1070e078b040fda46e..69a819184ea3225c8fd42eeaf58c5cbb301958c7 100644
--- a/lib/modules/manager/kubernetes/extract.ts
+++ b/lib/modules/manager/kubernetes/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { newlineRegex, regEx } from '../../../util/regex';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import {
   KubernetesApiDatasource,
   supportedApis,
@@ -70,7 +70,7 @@ function extractApis(
   let doc: KubernetesConfiguration[];
 
   try {
-    doc = loadAll(content) as KubernetesConfiguration[];
+    doc = parseYaml(content) as KubernetesConfiguration[];
   } catch (err) {
     logger.debug({ err, packageFile }, 'Failed to parse Kubernetes manifest.');
     return [];
diff --git a/lib/modules/manager/kustomize/extract.ts b/lib/modules/manager/kustomize/extract.ts
index bca4d553c03da7bf001da751fbbdb8c3b344067e..60ad65dbeaa7a7af932ce193ec4a62fdd1637ef4 100644
--- a/lib/modules/manager/kustomize/extract.ts
+++ b/lib/modules/manager/kustomize/extract.ts
@@ -2,7 +2,7 @@ import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { coerceArray } from '../../../util/array';
 import { regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { DockerDatasource } from '../../datasource/docker';
 import { GitTagsDatasource } from '../../datasource/git-tags';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
@@ -158,7 +158,7 @@ export function parseKustomize(
 ): Kustomize | null {
   let pkg: Kustomize | null = null;
   try {
-    pkg = load(content, { json: true }) as Kustomize;
+    pkg = parseSingleYaml(content, { json: true }) as Kustomize;
   } catch (e) /* istanbul ignore next */ {
     logger.debug({ packageFile }, 'Error parsing kustomize file');
     return null;
diff --git a/lib/modules/manager/npm/extract/pnpm.spec.ts b/lib/modules/manager/npm/extract/pnpm.spec.ts
index 590a941f9f33237337e3905b6eae6749786289c6..5a18700e4a1f6a30cc19f8ca2a9c12ddfd5c1586 100644
--- a/lib/modules/manager/npm/extract/pnpm.spec.ts
+++ b/lib/modules/manager/npm/extract/pnpm.spec.ts
@@ -42,7 +42,7 @@ describe('modules/manager/npm/extract/pnpm', () => {
     });
 
     it('detects errors when opening pnpm-workspace.yml file', async () => {
-      jest.spyOn(yaml, 'load').mockImplementationOnce(() => {
+      jest.spyOn(yaml, 'parseSingleYaml').mockImplementationOnce(() => {
         throw new Error();
       });
 
diff --git a/lib/modules/manager/npm/extract/pnpm.ts b/lib/modules/manager/npm/extract/pnpm.ts
index d358212cdbc8408bee5d6879799b86db276d2d89..dc87f14e0d71580c93bedcd76d93b17eefcbca77 100644
--- a/lib/modules/manager/npm/extract/pnpm.ts
+++ b/lib/modules/manager/npm/extract/pnpm.ts
@@ -9,7 +9,7 @@ import {
   localPathExists,
   readLocalFile,
 } from '../../../../util/fs';
-import { load } from '../../../../util/yaml';
+import { parseSingleYaml } from '../../../../util/yaml';
 import type { PackageFile } from '../../types';
 import type { PnpmDependencySchema, PnpmLockFile } from '../post-update/types';
 import type { NpmManagerData } from '../types';
@@ -24,7 +24,7 @@ export async function extractPnpmFilters(
 ): Promise<string[] | undefined> {
   try {
     // TODO #22198
-    const contents = load((await readLocalFile(fileName, 'utf8'))!, {
+    const contents = parseSingleYaml((await readLocalFile(fileName, 'utf8'))!, {
       json: true,
     }) as PnpmWorkspaceFile;
     if (
@@ -148,7 +148,7 @@ export async function getPnpmLock(filePath: string): Promise<LockFile> {
       throw new Error('Unable to read pnpm-lock.yaml');
     }
 
-    const lockParsed = load(pnpmLockRaw);
+    const lockParsed = parseSingleYaml(pnpmLockRaw);
     if (!isPnpmLockfile(lockParsed)) {
       throw new Error('Invalid or empty lockfile');
     }
diff --git a/lib/modules/manager/npm/post-update/index.ts b/lib/modules/manager/npm/post-update/index.ts
index fa318343b0528a54348bbab34400b03f09e3abab..19f23356714780c32cebd534f587f42e4219e656 100644
--- a/lib/modules/manager/npm/post-update/index.ts
+++ b/lib/modules/manager/npm/post-update/index.ts
@@ -17,7 +17,7 @@ import type { FileChange } from '../../../../util/git/types';
 import * as hostRules from '../../../../util/host-rules';
 import { newlineRegex, regEx } from '../../../../util/regex';
 import { ensureTrailingSlash } from '../../../../util/url';
-import { dump, load } from '../../../../util/yaml';
+import { dump, parseSingleYaml } from '../../../../util/yaml';
 import { NpmDatasource } from '../../../datasource/npm';
 import { scm } from '../../../platform/scm';
 import type { PackageFile, PostUpdateConfig, Upgrade } from '../../types';
@@ -390,8 +390,9 @@ export async function updateYarnBinary(
       return existingYarnrcYmlContent;
     }
 
-    const oldYarnPath = (load(yarnrcYml) as YarnRcYmlFile)?.yarnPath;
-    const newYarnPath = (load(newYarnrcYml) as YarnRcYmlFile)?.yarnPath;
+    const oldYarnPath = (parseSingleYaml(yarnrcYml) as YarnRcYmlFile)?.yarnPath;
+    const newYarnPath = (parseSingleYaml(newYarnrcYml) as YarnRcYmlFile)
+      ?.yarnPath;
     if (
       !is.nonEmptyStringAndNotWhitespace(oldYarnPath) ||
       !is.nonEmptyStringAndNotWhitespace(newYarnPath)
@@ -568,10 +569,9 @@ export async function getAdditionalFiles(
       existingYarnrcYmlContent = await readLocalFile(yarnRcYmlFilename, 'utf8');
       if (existingYarnrcYmlContent) {
         try {
-          const existingYarnrRcYml = load(existingYarnrcYmlContent) as Record<
-            string,
-            unknown
-          >;
+          const existingYarnrRcYml = parseSingleYaml(
+            existingYarnrcYmlContent,
+          ) as Record<string, unknown>;
           const updatedYarnYrcYml = deepmerge(
             existingYarnrRcYml,
             additionalYarnRcYml,
diff --git a/lib/modules/manager/npm/post-update/pnpm.ts b/lib/modules/manager/npm/post-update/pnpm.ts
index 9cbffebfdef9192163f73202b5efee4012dbcb21..31989b62caff164ffd12b3c47958a7ad09cb929b 100644
--- a/lib/modules/manager/npm/post-update/pnpm.ts
+++ b/lib/modules/manager/npm/post-update/pnpm.ts
@@ -10,7 +10,7 @@ import type {
   ToolConstraint,
 } from '../../../../util/exec/types';
 import { deleteLocalFile, readLocalFile } from '../../../../util/fs';
-import { load } from '../../../../util/yaml';
+import { parseSingleYaml } from '../../../../util/yaml';
 import type { PostUpdateConfig, Upgrade } from '../../types';
 import { getNodeToolConstraint } from './node-version';
 import type { GenerateLockFileResult, PnpmLockFile } from './types';
@@ -126,7 +126,7 @@ export async function getConstraintFromLockFile(
     if (!lockfileContent) {
       return null;
     }
-    const pnpmLock = load(lockfileContent) as PnpmLockFile;
+    const pnpmLock = parseSingleYaml(lockfileContent) as PnpmLockFile;
     if (!is.number(pnpmLock?.lockfileVersion)) {
       return null;
     }
diff --git a/lib/modules/manager/pre-commit/extract.ts b/lib/modules/manager/pre-commit/extract.ts
index 345e3d66d9e864eb4ac400e81f31fd65727ce988..fb183b8828f8fa18e51c857fd4e591d61360bcc7 100644
--- a/lib/modules/manager/pre-commit/extract.ts
+++ b/lib/modules/manager/pre-commit/extract.ts
@@ -4,7 +4,7 @@ import type { SkipReason } from '../../../types';
 import { detectPlatform } from '../../../util/common';
 import { find } from '../../../util/host-rules';
 import { regEx } from '../../../util/regex';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import { GitlabTagsDatasource } from '../../datasource/gitlab-tags';
 import type { PackageDependency, PackageFileContent } from '../types';
@@ -158,7 +158,7 @@ export function extractPackageFile(
   type ParsedContent = Record<string, unknown> | PreCommitConfig;
   let parsedContent: ParsedContent;
   try {
-    parsedContent = load(content, { json: true }) as ParsedContent;
+    parsedContent = parseSingleYaml(content, { json: true }) as ParsedContent;
   } catch (err) {
     logger.debug(
       { filename: packageFile, err },
diff --git a/lib/modules/manager/tekton/extract.ts b/lib/modules/manager/tekton/extract.ts
index 9c4ab35d74ec1b77840a197da49c342a75026b81..e6973d3df1f01e7bd87a75c6dce3ffdf5b13528e 100644
--- a/lib/modules/manager/tekton/extract.ts
+++ b/lib/modules/manager/tekton/extract.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
 import { coerceArray } from '../../../util/array';
-import { loadAll } from '../../../util/yaml';
+import { parseYaml } from '../../../util/yaml';
 import { getDep } from '../dockerfile/extract';
 import type { PackageDependency, PackageFileContent } from '../types';
 import type {
@@ -19,7 +19,7 @@ export function extractPackageFile(
   const deps: PackageDependency[] = [];
   let docs: TektonResource[];
   try {
-    docs = loadAll(content) as TektonResource[];
+    docs = parseYaml(content) as TektonResource[];
   } catch (err) {
     logger.debug(
       { err, packageFile },
diff --git a/lib/modules/manager/travis/extract.ts b/lib/modules/manager/travis/extract.ts
index 9427813c07aed74934c915fbdfe4d3a1c0a2ac11..11000afffbddfc0df2132af8cb33c75fdf05193d 100644
--- a/lib/modules/manager/travis/extract.ts
+++ b/lib/modules/manager/travis/extract.ts
@@ -1,6 +1,6 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { GithubTagsDatasource } from '../../datasource/github-tags';
 import type { PackageDependency, PackageFileContent } from '../types';
 import type { TravisMatrixItem, TravisYaml } from './types';
@@ -11,7 +11,7 @@ export function extractPackageFile(
 ): PackageFileContent | null {
   let doc: TravisYaml;
   try {
-    doc = load(content, {
+    doc = parseSingleYaml(content, {
       json: true,
     }) as TravisYaml;
   } catch (err) {
diff --git a/lib/modules/manager/velaci/extract.ts b/lib/modules/manager/velaci/extract.ts
index 6be65899f03bfb3482955c048754bab2eb1c425d..7446933e69982e32040d0717e73c90f12eeb13f6 100644
--- a/lib/modules/manager/velaci/extract.ts
+++ b/lib/modules/manager/velaci/extract.ts
@@ -1,6 +1,6 @@
 import { logger } from '../../../logger';
 import { coerceArray } from '../../../util/array';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { getDep } from '../dockerfile/extract';
 import type { PackageDependency, PackageFileContent } from '../types';
 import type { VelaPipelineConfiguration } from './types';
@@ -12,7 +12,7 @@ export function extractPackageFile(
   let doc: VelaPipelineConfiguration | undefined;
 
   try {
-    doc = load(file, { json: true }) as VelaPipelineConfiguration;
+    doc = parseSingleYaml(file, { json: true }) as VelaPipelineConfiguration;
   } catch (err) {
     logger.debug({ err, packageFile }, 'Failed to parse Vela file.');
     return null;
diff --git a/lib/modules/manager/woodpecker/extract.ts b/lib/modules/manager/woodpecker/extract.ts
index a5fabef1c75bb437ad9ca71d9ed209cf3f62c9a7..2bc5969dfe25f8efc41fba2463c779e536ba0179 100644
--- a/lib/modules/manager/woodpecker/extract.ts
+++ b/lib/modules/manager/woodpecker/extract.ts
@@ -1,6 +1,6 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../../logger';
-import { load } from '../../../util/yaml';
+import { parseSingleYaml } from '../../../util/yaml';
 import { getDep } from '../dockerfile/extract';
 import type { ExtractConfig, PackageFileContent } from '../types';
 import type { WoodpeckerConfig } from './types';
@@ -23,7 +23,7 @@ export function extractPackageFile(
   let config: WoodpeckerConfig;
   try {
     // TODO: fix me (#9610)
-    config = load(content, { json: true }) as WoodpeckerConfig;
+    config = parseSingleYaml(content, { json: true }) as WoodpeckerConfig;
     if (!config) {
       logger.debug(
         { packageFile },
diff --git a/lib/util/schema-utils.ts b/lib/util/schema-utils.ts
index 28698d2c8f81beda5ec66d4fb58b7450a62d86d7..f4ad31e03150806740d1143d7af9f4caba9e8f2e 100644
--- a/lib/util/schema-utils.ts
+++ b/lib/util/schema-utils.ts
@@ -3,7 +3,7 @@ import { DateTime } from 'luxon';
 import type { JsonArray, JsonValue } from 'type-fest';
 import { z } from 'zod';
 import { parse as parseToml } from './toml';
-import { load, loadAll } from './yaml';
+import { parseSingleYaml, parseYaml } from './yaml';
 
 interface ErrorContext<T> {
   error: z.ZodError;
@@ -228,7 +228,7 @@ export const UtcDate = z
 
 export const Yaml = z.string().transform((str, ctx): JsonValue => {
   try {
-    return load(str, { json: true }) as JsonValue;
+    return parseSingleYaml(str, { json: true }) as JsonValue;
   } catch (e) {
     ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });
     return z.NEVER;
@@ -237,7 +237,7 @@ export const Yaml = z.string().transform((str, ctx): JsonValue => {
 
 export const MultidocYaml = z.string().transform((str, ctx): JsonArray => {
   try {
-    return loadAll(str, null, { json: true }) as JsonArray;
+    return parseYaml(str, null, { json: true }) as JsonArray;
   } catch (e) {
     ctx.addIssue({ code: 'custom', message: 'Invalid YAML' });
     return z.NEVER;
diff --git a/lib/util/yaml.spec.ts b/lib/util/yaml.spec.ts
index 39b1ba55a07d6d9cf7bf7dc51883f181ea271440..b09331b7d3474b9018db13929d61e0fc712dffc5 100644
--- a/lib/util/yaml.spec.ts
+++ b/lib/util/yaml.spec.ts
@@ -1,15 +1,15 @@
 import { codeBlock } from 'common-tags';
-import { load, loadAll } from './yaml';
+import { parseSingleYaml, parseYaml } from './yaml';
 
 describe('util/yaml', () => {
   describe('loadAll', () => {
     it('should return empty array for empty string', () => {
-      expect(loadAll(``)).toEqual([]);
+      expect(parseYaml(``)).toEqual([]);
     });
 
     it('should parse content with single document', () => {
       expect(
-        loadAll(codeBlock`
+        parseYaml(codeBlock`
       myObject:
         aString: value
       `),
@@ -24,7 +24,7 @@ describe('util/yaml', () => {
 
     it('should parse content with multiple documents', () => {
       expect(
-        loadAll(codeBlock`
+        parseYaml(codeBlock`
       myObject:
         aString: value
       ---
@@ -44,7 +44,7 @@ describe('util/yaml', () => {
 
     it('should parse content with templates', () => {
       expect(
-        loadAll(
+        parseYaml(
           codeBlock`
       myObject:
         aString: {{ value }}
@@ -69,12 +69,12 @@ describe('util/yaml', () => {
 
   describe('load', () => {
     it('should return undefined', () => {
-      expect(load(``)).toBeUndefined();
+      expect(parseSingleYaml(``)).toBeUndefined();
     });
 
     it('should parse content with single document', () => {
       expect(
-        load(codeBlock`
+        parseSingleYaml(codeBlock`
       myObject:
         aString: value
       `),
@@ -87,7 +87,7 @@ describe('util/yaml', () => {
 
     it('should parse content with multiple documents', () => {
       expect(() =>
-        load(codeBlock`
+        parseSingleYaml(codeBlock`
       myObject:
         aString: value
       ---
@@ -98,7 +98,7 @@ describe('util/yaml', () => {
 
     it('should parse content with template', () => {
       expect(
-        load(
+        parseSingleYaml(
           codeBlock`
       myObject:
         aString: {{value}}
diff --git a/lib/util/yaml.ts b/lib/util/yaml.ts
index 620c330dfacb372792e7ce262606dd5201e7be2d..8921803f2975ba76dbb4c6f1824f084b91e66cf5 100644
--- a/lib/util/yaml.ts
+++ b/lib/util/yaml.ts
@@ -11,7 +11,7 @@ interface YamlOptions extends LoadOptions {
   removeTemplates?: boolean;
 }
 
-export function loadAll(
+export function parseYaml(
   content: string,
   iterator?: null | undefined,
   options?: YamlOptions,
@@ -21,7 +21,10 @@ export function loadAll(
   return multiple(massagedContent, iterator, options);
 }
 
-export function load(content: string, options?: YamlOptions): unknown {
+export function parseSingleYaml(
+  content: string,
+  options?: YamlOptions,
+): unknown {
   const massagedContent = massageContent(content, options);
   return single(massagedContent, options);
 }
diff --git a/lib/workers/global/config/parse/file.ts b/lib/workers/global/config/parse/file.ts
index 693ff6467235c1b1d3ffb3f516c33e94e24bf290..5de5c61bb23370146b65a5eb1ff555bc4b707d6a 100644
--- a/lib/workers/global/config/parse/file.ts
+++ b/lib/workers/global/config/parse/file.ts
@@ -7,7 +7,7 @@ import type { AllConfig, RenovateConfig } from '../../../../config/types';
 import { logger } from '../../../../logger';
 import { parseJson } from '../../../../util/common';
 import { readSystemFile } from '../../../../util/fs';
-import { load } from '../../../../util/yaml';
+import { parseSingleYaml } from '../../../../util/yaml';
 
 export async function getParsedContent(file: string): Promise<RenovateConfig> {
   if (upath.basename(file) === '.renovaterc') {
@@ -16,7 +16,7 @@ export async function getParsedContent(file: string): Promise<RenovateConfig> {
   switch (upath.extname(file)) {
     case '.yaml':
     case '.yml':
-      return load(await readSystemFile(file, 'utf8'), {
+      return parseSingleYaml(await readSystemFile(file, 'utf8'), {
         json: true,
       }) as RenovateConfig;
     case '.json5':