diff --git a/lib/config/options/index.ts b/lib/config/options/index.ts
index a767649136952f74429539100ee041b56d0b0eff..5239b8d3ac68c3c1752db7daba71ba53b35a7364 100644
--- a/lib/config/options/index.ts
+++ b/lib/config/options/index.ts
@@ -1344,7 +1344,7 @@ const options: RenovateOptions[] = [
     name: 'rangeStrategy',
     description: 'Determines how to modify or update existing ranges.',
     type: 'string',
-    default: 'replace',
+    default: 'auto',
     allowedValues: [
       'auto',
       'pin',
diff --git a/lib/config/presets/common.ts b/lib/config/presets/common.ts
index 2f72e59cbc2726763e4605adb2d1adf9a713faa6..b2ff01c1a9dc82131cbfa90e0189d7b454dcc9c8 100644
--- a/lib/config/presets/common.ts
+++ b/lib/config/presets/common.ts
@@ -1,5 +1,6 @@
 export const removedPresets: Record<string, string | null> = {
-  ':autodetectPinVersions': ':autodetectRangeStrategy',
+  ':autodetectPinVersions': null,
+  ':autodetectRangeStrategy': null,
   ':automergeBranchMergeCommit': ':automergeBranch',
   ':automergeBranchPush': ':automergeBranch',
   ':base': 'config:base',
diff --git a/lib/config/presets/index.spec.ts b/lib/config/presets/index.spec.ts
index c7b432a0e52211c41aad2d1dc6cea1e6ae2aae10..3bf5d5fffb5c4957296eebe6cf512c83d1f10b8b 100644
--- a/lib/config/presets/index.spec.ts
+++ b/lib/config/presets/index.spec.ts
@@ -839,7 +839,6 @@ describe('config/presets/index', () => {
           ':dependencyDashboard',
           ':semanticPrefixFixDepsChoreOthers',
           ':ignoreModulesAndTests',
-          ':autodetectRangeStrategy',
           ':prHourlyLimit2',
           ':prConcurrentLimit10',
           'group:monorepos',
diff --git a/lib/config/presets/internal/config.ts b/lib/config/presets/internal/config.ts
index 044b55753753a45562ce6f0e42695e2e659f20c4..355135deaa0727946fe4bef1219753be121fa42c 100644
--- a/lib/config/presets/internal/config.ts
+++ b/lib/config/presets/internal/config.ts
@@ -9,7 +9,6 @@ export const presets: Record<string, Preset> = {
       ':dependencyDashboard',
       ':semanticPrefixFixDepsChoreOthers',
       ':ignoreModulesAndTests',
-      ':autodetectRangeStrategy',
       ':prHourlyLimit2',
       ':prConcurrentLimit10',
       'group:monorepos',
diff --git a/lib/config/presets/internal/default.ts b/lib/config/presets/internal/default.ts
index 0d1daebcef40338add77fe44c6c07b414e2a45ca..8cef075470f4a362b89611f724ccbbb66e6ab902 100644
--- a/lib/config/presets/internal/default.ts
+++ b/lib/config/presets/internal/default.ts
@@ -10,10 +10,6 @@ export const presets: Record<string, Preset> = {
     assignees: ['{{arg0}}'],
     description: 'Assign PRs to `{{arg0}}`.',
   },
-  autodetectRangeStrategy: {
-    description: 'Automatically detect the best rangeStrategy to use.',
-    rangeStrategy: 'auto',
-  },
   automergeAll: {
     automerge: true,
     description:
diff --git a/lib/modules/manager/cargo/index.ts b/lib/modules/manager/cargo/index.ts
index c7768858e3380846220045c124e78d31041e4385..45ee9c4fada786cc9b86c9cc5cba04b38055b284 100644
--- a/lib/modules/manager/cargo/index.ts
+++ b/lib/modules/manager/cargo/index.ts
@@ -3,6 +3,7 @@ import { CrateDatasource } from '../../datasource/crate';
 import * as cargoVersioning from '../../versioning/cargo';
 import { updateArtifacts } from './artifacts';
 import { extractPackageFile } from './extract';
+export { getRangeStrategy } from './range';
 
 export const language: ProgrammingLanguage = 'rust';
 export const supportsLockFileMaintenance = true;
@@ -13,7 +14,6 @@ export const defaultConfig = {
   commitMessageTopic: 'Rust crate {{depName}}',
   fileMatch: ['(^|/)Cargo\\.toml$'],
   versioning: cargoVersioning.id,
-  rangeStrategy: 'bump',
 };
 
 export const supportedDatasources = [CrateDatasource.id];
diff --git a/lib/modules/manager/cargo/range.spec.ts b/lib/modules/manager/cargo/range.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0356aac6a8cd22c3c4e9a4a10d87ef857f5ed94e
--- /dev/null
+++ b/lib/modules/manager/cargo/range.spec.ts
@@ -0,0 +1,14 @@
+import type { RangeConfig } from '../types';
+import { getRangeStrategy } from '.';
+
+describe('modules/manager/cargo/range', () => {
+  it('returns same if not auto', () => {
+    const config: RangeConfig = { rangeStrategy: 'widen' };
+    expect(getRangeStrategy(config)).toBe('widen');
+  });
+
+  it('defaults to bump', () => {
+    const config: RangeConfig = { rangeStrategy: 'auto' };
+    expect(getRangeStrategy(config)).toBe('bump');
+  });
+});
diff --git a/lib/modules/manager/cargo/range.ts b/lib/modules/manager/cargo/range.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8f3d6e7eb54595b8451bd8110e809d31e24b4fea
--- /dev/null
+++ b/lib/modules/manager/cargo/range.ts
@@ -0,0 +1,8 @@
+import type { RangeStrategy } from '../../../types';
+import type { RangeConfig } from '../types';
+
+export function getRangeStrategy({
+  rangeStrategy,
+}: RangeConfig): RangeStrategy {
+  return rangeStrategy === 'auto' ? 'bump' : rangeStrategy;
+}
diff --git a/lib/modules/manager/circleci/extract.ts b/lib/modules/manager/circleci/extract.ts
index 4f3bc24ab9c4aed9fae0f63312f95d004ea65341..3557cb7a2f6a2b63a2464537e203902d55650f1c 100644
--- a/lib/modules/manager/circleci/extract.ts
+++ b/lib/modules/manager/circleci/extract.ts
@@ -41,7 +41,6 @@ export function extractPackageFile(content: string): PackageFileContent | null {
               packageName: orbName,
               commitMessageTopic: '{{{depName}}} orb',
               versioning: npmVersioning.id,
-              rangeStrategy: 'pin',
             };
             deps.push(dep);
           }
diff --git a/lib/modules/manager/circleci/index.ts b/lib/modules/manager/circleci/index.ts
index 8505e9d39ce635286d7bd8eb2cfa4f1e02be5d0d..183098e281c8b848ef0f5ac41fe3cee35c039bc0 100644
--- a/lib/modules/manager/circleci/index.ts
+++ b/lib/modules/manager/circleci/index.ts
@@ -1,6 +1,7 @@
 import { DockerDatasource } from '../../datasource/docker';
 import { OrbDatasource } from '../../datasource/orb';
 import { extractPackageFile } from './extract';
+export { getRangeStrategy } from './range';
 
 export { extractPackageFile };
 
diff --git a/lib/modules/manager/circleci/range.spec.ts b/lib/modules/manager/circleci/range.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..40fb6c583d8d5e6a46cdfb0b95607d0f4273f644
--- /dev/null
+++ b/lib/modules/manager/circleci/range.spec.ts
@@ -0,0 +1,14 @@
+import type { RangeConfig } from '../types';
+import { getRangeStrategy } from '.';
+
+describe('modules/manager/circleci/range', () => {
+  it('returns same if not auto', () => {
+    const config: RangeConfig = { rangeStrategy: 'widen' };
+    expect(getRangeStrategy(config)).toBe('widen');
+  });
+
+  it('defaults to bump', () => {
+    const config: RangeConfig = { rangeStrategy: 'auto', depType: 'require' };
+    expect(getRangeStrategy(config)).toBe('pin');
+  });
+});
diff --git a/lib/modules/manager/circleci/range.ts b/lib/modules/manager/circleci/range.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2c3311a8ca0c2afe1d2c872834f8482b85143cbd
--- /dev/null
+++ b/lib/modules/manager/circleci/range.ts
@@ -0,0 +1,8 @@
+import type { RangeStrategy } from '../../../types';
+import type { RangeConfig } from '../types';
+
+export function getRangeStrategy({
+  rangeStrategy,
+}: RangeConfig): RangeStrategy {
+  return rangeStrategy === 'auto' ? 'pin' : rangeStrategy;
+}
diff --git a/lib/modules/manager/composer/range.spec.ts b/lib/modules/manager/composer/range.spec.ts
index 87f65b9c67c98aa19604d1d5bfbc12470bb9c65d..944797d5c8b556cd6b6abbc1369b7c90d433d6aa 100644
--- a/lib/modules/manager/composer/range.spec.ts
+++ b/lib/modules/manager/composer/range.spec.ts
@@ -12,7 +12,7 @@ describe('modules/manager/composer/range', () => {
       rangeStrategy: 'auto',
       depType: 'require-dev',
     };
-    expect(getRangeStrategy(config)).toBe('replace');
+    expect(getRangeStrategy(config)).toBe('update-lockfile');
   });
 
   it('replaces project require', () => {
@@ -21,7 +21,7 @@ describe('modules/manager/composer/range', () => {
       managerData: { composerJsonType: 'project' },
       depType: 'require',
     };
-    expect(getRangeStrategy(config)).toBe('replace');
+    expect(getRangeStrategy(config)).toBe('update-lockfile');
   });
 
   it('widens complex ranges', () => {
@@ -42,9 +42,9 @@ describe('modules/manager/composer/range', () => {
     expect(getRangeStrategy(config)).toBe('widen');
   });
 
-  it('defaults to replace', () => {
+  it('defaults to update-lockfile', () => {
     const config: RangeConfig = { rangeStrategy: 'auto', depType: 'require' };
-    expect(getRangeStrategy(config)).toBe('replace');
+    expect(getRangeStrategy(config)).toBe('update-lockfile');
   });
 
   it('defaults to widen for TYPO3 extensions', () => {
diff --git a/lib/modules/manager/composer/range.ts b/lib/modules/manager/composer/range.ts
index dd70eb54f92c38476752e85c1f5503c507cbac3d..a1faa3f6f1b8d42530c07db4d8fe04bfcfbacc3a 100644
--- a/lib/modules/manager/composer/range.ts
+++ b/lib/modules/manager/composer/range.ts
@@ -23,5 +23,5 @@ export function getRangeStrategy(config: RangeConfig): RangeStrategy {
   ) {
     return 'widen';
   }
-  return 'replace';
+  return 'update-lockfile';
 }
diff --git a/lib/modules/manager/conan/index.ts b/lib/modules/manager/conan/index.ts
index 2ac518f4609b76d2bcc5851601824d3ed2bc4ba8..3dc5571dedc4c7b7845039f6aa4c59bffc7b6525 100644
--- a/lib/modules/manager/conan/index.ts
+++ b/lib/modules/manager/conan/index.ts
@@ -1,4 +1,5 @@
 export { extractPackageFile } from './extract';
+export { getRangeStrategy } from './range';
 import { ConanDatasource } from '../../datasource/conan';
 import * as conan from '../../versioning/conan';
 
@@ -6,7 +7,6 @@ export const defaultConfig = {
   fileMatch: ['(^|/)conanfile\\.(txt|py)$'],
   datasource: ConanDatasource.id,
   versioning: conan.id,
-  rangeStrategy: 'bump',
   enabled: false, // See https://github.com/renovatebot/renovate/issues/14170
 };
 
diff --git a/lib/modules/manager/conan/range.spec.ts b/lib/modules/manager/conan/range.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7dcee82fb9712bb69ec9053c8b4551d624590de9
--- /dev/null
+++ b/lib/modules/manager/conan/range.spec.ts
@@ -0,0 +1,14 @@
+import type { RangeConfig } from '../types';
+import { getRangeStrategy } from '.';
+
+describe('modules/manager/conan/range', () => {
+  it('returns same if not auto', () => {
+    const config: RangeConfig = { rangeStrategy: 'widen' };
+    expect(getRangeStrategy(config)).toBe('widen');
+  });
+
+  it('defaults to bump', () => {
+    const config: RangeConfig = { rangeStrategy: 'auto', depType: 'require' };
+    expect(getRangeStrategy(config)).toBe('bump');
+  });
+});
diff --git a/lib/modules/manager/conan/range.ts b/lib/modules/manager/conan/range.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8f3d6e7eb54595b8451bd8110e809d31e24b4fea
--- /dev/null
+++ b/lib/modules/manager/conan/range.ts
@@ -0,0 +1,8 @@
+import type { RangeStrategy } from '../../../types';
+import type { RangeConfig } from '../types';
+
+export function getRangeStrategy({
+  rangeStrategy,
+}: RangeConfig): RangeStrategy {
+  return rangeStrategy === 'auto' ? 'bump' : rangeStrategy;
+}
diff --git a/lib/modules/manager/gomod/extract.spec.ts b/lib/modules/manager/gomod/extract.spec.ts
index 4d9b35b36ff95f97f3e66aeefa4ac32007ee429a..c1503da32c2656f116cf17cc3beb846f63cf30e7 100644
--- a/lib/modules/manager/gomod/extract.spec.ts
+++ b/lib/modules/manager/gomod/extract.spec.ts
@@ -67,7 +67,6 @@ replace (
             currentValue: '1.18',
             datasource: 'golang-version',
             versioning: 'go-mod-directive',
-            rangeStrategy: 'replace',
           },
           {
             managerData: {
diff --git a/lib/modules/manager/gomod/extract.ts b/lib/modules/manager/gomod/extract.ts
index 2d99d83f48ab5a4298ae353a3258ad741b6c2732..5f6352d2a351976c17e1b44cf5cac4c80a73d8ef 100644
--- a/lib/modules/manager/gomod/extract.ts
+++ b/lib/modules/manager/gomod/extract.ts
@@ -46,7 +46,6 @@ function getGoDep(lineNumber: number, goVer: string): PackageDependency {
     currentValue: goVer,
     datasource: GolangVersionDatasource.id,
     versioning: 'go-mod-directive',
-    rangeStrategy: 'replace',
   };
 }
 
diff --git a/lib/modules/manager/index.ts b/lib/modules/manager/index.ts
index 4d7500b88361296fbd16d8c1c5252f0338c682f6..26befb170ef57bdca6afc4e29d33febf6bf51a60 100644
--- a/lib/modules/manager/index.ts
+++ b/lib/modules/manager/index.ts
@@ -87,6 +87,9 @@ export function getRangeStrategy(config: RangeConfig): RangeStrategy | null {
     return managerRangeStrategy;
   }
   if (rangeStrategy === 'auto') {
+    if (m.updateLockedDependency) {
+      return 'update-lockfile';
+    }
     // default to 'replace' for auto
     return 'replace';
   }
diff --git a/lib/modules/manager/npm/range.spec.ts b/lib/modules/manager/npm/range.spec.ts
index 997567a68da1280275544369bfbb716c0918607e..4898d3f18c5197f276dde00df6b5dd1805887e0f 100644
--- a/lib/modules/manager/npm/range.spec.ts
+++ b/lib/modules/manager/npm/range.spec.ts
@@ -7,22 +7,6 @@ describe('modules/manager/npm/range', () => {
     expect(getRangeStrategy(config)).toBe('widen');
   });
 
-  it('replaces devDependencies', () => {
-    const config: RangeConfig = {
-      rangeStrategy: 'auto',
-      depType: 'devDependencies',
-    };
-    expect(getRangeStrategy(config)).toBe('replace');
-  });
-
-  it('replaces app dependencies', () => {
-    const config: RangeConfig = {
-      rangeStrategy: 'auto',
-      depType: 'dependencies',
-    };
-    expect(getRangeStrategy(config)).toBe('replace');
-  });
-
   it('widens peerDependencies', () => {
     const config: RangeConfig = {
       rangeStrategy: 'auto',
@@ -49,11 +33,11 @@ describe('modules/manager/npm/range', () => {
     expect(getRangeStrategy(config)).toBe('widen');
   });
 
-  it('defaults to replace', () => {
+  it('defaults to update-lockfile', () => {
     const config: RangeConfig = {
       rangeStrategy: 'auto',
       depType: 'dependencies',
     };
-    expect(getRangeStrategy(config)).toBe('replace');
+    expect(getRangeStrategy(config)).toBe('update-lockfile');
   });
 });
diff --git a/lib/modules/manager/npm/range.ts b/lib/modules/manager/npm/range.ts
index ed56cb10705d7a9642e83fe14913cbdd5b03a755..91d8ceca3be5acee6ba718d2cde7026cc43da43a 100644
--- a/lib/modules/manager/npm/range.ts
+++ b/lib/modules/manager/npm/range.ts
@@ -25,5 +25,5 @@ export function getRangeStrategy(config: RangeConfig): RangeStrategy {
   if (isComplexRange) {
     return 'widen';
   }
-  return 'replace';
+  return 'update-lockfile';
 }
diff --git a/lib/modules/manager/range.spec.ts b/lib/modules/manager/range.spec.ts
index 0cfbbe5a5176c7373865b99e58075ae535c6205a..7f1c3b2b58079e948938c38d6ab90c9599b029b5 100644
--- a/lib/modules/manager/range.spec.ts
+++ b/lib/modules/manager/range.spec.ts
@@ -16,12 +16,20 @@ describe('modules/manager/range', () => {
       rangeStrategy: 'auto',
       depType: 'dependencies',
     };
-    expect(getRangeStrategy(config)).toBe('replace');
+    expect(getRangeStrategy(config)).toBe('update-lockfile');
+  });
+
+  it('defaults to update-lockfile if updateLockedDependency() is supported', () => {
+    const config: RangeConfig = {
+      manager: 'bundler',
+      rangeStrategy: 'auto',
+    };
+    expect(getRangeStrategy(config)).toBe('update-lockfile');
   });
 
   it('defaults to replace', () => {
     const config: RangeConfig = {
-      manager: 'circleci',
+      manager: 'sbt',
       rangeStrategy: 'auto',
     };
     expect(getRangeStrategy(config)).toBe('replace');
diff --git a/lib/modules/manager/swift/index.ts b/lib/modules/manager/swift/index.ts
index c41cdba0bf620ace87dfc84b9be0d1f708729c73..bbb83400ecc243dd4fe6f738ca16e3c6cdca1846 100644
--- a/lib/modules/manager/swift/index.ts
+++ b/lib/modules/manager/swift/index.ts
@@ -2,6 +2,7 @@ import { GitTagsDatasource } from '../../datasource/git-tags';
 import * as swiftVersioning from '../../versioning/swift';
 
 export { extractPackageFile } from './extract';
+export { getRangeStrategy } from './range';
 
 export const displayName = 'Swift Package Manager';
 export const url = 'https://www.swift.org/package-manager/';
@@ -11,6 +12,5 @@ export const supportedDatasources = [GitTagsDatasource.id];
 export const defaultConfig = {
   fileMatch: ['(^|/)Package\\.swift'],
   versioning: swiftVersioning.id,
-  rangeStrategy: 'bump',
   pinDigests: false,
 };
diff --git a/lib/modules/manager/swift/range.spec.ts b/lib/modules/manager/swift/range.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4f20913fca3bc5f7f2c2296392716eb31fd8aa20
--- /dev/null
+++ b/lib/modules/manager/swift/range.spec.ts
@@ -0,0 +1,16 @@
+import type { RangeConfig } from '../types';
+import { getRangeStrategy } from '.';
+
+describe('modules/manager/swift/range', () => {
+  describe('getRangeStrategy()', () => {
+    it('returns same if not auto', () => {
+      const config: RangeConfig = { rangeStrategy: 'widen' };
+      expect(getRangeStrategy(config)).toBe('widen');
+    });
+
+    it('defaults to update-lockfile', () => {
+      const config: RangeConfig = { rangeStrategy: 'auto' };
+      expect(getRangeStrategy(config)).toBe('bump');
+    });
+  });
+});
diff --git a/lib/modules/manager/swift/range.ts b/lib/modules/manager/swift/range.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8f3d6e7eb54595b8451bd8110e809d31e24b4fea
--- /dev/null
+++ b/lib/modules/manager/swift/range.ts
@@ -0,0 +1,8 @@
+import type { RangeStrategy } from '../../../types';
+import type { RangeConfig } from '../types';
+
+export function getRangeStrategy({
+  rangeStrategy,
+}: RangeConfig): RangeStrategy {
+  return rangeStrategy === 'auto' ? 'bump' : rangeStrategy;
+}
diff --git a/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data-formatted.json b/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data-formatted.json
index 1891c1584d8928a65a089ae5fb420ae543ae6de6..4b038d5bb25af1b5d9facadab6726b92a20c8298 100644
--- a/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data-formatted.json
+++ b/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data-formatted.json
@@ -1,4 +1,4 @@
 {
   "filename": "renovate.json",
-  "content": "{\n  \"extends\": [\n    \":separateMajorReleases\",\n    \":prImmediately\",\n    \":renovatePrefix\",\n    \":semanticPrefixFixDepsChoreOthers\",\n    \":updateNotScheduled\",\n    \":automergeDisabled\",\n    \":maintainLockFilesDisabled\",\n    \":autodetectRangeStrategy\",\n    \"group:monorepos\"\n  ],\n  \"onboarding\": false,\n  \"rangeStrategy\": \"replace\",\n  \"semanticCommits\": \"enabled\",\n  \"timezone\": \"US/Central\",\n  \"baseBranches\": [\"main\"]\n}\n"
+  "content": "{\n  \"extends\": [\n    \":separateMajorReleases\",\n    \":prImmediately\",\n    \":renovatePrefix\",\n    \":semanticPrefixFixDepsChoreOthers\",\n    \":updateNotScheduled\",\n    \":automergeDisabled\",\n    \":maintainLockFilesDisabled\",\n    \"group:monorepos\"\n  ],\n  \"onboarding\": false,\n  \"rangeStrategy\": \"replace\",\n  \"semanticCommits\": \"enabled\",\n  \"timezone\": \"US/Central\",\n  \"baseBranches\": [\"main\"]\n}\n"
 }
diff --git a/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json b/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json
index 1266070dddb070baba84b65a2bd1f2aba5d719f1..1e9f8833a3cd355b0bba6fc4733b6bf0086ad6fc 100644
--- a/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json
+++ b/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json
@@ -1,5 +1,5 @@
 {
-  "content": "{\n  \"extends\": [\n    \":separateMajorReleases\",\n    \":prImmediately\",\n    \":renovatePrefix\",\n    \":semanticPrefixFixDepsChoreOthers\",\n    \":updateNotScheduled\",\n    \":automergeDisabled\",\n    \":maintainLockFilesDisabled\",\n    \":autodetectRangeStrategy\",\n    \"group:monorepos\"\n  ],\n  \"onboarding\": false,\n  \"rangeStrategy\": \"replace\",\n  \"semanticCommits\": \"enabled\",\n  \"timezone\": \"US/Central\",\n  \"baseBranches\": [\n    \"main\"\n  ]\n}\n",
+  "content": "{\n  \"extends\": [\n    \":separateMajorReleases\",\n    \":prImmediately\",\n    \":renovatePrefix\",\n    \":semanticPrefixFixDepsChoreOthers\",\n    \":updateNotScheduled\",\n    \":automergeDisabled\",\n    \":maintainLockFilesDisabled\",\n    \"group:monorepos\"\n  ],\n  \"onboarding\": false,\n  \"rangeStrategy\": \"replace\",\n  \"semanticCommits\": \"enabled\",\n  \"timezone\": \"US/Central\",\n  \"baseBranches\": [\n    \"main\"\n  ]\n}\n",
   "filename": "renovate.json",
   "indent": {
     "amount": 2,
diff --git a/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json5 b/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json5
index c80dcb42b6fc18e924c6045364463cc3cb9a546c..22888d346d99ef1e2283db11d0c498806d969831 100644
--- a/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json5
+++ b/lib/workers/repository/config-migration/branch/__fixtures__/migrated-data.json5
@@ -1,5 +1,5 @@
 {
-  "content": "{\n  extends: [\n    ':separateMajorReleases',\n    ':prImmediately',\n    ':renovatePrefix',\n    ':semanticPrefixFixDepsChoreOthers',\n    ':updateNotScheduled',\n    ':automergeDisabled',\n    ':maintainLockFilesDisabled',\n    ':autodetectRangeStrategy',\n    'group:monorepos',\n  ],\n  onboarding: false,\n  rangeStrategy: 'replace',\n  semanticCommits: 'enabled',\n  timezone: 'US/Central',\n  baseBranches: [\n    'main',\n  ],\n}\n",
+  "content": "{\n  extends: [\n    ':separateMajorReleases',\n    ':prImmediately',\n    ':renovatePrefix',\n    ':semanticPrefixFixDepsChoreOthers',\n    ':updateNotScheduled',\n    ':automergeDisabled',\n    ':maintainLockFilesDisabled',\n    'group:monorepos',\n  ],\n  onboarding: false,\n  rangeStrategy: 'replace',\n  semanticCommits: 'enabled',\n  timezone: 'US/Central',\n  baseBranches: [\n    'main',\n  ],\n}\n",
   "filename": "renovate.json5",
   "indent": {
     "amount": 2,
diff --git a/lib/workers/repository/config-migration/branch/__fixtures__/migrated.json b/lib/workers/repository/config-migration/branch/__fixtures__/migrated.json
index 549d809c236d170a8503a59dd8b1baaf8b827bde..66b64ae3c892bad8815b0323c83af5f351e1a9d2 100644
--- a/lib/workers/repository/config-migration/branch/__fixtures__/migrated.json
+++ b/lib/workers/repository/config-migration/branch/__fixtures__/migrated.json
@@ -7,7 +7,6 @@
     ":updateNotScheduled",
     ":automergeDisabled",
     ":maintainLockFilesDisabled",
-    ":autodetectRangeStrategy",
     "group:monorepos"
   ],
   "onboarding": false,
diff --git a/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json b/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json
index 6ea0880bb10555deaf58da74e7855950931bd8e3..1a0a9efc29e9bc4b6392b4298a4ef2cb155829b5 100644
--- a/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json
+++ b/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json
@@ -8,7 +8,6 @@
     ":updateNotScheduled",
     ":automergeDisabled",
     ":maintainLockFilesDisabled",
-    ":autodetectRangeStrategy",
     "group:monorepos",
     "helpers:oddIsUnstablePackages"
   ],
diff --git a/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json5 b/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json5
index 2d13ebc63f59bcb97697a6c6f72beef126798a5c..559b6b987906212b9b83dbcadda09b97a4094307 100644
--- a/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json5
+++ b/lib/workers/repository/config-migration/branch/__fixtures__/renovate.json5
@@ -7,7 +7,6 @@
     ':updateNotScheduled',
     ':automergeDisabled',
     ':maintainLockFilesDisabled',
-    ':autodetectRangeStrategy',
     'group:monorepos',
     'helpers:oddIsUnstablePackages'
   ],
diff --git a/lib/workers/repository/config-migration/pr/__fixtures__/migrated-data.json b/lib/workers/repository/config-migration/pr/__fixtures__/migrated-data.json
index 0dce506326bb55843b95e263a3e5c099037fdddb..3375b555e6f10cf66107fa1aebf22e5a18c50026 100644
--- a/lib/workers/repository/config-migration/pr/__fixtures__/migrated-data.json
+++ b/lib/workers/repository/config-migration/pr/__fixtures__/migrated-data.json
@@ -1,4 +1,4 @@
 {
   "configFileName": "renovate.json",
-  "migratedContent": "{\n  \"extends\": [\n    \":separateMajorReleases\",\n    \":prImmediately\",\n    \":renovatePrefix\",\n    \":semanticPrefixFixDepsChoreOthers\",\n    \":updateNotScheduled\",\n    \":automergeDisabled\",\n    \":maintainLockFilesDisabled\",\n    \":autodetectRangeStrategy\",\n    \"group:monorepos\"\n  ],\n  \"onboarding\": false,\n  \"rangeStrategy\": \"replace\",\n  \"semanticCommits\": \"enabled\",\n  \"timezone\": \"US/Central\",\n  \"baseBranches\": [\n    \"main\"\n  ]\n}\n"
+  "migratedContent": "{\n  \"extends\": [\n    \":separateMajorReleases\",\n    \":prImmediately\",\n    \":renovatePrefix\",\n    \":semanticPrefixFixDepsChoreOthers\",\n    \":updateNotScheduled\",\n    \":automergeDisabled\",\n    \":maintainLockFilesDisabled\",\n    \"group:monorepos\"\n  ],\n  \"onboarding\": false,\n  \"rangeStrategy\": \"replace\",\n  \"semanticCommits\": \"enabled\",\n  \"timezone\": \"US/Central\",\n  \"baseBranches\": [\n    \"main\"\n  ]\n}\n"
 }