From d8cb261ecbbdcd9ba9f9a0a84d4a80aa7a7ee6b8 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 4 Jun 2018 05:48:20 +0200
Subject: [PATCH] refactor: rename version -> value (#2076)

Renames currentVersion to currentValue, newVersion to newValue, newVersionMajor to newMajor, and newVersionMinor to newMinor.
---
 docs/adding-a-package-manager.md              |   2 +-
 lib/config/definitions.js                     |   9 +-
 lib/config/migration.js                       |  10 +
 lib/config/templates/buildkite/pr-body.hbs    |   4 +-
 .../templates/default/commit-message.hbs      |   2 +-
 lib/config/templates/default/pr-body.hbs      |   2 +-
 lib/config/templates/group/pr-body.hbs        |   2 +-
 lib/config/templates/node/pr-body.hbs         |   2 +-
 lib/manager/bazel/extract.js                  |  17 +-
 lib/manager/bazel/update.js                   |   8 +-
 lib/manager/buildkite/extract.js              |   8 +-
 lib/manager/buildkite/update.js               |   4 +-
 lib/manager/docker/package.js                 |  16 +-
 lib/manager/meteor/extract.js                 |   8 +-
 lib/manager/meteor/update.js                  |   8 +-
 lib/manager/npm/extract/index.js              |  10 +-
 lib/manager/npm/extract/locked-versions.js    |   2 +-
 lib/manager/npm/range.js                      |   6 +-
 lib/manager/npm/update.js                     |  24 +-
 lib/manager/nvm/extract.js                    |   4 +-
 lib/manager/nvm/update.js                     |   2 +-
 lib/manager/pip_requirements/extract.js       |   2 +-
 lib/manager/pip_requirements/package.js       |  16 +-
 lib/manager/pip_requirements/update.js        |   4 +-
 lib/manager/travis/extract.js                 |   2 +-
 lib/manager/travis/package.js                 |  12 +-
 lib/manager/travis/update.js                  |   4 +-
 lib/versioning/pep440/range.js                |   2 +-
 lib/versioning/semver/range.js                |  30 +-
 lib/workers/branch/index.js                   |   6 +-
 lib/workers/pr/changelog/index.js             |   4 +-
 lib/workers/pr/changelog/source-cache.js      |   4 +-
 lib/workers/pr/changelog/source-github.js     |   4 +-
 lib/workers/pr/index.js                       |   2 +-
 .../repository/onboarding/pr/pr-list.js       |   4 +-
 lib/workers/repository/process/fetch.js       |   6 +-
 .../repository/process/lookup/index.js        |  42 +-
 .../repository/process/lookup/rollback.js     |  16 +-
 lib/workers/repository/updates/branchify.js   |   3 +
 lib/workers/repository/updates/generate.js    |  14 +-
 .../__snapshots__/migration.spec.js.snap      |   1 +
 test/config/migration.spec.js                 |   1 +
 .../bazel/__snapshots__/extract.spec.js.snap  |   8 +-
 test/manager/bazel/update.spec.js             |   6 +-
 .../__snapshots__/extract.spec.js.snap        |  12 +-
 test/manager/buildkite/update.spec.js         |  14 +-
 .../docker/__snapshots__/package.spec.js.snap |  48 +-
 test/manager/docker/package.spec.js           |  20 +-
 test/manager/docker/update.spec.js            |  12 +-
 .../meteor/__snapshots__/extract.spec.js.snap |  12 +-
 .../meteor/__snapshots__/update.spec.js.snap  |   4 +-
 test/manager/meteor/update.spec.js            |  14 +-
 .../extract/__snapshots__/index.spec.js.snap  |  78 +--
 .../locked-versions.spec.js.snap              |  12 +-
 .../npm/extract/locked-versions.spec.js       |  12 +-
 test/manager/npm/range.spec.js                |   4 +-
 test/manager/npm/update.spec.js               |  14 +-
 .../nvm/__snapshots__/extract.spec.js.snap    |   4 +-
 test/manager/nvm/update.spec.js               |   2 +-
 .../__snapshots__/extract.spec.js.snap        |   2 +-
 .../__snapshots__/package.spec.js.snap        |   4 +-
 test/manager/pip_requirements/package.spec.js |   8 +-
 test/manager/pip_requirements/update.spec.js  |   4 +-
 .../travis/__snapshots__/extract.spec.js.snap |   2 +-
 .../travis/__snapshots__/package.spec.js.snap |   2 +-
 test/manager/travis/package.spec.js           |  10 +-
 test/manager/travis/update.spec.js            |   6 +-
 test/util/package-rules.spec.js               |   8 +-
 test/workers/pr/changelog.spec.js             |   6 +-
 test/workers/pr/index.spec.js                 |  10 +-
 .../repository/onboarding/pr/pr-list.spec.js  |   8 +-
 .../lookup/__snapshots__/index.spec.js.snap   | 508 +++++++++---------
 .../repository/process/lookup/index.spec.js   | 168 +++---
 .../__snapshots__/flatten.spec.js.snap        |  22 +-
 .../repository/updates/flatten.spec.js        |   4 +-
 .../repository/updates/generate.spec.js       |  24 +-
 website/docs/configuration-options.md         |   2 +-
 website/docs/faq.md                           |   4 +-
 78 files changed, 707 insertions(+), 700 deletions(-)

diff --git a/docs/adding-a-package-manager.md b/docs/adding-a-package-manager.md
index a1797aaba5..666a29335f 100644
--- a/docs/adding-a-package-manager.md
+++ b/docs/adding-a-package-manager.md
@@ -51,7 +51,7 @@ This function is essential. It takes a file content and returns an array of dete
 
 - dependency name
 - dependency type (e.g. dependencies, devDependencies, etc)
-- currentVersion
+- currentValue
 
 The fields returned here can be customised to suit the package manager, e.g. Docker uses `currentFrom`
 
diff --git a/lib/config/definitions.js b/lib/config/definitions.js
index 73b4ebb5fb..432609647d 100644
--- a/lib/config/definitions.js
+++ b/lib/config/definitions.js
@@ -496,8 +496,7 @@ const options = [
     stage: 'package',
     type: 'json',
     default: {
-      branchTopic:
-        '{{{depNameSanitized}}}-{{{newVersionMajor}}}.{{{newVersionMinor}}}.x',
+      branchTopic: '{{{depNameSanitized}}}-{{{newMajor}}}.{{{newMinor}}}.x',
     },
     cli: false,
     mergeable: true,
@@ -651,7 +650,7 @@ const options = [
     name: 'branchTopic',
     description: 'Branch topic',
     type: 'string',
-    default: '{{{depNameSanitized}}}-{{{newVersionMajor}}}.x',
+    default: '{{{depNameSanitized}}}-{{{newMajor}}}.x',
     cli: false,
   },
   {
@@ -696,7 +695,7 @@ const options = [
       'Extra description used after the commit message topic - typically the version',
     type: 'string',
     default:
-      'to {{#if isMajor}}v{{{newVersionMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newVersion}}}{{/if}}',
+      'to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}',
     cli: false,
   },
   {
@@ -845,7 +844,7 @@ const options = [
       fileMatch: ['\\.buildkite/.+\\.yml$'],
       commitMessageTopic: 'buildkite plugin {{depName}}',
       commitMessageExtra:
-        'to {{#if isMajor}}v{{{newVersionMajor}}}{{else}}{{{newVersion}}}{{/if}}',
+        'to {{#if isMajor}}v{{{newMajor}}}{{else}}{{{newValue}}}{{/if}}',
       managerBranchPrefix: 'buildkite-',
       prBody: template('prBody', 'buildkite'),
     },
diff --git a/lib/config/migration.js b/lib/config/migration.js
index 6b4769327a..358e77d069 100644
--- a/lib/config/migration.js
+++ b/lib/config/migration.js
@@ -360,6 +360,16 @@ function migrateConfig(config) {
           }
         }
         migratedConfig[key] = newArray;
+      } else if (
+        (key === 'prBody' || key.startsWith('commitMessage')) &&
+        (val.includes('currentVersion') || val.includes('newVersion'))
+      ) {
+        isMigrated = true;
+        migratedConfig[key] = val
+          .replace(/currentVersion/g, 'currentValue')
+          .replace(/newVersion/g, 'newValue')
+          .replace(/newValueMajor/g, 'newMajor')
+          .replace(/newValueMinor/g, 'newMinor');
       }
     }
     return { isMigrated, migratedConfig };
diff --git a/lib/config/templates/buildkite/pr-body.hbs b/lib/config/templates/buildkite/pr-body.hbs
index a15ab136f0..b73c329a39 100644
--- a/lib/config/templates/buildkite/pr-body.hbs
+++ b/lib/config/templates/buildkite/pr-body.hbs
@@ -1,6 +1,6 @@
-This Pull Request updates buildkite plugin {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}`{{{depName}}}`{{/if}} from `{{{currentVersion}}}` to `{{{newVersion}}}` ([release notes]({{{repositoryUrl}}}/releases/tag/{{{newVersion}}})).
+This Pull Request updates buildkite plugin {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}`{{{depName}}}`{{/if}} from `{{{currentValue}}}` to `{{{newValue}}}` ([release notes]({{{repositoryUrl}}}/releases/tag/{{{newValue}}})).
 
-[Compare source commits]({{{repositoryUrl}}}/compare/{{{currentVersion}}}...{{{newVersion}}})
+[Compare source commits]({{{repositoryUrl}}}/compare/{{{currentValue}}}...{{{newValue}}})
 
 {{#if releases.length}}
 
diff --git a/lib/config/templates/default/commit-message.hbs b/lib/config/templates/default/commit-message.hbs
index 54cf257ffe..b6b5cb28b2 100644
--- a/lib/config/templates/default/commit-message.hbs
+++ b/lib/config/templates/default/commit-message.hbs
@@ -1 +1 @@
-Update dependency {{{depName}}} to {{#unless isRange}}v{{/unless}}{{{newVersion}}}
+Update dependency {{{depName}}} to {{#unless isRange}}v{{/unless}}{{{newValue}}}
diff --git a/lib/config/templates/default/pr-body.hbs b/lib/config/templates/default/pr-body.hbs
index e28fde5a59..b323212515 100644
--- a/lib/config/templates/default/pr-body.hbs
+++ b/lib/config/templates/default/pr-body.hbs
@@ -1,4 +1,4 @@
-This Pull Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}`{{{depName}}}`{{/if}} from `{{#unless isRange}}{{#unless isPin}}v{{/unless}}{{/unless}}{{{currentVersion}}}` to `{{#unless isRange}}v{{/unless}}{{{newVersion}}}`{{#if isRollback}}. This is necessary and important because `v{{{currentVersion}}}` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}
+This Pull Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}`{{{depName}}}`{{/if}} from `{{#unless isRange}}{{#unless isPin}}v{{/unless}}{{/unless}}{{{currentValue}}}` to `{{#unless isRange}}v{{/unless}}{{{newValue}}}`{{#if isRollback}}. This is necessary and important because `v{{{currentValue}}}` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}
 {{#if hasTypes}}
 
 This PR also includes an upgrade to the corresponding [@types/{{{depName}}}](https://npmjs.com/package/@types/{{{depName}}}) package.
diff --git a/lib/config/templates/group/pr-body.hbs b/lib/config/templates/group/pr-body.hbs
index 4e5b4af6c4..87d048da67 100644
--- a/lib/config/templates/group/pr-body.hbs
+++ b/lib/config/templates/group/pr-body.hbs
@@ -5,7 +5,7 @@ This Pull Request renovates the package group "{{{groupName}}}".
 {{/if}}
 
 {{#each upgrades as |upgrade|}}
--   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}`{{{depName}}}`{{/if}}{{#if depType}} (`{{{depType}}}`){{/if}}: from `{{{upgrade.currentVersion}}}` to `{{{upgrade.newVersion}}}`
+-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}`{{{depName}}}`{{/if}}{{#if depType}} (`{{{depType}}}`){{/if}}: from `{{{upgrade.currentValue}}}` to `{{{upgrade.newValue}}}`
 {{/each}}
 
 {{#if hasReleaseNotes}}
diff --git a/lib/config/templates/node/pr-body.hbs b/lib/config/templates/node/pr-body.hbs
index 16190a8ae3..307b739e48 100644
--- a/lib/config/templates/node/pr-body.hbs
+++ b/lib/config/templates/node/pr-body.hbs
@@ -1,4 +1,4 @@
-This Pull Request updates `{{{depName}}}` versions from `{{{currentVersion}}}` to `{{{newVersion}}}`. This is according to the configured node.js support policy "{{{supportPolicy}}}".
+This Pull Request updates `{{{depName}}}` versions from `{{{currentValue}}}` to `{{{newValue}}}`. This is according to the configured node.js support policy "{{{supportPolicy}}}".
 
 {{#if schedule}}
 **Note**: This PR was created on a configured schedule ("{{{schedule}}}"{{#if timezone}} in timezone `{{{timezone}}}`{{/if}}) and will not receive updates outside those times.
diff --git a/lib/manager/bazel/extract.js b/lib/manager/bazel/extract.js
index e97b6c68f5..990f0a2e2a 100644
--- a/lib/manager/bazel/extract.js
+++ b/lib/manager/bazel/extract.js
@@ -19,7 +19,7 @@ function extractDependencies(content) {
     const dep = { def, versionScheme: 'semver' };
     let depName;
     let remote;
-    let currentVersion;
+    let currentValue;
     let url;
     let sha256;
     let match = def.match(/name = "([^"]+)"/);
@@ -32,7 +32,7 @@ function extractDependencies(content) {
     }
     match = def.match(/tag = "([^"]+)"/);
     if (match) {
-      [, currentVersion] = match;
+      [, currentValue] = match;
     }
     match = def.match(/url = "([^"]+)"/);
     if (match) {
@@ -42,18 +42,13 @@ function extractDependencies(content) {
     if (match) {
       [, sha256] = match;
     }
-    logger.debug({ depName, remote, currentVersion });
+    logger.debug({ depName, remote, currentValue });
     const urlPattern = /^https:\/\/github.com\/([^\\/]+\/[^\\/]+)\/releases\/download\/([^\\/]+)\/.*?\.tar\.gz$/;
-    if (
-      def.startsWith('git_repository') &&
-      depName &&
-      remote &&
-      currentVersion
-    ) {
+    if (def.startsWith('git_repository') && depName && remote && currentValue) {
       dep.depType = 'git_repository';
       dep.depName = depName;
       dep.remote = remote;
-      dep.currentVersion = currentVersion;
+      dep.currentValue = currentValue;
       const repo = parse(remote).substring('https://github.com/'.length);
       dep.purl = 'pkg:github/' + repo;
       deps.push(dep);
@@ -67,7 +62,7 @@ function extractDependencies(content) {
       match = url.match(urlPattern);
       dep.depType = 'http_archive';
       dep.depName = depName;
-      [, dep.repo, dep.currentVersion] = match;
+      [, dep.repo, dep.currentValue] = match;
       dep.purl = 'pkg:github/' + dep.repo;
       deps.push(dep);
     } else {
diff --git a/lib/manager/bazel/update.js b/lib/manager/bazel/update.js
index ff577a30a6..72231afaea 100644
--- a/lib/manager/bazel/update.js
+++ b/lib/manager/bazel/update.js
@@ -7,18 +7,18 @@ module.exports = {
 
 async function updateDependency(fileContent, upgrade) {
   try {
-    logger.debug(`bazel.updateDependency(): ${upgrade.newVersion}`);
+    logger.debug(`bazel.updateDependency(): ${upgrade.newValue}`);
     let newDef;
     if (upgrade.depType === 'git_repository') {
       newDef = upgrade.def.replace(
         /tag = "[^"]+"/,
-        `tag = "${upgrade.newVersion}"`
+        `tag = "${upgrade.newValue}"`
       );
     } else if (upgrade.depType === 'http_archive') {
       const [, shortRepo] = upgrade.repo.split('/');
       const newUrl = `https://github.com/${upgrade.repo}/releases/download/${
-        upgrade.newVersion
-      }/${shortRepo}-${upgrade.newVersion}.tar.gz`;
+        upgrade.newValue
+      }/${shortRepo}-${upgrade.newValue}.tar.gz`;
       const file = (await got(newUrl, { encoding: null })).body;
       const hash = crypto
         .createHash('sha256')
diff --git a/lib/manager/buildkite/extract.js b/lib/manager/buildkite/extract.js
index d83472c9ee..fd93aa7a0e 100644
--- a/lib/manager/buildkite/extract.js
+++ b/lib/manager/buildkite/extract.js
@@ -23,15 +23,15 @@ function extractDependencies(content) {
         if (depLineMatch) {
           logger.trace('depLineMatch');
           lineNumber += 1;
-          const [, depName, currentVersion] = depLineMatch;
+          const [, depName, currentValue] = depLineMatch;
           let skipReason;
           let repo;
           if (depName.startsWith('https://') || depName.startsWith('git@')) {
             logger.debug({ depName }, 'Skipping git plugin');
             skipReason = 'git-plugin';
-          } else if (!isPinnedVersion(currentVersion)) {
+          } else if (!isPinnedVersion(currentValue)) {
             logger.debug(
-              { currentVersion },
+              { currentValue },
               'Skipping non-pinned current version'
             );
             skipReason = 'invalid-version';
@@ -54,7 +54,7 @@ function extractDependencies(content) {
             depName,
             purl: repo ? 'pkg:github/' + repo : undefined,
             versionScheme: 'semver',
-            currentVersion,
+            currentValue,
             skipReason,
           });
         }
diff --git a/lib/manager/buildkite/update.js b/lib/manager/buildkite/update.js
index 4ced055465..8982473ca7 100644
--- a/lib/manager/buildkite/update.js
+++ b/lib/manager/buildkite/update.js
@@ -4,7 +4,7 @@ module.exports = {
 
 function updateDependency(currentFileContent, upgrade) {
   try {
-    logger.debug(`buildkite.updateDependency: ${upgrade.newVersion}`);
+    logger.debug(`buildkite.updateDependency: ${upgrade.newValue}`);
     const lines = currentFileContent.split('\n');
     const lineToChange = lines[upgrade.lineNumber];
     const depLine = new RegExp(/^(\s+[^#]+#)[^:]+(:.*)$/);
@@ -12,7 +12,7 @@ function updateDependency(currentFileContent, upgrade) {
       logger.debug('No image line found');
       return null;
     }
-    const newLine = lineToChange.replace(depLine, `$1${upgrade.newVersion}$2`);
+    const newLine = lineToChange.replace(depLine, `$1${upgrade.newValue}$2`);
     if (newLine === lineToChange) {
       logger.debug('No changes necessary');
       return currentFileContent;
diff --git a/lib/manager/docker/package.js b/lib/manager/docker/package.js
index d0cd360adc..e4deee480b 100644
--- a/lib/manager/docker/package.js
+++ b/lib/manager/docker/package.js
@@ -39,7 +39,7 @@ async function getPackageUpdates(config) {
       upgrade.newTag = currentTag || 'latest';
       upgrade.newDigest = newDigest;
       upgrade.newDigestShort = newDigest.slice(7, 13);
-      upgrade.newVersion = upgrade.newDigestShort;
+      upgrade.newValue = upgrade.newDigestShort;
       if (dockerRegistry) {
         upgrade.newFrom = `${dockerRegistry}/`;
       } else {
@@ -91,8 +91,8 @@ async function getPackageUpdates(config) {
     logger.trace({ versionList }, 'upgrades versionList');
     const versionUpgrades = {};
     for (const version of versionList) {
-      const newVersionMajor = getMajor(version);
-      const type = newVersionMajor > currentMajor ? 'major' : 'minor';
+      const newMajor = getMajor(version);
+      const type = newMajor > currentMajor ? 'major' : 'minor';
       let upgradeKey;
       if (
         !config.separateMajorMinor ||
@@ -105,7 +105,7 @@ async function getPackageUpdates(config) {
         upgradeKey = 'major';
       } else {
         // Use major version as lookup key
-        upgradeKey = newVersionMajor;
+        upgradeKey = newMajor;
       }
       if (
         !versionUpgrades[upgradeKey] ||
@@ -117,15 +117,15 @@ async function getPackageUpdates(config) {
     logger.debug({ versionUpgrades }, 'Docker versionUpgrades');
     for (const upgradeKey of Object.keys(versionUpgrades)) {
       let newTag = versionUpgrades[upgradeKey];
-      const newVersionMajor = `${getMajor(versionUpgrades[upgradeKey])}`;
+      const newMajor = `${getMajor(versionUpgrades[upgradeKey])}`;
       if (tagSuffix) {
         newTag += `-${tagSuffix}`;
       }
       const upgrade = {
         newTag,
-        newVersionMajor,
+        newMajor,
       };
-      upgrade.newVersion = newTag;
+      upgrade.newValue = newTag;
       upgrade.newDepTag = `${config.depName}:${upgrade.newTag}`;
       if (dockerRegistry) {
         upgrade.newFrom = `${dockerRegistry}/`;
@@ -150,7 +150,7 @@ async function getPackageUpdates(config) {
           throw new Error('registry-failure');
         }
       }
-      if (newVersionMajor > currentMajor) {
+      if (newMajor > currentMajor) {
         upgrade.type = 'major';
       } else {
         upgrade.type = 'minor';
diff --git a/lib/manager/meteor/extract.js b/lib/manager/meteor/extract.js
index 6da6fac89d..b7616d269c 100644
--- a/lib/manager/meteor/extract.js
+++ b/lib/manager/meteor/extract.js
@@ -16,19 +16,19 @@ function extractDependencies(content) {
       .filter(dep => dep.length)
       .map(dep => dep.split(/:(.*)/))
       .map(arr => {
-        const [depName, currentVersion] = arr;
+        const [depName, currentValue] = arr;
         // istanbul ignore if
-        if (!(depName && currentVersion)) {
+        if (!(depName && currentValue)) {
           logger.warn({ content }, 'Incomplete npm.depends match');
         }
         return {
           depName,
-          currentVersion,
+          currentValue,
           purl: `pkg:npm/${depName.replace('@', '%40')}`,
           versionScheme: 'semver',
         };
       })
-      .filter(dep => dep.depName && dep.currentVersion);
+      .filter(dep => dep.depName && dep.currentValue);
   } catch (err) /* istanbul ignore next */ {
     logger.warn({ content }, 'Failed to parse meteor package.js');
   }
diff --git a/lib/manager/meteor/update.js b/lib/manager/meteor/update.js
index f3fda1a063..16074f08f3 100644
--- a/lib/manager/meteor/update.js
+++ b/lib/manager/meteor/update.js
@@ -3,14 +3,14 @@ module.exports = {
 };
 
 function updateDependency(fileContent, upgrade) {
-  const { depName, currentVersion, newVersion } = upgrade;
-  logger.debug(`meteor.updateDependency(): ${depName} = ${newVersion}`);
+  const { depName, currentValue, newValue } = upgrade;
+  logger.debug(`meteor.updateDependency(): ${depName} = ${newValue}`);
   const regexReplace = new RegExp(
-    `('|")(${depName})('|"):(\\s+)('|")${currentVersion}('|")`
+    `('|")(${depName})('|"):(\\s+)('|")${currentValue}('|")`
   );
   const newFileContent = fileContent.replace(
     regexReplace,
-    `$1$2$3:$4$5${newVersion}$6`
+    `$1$2$3:$4$5${newValue}$6`
   );
   return newFileContent;
 }
diff --git a/lib/manager/npm/extract/index.js b/lib/manager/npm/extract/index.js
index 7130e5133a..a3042fb2a9 100644
--- a/lib/manager/npm/extract/index.js
+++ b/lib/manager/npm/extract/index.js
@@ -111,7 +111,7 @@ async function extractDependencies(content, packageFile, config) {
             depName,
             versionScheme: 'semver',
           };
-          dep.currentVersion = version.trim();
+          dep.currentValue = version.trim();
           if (depType === 'engines') {
             if (depName === 'node') {
               dep.purl = 'pkg:github/nodejs/node?clean=true';
@@ -124,14 +124,14 @@ async function extractDependencies(content, packageFile, config) {
             } else {
               dep.skipReason = 'unknown-engines';
             }
-            if (!semver.isValid(dep.currentVersion)) {
+            if (!semver.isValid(dep.currentValue)) {
               dep.skipReason = 'unknown-version';
             }
-          } else if (dep.currentVersion.startsWith('file:')) {
+          } else if (dep.currentValue.startsWith('file:')) {
             dep.skipReason = 'file';
-          } else if (semver.isValid(dep.currentVersion)) {
+          } else if (semver.isValid(dep.currentValue)) {
             dep.purl = `pkg:npm/${depName.replace('@', '%40')}`;
-            if (dep.currentVersion === '*') {
+            if (dep.currentValue === '*') {
               dep.skipReason = 'any-version';
             }
           } else {
diff --git a/lib/manager/npm/extract/locked-versions.js b/lib/manager/npm/extract/locked-versions.js
index e064b70556..abf8a8747f 100644
--- a/lib/manager/npm/extract/locked-versions.js
+++ b/lib/manager/npm/extract/locked-versions.js
@@ -18,7 +18,7 @@ async function getLockedVersions(packageFiles) {
       }
       for (const dep of packageFile.deps) {
         dep.lockedVersion =
-          lockFileCache[yarnLock][`${dep.depName}@${dep.currentVersion}`];
+          lockFileCache[yarnLock][`${dep.depName}@${dep.currentValue}`];
       }
     } else if (npmLock) {
       logger.debug({ npmLock }, 'npm lockfile');
diff --git a/lib/manager/npm/range.js b/lib/manager/npm/range.js
index e63de448e9..addc84d4be 100644
--- a/lib/manager/npm/range.js
+++ b/lib/manager/npm/range.js
@@ -9,13 +9,13 @@ function getRangeStrategy(config) {
     depType,
     depName,
     packageJsonType,
-    currentVersion,
+    currentValue,
     rangeStrategy,
   } = config;
-  const isComplexRange = parseRange(currentVersion).length > 1;
+  const isComplexRange = parseRange(currentValue).length > 1;
   if (rangeStrategy === 'bump' && isComplexRange) {
     logger.info(
-      { currentVersion },
+      { currentValue },
       'Replacing bump strategy for complex range with widen'
     );
     return 'widen';
diff --git a/lib/manager/npm/update.js b/lib/manager/npm/update.js
index b59aa714b6..889476f462 100644
--- a/lib/manager/npm/update.js
+++ b/lib/manager/npm/update.js
@@ -7,13 +7,13 @@ module.exports = {
 };
 
 function updateDependency(fileContent, upgrade) {
-  const { depType, depName, newVersion } = upgrade;
-  logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newVersion}`);
+  const { depType, depName, newValue } = upgrade;
+  logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newValue}`);
   try {
     const parsedContents = JSON.parse(fileContent);
     // Save the old version
     const oldVersion = parsedContents[depType][depName];
-    if (oldVersion === newVersion) {
+    if (oldVersion === newValue) {
       logger.debug('Version is already updated');
       return bumpPackageVersion(
         fileContent,
@@ -22,10 +22,10 @@ function updateDependency(fileContent, upgrade) {
       );
     }
     // Update the file = this is what we want
-    parsedContents[depType][depName] = newVersion;
+    parsedContents[depType][depName] = newValue;
     // Look for the old version number
     const searchString = `"${oldVersion}"`;
-    const newString = `"${newVersion}"`;
+    const newString = `"${newValue}"`;
     let newFileContent = null;
     // Skip ahead to depType section
     let searchIndex = fileContent.indexOf(`"${depType}"`) + depType.length;
@@ -52,7 +52,7 @@ function updateDependency(fileContent, upgrade) {
     // istanbul ignore if
     if (!newFileContent) {
       logger.info(
-        { fileContent, parsedContents, depType, depName, newVersion },
+        { fileContent, parsedContents, depType, depName, newValue },
         'Warning: updateDependency error'
       );
       return fileContent;
@@ -64,10 +64,10 @@ function updateDependency(fileContent, upgrade) {
     ) {
       if (parsedContents.resolutions[depName] === oldVersion) {
         // Update the file = this is what we want
-        parsedContents.resolutions[depName] = newVersion;
+        parsedContents.resolutions[depName] = newValue;
         // Look for the old version number
         const oldResolution = `"${oldVersion}"`;
-        const newResolution = `"${newVersion}"`;
+        const newResolution = `"${newValue}"`;
         // Skip ahead to depType section
         searchIndex = newFileContent.indexOf(`"resolutions"`);
         logger.debug(`Starting search at index ${searchIndex}`);
@@ -124,17 +124,17 @@ function replaceAt(content, index, oldString, newString) {
   );
 }
 
-function bumpPackageVersion(content, currentVersion, bumpVersion) {
+function bumpPackageVersion(content, currentValue, bumpVersion) {
   logger.debug('bumpVersion()');
   if (!bumpVersion) {
     return content;
   }
   logger.debug(
-    { bumpVersion, currentVersion },
+    { bumpVersion, currentValue },
     'Checking if we should bump package.json version'
   );
   try {
-    const newPjVersion = semver.inc(currentVersion, bumpVersion);
+    const newPjVersion = semver.inc(currentValue, bumpVersion);
     logger.debug({ newPjVersion });
     const bumpedContent = content.replace(
       /("version":\s*")[^"]*/,
@@ -150,7 +150,7 @@ function bumpPackageVersion(content, currentVersion, bumpVersion) {
     logger.warn(
       {
         content,
-        currentVersion,
+        currentValue,
         bumpVersion,
       },
       'Failed to bumpVersion'
diff --git a/lib/manager/nvm/extract.js b/lib/manager/nvm/extract.js
index f96c7c75c5..8c228815e8 100644
--- a/lib/manager/nvm/extract.js
+++ b/lib/manager/nvm/extract.js
@@ -7,11 +7,11 @@ module.exports = {
 function extractDependencies(content) {
   const dep = {
     depName: 'node',
-    currentVersion: content.trim(),
+    currentValue: content.trim(),
     purl: 'pkg:github/nodejs/node?clean=true',
     versionScheme: 'semver',
   };
-  if (!semver.isPinnedVersion(dep.currentVersion)) {
+  if (!semver.isPinnedVersion(dep.currentValue)) {
     dep.skipReason = 'unsupported-version';
   }
   return { deps: [dep] };
diff --git a/lib/manager/nvm/update.js b/lib/manager/nvm/update.js
index 565b78085f..a9ecea5fe0 100644
--- a/lib/manager/nvm/update.js
+++ b/lib/manager/nvm/update.js
@@ -4,5 +4,5 @@ module.exports = {
 
 function updateDependency(fileContent, upgrade) {
   logger.debug(`nvm.updateDependency(): ${upgrade.newVersions}`);
-  return `${upgrade.newVersion}\n`;
+  return `${upgrade.newValue}\n`;
 }
diff --git a/lib/manager/pip_requirements/extract.js b/lib/manager/pip_requirements/extract.js
index 38cf797535..fb120a32f6 100644
--- a/lib/manager/pip_requirements/extract.js
+++ b/lib/manager/pip_requirements/extract.js
@@ -22,7 +22,7 @@ function extractDependencies(content) {
       return (
         matches && {
           depName: matches[1],
-          currentVersion: matches[2],
+          currentValue: matches[2],
           lineNumber,
           versionScheme: 'pep440',
         }
diff --git a/lib/manager/pip_requirements/package.js b/lib/manager/pip_requirements/package.js
index 3009a46b16..4fe9090532 100644
--- a/lib/manager/pip_requirements/package.js
+++ b/lib/manager/pip_requirements/package.js
@@ -13,8 +13,8 @@ module.exports = {
 async function getPackageUpdates(config) {
   try {
     logger.debug('pip_requirements.getPackageUpdates()');
-    const { currentVersion, depName } = config;
-    if (!isPinnedVersion(currentVersion)) {
+    const { currentValue, depName } = config;
+    if (!isPinnedVersion(currentValue)) {
       return [];
     }
     const { releases } = (await got(`https://pypi.org/pypi/${depName}/json`, {
@@ -23,7 +23,7 @@ async function getPackageUpdates(config) {
     const newVersions = Object.keys(releases)
       .filter(
         release =>
-          isPinnedVersion(release) && isGreaterThan(release, currentVersion)
+          isPinnedVersion(release) && isGreaterThan(release, currentValue)
       )
       .sort(sortVersions);
 
@@ -33,15 +33,15 @@ async function getPackageUpdates(config) {
       return [];
     }
 
-    const newVersion = newVersions.pop();
+    const newValue = newVersions.pop();
 
     return [
       {
         depName,
-        newVersion,
-        newVersionMajor: getMajor(newVersion),
-        fromVersion: currentVersion,
-        toVersion: newVersion,
+        newValue,
+        newMajor: getMajor(newValue),
+        fromVersion: currentValue,
+        toVersion: newValue,
       },
     ];
   } catch (err) {
diff --git a/lib/manager/pip_requirements/update.js b/lib/manager/pip_requirements/update.js
index d8b601d5fd..546a9d333a 100644
--- a/lib/manager/pip_requirements/update.js
+++ b/lib/manager/pip_requirements/update.js
@@ -4,9 +4,9 @@ module.exports = {
 
 function updateDependency(fileContent, upgrade) {
   try {
-    logger.debug(`pip_requirements.updateDependency(): ${upgrade.newVersion}`);
+    logger.debug(`pip_requirements.updateDependency(): ${upgrade.newValue}`);
     const lines = fileContent.split('\n');
-    lines[upgrade.lineNumber] = `${upgrade.depName}==${upgrade.newVersion}`;
+    lines[upgrade.lineNumber] = `${upgrade.depName}==${upgrade.newValue}`;
     return lines.join('\n');
   } catch (err) {
     logger.info({ err }, 'Error setting new package version');
diff --git a/lib/manager/travis/extract.js b/lib/manager/travis/extract.js
index c4797cd378..ca27124afa 100644
--- a/lib/manager/travis/extract.js
+++ b/lib/manager/travis/extract.js
@@ -11,7 +11,7 @@ function extractDependencies(content) {
     deps = [
       {
         depName: 'node',
-        currentVersion: doc.node_js,
+        currentValue: doc.node_js,
         versionScheme: 'semver',
       },
     ];
diff --git a/lib/manager/travis/package.js b/lib/manager/travis/package.js
index 8cbb8f381f..65029bd650 100644
--- a/lib/manager/travis/package.js
+++ b/lib/manager/travis/package.js
@@ -30,7 +30,7 @@ async function getPackageUpdates(config) {
     }
   }
   logger.debug({ supportPolicy }, `supportPolicy`);
-  let newVersion = supportPolicy
+  let newValue = supportPolicy
     .map(policy => policies[policy])
     .reduce((result, policy) => result.concat(policy), [])
     .sort() // sort combined array
@@ -38,21 +38,19 @@ async function getPackageUpdates(config) {
     .map(version => `${version}`); // convert to strings
   if (
     config.rangeStrategy === 'pin' ||
-    isPinnedVersion(config.currentVersion[0])
+    isPinnedVersion(config.currentValue[0])
   ) {
     const releases = Object.keys(
       (await getDependency('nodejs/node', { clean: 'true' })).versions
     );
-    newVersion = newVersion.map(version =>
-      maxSatisfyingVersion(releases, version)
-    );
+    newValue = newValue.map(version => maxSatisfyingVersion(releases, version));
   }
-  if (isEqual([...config.currentVersion].sort(), [...newVersion].sort())) {
+  if (isEqual([...config.currentValue].sort(), [...newValue].sort())) {
     return [];
   }
   return [
     {
-      newVersion,
+      newValue,
       isRange: true,
       repositoryUrl: 'https://github.com/nodejs/node',
     },
diff --git a/lib/manager/travis/update.js b/lib/manager/travis/update.js
index baf64d5b00..40d3b66012 100644
--- a/lib/manager/travis/update.js
+++ b/lib/manager/travis/update.js
@@ -6,12 +6,12 @@ module.exports = {
 
 function updateDependency(fileContent, upgrade) {
   try {
-    logger.debug(`travis.updateDependency(): ${upgrade.newVersion}`);
+    logger.debug(`travis.updateDependency(): ${upgrade.newValue}`);
     const indent = detectIndent(fileContent).indent || '  ';
     const quote =
       fileContent.split(`'`).length > fileContent.split(`"`).length ? `'` : `"`;
     let newString = `node_js:\n`;
-    upgrade.newVersion.forEach(version => {
+    upgrade.newValue.forEach(version => {
       newString += `${indent}- ${quote}${version}${quote}\n`;
     });
     return fileContent.replace(/node_js:(\n\s+[^\n]+)+\n/, newString);
diff --git a/lib/versioning/pep440/range.js b/lib/versioning/pep440/range.js
index 878b657f82..2f5669b01f 100644
--- a/lib/versioning/pep440/range.js
+++ b/lib/versioning/pep440/range.js
@@ -2,7 +2,7 @@ module.exports = {
   rangify,
 };
 
-function rangify(config, currentVersion, fromVersion, toVersion) {
+function rangify(config, currentValue, fromVersion, toVersion) {
   const { rangeStrategy } = config;
   // istanbul ignore if
   if (rangeStrategy !== 'pin') {
diff --git a/lib/versioning/semver/range.js b/lib/versioning/semver/range.js
index 48b0b50c65..e395a61225 100644
--- a/lib/versioning/semver/range.js
+++ b/lib/versioning/semver/range.js
@@ -5,39 +5,39 @@ module.exports = {
   rangify,
 };
 
-function rangify(config, currentVersion, fromVersion, toVersion) {
+function rangify(config, currentValue, fromVersion, toVersion) {
   const { rangeStrategy } = config;
-  if (rangeStrategy === 'pin' || valid(currentVersion)) {
+  if (rangeStrategy === 'pin' || valid(currentValue)) {
     return toVersion;
   }
-  const parsedRange = parseRange(currentVersion);
+  const parsedRange = parseRange(currentValue);
   const element = parsedRange[parsedRange.length - 1];
   if (rangeStrategy === 'widen') {
-    const newVersion = rangify(
+    const newValue = rangify(
       { ...config, rangeStrategy: 'replace' },
-      currentVersion,
+      currentValue,
       fromVersion,
       toVersion
     );
     if (element.operator && element.operator.startsWith('<')) {
       // TODO fix this
-      const splitCurrent = currentVersion.split(element.operator);
+      const splitCurrent = currentValue.split(element.operator);
       splitCurrent.pop();
-      return splitCurrent.join(element.operator) + newVersion;
+      return splitCurrent.join(element.operator) + newValue;
     }
     if (parsedRange.length > 1) {
       const previousElement = parsedRange[parsedRange.length - 2];
       if (previousElement.operator === '-') {
-        const splitCurrent = currentVersion.split('-');
+        const splitCurrent = currentValue.split('-');
         splitCurrent.pop();
-        return splitCurrent.join('-') + '- ' + newVersion;
+        return splitCurrent.join('-') + '- ' + newValue;
       }
       if (element.operator && element.operator.startsWith('>')) {
         logger.warn(`Complex ranges ending in greater than are not supported`);
         return null;
       }
     }
-    return `${currentVersion} || ${newVersion}`;
+    return `${currentValue} || ${newValue}`;
   }
   // console.log(range);
   // Simple range
@@ -53,13 +53,13 @@ function rangify(config, currentVersion, fromVersion, toVersion) {
         return `=${toVersion}`;
       }
       if (element.operator === '>=') {
-        return currentVersion.includes('>= ')
+        return currentValue.includes('>= ')
           ? `>= ${toVersion}`
           : `>=${toVersion}`;
       }
     }
     logger.warn(
-      'Unsupported range type for rangeStrategy=bump: ' + currentVersion
+      'Unsupported range type for rangeStrategy=bump: ' + currentValue
     );
     return null;
   }
@@ -93,14 +93,14 @@ function rangify(config, currentVersion, fromVersion, toVersion) {
     } else {
       res = `<=${major(toVersion)}`;
     }
-    if (currentVersion.includes('<= ')) {
+    if (currentValue.includes('<= ')) {
       res = res.replace('<=', '<= ');
     }
     return res;
   }
   if (element.operator === '<') {
     let res;
-    if (currentVersion.endsWith('.0.0')) {
+    if (currentValue.endsWith('.0.0')) {
       const newMajor = major(toVersion) + 1;
       res = `<${newMajor}.0.0`;
     } else if (element.patch) {
@@ -110,7 +110,7 @@ function rangify(config, currentVersion, fromVersion, toVersion) {
     } else {
       res = `<${major(toVersion) + 1}`;
     }
-    if (currentVersion.includes('< ')) {
+    if (currentValue.includes('< ')) {
       res = res.replace('<', '< ');
     }
     return res;
diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js
index e9822c2bc2..4de85f5b36 100644
--- a/lib/workers/branch/index.js
+++ b/lib/workers/branch/index.js
@@ -52,9 +52,9 @@ async function processBranch(branchConfig, packageFiles) {
         let content;
         if (config.type === 'major') {
           content = `As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for *any* future ${
-            config.newVersionMajor
+            config.newMajor
           }.x releases. However, if you upgrade to ${
-            config.newVersionMajor
+            config.newMajor
           }.x manually then Renovate will then reenable updates for minor and patch updates automatically.`;
         } else if (config.type === 'digest') {
           content = `As this PR has been closed unmerged, Renovate will ignore this upgrade type and you will not receive PRs for *any* future ${
@@ -64,7 +64,7 @@ async function processBranch(branchConfig, packageFiles) {
           } digest updates. Digest updates will resume if you update the specified tag at any time.`;
         } else {
           content = `As this PR has been closed unmerged, Renovate will now ignore this update (${
-            config.newVersion
+            config.newValue
           }). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the \`ignoreDeps\` array of your renovate config.`;
         }
         content +=
diff --git a/lib/workers/pr/changelog/index.js b/lib/workers/pr/changelog/index.js
index 287a95140d..b6171edb92 100644
--- a/lib/workers/pr/changelog/index.js
+++ b/lib/workers/pr/changelog/index.js
@@ -13,9 +13,9 @@ module.exports = {
 };
 
 async function getChangeLogJSON(args) {
-  const { manager, fromVersion, newVersion } = args;
+  const { manager, fromVersion, newValue } = args;
   logger.debug({ args }, `getChangeLogJSON(args)`);
-  if (!fromVersion || fromVersion === newVersion) {
+  if (!fromVersion || fromVersion === newValue) {
     return null;
   }
 
diff --git a/lib/workers/pr/changelog/source-cache.js b/lib/workers/pr/changelog/source-cache.js
index 974ab41ef4..45b1fe3266 100644
--- a/lib/workers/pr/changelog/source-cache.js
+++ b/lib/workers/pr/changelog/source-cache.js
@@ -7,10 +7,10 @@ module.exports = {
   rmAllCache,
 };
 
-function getCache({ depName, fromVersion, newVersion }) {
+function getCache({ depName, fromVersion, newValue }) {
   const tmpdir = process.env.RENOVATE_TMPDIR || os.tmpdir();
   const cachePath = tmpdir + '/renovate-cache-changelog';
-  const cacheKey = `${depName}-${fromVersion}-${newVersion}`;
+  const cacheKey = `${depName}-${fromVersion}-${newValue}`;
   return [cachePath, cacheKey];
 }
 
diff --git a/lib/workers/pr/changelog/source-github.js b/lib/workers/pr/changelog/source-github.js
index ffab8b6398..38c627b692 100644
--- a/lib/workers/pr/changelog/source-github.js
+++ b/lib/workers/pr/changelog/source-github.js
@@ -61,13 +61,13 @@ async function getChangeLogJSON({
   githubBaseURL,
   repositoryUrl,
   fromVersion,
-  newVersion,
+  newValue,
   versions,
 }) {
   const { equals, isGreaterThan } = versioning(versionScheme);
   logger.debug('Checking for github source URL manually');
   const include = version =>
-    isGreaterThan(version, fromVersion) && !isGreaterThan(version, newVersion);
+    isGreaterThan(version, fromVersion) && !isGreaterThan(version, newValue);
 
   if (!(repositoryUrl && repositoryUrl.startsWith(githubBaseURL))) {
     logger.debug('No repo found manually');
diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js
index 1b7d20fcdf..7b93f86ada 100644
--- a/lib/workers/pr/index.js
+++ b/lib/workers/pr/index.js
@@ -119,7 +119,7 @@ async function ensurePr(prConfig) {
       depType: upgrade.depType,
       depName: upgrade.depName,
       fromVersion: upgrade.fromVersion,
-      newVersion: upgrade.toVersion,
+      newValue: upgrade.toVersion,
     });
 
     if (logJSON) {
diff --git a/lib/workers/repository/onboarding/pr/pr-list.js b/lib/workers/repository/onboarding/pr/pr-list.js
index af4d4bc9eb..0d2d346813 100644
--- a/lib/workers/repository/onboarding/pr/pr-list.js
+++ b/lib/workers/repository/onboarding/pr/pr-list.js
@@ -43,9 +43,9 @@ function getPrList(config, branches) {
           prDesc += ' ';
         }
         if (upgrade.type !== 'pin') {
-          prDesc += `from \`${upgrade.currentVersion}\` `;
+          prDesc += `from \`${upgrade.currentValue}\` `;
         }
-        prDesc += `to \`${upgrade.newVersion || upgrade.newDigest}\``;
+        prDesc += `to \`${upgrade.newValue || upgrade.newDigest}\``;
         prDesc += '\n';
       }
     }
diff --git a/lib/workers/repository/process/fetch.js b/lib/workers/repository/process/fetch.js
index df6b6aa77d..84efe93a40 100644
--- a/lib/workers/repository/process/fetch.js
+++ b/lib/workers/repository/process/fetch.js
@@ -17,7 +17,7 @@ async function fetchDepUpdates(packageFileConfig, dep) {
     return;
   }
   const { manager, packageFile } = packageFileConfig;
-  const { depName, currentVersion } = dep;
+  const { depName, currentValue } = dep;
   let depConfig = mergeChildConfig(packageFileConfig, dep);
   depConfig = applyPackageRules(depConfig);
   if (depConfig.ignoreDeps.includes(depName)) {
@@ -53,7 +53,7 @@ async function fetchDepUpdates(packageFileConfig, dep) {
       logger.info(
         { dependency: depName },
         `${dep.updates.length} result(s): ${dep.updates.map(
-          upgrade => upgrade.newVersion
+          upgrade => upgrade.newValue
         )}`
       );
     }
@@ -61,7 +61,7 @@ async function fetchDepUpdates(packageFileConfig, dep) {
       packageFile,
       manager,
       depName,
-      currentVersion,
+      currentValue,
       updates: dep.updates,
     });
   }
diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js
index 33f5a8dd40..fce079b984 100644
--- a/lib/workers/repository/process/lookup/index.js
+++ b/lib/workers/repository/process/lookup/index.js
@@ -12,7 +12,7 @@ module.exports = {
 };
 
 async function lookupUpdates(config) {
-  const { versionScheme, depName, currentVersion, lockedVersion } = config;
+  const { versionScheme, depName, currentValue, lockedVersion } = config;
   const {
     getMajor,
     getMinor,
@@ -21,7 +21,7 @@ async function lookupUpdates(config) {
     matches,
     rangify,
   } = versioning(versionScheme);
-  logger.debug({ depName, currentVersion }, 'lookupUpdates');
+  logger.debug({ depName, currentValue }, 'lookupUpdates');
   let dependency;
   const purl = parse(config.purl);
   if (!purl) {
@@ -66,7 +66,7 @@ async function lookupUpdates(config) {
     ];
   }
   const allSatisfyingVersions = allVersions.filter(version =>
-    matches(version, currentVersion)
+    matches(version, currentValue)
   );
   const updates = [];
   if (!allSatisfyingVersions.length) {
@@ -75,17 +75,17 @@ async function lookupUpdates(config) {
   const rangeStrategy = getRangeStrategy(config);
   const fromVersion = getFromVersion(
     config,
-    currentVersion,
+    currentValue,
     rangeStrategy,
     lockedVersion,
     allVersions
   );
-  if (isRange(currentVersion) && rangeStrategy === 'pin') {
+  if (isRange(currentValue) && rangeStrategy === 'pin') {
     updates.push({
       type: 'pin',
       isPin: true,
-      newVersion: fromVersion,
-      newVersionMajor: getMajor(fromVersion),
+      newValue: fromVersion,
+      newMajor: getMajor(fromVersion),
       unpublishable: false,
     });
   }
@@ -101,14 +101,14 @@ async function lookupUpdates(config) {
   const buckets = {};
   for (const toVersion of filteredVersions) {
     const update = { fromVersion, toVersion };
-    update.newVersion = rangify(config, currentVersion, fromVersion, toVersion);
-    if (!update.newVersion || update.newVersion === currentVersion) {
+    update.newValue = rangify(config, currentValue, fromVersion, toVersion);
+    if (!update.newValue || update.newValue === currentValue) {
       continue; // eslint-disable-line no-continue
     }
-    update.newVersionMajor = getMajor(toVersion);
-    update.newVersionMinor = getMinor(toVersion);
+    update.newMajor = getMajor(toVersion);
+    update.newMinor = getMinor(toVersion);
     update.type = getType(config, fromVersion, toVersion);
-    if (isRange(update.newVersion)) {
+    if (isRange(update.newValue)) {
       update.isRange = true;
     }
 
@@ -160,7 +160,7 @@ function getType(config, fromVersion, toVersion) {
 
 function getBucket(config, update) {
   const { separateMajorMinor, separateMultipleMajor } = config;
-  const { type, newVersionMajor } = update;
+  const { type, newMajor } = update;
   if (
     !separateMajorMinor ||
     config.groupName ||
@@ -170,14 +170,14 @@ function getBucket(config, update) {
     return 'latest';
   }
   if (separateMultipleMajor && type === 'major') {
-    return `major-${newVersionMajor}`;
+    return `major-${newMajor}`;
   }
   return type;
 }
 
 function getFromVersion(
   config,
-  currentVersion,
+  currentValue,
   rangeStrategy,
   lockedVersion,
   allVersions
@@ -186,17 +186,17 @@ function getFromVersion(
   const { isRange, maxSatisfyingVersion, minSatisfyingVersion } = versioning(
     versionScheme
   );
-  if (!isRange(currentVersion)) {
-    return currentVersion;
+  if (!isRange(currentValue)) {
+    return currentValue;
   }
-  logger.trace(`currentVersion ${currentVersion} is range`);
+  logger.trace(`currentValue ${currentValue} is range`);
   if (rangeStrategy === 'pin') {
-    return lockedVersion || maxSatisfyingVersion(allVersions, currentVersion);
+    return lockedVersion || maxSatisfyingVersion(allVersions, currentValue);
   }
   if (rangeStrategy === 'bump') {
     // Use the lowest version in the current range
-    return minSatisfyingVersion(allVersions, currentVersion);
+    return minSatisfyingVersion(allVersions, currentValue);
   }
   // Use the highest version in the current range
-  return maxSatisfyingVersion(allVersions, currentVersion);
+  return maxSatisfyingVersion(allVersions, currentValue);
 }
diff --git a/lib/workers/repository/process/lookup/rollback.js b/lib/workers/repository/process/lookup/rollback.js
index ee3b99b6e7..28ded9a12d 100644
--- a/lib/workers/repository/process/lookup/rollback.js
+++ b/lib/workers/repository/process/lookup/rollback.js
@@ -5,7 +5,7 @@ module.exports = {
 };
 
 function getRollbackUpdate(config, versions) {
-  const { packageFile, versionScheme, depName, currentVersion } = config;
+  const { packageFile, versionScheme, depName, currentValue } = config;
   const { getMajor, isLessThanRange, rangify, sortVersions } = versioning(
     versionScheme
   );
@@ -18,32 +18,32 @@ function getRollbackUpdate(config, versions) {
     return [];
   }
   const lessThanVersions = versions.filter(version =>
-    isLessThanRange(version, currentVersion)
+    isLessThanRange(version, currentValue)
   );
   // istanbul ignore if
   if (!lessThanVersions.length) {
     logger.info(
-      { packageFile, depName, currentVersion },
+      { packageFile, depName, currentValue },
       'Missing version has nothing to roll back to'
     );
     return [];
   }
   logger.info(
-    { packageFile, depName, currentVersion },
+    { packageFile, depName, currentValue },
     `Current version not found - rolling back`
   );
   lessThanVersions.sort(sortVersions);
   const toVersion = lessThanVersions.pop();
   let fromVersion;
-  const newVersion = rangify(config, currentVersion, fromVersion, toVersion);
+  const newValue = rangify(config, currentValue, fromVersion, toVersion);
   return {
     type: 'rollback',
     branchName:
-      '{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newVersionMajor}}}.x',
+      '{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newMajor}}}.x',
     commitMessageAction: 'Roll back',
     isRollback: true,
-    newVersion,
-    newVersionMajor: getMajor(toVersion),
+    newValue,
+    newMajor: getMajor(toVersion),
     semanticCommitType: 'fix',
     unpublishable: false,
   };
diff --git a/lib/workers/repository/updates/branchify.js b/lib/workers/repository/updates/branchify.js
index ac3bf28113..25bcb63d21 100644
--- a/lib/workers/repository/updates/branchify.js
+++ b/lib/workers/repository/updates/branchify.js
@@ -37,6 +37,9 @@ function branchifyUpgrades(config, packageFiles) {
     } else if (update.type === 'warning') {
       warnings.push(update);
     } else {
+      // Massage legacy vars just in case
+      update.currentVersion = update.currentValue;
+      update.newVersion = update.newValue;
       // massage for handlebars
       const upper = str => str.charAt(0).toUpperCase() + str.substr(1);
       if (update.type) {
diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js
index 8ed0b5b5c5..80023f16f1 100644
--- a/lib/workers/repository/updates/generate.js
+++ b/lib/workers/repository/updates/generate.js
@@ -12,21 +12,21 @@ function generateBranchConfig(branchUpgrades) {
   logger.debug(`hasGroupName: ${hasGroupName}`);
   // Use group settings only if multiple upgrades or lazy grouping is disabled
   const depNames = [];
-  const newVersion = [];
+  const newValue = [];
   branchUpgrades.forEach(upg => {
     if (!depNames.includes(upg.depName)) {
       depNames.push(upg.depName);
     }
     if (upg.commitMessageExtra) {
       const extra = handlebars.compile(upg.commitMessageExtra)(upg);
-      if (!newVersion.includes(extra)) {
-        newVersion.push(extra);
+      if (!newValue.includes(extra)) {
+        newValue.push(extra);
       }
     }
   });
   const groupEligible =
     depNames.length > 1 ||
-    newVersion.length > 1 ||
+    newValue.length > 1 ||
     branchUpgrades[0].lazyGrouping === false;
   logger.debug(`groupEligible: ${groupEligible}`);
   const useGroupSettings = hasGroupName && groupEligible;
@@ -50,11 +50,11 @@ function generateBranchConfig(branchUpgrades) {
         (branchUpgrades[1].depName.startsWith('@types/') &&
           branchUpgrades[1].depName.endsWith(branchUpgrades[0].depName)));
     // istanbul ignore else
-    if (newVersion.length > 1 && !isTypesGroup) {
-      logger.debug({ newVersion });
+    if (newValue.length > 1 && !isTypesGroup) {
+      logger.debug({ newValue });
       delete upgrade.commitMessageExtra;
       upgrade.recreateClosed = true;
-    } else if (semver.valid(newVersion[0])) {
+    } else if (semver.valid(newValue[0])) {
       upgrade.isRange = false;
     }
     // Use templates to generate strings
diff --git a/test/config/__snapshots__/migration.spec.js.snap b/test/config/__snapshots__/migration.spec.js.snap
index 68ea3d265c..f51d5e0599 100644
--- a/test/config/__snapshots__/migration.spec.js.snap
+++ b/test/config/__snapshots__/migration.spec.js.snap
@@ -112,6 +112,7 @@ Object {
   "patch": Object {
     "automerge": true,
   },
+  "prBody": "{{currentValue}} something",
   "prTitle": "{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}some pr title",
   "rangeStrategy": "bump",
   "schedule": "on the first day of the month",
diff --git a/test/config/migration.spec.js b/test/config/migration.spec.js
index 76d4c474f1..cf9213a83f 100644
--- a/test/config/migration.spec.js
+++ b/test/config/migration.spec.js
@@ -28,6 +28,7 @@ describe('config/migration', () => {
         commitMessage: '{{semanticPrefix}}some commit message',
         prTitle: '{{semanticPrefix}}some pr title',
         semanticPrefix: 'fix(deps): ',
+        prBody: '{{currentVersion}} something',
         pathRules: [
           {
             paths: ['examples/**'],
diff --git a/test/manager/bazel/__snapshots__/extract.spec.js.snap b/test/manager/bazel/__snapshots__/extract.spec.js.snap
index 0e61d0dcd9..09fc56968e 100644
--- a/test/manager/bazel/__snapshots__/extract.spec.js.snap
+++ b/test/manager/bazel/__snapshots__/extract.spec.js.snap
@@ -3,7 +3,7 @@
 exports[`lib/manager/bazel/extract extractDependencies() extracts multiple types of dependencies 1`] = `
 Array [
   Object {
-    "currentVersion": "0.3.1",
+    "currentValue": "0.3.1",
     "def": "git_repository(
     name = \\"build_bazel_rules_nodejs\\",
     remote = \\"https://github.com/bazelbuild/rules_nodejs.git\\",
@@ -17,7 +17,7 @@ Array [
     "versionScheme": "semver",
   },
   Object {
-    "currentVersion": "0.6.1",
+    "currentValue": "0.6.1",
     "def": "git_repository(
     name = \\"build_bazel_rules_typescript\\",
     remote = \\"https://github.com/bazelbuild/rules_typescript.git\\",
@@ -31,7 +31,7 @@ Array [
     "versionScheme": "semver",
   },
   Object {
-    "currentVersion": "0.0.3",
+    "currentValue": "0.0.3",
     "def": "git_repository(
     name = \\"io_bazel_rules_sass\\",
     remote = \\"https://github.com/bazelbuild/rules_sass.git\\",
@@ -45,7 +45,7 @@ Array [
     "versionScheme": "semver",
   },
   Object {
-    "currentVersion": "0.7.1",
+    "currentValue": "0.7.1",
     "def": "http_archive(
     name = \\"io_bazel_rules_go\\",
     url = \\"https://github.com/bazelbuild/rules_go/releases/download/0.7.1/rules_go-0.7.1.tar.gz\\",
diff --git a/test/manager/bazel/update.spec.js b/test/manager/bazel/update.spec.js
index 320ce83850..db1d66d77c 100644
--- a/test/manager/bazel/update.spec.js
+++ b/test/manager/bazel/update.spec.js
@@ -25,7 +25,7 @@ describe('manager/bazel/update', () => {
         depName: 'build_bazel_rules_nodejs',
         depType: 'git_repository',
         def: `git_repository(\n    name = "build_bazel_rules_nodejs",\n    remote = "https://github.com/bazelbuild/rules_nodejs.git",\n    tag = "0.1.8",\n)`,
-        newVersion: '0.2.0',
+        newValue: '0.2.0',
       };
       const res = await bazelfile.updateDependency(content, upgrade);
       expect(res).not.toEqual(content);
@@ -36,7 +36,7 @@ describe('manager/bazel/update', () => {
         depType: 'http_archive',
         repo: 'bazelbuild/rules_go',
         def: `http_archive(\n    name = "io_bazel_rules_go",\n    url = "https://github.com/bazelbuild/rules_go/releases/download/0.7.1/rules_go-0.7.1.tar.gz",\n    sha256 = "341d5eacef704415386974bc82a1783a8b7ffbff2ab6ba02375e1ca20d9b031c",\n)`,
-        newVersion: '0.8.1',
+        newValue: '0.8.1',
       };
       got.mockReturnValueOnce({ body: '' });
       const res = await bazelfile.updateDependency(content, upgrade);
@@ -49,7 +49,7 @@ describe('manager/bazel/update', () => {
         depType: 'http_archive',
         repo: 'bazelbuild/rules_go',
         def: `http_archive(\n    name = "io_bazel_rules_go",\n    url = "https://github.com/bazelbuild/rules_go/releases/download/0.7.1/rules_go-0.7.1.tar.gz",\n    sha256 = "341d5eacef704415386974bc82a1783a8b7ffbff2ab6ba02375e1ca20d9b031c",\n)`,
-        newVersion: '0.8.1',
+        newValue: '0.8.1',
       };
       got.mockImplementationOnce(() => {
         throw new Error('some error');
diff --git a/test/manager/buildkite/__snapshots__/extract.spec.js.snap b/test/manager/buildkite/__snapshots__/extract.spec.js.snap
index 3353f1db22..5e6bc0f764 100644
--- a/test/manager/buildkite/__snapshots__/extract.spec.js.snap
+++ b/test/manager/buildkite/__snapshots__/extract.spec.js.snap
@@ -3,7 +3,7 @@
 exports[`lib/manager/buildkite/extract extractDependencies() adds skipReason 1`] = `
 Array [
   Object {
-    "currentVersion": "v1.3.2.5",
+    "currentValue": "v1.3.2.5",
     "depName": "namespace/docker-compose",
     "lineNumber": 4,
     "purl": undefined,
@@ -11,7 +11,7 @@ Array [
     "versionScheme": "semver",
   },
   Object {
-    "currentVersion": "v1.3.2",
+    "currentValue": "v1.3.2",
     "depName": "https://github.com/buildkite/plugin-docker-compose",
     "lineNumber": 15,
     "purl": undefined,
@@ -19,7 +19,7 @@ Array [
     "versionScheme": "semver",
   },
   Object {
-    "currentVersion": "v1.3.2",
+    "currentValue": "v1.3.2",
     "depName": "github.com/buildkite/plugin-docker-compose",
     "lineNumber": 22,
     "purl": undefined,
@@ -32,7 +32,7 @@ Array [
 exports[`lib/manager/buildkite/extract extractDependencies() extracts multiple plugins in same file 1`] = `
 Array [
   Object {
-    "currentVersion": "v1.3.2",
+    "currentValue": "v1.3.2",
     "depName": "docker-compose",
     "lineNumber": 4,
     "purl": "pkg:github/buildkite-plugins/docker-compose-buildkite-plugin",
@@ -40,7 +40,7 @@ Array [
     "versionScheme": "semver",
   },
   Object {
-    "currentVersion": "v1.3.2",
+    "currentValue": "v1.3.2",
     "depName": "docker-compose",
     "lineNumber": 15,
     "purl": "pkg:github/buildkite-plugins/docker-compose-buildkite-plugin",
@@ -53,7 +53,7 @@ Array [
 exports[`lib/manager/buildkite/extract extractDependencies() extracts simple single plugin 1`] = `
 Array [
   Object {
-    "currentVersion": "v2.0.0",
+    "currentValue": "v2.0.0",
     "depName": "abc/detect-clowns",
     "lineNumber": 2,
     "purl": "pkg:github/abc/detect-clowns-buildkite-plugin",
diff --git a/test/manager/buildkite/update.spec.js b/test/manager/buildkite/update.spec.js
index 45733ccebe..fbd0143b64 100644
--- a/test/manager/buildkite/update.spec.js
+++ b/test/manager/buildkite/update.spec.js
@@ -15,23 +15,23 @@ describe('manager/buildkite/update', () => {
     it('replaces existing value', () => {
       const upgrade = {
         lineNumber: 2,
-        newVersion: 'v2.2.0',
+        newValue: 'v2.2.0',
       };
       const res = bkUpdate.updateDependency(pipeline1, upgrade);
       expect(res).not.toEqual(pipeline1);
-      expect(res.includes(upgrade.newVersion)).toBe(true);
+      expect(res.includes(upgrade.newValue)).toBe(true);
     });
     it('replaces two values in one file', () => {
       const upgrade1 = {
         lineNumber: 4,
-        newVersion: 'v1.5.0',
+        newValue: 'v1.5.0',
       };
       const res1 = bkUpdate.updateDependency(pipeline2, upgrade1);
       expect(res1).not.toEqual(pipeline2);
-      expect(res1.includes(upgrade1.newVersion)).toBe(true);
+      expect(res1.includes(upgrade1.newValue)).toBe(true);
       const upgrade2 = {
         lineNumber: 15,
-        newVersion: 'v1.5.0',
+        newValue: 'v1.5.0',
       };
       const res2 = bkUpdate.updateDependency(res1, upgrade2);
       expect(res2).not.toEqual(res1);
@@ -40,7 +40,7 @@ describe('manager/buildkite/update', () => {
     it('returns same', () => {
       const upgrade = {
         lineNumber: 2,
-        newVersion: 'v2.0.0',
+        newValue: 'v2.0.0',
       };
       const res = bkUpdate.updateDependency(pipeline1, upgrade);
       expect(res).toEqual(pipeline1);
@@ -48,7 +48,7 @@ describe('manager/buildkite/update', () => {
     it('returns null if mismatch', () => {
       const upgrade = {
         lineNumber: 3,
-        newVersion: 'v2.2.0',
+        newValue: 'v2.2.0',
       };
       const res = bkUpdate.updateDependency(pipeline1, upgrade);
       expect(res).toBe(null);
diff --git a/test/manager/docker/__snapshots__/package.spec.js.snap b/test/manager/docker/__snapshots__/package.spec.js.snap
index 32fc0bf437..6a1f532e3f 100644
--- a/test/manager/docker/__snapshots__/package.spec.js.snap
+++ b/test/manager/docker/__snapshots__/package.spec.js.snap
@@ -7,16 +7,16 @@ Array [
     "newDigestShort": "one",
     "newFrom": "some-dep:1.0.0-something@sha256:one",
     "newTag": "1.0.0-something",
-    "newVersion": "one",
+    "newValue": "one",
     "type": "pin",
   },
   Object {
     "newDepTag": "some-dep:1.1.0-something",
     "newDigest": "sha256:two",
     "newFrom": "some-dep:1.1.0-something@sha256:two",
+    "newMajor": "1",
     "newTag": "1.1.0-something",
-    "newVersion": "1.1.0-something",
-    "newVersionMajor": "1",
+    "newValue": "1.1.0-something",
     "type": "minor",
   },
 ]
@@ -27,9 +27,9 @@ Array [
   Object {
     "newDepTag": "node:8",
     "newFrom": "node:8",
+    "newMajor": "8",
     "newTag": "8",
-    "newVersion": "8",
-    "newVersionMajor": "8",
+    "newValue": "8",
     "type": "major",
   },
 ]
@@ -42,7 +42,7 @@ Array [
     "newDigestShort": "123456",
     "newFrom": "docker.io/some-dep:1.0.0@sha256:1234567890",
     "newTag": "1.0.0",
-    "newVersion": "123456",
+    "newValue": "123456",
     "type": "digest",
   },
 ]
@@ -54,27 +54,27 @@ Array [
     "newDepTag": "some-dep:1.2.0",
     "newDigest": "sha256:one",
     "newFrom": "some-dep:1.2.0@sha256:one",
+    "newMajor": "1",
     "newTag": "1.2.0",
-    "newVersion": "1.2.0",
-    "newVersionMajor": "1",
+    "newValue": "1.2.0",
     "type": "minor",
   },
   Object {
     "newDepTag": "some-dep:2.0.0",
     "newDigest": "sha256:two",
     "newFrom": "some-dep:2.0.0@sha256:two",
+    "newMajor": "2",
     "newTag": "2.0.0",
-    "newVersion": "2.0.0",
-    "newVersionMajor": "2",
+    "newValue": "2.0.0",
     "type": "major",
   },
   Object {
     "newDepTag": "some-dep:3.0.0",
     "newDigest": "sha256:three",
     "newFrom": "some-dep:3.0.0@sha256:three",
+    "newMajor": "3",
     "newTag": "3.0.0",
-    "newVersion": "3.0.0",
-    "newVersionMajor": "3",
+    "newValue": "3.0.0",
     "type": "major",
   },
 ]
@@ -86,18 +86,18 @@ Array [
     "newDepTag": "some-dep:1.2.0",
     "newDigest": "sha256:one",
     "newFrom": "some-dep:1.2.0@sha256:one",
+    "newMajor": "1",
     "newTag": "1.2.0",
-    "newVersion": "1.2.0",
-    "newVersionMajor": "1",
+    "newValue": "1.2.0",
     "type": "minor",
   },
   Object {
     "newDepTag": "some-dep:3.0.0",
     "newDigest": "sha256:two",
     "newFrom": "some-dep:3.0.0@sha256:two",
+    "newMajor": "3",
     "newTag": "3.0.0",
-    "newVersion": "3.0.0",
-    "newVersionMajor": "3",
+    "newValue": "3.0.0",
     "type": "major",
   },
 ]
@@ -109,9 +109,9 @@ Array [
     "newDepTag": "some-dep:3.0.0",
     "newDigest": "sha256:one",
     "newFrom": "some-dep:3.0.0@sha256:one",
+    "newMajor": "3",
     "newTag": "3.0.0",
-    "newVersion": "3.0.0",
-    "newVersionMajor": "3",
+    "newValue": "3.0.0",
     "type": "major",
   },
 ]
@@ -123,9 +123,9 @@ Array [
     "newDepTag": "some-dep:3.0.0",
     "newDigest": "sha256:one",
     "newFrom": "docker.io/some-dep:3.0.0@sha256:one",
+    "newMajor": "3",
     "newTag": "3.0.0",
-    "newVersion": "3.0.0",
-    "newVersionMajor": "3",
+    "newValue": "3.0.0",
     "type": "major",
   },
 ]
@@ -136,9 +136,9 @@ Array [
   Object {
     "newDepTag": "node:8",
     "newFrom": "node:8",
+    "newMajor": "8",
     "newTag": "8",
-    "newVersion": "8",
-    "newVersionMajor": "8",
+    "newValue": "8",
     "type": "major",
   },
 ]
@@ -149,9 +149,9 @@ Array [
   Object {
     "newDepTag": "node:9",
     "newFrom": "node:9",
+    "newMajor": "9",
     "newTag": "9",
-    "newVersion": "9",
-    "newVersionMajor": "9",
+    "newValue": "9",
     "type": "major",
   },
 ]
diff --git a/test/manager/docker/package.spec.js b/test/manager/docker/package.spec.js
index 47c8474ac2..931392f007 100644
--- a/test/manager/docker/package.spec.js
+++ b/test/manager/docker/package.spec.js
@@ -90,7 +90,7 @@ describe('lib/manager/docker/package', () => {
       const res = await docker.getPackageUpdates(config);
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
-      expect(res[0].newVersionMajor).toEqual('3');
+      expect(res[0].newMajor).toEqual('3');
       config.major.automerge = false;
     });
     it('returns major and minor upgrades', async () => {
@@ -109,9 +109,9 @@ describe('lib/manager/docker/package', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(3);
       expect(res[0].type).toEqual('minor');
-      expect(res[0].newVersion).toEqual('1.2.0');
+      expect(res[0].newValue).toEqual('1.2.0');
       expect(res[1].type).toEqual('major');
-      expect(res[2].newVersionMajor).toEqual('3');
+      expect(res[2].newMajor).toEqual('3');
     });
     it('returns only one major', async () => {
       dockerApi.getDigest.mockReturnValueOnce(config.currentDigest);
@@ -127,9 +127,9 @@ describe('lib/manager/docker/package', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(2);
       expect(res[0].type).toEqual('minor');
-      expect(res[0].newVersion).toEqual('1.2.0');
+      expect(res[0].newValue).toEqual('1.2.0');
       expect(res[1].type).toEqual('major');
-      expect(res[1].newVersionMajor).toEqual('3');
+      expect(res[1].newMajor).toEqual('3');
     });
     it('returns only one upgrade', async () => {
       dockerApi.getDigest.mockReturnValueOnce(config.currentDigest);
@@ -145,7 +145,7 @@ describe('lib/manager/docker/package', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
       expect(res[0].type).toEqual('major');
-      expect(res[0].newVersionMajor).toEqual('3');
+      expect(res[0].newMajor).toEqual('3');
     });
     it('ignores unstable upgrades', async () => {
       config = {
@@ -163,7 +163,7 @@ describe('lib/manager/docker/package', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
       expect(res[0].type).toEqual('major');
-      expect(res[0].newVersion).toEqual('8');
+      expect(res[0].newValue).toEqual('8');
     });
     it('upgrades from unstable to stable', async () => {
       config = {
@@ -181,7 +181,7 @@ describe('lib/manager/docker/package', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
       expect(res[0].type).toEqual('major');
-      expect(res[0].newVersion).toEqual('8');
+      expect(res[0].newValue).toEqual('8');
     });
     it('upgrades from unstable to unstable if not ignoring', async () => {
       config = {
@@ -199,7 +199,7 @@ describe('lib/manager/docker/package', () => {
       const res = await docker.getPackageUpdates(config);
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
-      expect(res[0].newVersionMajor).toEqual('9');
+      expect(res[0].newMajor).toEqual('9');
     });
     it('adds digest', async () => {
       delete config.currentDigest;
@@ -214,7 +214,7 @@ describe('lib/manager/docker/package', () => {
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(2);
       expect(res[1].type).toEqual('minor');
-      expect(res[1].newVersion).toEqual('1.1.0-something');
+      expect(res[1].newValue).toEqual('1.1.0-something');
     });
     it('ignores deps with custom registry', async () => {
       delete config.currentDigest;
diff --git a/test/manager/docker/update.spec.js b/test/manager/docker/update.spec.js
index 04dac8051f..b59f6c282c 100644
--- a/test/manager/docker/update.spec.js
+++ b/test/manager/docker/update.spec.js
@@ -6,7 +6,7 @@ describe('workers/branch/dockerfile', () => {
       const fileContent = '# comment FROM node:8\nFROM node:8\nRUN something\n';
       const upgrade = {
         depName: 'node',
-        currentVersion: 'node:8',
+        currentValue: 'node:8',
         fromPrefix: 'FROM',
         fromSuffix: '',
         newFrom: 'node:8@sha256:abcdefghijklmnop',
@@ -19,7 +19,7 @@ describe('workers/branch/dockerfile', () => {
         '# comment FROM node:8\nFROM node:8 as base\nRUN something\n';
       const upgrade = {
         depName: 'node',
-        currentVersion: 'node:8',
+        currentValue: 'node:8',
         fromPrefix: 'FROM',
         fromSuffix: 'as base',
         newFrom: 'node:8@sha256:abcdefghijklmnop',
@@ -32,7 +32,7 @@ describe('workers/branch/dockerfile', () => {
         '# comment FROM node:8\nFROM   node:8 as base\nRUN something\n';
       const upgrade = {
         depName: 'node',
-        currentVersion: 'node:8',
+        currentValue: 'node:8',
         fromPrefix: 'FROM',
         fromSuffix: 'as base',
         newFrom: 'node:8@sha256:abcdefghijklmnop',
@@ -44,7 +44,7 @@ describe('workers/branch/dockerfile', () => {
       const fileContent = null;
       const upgrade = {
         depName: 'node',
-        currentVersion: 'node:8',
+        currentValue: 'node:8',
         fromPrefix: 'FROM',
         fromSuffix: '',
         newFrom: 'node:8@sha256:abcdefghijklmnop',
@@ -57,14 +57,14 @@ describe('workers/branch/dockerfile', () => {
         'FROM debian:wheezy as stage-1\nRUN something\nFROM debian:wheezy\nRUN something else';
       const upgrade1 = {
         depName: 'debian',
-        currentVersion: 'debian:wheezy',
+        currentValue: 'debian:wheezy',
         fromPrefix: 'FROM',
         fromSuffix: 'as stage-1',
         newFrom: 'debian:wheezy@sha256:abcdefghijklmnop',
       };
       const upgrade2 = {
         depName: 'debian',
-        currentVersion: 'debian:wheezy',
+        currentValue: 'debian:wheezy',
         fromPrefix: 'FROM',
         fromSuffix: '',
         newFrom: 'debian:wheezy@sha256:abcdefghijklmnop',
diff --git a/test/manager/meteor/__snapshots__/extract.spec.js.snap b/test/manager/meteor/__snapshots__/extract.spec.js.snap
index 503e784bf2..111c9ff86b 100644
--- a/test/manager/meteor/__snapshots__/extract.spec.js.snap
+++ b/test/manager/meteor/__snapshots__/extract.spec.js.snap
@@ -4,37 +4,37 @@ exports[`lib/manager/meteor/extract extractDependencies() returns results 1`] =
 Object {
   "deps": Array [
     Object {
-      "currentVersion": "0.2.0",
+      "currentValue": "0.2.0",
       "depName": "xml2js",
       "purl": "pkg:npm/xml2js",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "0.6.0",
+      "currentValue": "0.6.0",
       "depName": "xml-crypto",
       "purl": "pkg:npm/xml-crypto",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "0.1.19",
+      "currentValue": "0.1.19",
       "depName": "xmldom",
       "purl": "pkg:npm/xmldom",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "2.7.10",
+      "currentValue": "2.7.10",
       "depName": "connect",
       "purl": "pkg:npm/connect",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "2.6.4",
+      "currentValue": "2.6.4",
       "depName": "xmlbuilder",
       "purl": "pkg:npm/xmlbuilder",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "0.2.0",
+      "currentValue": "0.2.0",
       "depName": "querystring",
       "purl": "pkg:npm/querystring",
       "versionScheme": "semver",
diff --git a/test/manager/meteor/__snapshots__/update.spec.js.snap b/test/manager/meteor/__snapshots__/update.spec.js.snap
index 1f37915231..ae350256a1 100644
--- a/test/manager/meteor/__snapshots__/update.spec.js.snap
+++ b/test/manager/meteor/__snapshots__/update.spec.js.snap
@@ -1,6 +1,6 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`workers/branch/package-js .updateDependency(fileContent, depName, currentVersion, newVersion) handles alternative quotes and white space 1`] = `
+exports[`workers/branch/package-js .updateDependency(fileContent, depName, currentValue, newValue) handles alternative quotes and white space 1`] = `
 "Package.describe({
     \\"name\\": \\"steffo:meteor-accounts-saml\\",
     \\"summary\\": \\"SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.\\",
@@ -30,7 +30,7 @@ Npm.depends({
 "
 `;
 
-exports[`workers/branch/package-js .updateDependency(fileContent, depName, currentVersion, newVersion) replaces a dependency value 1`] = `
+exports[`workers/branch/package-js .updateDependency(fileContent, depName, currentValue, newValue) replaces a dependency value 1`] = `
 "Package.describe({
 	'name': 'steffo:meteor-accounts-saml',
 	'summary': 'SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.',
diff --git a/test/manager/meteor/update.spec.js b/test/manager/meteor/update.spec.js
index 9c1d0b7749..c866d23d9d 100644
--- a/test/manager/meteor/update.spec.js
+++ b/test/manager/meteor/update.spec.js
@@ -13,12 +13,12 @@ const input01Content = readFixture('package-1.js');
 const input02Content = readFixture('package-2.js');
 
 describe('workers/branch/package-js', () => {
-  describe('.updateDependency(fileContent, depName, currentVersion, newVersion)', () => {
+  describe('.updateDependency(fileContent, depName, currentValue, newValue)', () => {
     it('replaces a dependency value', () => {
       const upgrade = {
         depName: 'xmldom',
-        currentVersion: '0.1.19',
-        newVersion: '0.22.1',
+        currentValue: '0.1.19',
+        newValue: '0.22.1',
       };
       const testContent = meteorUpdater.updateDependency(
         input01Content,
@@ -29,8 +29,8 @@ describe('workers/branch/package-js', () => {
     it('handles alternative quotes and white space', () => {
       const upgrade = {
         depName: 'xmldom',
-        currentVersion: '0.1.19',
-        newVersion: '0.22.1',
+        currentValue: '0.1.19',
+        newValue: '0.22.1',
       };
       const testContent = meteorUpdater.updateDependency(
         input02Content,
@@ -41,8 +41,8 @@ describe('workers/branch/package-js', () => {
     it('handles the case where the desired version is already supported', () => {
       const upgrade = {
         depName: 'query-string',
-        currentVersion: '0.2.0',
-        newVersion: '0.2.0',
+        currentValue: '0.2.0',
+        newValue: '0.2.0',
       };
       const testContent = meteorUpdater.updateDependency(
         input01Content,
diff --git a/test/manager/npm/extract/__snapshots__/index.spec.js.snap b/test/manager/npm/extract/__snapshots__/index.spec.js.snap
index 8555d4089a..9f51362ba7 100644
--- a/test/manager/npm/extract/__snapshots__/index.spec.js.snap
+++ b/test/manager/npm/extract/__snapshots__/index.spec.js.snap
@@ -4,21 +4,21 @@ exports[`manager/npm/extract .extractDependencies() extracts engines 1`] = `
 Object {
   "deps": Array [
     Object {
-      "currentVersion": "1.6.0",
+      "currentValue": "1.6.0",
       "depName": "angular",
       "depType": "dependencies",
       "purl": "pkg:npm/angular",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.6.0",
+      "currentValue": "1.6.0",
       "depName": "@angular/cli",
       "depType": "devDependencies",
       "purl": "pkg:npm/%40angular/cli",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "*",
+      "currentValue": "*",
       "depName": "foo",
       "depType": "devDependencies",
       "purl": "pkg:npm/foo",
@@ -26,21 +26,21 @@ Object {
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "file:../foo/bar",
+      "currentValue": "file:../foo/bar",
       "depName": "bar",
       "depType": "devDependencies",
       "skipReason": "file",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "latest",
+      "currentValue": "latest",
       "depName": "other",
       "depType": "devDependencies",
       "skipReason": "unknown-version",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": ">=1.7.0 <2.0.0",
+      "currentValue": ">=1.7.0 <2.0.0",
       "depName": "atom",
       "depType": "engines",
       "skipReason": "unknown-engines",
@@ -48,7 +48,7 @@ Object {
     },
     Object {
       "commitMessageTopic": "Node.js",
-      "currentVersion": ">= 8.9.2",
+      "currentValue": ">= 8.9.2",
       "depName": "node",
       "depType": "engines",
       "major": Object {
@@ -59,7 +59,7 @@ Object {
     },
     Object {
       "commitMessageTopic": "npm",
-      "currentVersion": "^8.0.0",
+      "currentValue": "^8.0.0",
       "depName": "npm",
       "depType": "engines",
       "purl": "pkg:npm/npm",
@@ -67,7 +67,7 @@ Object {
     },
     Object {
       "commitMessageTopic": "Yarn",
-      "currentVersion": "disabled",
+      "currentValue": "disabled",
       "depName": "yarn",
       "depType": "engines",
       "purl": "pkg:github/yarnpkg/yarn?clean=true",
@@ -94,70 +94,70 @@ exports[`manager/npm/extract .extractDependencies() finds a lock file 1`] = `
 Object {
   "deps": Array [
     Object {
-      "currentVersion": "6.5.0",
+      "currentValue": "6.5.0",
       "depName": "autoprefixer",
       "depType": "dependencies",
       "purl": "pkg:npm/autoprefixer",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "~1.6.0",
+      "currentValue": "~1.6.0",
       "depName": "bower",
       "depType": "dependencies",
       "purl": "pkg:npm/bower",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "13.1.0",
+      "currentValue": "13.1.0",
       "depName": "browserify",
       "depType": "dependencies",
       "purl": "pkg:npm/browserify",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "0.9.2",
+      "currentValue": "0.9.2",
       "depName": "browserify-css",
       "depType": "dependencies",
       "purl": "pkg:npm/browserify-css",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "=0.22.0",
+      "currentValue": "=0.22.0",
       "depName": "cheerio",
       "depType": "dependencies",
       "purl": "pkg:npm/cheerio",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.21.0",
+      "currentValue": "1.21.0",
       "depName": "config",
       "depType": "dependencies",
       "purl": "pkg:npm/config",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "^1.5.8",
+      "currentValue": "^1.5.8",
       "depName": "angular",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.5.8",
+      "currentValue": "1.5.8",
       "depName": "angular-touch",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular-touch",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.5.8",
+      "currentValue": "1.5.8",
       "depName": "angular-sanitize",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular-sanitize",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "4.0.0-beta.1",
+      "currentValue": "4.0.0-beta.1",
       "depName": "@angular/core",
       "depType": "devDependencies",
       "purl": "pkg:npm/%40angular/core",
@@ -203,70 +203,70 @@ exports[`manager/npm/extract .extractDependencies() finds lerna 1`] = `
 Object {
   "deps": Array [
     Object {
-      "currentVersion": "6.5.0",
+      "currentValue": "6.5.0",
       "depName": "autoprefixer",
       "depType": "dependencies",
       "purl": "pkg:npm/autoprefixer",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "~1.6.0",
+      "currentValue": "~1.6.0",
       "depName": "bower",
       "depType": "dependencies",
       "purl": "pkg:npm/bower",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "13.1.0",
+      "currentValue": "13.1.0",
       "depName": "browserify",
       "depType": "dependencies",
       "purl": "pkg:npm/browserify",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "0.9.2",
+      "currentValue": "0.9.2",
       "depName": "browserify-css",
       "depType": "dependencies",
       "purl": "pkg:npm/browserify-css",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "=0.22.0",
+      "currentValue": "=0.22.0",
       "depName": "cheerio",
       "depType": "dependencies",
       "purl": "pkg:npm/cheerio",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.21.0",
+      "currentValue": "1.21.0",
       "depName": "config",
       "depType": "dependencies",
       "purl": "pkg:npm/config",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "^1.5.8",
+      "currentValue": "^1.5.8",
       "depName": "angular",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.5.8",
+      "currentValue": "1.5.8",
       "depName": "angular-touch",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular-touch",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.5.8",
+      "currentValue": "1.5.8",
       "depName": "angular-sanitize",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular-sanitize",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "4.0.0-beta.1",
+      "currentValue": "4.0.0-beta.1",
       "depName": "@angular/core",
       "depType": "devDependencies",
       "purl": "pkg:npm/%40angular/core",
@@ -292,70 +292,70 @@ exports[`manager/npm/extract .extractDependencies() returns an array of dependen
 Object {
   "deps": Array [
     Object {
-      "currentVersion": "6.5.0",
+      "currentValue": "6.5.0",
       "depName": "autoprefixer",
       "depType": "dependencies",
       "purl": "pkg:npm/autoprefixer",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "~1.6.0",
+      "currentValue": "~1.6.0",
       "depName": "bower",
       "depType": "dependencies",
       "purl": "pkg:npm/bower",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "13.1.0",
+      "currentValue": "13.1.0",
       "depName": "browserify",
       "depType": "dependencies",
       "purl": "pkg:npm/browserify",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "0.9.2",
+      "currentValue": "0.9.2",
       "depName": "browserify-css",
       "depType": "dependencies",
       "purl": "pkg:npm/browserify-css",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "=0.22.0",
+      "currentValue": "=0.22.0",
       "depName": "cheerio",
       "depType": "dependencies",
       "purl": "pkg:npm/cheerio",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.21.0",
+      "currentValue": "1.21.0",
       "depName": "config",
       "depType": "dependencies",
       "purl": "pkg:npm/config",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "^1.5.8",
+      "currentValue": "^1.5.8",
       "depName": "angular",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.5.8",
+      "currentValue": "1.5.8",
       "depName": "angular-touch",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular-touch",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "1.5.8",
+      "currentValue": "1.5.8",
       "depName": "angular-sanitize",
       "depType": "devDependencies",
       "purl": "pkg:npm/angular-sanitize",
       "versionScheme": "semver",
     },
     Object {
-      "currentVersion": "4.0.0-beta.1",
+      "currentValue": "4.0.0-beta.1",
       "depName": "@angular/core",
       "depType": "devDependencies",
       "purl": "pkg:npm/%40angular/core",
diff --git a/test/manager/npm/extract/__snapshots__/locked-versions.spec.js.snap b/test/manager/npm/extract/__snapshots__/locked-versions.spec.js.snap
index 66c457d6d2..9603a80534 100644
--- a/test/manager/npm/extract/__snapshots__/locked-versions.spec.js.snap
+++ b/test/manager/npm/extract/__snapshots__/locked-versions.spec.js.snap
@@ -5,11 +5,11 @@ Array [
   Object {
     "deps": Array [
       Object {
-        "currentVersion": "1.0.0",
+        "currentValue": "1.0.0",
         "depName": "a",
       },
       Object {
-        "currentVersion": "2.0.0",
+        "currentValue": "2.0.0",
         "depName": "b",
       },
     ],
@@ -23,12 +23,12 @@ Array [
   Object {
     "deps": Array [
       Object {
-        "currentVersion": "1.0.0",
+        "currentValue": "1.0.0",
         "depName": "a",
         "lockedVersion": "1.0.0",
       },
       Object {
-        "currentVersion": "2.0.0",
+        "currentValue": "2.0.0",
         "depName": "b",
         "lockedVersion": "2.0.0",
       },
@@ -43,12 +43,12 @@ Array [
   Object {
     "deps": Array [
       Object {
-        "currentVersion": "1.0.0",
+        "currentValue": "1.0.0",
         "depName": "a",
         "lockedVersion": "1.0.0",
       },
       Object {
-        "currentVersion": "2.0.0",
+        "currentValue": "2.0.0",
         "depName": "b",
         "lockedVersion": "2.0.0",
       },
diff --git a/test/manager/npm/extract/locked-versions.spec.js b/test/manager/npm/extract/locked-versions.spec.js
index 98872ed275..3c1bb4ca36 100644
--- a/test/manager/npm/extract/locked-versions.spec.js
+++ b/test/manager/npm/extract/locked-versions.spec.js
@@ -23,11 +23,11 @@ describe('manager/npm/extract/locked-versions', () => {
           deps: [
             {
               depName: 'a',
-              currentVersion: '1.0.0',
+              currentValue: '1.0.0',
             },
             {
               depName: 'b',
-              currentVersion: '2.0.0',
+              currentValue: '2.0.0',
             },
           ],
         },
@@ -47,11 +47,11 @@ describe('manager/npm/extract/locked-versions', () => {
           deps: [
             {
               depName: 'a',
-              currentVersion: '1.0.0',
+              currentValue: '1.0.0',
             },
             {
               depName: 'b',
-              currentVersion: '2.0.0',
+              currentValue: '2.0.0',
             },
           ],
         },
@@ -66,11 +66,11 @@ describe('manager/npm/extract/locked-versions', () => {
           deps: [
             {
               depName: 'a',
-              currentVersion: '1.0.0',
+              currentValue: '1.0.0',
             },
             {
               depName: 'b',
-              currentVersion: '2.0.0',
+              currentValue: '2.0.0',
             },
           ],
         },
diff --git a/test/manager/npm/range.spec.js b/test/manager/npm/range.spec.js
index 93e4235da5..5ffa9f9f18 100644
--- a/test/manager/npm/range.spec.js
+++ b/test/manager/npm/range.spec.js
@@ -25,7 +25,7 @@ describe('getRangeStrategy', () => {
     const config = {
       rangeStrategy: 'auto',
       depType: 'dependencies',
-      currentVersion: '^1.6.0 || ^2.0.0',
+      currentValue: '^1.6.0 || ^2.0.0',
     };
     expect(getRangeStrategy(config)).toEqual('widen');
   });
@@ -33,7 +33,7 @@ describe('getRangeStrategy', () => {
     const config = {
       rangeStrategy: 'bump',
       depType: 'dependencies',
-      currentVersion: '^1.6.0 || ^2.0.0',
+      currentValue: '^1.6.0 || ^2.0.0',
     };
     expect(getRangeStrategy(config)).toEqual('widen');
   });
diff --git a/test/manager/npm/update.spec.js b/test/manager/npm/update.spec.js
index 4494f231a2..dd1b990d40 100644
--- a/test/manager/npm/update.spec.js
+++ b/test/manager/npm/update.spec.js
@@ -13,12 +13,12 @@ function readFixture(fixture) {
 const input01Content = readFixture('inputs/01.json');
 
 describe('workers/branch/package-json', () => {
-  describe('.updateDependency(fileContent, depType, depName, newVersion)', () => {
+  describe('.updateDependency(fileContent, depType, depName, newValue)', () => {
     it('replaces a dependency value', () => {
       const upgrade = {
         depType: 'dependencies',
         depName: 'cheerio',
-        newVersion: '0.22.1',
+        newValue: '0.22.1',
       };
       const outputContent = readFixture('outputs/011.json');
       const testContent = npmUpdater.updateDependency(input01Content, upgrade);
@@ -28,7 +28,7 @@ describe('workers/branch/package-json', () => {
       const upgrade = {
         depType: 'dependencies',
         depName: 'config',
-        newVersion: '1.22.0',
+        newValue: '1.22.0',
       };
       const testContent = npmUpdater.updateDependency(input01Content, upgrade);
       expect(JSON.parse(testContent).dependencies.config).toEqual('1.22.0');
@@ -38,7 +38,7 @@ describe('workers/branch/package-json', () => {
       const upgrade = {
         depType: 'devDependencies',
         depName: 'angular-touch',
-        newVersion: '1.6.1',
+        newValue: '1.6.1',
       };
       const outputContent = readFixture('outputs/012.json');
       const testContent = npmUpdater.updateDependency(input01Content, upgrade);
@@ -48,7 +48,7 @@ describe('workers/branch/package-json', () => {
       const upgrade = {
         depType: 'devDependencies',
         depName: 'angular-sanitize',
-        newVersion: '1.6.1',
+        newValue: '1.6.1',
       };
       const outputContent = readFixture('outputs/013.json');
       const testContent = npmUpdater.updateDependency(input01Content, upgrade);
@@ -58,7 +58,7 @@ describe('workers/branch/package-json', () => {
       const upgrade = {
         depType: 'devDependencies',
         depName: 'angular-touch',
-        newVersion: '1.5.8',
+        newValue: '1.5.8',
       };
       const testContent = npmUpdater.updateDependency(input01Content, upgrade);
       testContent.should.equal(input01Content);
@@ -67,7 +67,7 @@ describe('workers/branch/package-json', () => {
       const upgrade = {
         depType: 'blah',
         depName: 'angular-touch-not',
-        newVersion: '1.5.8',
+        newValue: '1.5.8',
       };
       const testContent = npmUpdater.updateDependency(input01Content, upgrade);
       expect(testContent).toBe(null);
diff --git a/test/manager/nvm/__snapshots__/extract.spec.js.snap b/test/manager/nvm/__snapshots__/extract.spec.js.snap
index d909afc4e4..2596e50c26 100644
--- a/test/manager/nvm/__snapshots__/extract.spec.js.snap
+++ b/test/manager/nvm/__snapshots__/extract.spec.js.snap
@@ -3,7 +3,7 @@
 exports[`lib/manager/nvm/extract extractDependencies() returns a result 1`] = `
 Array [
   Object {
-    "currentVersion": "8.4.0",
+    "currentValue": "8.4.0",
     "depName": "node",
     "purl": "pkg:github/nodejs/node?clean=true",
     "versionScheme": "semver",
@@ -14,7 +14,7 @@ Array [
 exports[`lib/manager/nvm/extract extractDependencies() skips non-pinned 1`] = `
 Array [
   Object {
-    "currentVersion": "8.4",
+    "currentValue": "8.4",
     "depName": "node",
     "purl": "pkg:github/nodejs/node?clean=true",
     "skipReason": "unsupported-version",
diff --git a/test/manager/nvm/update.spec.js b/test/manager/nvm/update.spec.js
index 91e62042d3..b2c120ebef 100644
--- a/test/manager/nvm/update.spec.js
+++ b/test/manager/nvm/update.spec.js
@@ -4,7 +4,7 @@ describe('manager/nvm/update', () => {
   describe('updateDependency', () => {
     it('updates values', () => {
       const upgrade = {
-        newVersion: '8.9.1',
+        newValue: '8.9.1',
       };
       const res = nodefile.updateDependency('8.9.0\n', upgrade);
       expect(res).toMatchSnapshot();
diff --git a/test/manager/pip_requirements/__snapshots__/extract.spec.js.snap b/test/manager/pip_requirements/__snapshots__/extract.spec.js.snap
index 7613bfff8c..4d8d301a32 100644
--- a/test/manager/pip_requirements/__snapshots__/extract.spec.js.snap
+++ b/test/manager/pip_requirements/__snapshots__/extract.spec.js.snap
@@ -3,7 +3,7 @@
 exports[`lib/manager/pip_requirements/extract extractDependencies() extracts dependencies 1`] = `
 Array [
   Object {
-    "currentVersion": "0.3.1",
+    "currentValue": "0.3.1",
     "depName": "some-package",
     "lineNumber": 2,
     "versionScheme": "pep440",
diff --git a/test/manager/pip_requirements/__snapshots__/package.spec.js.snap b/test/manager/pip_requirements/__snapshots__/package.spec.js.snap
index 9e5c668542..37f3a250c9 100644
--- a/test/manager/pip_requirements/__snapshots__/package.spec.js.snap
+++ b/test/manager/pip_requirements/__snapshots__/package.spec.js.snap
@@ -5,8 +5,8 @@ Array [
   Object {
     "depName": "some-package",
     "fromVersion": "0.3.2",
-    "newVersion": "1.0.2",
-    "newVersionMajor": 1,
+    "newMajor": 1,
+    "newValue": "1.0.2",
     "toVersion": "1.0.2",
   },
 ]
diff --git a/test/manager/pip_requirements/package.spec.js b/test/manager/pip_requirements/package.spec.js
index a727e0e754..794f69c527 100644
--- a/test/manager/pip_requirements/package.spec.js
+++ b/test/manager/pip_requirements/package.spec.js
@@ -17,17 +17,17 @@ describe('lib/manager/pip_requirements/package', () => {
     });
     it('returns empty on error', async () => {
       config.depName = 'some-package';
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       expect(await getPackageUpdates(config)).toEqual([]);
     });
     it('returns empty if current version is not semver', async () => {
       config.depName = 'some-package';
-      config.currentVersion = 'abcdefg';
+      config.currentValue = 'abcdefg';
       expect(await getPackageUpdates(config)).toEqual([]);
     });
     it('returns empty if no newer versions', async () => {
       config.depName = 'some-package';
-      config.currentVersion = '0.3.2';
+      config.currentValue = '0.3.2';
       got.mockReturnValueOnce({
         body: {
           releases: {
@@ -40,7 +40,7 @@ describe('lib/manager/pip_requirements/package', () => {
     });
     it('returns one upgrade', async () => {
       config.depName = 'some-package';
-      config.currentVersion = '0.3.2';
+      config.currentValue = '0.3.2';
       got.mockReturnValueOnce({
         body: {
           releases: {
diff --git a/test/manager/pip_requirements/update.spec.js b/test/manager/pip_requirements/update.spec.js
index 3e60f31090..6dada4f6bf 100644
--- a/test/manager/pip_requirements/update.spec.js
+++ b/test/manager/pip_requirements/update.spec.js
@@ -14,11 +14,11 @@ describe('manager/pip_requirements/update', () => {
       const upgrade = {
         depName: 'url',
         lineNumber: 2,
-        newVersion: '1.0.1',
+        newValue: '1.0.1',
       };
       const res = updateDependency(requirements, upgrade);
       expect(res).not.toEqual(requirements);
-      expect(res.includes(upgrade.newVersion)).toBe(true);
+      expect(res.includes(upgrade.newValue)).toBe(true);
     });
     it('returns null if error', () => {
       const res = updateDependency(null, null);
diff --git a/test/manager/travis/__snapshots__/extract.spec.js.snap b/test/manager/travis/__snapshots__/extract.spec.js.snap
index 80ab103778..ca8a159c52 100644
--- a/test/manager/travis/__snapshots__/extract.spec.js.snap
+++ b/test/manager/travis/__snapshots__/extract.spec.js.snap
@@ -4,7 +4,7 @@ exports[`lib/manager/travis/extract extractDependencies() returns results 1`] =
 Object {
   "deps": Array [
     Object {
-      "currentVersion": Array [
+      "currentValue": Array [
         6,
         8,
       ],
diff --git a/test/manager/travis/__snapshots__/package.spec.js.snap b/test/manager/travis/__snapshots__/package.spec.js.snap
index a13f78297a..52c0e303af 100644
--- a/test/manager/travis/__snapshots__/package.spec.js.snap
+++ b/test/manager/travis/__snapshots__/package.spec.js.snap
@@ -4,7 +4,7 @@ exports[`lib/manager/node/package getPackageUpdates detects pinning 1`] = `
 Array [
   Object {
     "isRange": true,
-    "newVersion": Array [
+    "newValue": Array [
       "8.9.4",
       "6.11.0",
     ],
diff --git a/test/manager/travis/package.spec.js b/test/manager/travis/package.spec.js
index c3a6fb52fc..2d58c173b9 100644
--- a/test/manager/travis/package.spec.js
+++ b/test/manager/travis/package.spec.js
@@ -13,26 +13,26 @@ describe('lib/manager/node/package', () => {
       };
     });
     it('returns empty if missing supportPolicy', async () => {
-      config.currentVersion = ['6', '8'];
+      config.currentValue = ['6', '8'];
       expect(await node.getPackageUpdates(config)).toEqual([]);
     });
     it('returns empty if invalid supportPolicy', async () => {
-      config.currentVersion = ['6', '8'];
+      config.currentValue = ['6', '8'];
       config.supportPolicy = ['foo'];
       expect(await node.getPackageUpdates(config)).toEqual([]);
     });
     it('returns empty if matching', async () => {
-      config.currentVersion = ['8'];
+      config.currentValue = ['8'];
       config.supportPolicy = ['lts_active'];
       expect(await node.getPackageUpdates(config)).toEqual([]);
     });
     it('returns result if needing updates', async () => {
-      config.currentVersion = ['6', '8'];
+      config.currentValue = ['6', '8'];
       config.supportPolicy = ['lts'];
       expect(await node.getPackageUpdates(config)).toMatchSnapshot();
     });
     it('detects pinning', async () => {
-      config.currentVersion = ['6.1.0', '8.4.0'];
+      config.currentValue = ['6.1.0', '8.4.0'];
       config.supportPolicy = ['lts'];
       githubDatasource.getDependency.mockReturnValueOnce({
         versions: {
diff --git a/test/manager/travis/update.spec.js b/test/manager/travis/update.spec.js
index 064a35b1f6..c2d30a2ba0 100644
--- a/test/manager/travis/update.spec.js
+++ b/test/manager/travis/update.spec.js
@@ -11,21 +11,21 @@ describe('manager/travis/update', () => {
   describe('updateDependency', () => {
     it('updates values', () => {
       const upgrade = {
-        newVersion: ['6', '8'],
+        newValue: ['6', '8'],
       };
       const res = nodefile.updateDependency(content, upgrade);
       expect(res).toMatchSnapshot();
     });
     it('falls back to 2 spaces', () => {
       const upgrade = {
-        newVersion: ['6', '8'],
+        newValue: ['6', '8'],
       };
       const res = nodefile.updateDependency('hello: world', upgrade);
       expect(res).toMatchSnapshot();
     });
     it('returns null if error', () => {
       const upgrade = {
-        newVersion: '6',
+        newValue: '6',
       };
       const res = nodefile.updateDependency(content, upgrade);
       expect(res).toBe(null);
diff --git a/test/util/package-rules.spec.js b/test/util/package-rules.spec.js
index fc0e64caee..efed3e527c 100644
--- a/test/util/package-rules.spec.js
+++ b/test/util/package-rules.spec.js
@@ -167,7 +167,7 @@ describe('applyPackageRules()', () => {
       ...config,
       ...{
         depName: 'test',
-        currentVersion: '^1.0.0',
+        currentValue: '^1.0.0',
         fromVersion: '1.0.3',
       },
     });
@@ -176,7 +176,7 @@ describe('applyPackageRules()', () => {
       ...config,
       ...{
         depName: 'test',
-        currentVersion: '^1.0.0',
+        currentValue: '^1.0.0',
       },
     });
     expect(res2.x).toBeUndefined();
@@ -195,7 +195,7 @@ describe('applyPackageRules()', () => {
       ...config,
       ...{
         depName: 'test',
-        currentVersion: '2.4.6',
+        currentValue: '2.4.6',
         fromVersion: '2.4.6',
       },
     });
@@ -215,7 +215,7 @@ describe('applyPackageRules()', () => {
       ...config,
       ...{
         depName: 'test',
-        currentVersion: '4.6.0',
+        currentValue: '4.6.0',
         fromVersion: '4.6.0',
       },
     });
diff --git a/test/workers/pr/changelog.spec.js b/test/workers/pr/changelog.spec.js
index 81d5c2160b..11ecf482b9 100644
--- a/test/workers/pr/changelog.spec.js
+++ b/test/workers/pr/changelog.spec.js
@@ -15,7 +15,7 @@ const upgrade = {
   manager: 'npm',
   depName: 'renovate',
   fromVersion: '1.0.0',
-  newVersion: '3.0.0',
+  newValue: '3.0.0',
 };
 
 function npmResponse() {
@@ -70,12 +70,12 @@ describe('workers/pr/changelog', () => {
       expect(npmRegistry.getDependency.mock.calls).toHaveLength(0);
       expect(ghGot.mock.calls).toHaveLength(0);
     });
-    it('returns null if fromVersion equals newVersion', async () => {
+    it('returns null if fromVersion equals newValue', async () => {
       expect(
         await getChangeLogJSON({
           ...upgrade,
           fromVersion: '1.0.0',
-          newVersion: '1.0.0',
+          newValue: '1.0.0',
         })
       ).toBe(null);
       expect(ghGot.mock.calls).toHaveLength(0);
diff --git a/test/workers/pr/index.spec.js b/test/workers/pr/index.spec.js
index daaab7ba23..fac8cb0bd1 100644
--- a/test/workers/pr/index.spec.js
+++ b/test/workers/pr/index.spec.js
@@ -111,8 +111,8 @@ describe('workers/pr', () => {
       config.depName = 'dummy';
       config.isGitHub = true;
       config.privateRepo = true;
-      config.currentVersion = '1.0.0';
-      config.newVersion = '1.1.0';
+      config.currentValue = '1.0.0';
+      config.newValue = '1.1.0';
       config.repositoryUrl = 'https://github.com/renovateapp/dummy';
       platform.createPr.mockReturnValue({ displayNumber: 'New Pull Request' });
       config.upgrades = [config];
@@ -124,7 +124,7 @@ describe('workers/pr', () => {
       platform.updatePr.mockImplementationOnce(() => {
         throw new Error('oops');
       });
-      config.newVersion = '1.2.0';
+      config.newValue = '1.2.0';
       platform.getBranchPr.mockReturnValueOnce(existingPr);
       const pr = await prWorker.ensurePr(config);
       expect(pr).toBe(null);
@@ -281,13 +281,13 @@ describe('workers/pr', () => {
       expect(pr).toMatchObject(existingPr);
     });
     it('should return modified existing PR', async () => {
-      config.newVersion = '1.2.0';
+      config.newValue = '1.2.0';
       platform.getBranchPr.mockReturnValueOnce(existingPr);
       const pr = await prWorker.ensurePr(config);
       expect(pr).toMatchSnapshot();
     });
     it('should return modified existing PR title', async () => {
-      config.newVersion = '1.2.0';
+      config.newValue = '1.2.0';
       platform.getBranchPr.mockReturnValueOnce({
         ...existingPr,
         title: 'wrong',
diff --git a/test/workers/repository/onboarding/pr/pr-list.spec.js b/test/workers/repository/onboarding/pr/pr-list.spec.js
index f55e4d93b0..c3da8579ee 100644
--- a/test/workers/repository/onboarding/pr/pr-list.spec.js
+++ b/test/workers/repository/onboarding/pr/pr-list.spec.js
@@ -45,12 +45,12 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
               repositoryUrl: 'https://a',
               depName: 'a',
               depType: 'devDependencies',
-              newVersion: '1.1.0',
+              newValue: '1.1.0',
             },
             {
               type: 'pin',
               depName: 'b',
-              newVersion: '1.5.3',
+              newValue: '1.5.3',
             },
           ],
         },
@@ -61,9 +61,9 @@ describe('workers/repository/onboarding/pr/pr-list', () => {
             {
               repositoryUrl: 'https://a',
               depName: 'a',
-              currentVersion: '^1.0.0',
+              currentValue: '^1.0.0',
               depType: 'devDependencies',
-              newVersion: '2.0.1',
+              newValue: '2.0.1',
             },
           ],
         },
diff --git a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap
index 301e79ade4..bb454bd4b9 100644
--- a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap
+++ b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap
@@ -4,17 +4,17 @@ exports[`manager/npm/lookup .lookupUpdates() disables major release separation (
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.4.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.4.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -27,9 +27,9 @@ exports[`manager/npm/lookup .lookupUpdates() disables major release separation (
 Array [
   Object {
     "fromVersion": "1.0.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -42,17 +42,17 @@ exports[`manager/npm/lookup .lookupUpdates() handles PEP440 1`] = `
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.9.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.9.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.9.4",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -60,9 +60,9 @@ Array [
   },
   Object {
     "fromVersion": "0.9.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -85,9 +85,9 @@ Array [
   Object {
     "fromVersion": "2.9.0-rc",
     "isRange": true,
-    "newVersion": "^2.9.1-insiders.20180516",
-    "newVersionMajor": 2,
-    "newVersionMinor": 9,
+    "newMajor": 2,
+    "newMinor": 9,
+    "newValue": "^2.9.1-insiders.20180516",
     "repositoryUrl": "https://github.com/Microsoft/TypeScript",
     "toVersion": "2.9.1-insiders.20180516",
     "type": "minor",
@@ -102,17 +102,17 @@ exports[`manager/npm/lookup .lookupUpdates() ignores pinning for ranges when oth
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.9.7",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -125,8 +125,8 @@ exports[`manager/npm/lookup .lookupUpdates() pins minor ranged versions 1`] = `
 Array [
   Object {
     "isPin": true,
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
+    "newMajor": 1,
+    "newValue": "1.4.1",
     "type": "pin",
     "unpublishable": false,
   },
@@ -146,9 +146,9 @@ Array [
   Object {
     "fromVersion": "2.7.0",
     "isRange": true,
-    "newVersion": "^3.0.0",
-    "newVersionMajor": 3,
-    "newVersionMinor": 8,
+    "newMajor": 3,
+    "newMinor": 8,
+    "newValue": "^3.0.0",
     "repositoryUrl": "https://github.com/webpack/webpack",
     "toVersion": "3.8.1",
     "type": "major",
@@ -162,9 +162,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "~1.4.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "~1.4.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -177,9 +177,9 @@ exports[`manager/npm/lookup .lookupUpdates() replaces non-range in-range updates
 Array [
   Object {
     "fromVersion": "1.0.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -192,17 +192,17 @@ exports[`manager/npm/lookup .lookupUpdates() returns both updates if automerging
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.4.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.4.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -210,9 +210,9 @@ Array [
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -225,9 +225,9 @@ exports[`manager/npm/lookup .lookupUpdates() returns minor update if automerging
 Array [
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -235,9 +235,9 @@ Array [
   },
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -250,9 +250,9 @@ exports[`manager/npm/lookup .lookupUpdates() returns minor update if separate pa
 Array [
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -260,9 +260,9 @@ Array [
   },
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -275,9 +275,9 @@ exports[`manager/npm/lookup .lookupUpdates() returns only one update if automerg
 Array [
   Object {
     "fromVersion": "0.4.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -290,17 +290,17 @@ exports[`manager/npm/lookup .lookupUpdates() returns only one update if automerg
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.4.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.4.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -313,17 +313,17 @@ exports[`manager/npm/lookup .lookupUpdates() returns only one update if grouping
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.4.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.4.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -336,9 +336,9 @@ exports[`manager/npm/lookup .lookupUpdates() returns patch minor and major 1`] =
 Array [
   Object {
     "fromVersion": "0.8.0",
-    "newVersion": "0.8.12",
-    "newVersionMajor": 0,
-    "newVersionMinor": 8,
+    "newMajor": 0,
+    "newMinor": 8,
+    "newValue": "0.8.12",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.8.12",
     "type": "patch",
@@ -346,9 +346,9 @@ Array [
   },
   Object {
     "fromVersion": "0.8.0",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -356,9 +356,9 @@ Array [
   },
   Object {
     "fromVersion": "0.8.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -371,9 +371,9 @@ exports[`manager/npm/lookup .lookupUpdates() returns patch update if automerging
 Array [
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "patch",
@@ -381,9 +381,9 @@ Array [
   },
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -396,9 +396,9 @@ exports[`manager/npm/lookup .lookupUpdates() returns patch update if separateMin
 Array [
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "patch",
@@ -406,9 +406,9 @@ Array [
   },
   Object {
     "fromVersion": "0.9.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -420,11 +420,11 @@ Array [
 exports[`manager/npm/lookup .lookupUpdates() returns rollback for pinned version 1`] = `
 Array [
   Object {
-    "branchName": "{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newVersionMajor}}}.x",
+    "branchName": "{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newMajor}}}.x",
     "commitMessageAction": "Roll back",
     "isRollback": true,
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "semanticCommitType": "fix",
     "type": "rollback",
@@ -432,9 +432,9 @@ Array [
   },
   Object {
     "fromVersion": "0.9.99",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -446,11 +446,11 @@ Array [
 exports[`manager/npm/lookup .lookupUpdates() returns rollback for ranged version 1`] = `
 Array [
   Object {
-    "branchName": "{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newVersionMajor}}}.x",
+    "branchName": "{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newMajor}}}.x",
     "commitMessageAction": "Roll back",
     "isRollback": true,
-    "newVersion": "^0.9.7",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "^0.9.7",
     "semanticCommitType": "fix",
     "type": "rollback",
     "unpublishable": false,
@@ -462,9 +462,9 @@ exports[`manager/npm/lookup .lookupUpdates() should allow unstable versions if t
 Array [
   Object {
     "fromVersion": "2.3.0-beta.1",
-    "newVersion": "2.5.17-beta.0",
-    "newVersionMajor": 2,
-    "newVersionMinor": 5,
+    "newMajor": 2,
+    "newMinor": 5,
+    "newValue": "2.5.17-beta.0",
     "repositoryUrl": "https://github.com/vuejs/vue",
     "toVersion": "2.5.17-beta.0",
     "type": "minor",
@@ -477,9 +477,9 @@ exports[`manager/npm/lookup .lookupUpdates() should allow unstable versions if t
 Array [
   Object {
     "fromVersion": "2.5.16",
-    "newVersion": "2.5.17-beta.0",
-    "newVersionMajor": 2,
-    "newVersionMinor": 5,
+    "newMajor": 2,
+    "newMinor": 5,
+    "newValue": "2.5.17-beta.0",
     "repositoryUrl": "https://github.com/vuejs/vue",
     "toVersion": "2.5.17-beta.0",
     "type": "minor",
@@ -490,11 +490,11 @@ Array [
 
 exports[`manager/npm/lookup .lookupUpdates() should downgrade from missing versions 1`] = `
 Object {
-  "branchName": "{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newVersionMajor}}}.x",
+  "branchName": "{{{branchPrefix}}}rollback-{{{depNameSanitized}}}-{{{newMajor}}}.x",
   "commitMessageAction": "Roll back",
   "isRollback": true,
-  "newVersion": "1.16.0",
-  "newVersionMajor": 1,
+  "newMajor": 1,
+  "newValue": "1.16.0",
   "semanticCommitType": "fix",
   "type": "rollback",
   "unpublishable": false,
@@ -506,9 +506,9 @@ Array [
   Object {
     "fromVersion": "0.0.34",
     "isRange": true,
-    "newVersion": "^0.0.35",
-    "newVersionMajor": 0,
-    "newVersionMinor": 0,
+    "newMajor": 0,
+    "newMinor": 0,
+    "newValue": "^0.0.35",
     "repositoryUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
     "toVersion": "0.0.35",
     "type": "minor",
@@ -521,9 +521,9 @@ exports[`manager/npm/lookup .lookupUpdates() supports > latest versions if confi
 Array [
   Object {
     "fromVersion": "1.4.1",
-    "newVersion": "2.0.3",
-    "newVersionMajor": 2,
-    "newVersionMinor": 0,
+    "newMajor": 2,
+    "newMinor": 0,
+    "newValue": "2.0.3",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "2.0.3",
     "type": "major",
@@ -537,9 +537,9 @@ Array [
   Object {
     "fromVersion": "2.7.0",
     "isRange": true,
-    "newVersion": "1.x - 3.x",
-    "newVersionMajor": 3,
-    "newVersionMinor": 8,
+    "newMajor": 3,
+    "newMinor": 8,
+    "newValue": "1.x - 3.x",
     "repositoryUrl": "https://github.com/webpack/webpack",
     "toVersion": "3.8.1",
     "type": "major",
@@ -553,9 +553,9 @@ Array [
   Object {
     "fromVersion": "2.7.0",
     "isRange": true,
-    "newVersion": "^1.0.0 || ^2.0.0 || ^3.0.0",
-    "newVersionMajor": 3,
-    "newVersionMinor": 8,
+    "newMajor": 3,
+    "newMinor": 8,
+    "newValue": "^1.0.0 || ^2.0.0 || ^3.0.0",
     "repositoryUrl": "https://github.com/webpack/webpack",
     "toVersion": "3.8.1",
     "type": "major",
@@ -568,9 +568,9 @@ exports[`manager/npm/lookup .lookupUpdates() supports complex ranges 1`] = `
 Object {
   "fromVersion": "0.8.12",
   "isRange": true,
-  "newVersion": "^0.7.0 || ^0.8.0 || ^0.9.0",
-  "newVersionMajor": 0,
-  "newVersionMinor": 9,
+  "newMajor": 0,
+  "newMinor": 9,
+  "newValue": "^0.7.0 || ^0.8.0 || ^0.9.0",
   "repositoryUrl": "https://github.com/kriskowal/q",
   "toVersion": "0.9.7",
   "type": "minor",
@@ -583,9 +583,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "~1.2.0 || ~1.3.0 || ~1.4.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "~1.2.0 || ~1.3.0 || ~1.4.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -599,9 +599,9 @@ Array [
   Object {
     "fromVersion": "1.0.0",
     "isRange": true,
-    "newVersion": "^1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "^1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -615,9 +615,9 @@ Array [
   Object {
     "fromVersion": "1.0.0",
     "isRange": true,
-    "newVersion": ">=1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": ">=1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -631,9 +631,9 @@ Array [
   Object {
     "fromVersion": "1.0.0",
     "isRange": true,
-    "newVersion": "~1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "~1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -646,17 +646,17 @@ exports[`manager/npm/lookup .lookupUpdates() supports minor and major upgrades f
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.4.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.4.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -664,9 +664,9 @@ Array [
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -679,17 +679,17 @@ exports[`manager/npm/lookup .lookupUpdates() supports minor and major upgrades f
 Array [
   Object {
     "isPin": true,
-    "newVersion": "0.4.4",
-    "newVersionMajor": 0,
+    "newMajor": 0,
+    "newValue": "0.4.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -697,9 +697,9 @@ Array [
   },
   Object {
     "fromVersion": "0.4.4",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -713,9 +713,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "1.2.x - 1.4.x",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.2.x - 1.4.x",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -729,9 +729,9 @@ Array [
   Object {
     "fromVersion": "0.9.7",
     "isRange": true,
-    "newVersion": "1.x",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.x",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -744,17 +744,17 @@ exports[`manager/npm/lookup .lookupUpdates() upgrades .x minor ranges 1`] = `
 Array [
   Object {
     "isPin": true,
-    "newVersion": "1.3.0",
-    "newVersionMajor": 1,
+    "newMajor": 1,
+    "newValue": "1.3.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "1.3.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -768,9 +768,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "1.4.x",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.x",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -784,9 +784,9 @@ Array [
   Object {
     "fromVersion": "1.4.1",
     "isRange": true,
-    "newVersion": "<= 2",
-    "newVersionMajor": 2,
-    "newVersionMinor": 0,
+    "newMajor": 2,
+    "newMinor": 0,
+    "newValue": "<= 2",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "2.0.3",
     "type": "major",
@@ -800,9 +800,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "<= 1.4",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "<= 1.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -816,9 +816,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": "<= 0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "<= 0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -827,9 +827,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": "<= 1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "<= 1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -843,9 +843,9 @@ Array [
   Object {
     "fromVersion": "0.9.7",
     "isRange": true,
-    "newVersion": "< 2",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "< 2",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -859,9 +859,9 @@ Array [
   Object {
     "fromVersion": "0.7.1",
     "isRange": true,
-    "newVersion": "< 0.9.8",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "< 0.9.8",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -870,9 +870,9 @@ Array [
   Object {
     "fromVersion": "0.7.1",
     "isRange": true,
-    "newVersion": "< 1.4.2",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "< 1.4.2",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -886,9 +886,9 @@ Array [
   Object {
     "fromVersion": "0.9.7",
     "isRange": true,
-    "newVersion": ">= 0.5.0 < 2.0.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": ">= 0.5.0 < 2.0.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -902,9 +902,9 @@ Array [
   Object {
     "fromVersion": "1.0.0",
     "isRange": true,
-    "newVersion": "<= 1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "<= 1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -918,9 +918,9 @@ Array [
   Object {
     "fromVersion": "0.9.7",
     "isRange": true,
-    "newVersion": "< 2.0.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "< 2.0.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -934,9 +934,9 @@ Array [
   Object {
     "fromVersion": "0.8.0",
     "isRange": true,
-    "newVersion": ">= 0.5.0 <= 0.9.7",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": ">= 0.5.0 <= 0.9.7",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -945,9 +945,9 @@ Array [
   Object {
     "fromVersion": "0.8.0",
     "isRange": true,
-    "newVersion": ">= 0.5.0 <= 1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": ">= 0.5.0 <= 1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -961,9 +961,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": ">= 0.5.0 <0.10",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": ">= 0.5.0 <0.10",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -972,9 +972,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": ">= 0.5.0 <1.5",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": ">= 0.5.0 <1.5",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -987,17 +987,17 @@ exports[`manager/npm/lookup .lookupUpdates() upgrades minor ranged versions 1`]
 Array [
   Object {
     "isPin": true,
-    "newVersion": "1.0.1",
-    "newVersionMajor": 1,
+    "newMajor": 1,
+    "newValue": "1.0.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "1.0.1",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -1011,9 +1011,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": "^0.9.0",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "^0.9.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -1022,9 +1022,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": "^1.0.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "^1.0.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -1038,9 +1038,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": "~0.9.0",
-    "newVersionMajor": 0,
-    "newVersionMinor": 9,
+    "newMajor": 0,
+    "newMinor": 9,
+    "newValue": "~0.9.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "0.9.7",
     "type": "minor",
@@ -1049,9 +1049,9 @@ Array [
   Object {
     "fromVersion": "0.7.2",
     "isRange": true,
-    "newVersion": "~1.4.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "~1.4.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -1065,9 +1065,9 @@ Array [
   Object {
     "fromVersion": "0.9.7",
     "isRange": true,
-    "newVersion": "1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "major",
@@ -1081,9 +1081,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "1.4",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -1096,17 +1096,17 @@ exports[`manager/npm/lookup .lookupUpdates() upgrades tilde ranges 1`] = `
 Array [
   Object {
     "isPin": true,
-    "newVersion": "1.3.0",
-    "newVersionMajor": 1,
+    "newMajor": 1,
+    "newValue": "1.3.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "1.3.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -1120,9 +1120,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "~1.4.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "~1.4.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -1135,17 +1135,17 @@ exports[`manager/npm/lookup .lookupUpdates() uses the locked version for pinning
 Array [
   Object {
     "isPin": true,
-    "newVersion": "1.0.0",
-    "newVersionMajor": 1,
+    "newMajor": 1,
+    "newValue": "1.0.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "type": "pin",
     "unpublishable": false,
   },
   Object {
     "fromVersion": "1.0.0",
-    "newVersion": "1.4.1",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "1.4.1",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -1159,9 +1159,9 @@ Array [
   Object {
     "fromVersion": "2.7.0",
     "isRange": true,
-    "newVersion": "1.x || 2.x || 3.x",
-    "newVersionMajor": 3,
-    "newVersionMinor": 8,
+    "newMajor": 3,
+    "newMinor": 8,
+    "newValue": "1.x || 2.x || 3.x",
     "repositoryUrl": "https://github.com/webpack/webpack",
     "toVersion": "3.8.1",
     "type": "major",
@@ -1175,9 +1175,9 @@ Array [
   Object {
     "fromVersion": "2.7.0",
     "isRange": true,
-    "newVersion": "^2.0.0 || ^3.0.0",
-    "newVersionMajor": 3,
-    "newVersionMinor": 8,
+    "newMajor": 3,
+    "newMinor": 8,
+    "newValue": "^2.0.0 || ^3.0.0",
     "repositoryUrl": "https://github.com/webpack/webpack",
     "toVersion": "3.8.1",
     "type": "major",
@@ -1191,9 +1191,9 @@ Array [
   Object {
     "fromVersion": "1.3.0",
     "isRange": true,
-    "newVersion": "~1.3.0 || ~1.4.0",
-    "newVersionMajor": 1,
-    "newVersionMinor": 4,
+    "newMajor": 1,
+    "newMinor": 4,
+    "newValue": "~1.3.0 || ~1.4.0",
     "repositoryUrl": "https://github.com/kriskowal/q",
     "toVersion": "1.4.1",
     "type": "minor",
@@ -1207,9 +1207,9 @@ Array [
   Object {
     "fromVersion": "2.7.0",
     "isRange": true,
-    "newVersion": "1 || 2 || 3",
-    "newVersionMajor": 3,
-    "newVersionMinor": 8,
+    "newMajor": 3,
+    "newMinor": 8,
+    "newValue": "1 || 2 || 3",
     "repositoryUrl": "https://github.com/webpack/webpack",
     "toVersion": "3.8.1",
     "type": "major",
diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js
index 07f8ec837e..61a8c7fd6f 100644
--- a/test/workers/repository/process/lookup/index.spec.js
+++ b/test/workers/repository/process/lookup/index.spec.js
@@ -22,7 +22,7 @@ describe('manager/npm/lookup', () => {
 
   describe('.lookupUpdates()', () => {
     it('returns rollback for pinned version', async () => {
-      config.currentVersion = '0.9.99';
+      config.currentValue = '0.9.99';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -31,7 +31,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('returns rollback for ranged version', async () => {
-      config.currentVersion = '^0.9.99';
+      config.currentValue = '^0.9.99';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -40,7 +40,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('supports minor and major upgrades for tilde ranges', async () => {
-      config.currentVersion = '^0.4.0';
+      config.currentValue = '^0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -51,7 +51,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns only one update if grouping', async () => {
       config.groupName = 'somegroup';
-      config.currentVersion = '^0.4.0';
+      config.currentValue = '^0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -62,7 +62,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns only one update if automerging', async () => {
       config.automerge = true;
-      config.currentVersion = '0.4.0';
+      config.currentValue = '0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -75,7 +75,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns only one update if automerging major', async () => {
       config.major = { automerge: true };
-      config.currentVersion = '^0.4.0';
+      config.currentValue = '^0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -86,7 +86,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns both updates if automerging minor', async () => {
       config.minor = { automerge: true };
-      config.currentVersion = '^0.4.0';
+      config.currentValue = '^0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -96,7 +96,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('enforces allowedVersions', async () => {
-      config.currentVersion = '0.4.0';
+      config.currentValue = '0.4.0';
       config.allowedVersions = '<1';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -106,7 +106,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toHaveLength(1);
     });
     it('skips invalid allowedVersions', async () => {
-      config.currentVersion = '0.4.0';
+      config.currentValue = '0.4.0';
       config.allowedVersions = 'less than 1';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -116,7 +116,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toHaveLength(2);
     });
     it('returns minor update if separate patches not configured', async () => {
-      config.currentVersion = '0.9.0';
+      config.currentValue = '0.9.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -133,7 +133,7 @@ describe('manager/npm/lookup', () => {
       config.patch = {
         automerge: true,
       };
-      config.currentVersion = '0.9.0';
+      config.currentValue = '0.9.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -151,7 +151,7 @@ describe('manager/npm/lookup', () => {
       config.minor = {
         automerge: true,
       };
-      config.currentVersion = '0.9.0';
+      config.currentValue = '0.9.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -164,7 +164,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns patch update if separateMinorPatch', async () => {
       config.separateMinorPatch = true;
-      config.currentVersion = '0.9.0';
+      config.currentValue = '0.9.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -175,7 +175,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns patch minor and major', async () => {
       config.separateMinorPatch = true;
-      config.currentVersion = '0.8.0';
+      config.currentValue = '0.8.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -188,7 +188,7 @@ describe('manager/npm/lookup', () => {
     });
     it('disables major release separation (major)', async () => {
       config.separateMajorMinor = false;
-      config.currentVersion = '^0.4.0';
+      config.currentValue = '^0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -199,7 +199,7 @@ describe('manager/npm/lookup', () => {
     });
     it('disables major release separation (minor)', async () => {
       config.separateMajorMinor = false;
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -209,7 +209,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('supports minor and major upgrades for ranged versions', async () => {
-      config.currentVersion = '~0.4.0';
+      config.currentValue = '~0.4.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -219,7 +219,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('ignores pinning for ranges when other upgrade exists', async () => {
-      config.currentVersion = '~0.9.0';
+      config.currentValue = '~0.9.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -229,7 +229,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('upgrades minor ranged versions', async () => {
-      config.currentVersion = '~1.0.0';
+      config.currentValue = '~1.0.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -239,7 +239,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('widens minor ranged versions if configured', async () => {
-      config.currentVersion = '~1.3.0';
+      config.currentValue = '~1.3.0';
       config.rangeStrategy = 'widen';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -249,7 +249,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('replaces minor complex ranged versions if configured', async () => {
-      config.currentVersion = '~1.2.0 || ~1.3.0';
+      config.currentValue = '~1.2.0 || ~1.3.0';
       config.rangeStrategy = 'replace';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -259,7 +259,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('widens major ranged versions if configured', async () => {
-      config.currentVersion = '^2.0.0';
+      config.currentValue = '^2.0.0';
       config.rangeStrategy = 'widen';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
@@ -269,7 +269,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('replaces major complex ranged versions if configured', async () => {
-      config.currentVersion = '^1.0.0 || ^2.0.0';
+      config.currentValue = '^1.0.0 || ^2.0.0';
       config.rangeStrategy = 'replace';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
@@ -279,7 +279,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('pins minor ranged versions', async () => {
-      config.currentVersion = '^1.0.0';
+      config.currentValue = '^1.0.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -289,7 +289,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('uses the locked version for pinning', async () => {
-      config.currentVersion = '^1.0.0';
+      config.currentValue = '^1.0.0';
       config.lockedVersion = '1.0.0';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
@@ -301,7 +301,7 @@ describe('manager/npm/lookup', () => {
     });
     it('ignores minor ranged versions when not pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '^1.0.0';
+      config.currentValue = '^1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -311,7 +311,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades tilde ranges', async () => {
       config.rangeStrategy = 'pin';
-      config.currentVersion = '~1.3.0';
+      config.currentValue = '~1.3.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -320,7 +320,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('upgrades .x minor ranges', async () => {
-      config.currentVersion = '1.3.x';
+      config.currentValue = '1.3.x';
       config.rangeStrategy = 'pin';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
@@ -331,7 +331,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades tilde ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '~1.3.0';
+      config.currentValue = '~1.3.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -341,7 +341,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades .x major ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '0.x';
+      config.currentValue = '0.x';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -351,7 +351,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades .x minor ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '1.3.x';
+      config.currentValue = '1.3.x';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -361,7 +361,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades .x complex minor ranges without pinning', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '1.2.x - 1.3.x';
+      config.currentValue = '1.2.x - 1.3.x';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -371,7 +371,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades shorthand major ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '0';
+      config.currentValue = '0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -381,7 +381,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades shorthand minor ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '1.3';
+      config.currentValue = '1.3';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -391,7 +391,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades multiple tilde ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '~0.7.0';
+      config.currentValue = '~0.7.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -401,7 +401,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades multiple caret ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '^0.7.0';
+      config.currentValue = '^0.7.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -411,7 +411,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports complex ranges', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '^0.7.0 || ^0.8.0';
+      config.currentValue = '^0.7.0 || ^0.8.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -423,7 +423,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports complex major ranges', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '^1.0.0 || ^2.0.0';
+      config.currentValue = '^1.0.0 || ^2.0.0';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
       nock('https://registry.npmjs.org')
@@ -433,7 +433,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports complex major hyphen ranges', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '1.x - 2.x';
+      config.currentValue = '1.x - 2.x';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
       nock('https://registry.npmjs.org')
@@ -443,7 +443,7 @@ describe('manager/npm/lookup', () => {
     });
     it('widens .x OR ranges', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '1.x || 2.x';
+      config.currentValue = '1.x || 2.x';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
       nock('https://registry.npmjs.org')
@@ -453,7 +453,7 @@ describe('manager/npm/lookup', () => {
     });
     it('widens stanndalone major OR ranges', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '1 || 2';
+      config.currentValue = '1 || 2';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
       nock('https://registry.npmjs.org')
@@ -463,7 +463,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports complex tilde ranges', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '~1.2.0 || ~1.3.0';
+      config.currentValue = '~1.2.0 || ~1.3.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -473,7 +473,7 @@ describe('manager/npm/lookup', () => {
     });
     it('returns nothing for greater than ranges', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '>= 0.7.0';
+      config.currentValue = '>= 0.7.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -483,7 +483,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades less than equal ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '<= 0.7.2';
+      config.currentValue = '<= 0.7.2';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -493,7 +493,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades less than ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '< 0.7.2';
+      config.currentValue = '< 0.7.2';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -503,7 +503,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades less than major ranges', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '< 1';
+      config.currentValue = '< 1';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -513,7 +513,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades less than equal minor ranges', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '<= 1.3';
+      config.currentValue = '<= 1.3';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -524,7 +524,7 @@ describe('manager/npm/lookup', () => {
     it('upgrades less than equal major ranges', async () => {
       config.rangeStrategy = 'replace';
       config.respectLatest = false;
-      config.currentVersion = '<= 1';
+      config.currentValue = '<= 1';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -534,7 +534,7 @@ describe('manager/npm/lookup', () => {
     });
     it('upgrades major less than equal ranges', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '<= 1.0.0';
+      config.currentValue = '<= 1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -542,11 +542,11 @@ describe('manager/npm/lookup', () => {
         .reply(200, qJson);
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
-      expect(res[0].newVersion).toEqual('<= 1.4.1');
+      expect(res[0].newValue).toEqual('<= 1.4.1');
     });
     it('upgrades major less than ranges without pinning', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '< 1.0.0';
+      config.currentValue = '< 1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -554,11 +554,11 @@ describe('manager/npm/lookup', () => {
         .reply(200, qJson);
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
-      expect(res[0].newVersion).toEqual('< 2.0.0');
+      expect(res[0].newValue).toEqual('< 2.0.0');
     });
     it('upgrades major greater than less than ranges without pinning', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '>= 0.5.0 < 1.0.0';
+      config.currentValue = '>= 0.5.0 < 1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -566,11 +566,11 @@ describe('manager/npm/lookup', () => {
         .reply(200, qJson);
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
-      expect(res[0].newVersion).toEqual('>= 0.5.0 < 2.0.0');
+      expect(res[0].newValue).toEqual('>= 0.5.0 < 2.0.0');
     });
     it('upgrades minor greater than less than ranges without pinning', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '>= 0.5.0 <0.8';
+      config.currentValue = '>= 0.5.0 <0.8';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -578,12 +578,12 @@ describe('manager/npm/lookup', () => {
         .reply(200, qJson);
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
-      expect(res[0].newVersion).toEqual('>= 0.5.0 <0.10');
-      expect(res[1].newVersion).toEqual('>= 0.5.0 <1.5');
+      expect(res[0].newValue).toEqual('>= 0.5.0 <0.10');
+      expect(res[1].newValue).toEqual('>= 0.5.0 <1.5');
     });
     it('upgrades minor greater than less than equals ranges without pinning', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '>= 0.5.0 <= 0.8.0';
+      config.currentValue = '>= 0.5.0 <= 0.8.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -591,12 +591,12 @@ describe('manager/npm/lookup', () => {
         .reply(200, qJson);
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
-      expect(res[0].newVersion).toEqual('>= 0.5.0 <= 0.9.7');
-      expect(res[1].newVersion).toEqual('>= 0.5.0 <= 1.4.1');
+      expect(res[0].newValue).toEqual('>= 0.5.0 <= 0.9.7');
+      expect(res[1].newValue).toEqual('>= 0.5.0 <= 1.4.1');
     });
     it('rejects reverse ordered less than greater than', async () => {
       config.rangeStrategy = 'widen';
-      config.currentVersion = '<= 0.8.0 >= 0.5.0';
+      config.currentValue = '<= 0.8.0 >= 0.5.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -607,7 +607,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports > latest versions if configured', async () => {
       config.respectLatest = false;
-      config.currentVersion = '1.4.1';
+      config.currentValue = '1.4.1';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -616,7 +616,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('should ignore unstable versions if the current version is stable', async () => {
-      config.currentVersion = '2.5.16';
+      config.currentValue = '2.5.16';
       config.depName = 'vue';
       config.purl = 'pkg:npm/vue';
       nock('https://registry.npmjs.org')
@@ -625,7 +625,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toHaveLength(0);
     });
     it('should allow unstable versions if the ignoreUnstable=false', async () => {
-      config.currentVersion = '2.5.16';
+      config.currentValue = '2.5.16';
       config.ignoreUnstable = false;
       config.depName = 'vue';
       config.purl = 'pkg:npm/vue';
@@ -635,10 +635,10 @@ describe('manager/npm/lookup', () => {
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
-      expect(res[0].newVersion).toEqual('2.5.17-beta.0');
+      expect(res[0].newValue).toEqual('2.5.17-beta.0');
     });
     it('should allow unstable versions if the current version is unstable', async () => {
-      config.currentVersion = '2.3.0-beta.1';
+      config.currentValue = '2.3.0-beta.1';
       config.depName = 'vue';
       config.purl = 'pkg:npm/vue';
       nock('https://registry.npmjs.org')
@@ -647,11 +647,11 @@ describe('manager/npm/lookup', () => {
       const res = await lookup.lookupUpdates(config);
       expect(res).toMatchSnapshot();
       expect(res).toHaveLength(1);
-      expect(res[0].newVersion).toEqual('2.5.17-beta.0');
+      expect(res[0].newValue).toEqual('2.5.17-beta.0');
     });
     it('should treat zero zero tilde ranges as 0.0.x', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '~0.0.34';
+      config.currentValue = '~0.0.34';
       config.depName = 'helmet';
       config.purl = 'pkg:npm/helmet';
       nock('https://registry.npmjs.org')
@@ -661,7 +661,7 @@ describe('manager/npm/lookup', () => {
     });
     it('should treat zero zero caret ranges as pinned', async () => {
       config.rangeStrategy = 'replace';
-      config.currentVersion = '^0.0.34';
+      config.currentValue = '^0.0.34';
       config.depName = 'helmet';
       config.purl = 'pkg:npm/helmet';
       nock('https://registry.npmjs.org')
@@ -670,7 +670,7 @@ describe('manager/npm/lookup', () => {
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('should downgrade from missing versions', async () => {
-      config.currentVersion = '1.16.1';
+      config.currentValue = '1.16.1';
       config.depName = 'coffeelint';
       config.purl = 'pkg:npm/coffeelint';
       nock('https://registry.npmjs.org')
@@ -681,7 +681,7 @@ describe('manager/npm/lookup', () => {
       expect(res[0]).toMatchSnapshot();
     });
     it('should upgrade to only one major', async () => {
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
       nock('https://registry.npmjs.org')
@@ -691,7 +691,7 @@ describe('manager/npm/lookup', () => {
       expect(res).toHaveLength(2);
     });
     it('should upgrade to two majors', async () => {
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       config.separateMultipleMajor = true;
       config.depName = 'webpack';
       config.purl = 'pkg:npm/webpack';
@@ -702,7 +702,7 @@ describe('manager/npm/lookup', () => {
       expect(res).toHaveLength(3);
     });
     it('does not jump  major unstable', async () => {
-      config.currentVersion = '^4.4.0-canary.3';
+      config.currentValue = '^4.4.0-canary.3';
       config.rangeStrategy = 'replace';
       config.depName = 'next';
       nock('https://registry.npmjs.org')
@@ -712,7 +712,7 @@ describe('manager/npm/lookup', () => {
       expect(res).toHaveLength(0);
     });
     it('handles prerelease jumps', async () => {
-      config.currentVersion = '^2.9.0-rc';
+      config.currentValue = '^2.9.0-rc';
       config.rangeStrategy = 'replace';
       config.depName = 'typescript';
       config.purl = 'pkg:npm/typescript';
@@ -724,7 +724,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports in-range caret updates', async () => {
       config.rangeStrategy = 'bump';
-      config.currentVersion = '^1.0.0';
+      config.currentValue = '^1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -734,7 +734,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports in-range tilde updates', async () => {
       config.rangeStrategy = 'bump';
-      config.currentVersion = '~1.0.0';
+      config.currentValue = '~1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -744,7 +744,7 @@ describe('manager/npm/lookup', () => {
     });
     it('supports in-range gte updates', async () => {
       config.rangeStrategy = 'bump';
-      config.currentVersion = '>=1.0.0';
+      config.currentValue = '>=1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -754,7 +754,7 @@ describe('manager/npm/lookup', () => {
     });
     it('rejects in-range unsupported operator', async () => {
       config.rangeStrategy = 'bump';
-      config.currentVersion = '>1.0.0';
+      config.currentValue = '>1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -764,7 +764,7 @@ describe('manager/npm/lookup', () => {
     });
     it('rejects non-fully specified in-range updates', async () => {
       config.rangeStrategy = 'bump';
-      config.currentVersion = '1.x';
+      config.currentValue = '1.x';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -774,7 +774,7 @@ describe('manager/npm/lookup', () => {
     });
     it('rejects complex range in-range updates', async () => {
       config.rangeStrategy = 'bump';
-      config.currentVersion = '^0.9.0 || ^1.0.0';
+      config.currentValue = '^0.9.0 || ^1.0.0';
       config.depName = 'q';
       config.purl = 'pkg:npm/q';
       nock('https://registry.npmjs.org')
@@ -787,7 +787,7 @@ describe('manager/npm/lookup', () => {
       config.purl = 'pkg:npm/q';
       config.packageFile = 'package.json';
       config.rangeStrategy = 'bump';
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       nock('https://registry.npmjs.org')
         .get('/q')
         .reply(200, qJson);
@@ -797,7 +797,7 @@ describe('manager/npm/lookup', () => {
       config.depName = 'foo';
       config.purl = 'pkg:github/some/repo';
       config.packageFile = 'package.json';
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       nock('https://api.github.com')
         .get('/repos/some/repo/git/refs/tags?per_page=100')
         .reply(404);
@@ -807,7 +807,7 @@ describe('manager/npm/lookup', () => {
       config.depName = 'foo';
       config.purl = 'pkg:typo/some/repo';
       config.packageFile = 'package.json';
-      config.currentVersion = '1.0.0';
+      config.currentValue = '1.0.0';
       expect(await lookup.lookupUpdates(config)).toMatchSnapshot();
     });
     it('handles PEP440', async () => {
@@ -815,7 +815,7 @@ describe('manager/npm/lookup', () => {
       config.versionScheme = 'pep440';
       config.rangeStrategy = 'pin';
       config.lockedVersion = '0.9.4';
-      config.currentVersion = '~=0.9';
+      config.currentValue = '~=0.9';
       config.depName = 'q';
       // TODO: we are using npm as source, since purl for pypi is not implimented
       config.purl = 'pkg:npm/q';
diff --git a/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap b/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap
index d31d91eeb7..ad029e91c0 100644
--- a/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap
+++ b/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap
@@ -9,12 +9,12 @@ Array [
     "automergeType": "pr",
     "branchName": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}",
     "branchPrefix": "renovate/",
-    "branchTopic": "{{{depNameSanitized}}}-{{{newVersionMajor}}}.x",
+    "branchTopic": "{{{depNameSanitized}}}-{{{newMajor}}}.x",
     "bumpVersion": null,
     "commitBody": null,
     "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}",
     "commitMessageAction": "Update",
-    "commitMessageExtra": "to {{#if isMajor}}v{{{newVersionMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newVersion}}}{{/if}}",
+    "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}",
     "commitMessagePrefix": null,
     "commitMessageTopic": "dependency {{depName}}",
     "copyLocalLibs": false,
@@ -26,7 +26,7 @@ Array [
     "group": Object {
       "branchTopic": "{{{groupSlug}}}",
       "commitMessageTopic": "{{{groupName}}}",
-      "prBody": "This Pull Request renovates the package group \\"{{{groupName}}}\\".\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#each upgrades as |upgrade|}}\\n-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}\`{{{depName}}}\`{{/if}}{{#if depType}} (\`{{{depType}}}\`){{/if}}: from \`{{{upgrade.currentVersion}}}\` to \`{{{upgrade.newVersion}}}\`\\n{{/each}}\\n\\n{{#if hasReleaseNotes}}\\n# Release Notes\\n{{#each upgrades as |upgrade|}}\\n{{#if upgrade.hasReleaseNotes}}\\n<details>\\n<summary>{{upgrade.githubName}}</summary>\\n\\n{{#each upgrade.releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n\\n</details>\\n{{/if}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
+      "prBody": "This Pull Request renovates the package group \\"{{{groupName}}}\\".\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#each upgrades as |upgrade|}}\\n-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}\`{{{depName}}}\`{{/if}}{{#if depType}} (\`{{{depType}}}\`){{/if}}: from \`{{{upgrade.currentValue}}}\` to \`{{{upgrade.newValue}}}\`\\n{{/each}}\\n\\n{{#if hasReleaseNotes}}\\n# Release Notes\\n{{#each upgrades as |upgrade|}}\\n{{#if upgrade.hasReleaseNotes}}\\n<details>\\n<summary>{{upgrade.githubName}}</summary>\\n\\n{{#each upgrade.releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n\\n</details>\\n{{/if}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
     },
     "groupName": null,
     "groupSlug": null,
@@ -48,11 +48,11 @@ Array [
     },
     "manager": "npm",
     "managerBranchPrefix": "",
-    "newVersion": "1.0.0",
+    "newValue": "1.0.0",
     "npmToken": null,
     "npmrc": null,
     "packageFile": "package.json ",
-    "prBody": "This Pull Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}\`{{{depName}}}\`{{/if}} from \`{{#unless isRange}}{{#unless isPin}}v{{/unless}}{{/unless}}{{{currentVersion}}}\` to \`{{#unless isRange}}v{{/unless}}{{{newVersion}}}\`{{#if isRollback}}. This is necessary and important because \`v{{{currentVersion}}}\` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}\\n{{#if hasTypes}}\\n\\nThis PR also includes an upgrade to the corresponding [@types/{{{depName}}}](https://npmjs.com/package/@types/{{{depName}}}) package.\\n{{/if}}\\n{{#if releases.length}}\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n{{#if hasReleaseNotes}}\\n\\n<details>\\n<summary>Release Notes</summary>\\n\\n{{#each releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n</details>\\n{{/if}}\\n\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
+    "prBody": "This Pull Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}\`{{{depName}}}\`{{/if}} from \`{{#unless isRange}}{{#unless isPin}}v{{/unless}}{{/unless}}{{{currentValue}}}\` to \`{{#unless isRange}}v{{/unless}}{{{newValue}}}\`{{#if isRollback}}. This is necessary and important because \`v{{{currentValue}}}\` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}\\n{{#if hasTypes}}\\n\\nThis PR also includes an upgrade to the corresponding [@types/{{{depName}}}](https://npmjs.com/package/@types/{{{depName}}}) package.\\n{{/if}}\\n{{#if releases.length}}\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n{{#if hasReleaseNotes}}\\n\\n<details>\\n<summary>Release Notes</summary>\\n\\n{{#each releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n</details>\\n{{/if}}\\n\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
     "prConcurrentLimit": 0,
     "prCreation": "immediate",
     "prHourlyLimit": 0,
@@ -81,12 +81,12 @@ Array [
     "automergeType": "pr",
     "branchName": "{{{branchPrefix}}}{{{managerBranchPrefix}}}{{{branchTopic}}}",
     "branchPrefix": "renovate/",
-    "branchTopic": "{{{depNameSanitized}}}-{{{newVersionMajor}}}.x",
+    "branchTopic": "{{{depNameSanitized}}}-{{{newMajor}}}.x",
     "bumpVersion": null,
     "commitBody": null,
     "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}",
     "commitMessageAction": "Update",
-    "commitMessageExtra": "to {{#if isMajor}}v{{{newVersionMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newVersion}}}{{/if}}",
+    "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}",
     "commitMessagePrefix": null,
     "commitMessageTopic": "dependency {{depName}}",
     "copyLocalLibs": false,
@@ -97,7 +97,7 @@ Array [
     "group": Object {
       "branchTopic": "{{{groupSlug}}}",
       "commitMessageTopic": "{{{groupName}}}",
-      "prBody": "This Pull Request renovates the package group \\"{{{groupName}}}\\".\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#each upgrades as |upgrade|}}\\n-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}\`{{{depName}}}\`{{/if}}{{#if depType}} (\`{{{depType}}}\`){{/if}}: from \`{{{upgrade.currentVersion}}}\` to \`{{{upgrade.newVersion}}}\`\\n{{/each}}\\n\\n{{#if hasReleaseNotes}}\\n# Release Notes\\n{{#each upgrades as |upgrade|}}\\n{{#if upgrade.hasReleaseNotes}}\\n<details>\\n<summary>{{upgrade.githubName}}</summary>\\n\\n{{#each upgrade.releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n\\n</details>\\n{{/if}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
+      "prBody": "This Pull Request renovates the package group \\"{{{groupName}}}\\".\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#each upgrades as |upgrade|}}\\n-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}\`{{{depName}}}\`{{/if}}{{#if depType}} (\`{{{depType}}}\`){{/if}}: from \`{{{upgrade.currentValue}}}\` to \`{{{upgrade.newValue}}}\`\\n{{/each}}\\n\\n{{#if hasReleaseNotes}}\\n# Release Notes\\n{{#each upgrades as |upgrade|}}\\n{{#if upgrade.hasReleaseNotes}}\\n<details>\\n<summary>{{upgrade.githubName}}</summary>\\n\\n{{#each upgrade.releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n\\n</details>\\n{{/if}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
     },
     "groupName": null,
     "groupSlug": null,
@@ -119,11 +119,11 @@ Array [
     },
     "manager": "npm",
     "managerBranchPrefix": "",
-    "newVersion": "2.0.0",
+    "newValue": "2.0.0",
     "npmToken": null,
     "npmrc": null,
     "packageFile": "package.json ",
-    "prBody": "This Pull Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}\`{{{depName}}}\`{{/if}} from \`{{#unless isRange}}{{#unless isPin}}v{{/unless}}{{/unless}}{{{currentVersion}}}\` to \`{{#unless isRange}}v{{/unless}}{{{newVersion}}}\`{{#if isRollback}}. This is necessary and important because \`v{{{currentVersion}}}\` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}\\n{{#if hasTypes}}\\n\\nThis PR also includes an upgrade to the corresponding [@types/{{{depName}}}](https://npmjs.com/package/@types/{{{depName}}}) package.\\n{{/if}}\\n{{#if releases.length}}\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n{{#if hasReleaseNotes}}\\n\\n<details>\\n<summary>Release Notes</summary>\\n\\n{{#each releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n</details>\\n{{/if}}\\n\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
+    "prBody": "This Pull Request {{#if isRollback}}rolls back{{else}}updates{{/if}} dependency {{#if repositoryUrl}}[{{{depName}}}]({{{repositoryUrl}}}){{else}}\`{{{depName}}}\`{{/if}} from \`{{#unless isRange}}{{#unless isPin}}v{{/unless}}{{/unless}}{{{currentValue}}}\` to \`{{#unless isRange}}v{{/unless}}{{{newValue}}}\`{{#if isRollback}}. This is necessary and important because \`v{{{currentValue}}}\` cannot be found in the npm registry - probably because of it being unpublished.{{/if}}\\n{{#if hasTypes}}\\n\\nThis PR also includes an upgrade to the corresponding [@types/{{{depName}}}](https://npmjs.com/package/@types/{{{depName}}}) package.\\n{{/if}}\\n{{#if releases.length}}\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n{{#if hasReleaseNotes}}\\n\\n<details>\\n<summary>Release Notes</summary>\\n\\n{{#each releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n</details>\\n{{/if}}\\n\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
     "prConcurrentLimit": 0,
     "prCreation": "immediate",
     "prHourlyLimit": 0,
@@ -167,7 +167,7 @@ Array [
     "group": Object {
       "branchTopic": "{{{groupSlug}}}",
       "commitMessageTopic": "{{{groupName}}}",
-      "prBody": "This Pull Request renovates the package group \\"{{{groupName}}}\\".\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#each upgrades as |upgrade|}}\\n-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}\`{{{depName}}}\`{{/if}}{{#if depType}} (\`{{{depType}}}\`){{/if}}: from \`{{{upgrade.currentVersion}}}\` to \`{{{upgrade.newVersion}}}\`\\n{{/each}}\\n\\n{{#if hasReleaseNotes}}\\n# Release Notes\\n{{#each upgrades as |upgrade|}}\\n{{#if upgrade.hasReleaseNotes}}\\n<details>\\n<summary>{{upgrade.githubName}}</summary>\\n\\n{{#each upgrade.releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n\\n</details>\\n{{/if}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
+      "prBody": "This Pull Request renovates the package group \\"{{{groupName}}}\\".\\n\\n{{#if schedule}}\\n**Note**: This PR was created on a configured schedule (\\"{{{schedule}}}\\"{{#if timezone}} in timezone \`{{{timezone}}}\`{{/if}}) and will not receive updates outside those times.\\n{{/if}}\\n\\n{{#each upgrades as |upgrade|}}\\n-   {{#if repositoryUrl}}[{{{upgrade.depName}}}]({{upgrade.repositoryUrl}}){{else}}\`{{{depName}}}\`{{/if}}{{#if depType}} (\`{{{depType}}}\`){{/if}}: from \`{{{upgrade.currentValue}}}\` to \`{{{upgrade.newValue}}}\`\\n{{/each}}\\n\\n{{#if hasReleaseNotes}}\\n# Release Notes\\n{{#each upgrades as |upgrade|}}\\n{{#if upgrade.hasReleaseNotes}}\\n<details>\\n<summary>{{upgrade.githubName}}</summary>\\n\\n{{#each upgrade.releases as |release|}}\\n{{#if release.releaseNotes}}\\n### [\`v{{{release.version}}}\`]({{{release.releaseNotes.url}}})\\n{{#if release.compare.url}}\\n[Compare Source]({{release.compare.url}})\\n{{/if}}\\n{{{release.releaseNotes.body}}}\\n\\n---\\n\\n{{/if}}\\n{{/each}}\\n\\n</details>\\n{{/if}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if isPin}}\\n**Important**: Renovate will wait until you have merged this Pin request before creating PRs for any *upgrades*. If you do not wish to pin anything, please update your config accordingly instead of leaving this PR open.\\n{{/if}}\\n\\n{{#if hasErrors}}\\n\\n---\\n\\n# Errors\\n\\nRenovate encountered some errors when processing your repository, so you are being notified here even if they do not directly apply to this PR.\\n\\n{{#each errors as |error|}}\\n-   \`{{error.depName}}\`: {{error.message}}\\n{{/each}}\\n{{/if}}\\n\\n{{#if hasWarnings}}\\n\\n---\\n\\n# Warnings\\n\\nPlease make sure the following warnings are safe to ignore:\\n\\n{{#each warnings as |warning|}}\\n-   \`{{warning.depName}}\`: {{warning.message}}\\n{{/each}}\\n{{/if}}",
     },
     "groupName": null,
     "groupSlug": null,
diff --git a/test/workers/repository/updates/flatten.spec.js b/test/workers/repository/updates/flatten.spec.js
index 1553d5c07d..90f0927468 100644
--- a/test/workers/repository/updates/flatten.spec.js
+++ b/test/workers/repository/updates/flatten.spec.js
@@ -19,8 +19,8 @@ describe('workers/repository/updates/flatten', () => {
           {
             packageFile: 'package.json ',
             deps: [
-              { depName: '@org/a', updates: [{ newVersion: '1.0.0' }] },
-              { updates: [{ newVersion: '2.0.0' }] },
+              { depName: '@org/a', updates: [{ newValue: '1.0.0' }] },
+              { updates: [{ newValue: '2.0.0' }] },
             ],
           },
         ],
diff --git a/test/workers/repository/updates/generate.spec.js b/test/workers/repository/updates/generate.spec.js
index 547f9b5aef..41500860e4 100644
--- a/test/workers/repository/updates/generate.spec.js
+++ b/test/workers/repository/updates/generate.spec.js
@@ -83,10 +83,10 @@ describe('workers/repository/updates/generate', () => {
           branchName: 'some-branch',
           prTitle: 'some-title',
           commitMessageExtra:
-            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
+            'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
-          newVersion: '5.1.2',
+          newValue: '5.1.2',
           group: {
             foo: 2,
           },
@@ -97,10 +97,10 @@ describe('workers/repository/updates/generate', () => {
           branchName: 'some-branch',
           prTitle: 'some-title',
           commitMessageExtra:
-            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
+            'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
-          newVersion: '5.1.2',
+          newValue: '5.1.2',
           group: {
             foo: 2,
           },
@@ -118,10 +118,10 @@ describe('workers/repository/updates/generate', () => {
           branchName: 'some-branch',
           prTitle: 'some-title',
           commitMessageExtra:
-            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
+            'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
-          newVersion: '5.1.2',
+          newValue: '5.1.2',
           group: {
             foo: 2,
           },
@@ -132,10 +132,10 @@ describe('workers/repository/updates/generate', () => {
           branchName: 'some-branch',
           prTitle: 'some-title',
           commitMessageExtra:
-            'to {{#if isMajor}}v{{newVersionMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newVersion}}{{/if}}',
+            'to {{#if isMajor}}v{{newMajor}}{{else}}{{#unless isRange}}v{{/unless}}{{newValue}}{{/if}}',
           lazyGrouping: true,
           foo: 1,
-          newVersion: '1.1.0',
+          newValue: '1.1.0',
           group: {
             foo: 2,
           },
@@ -156,7 +156,7 @@ describe('workers/repository/updates/generate', () => {
           semanticCommitType: 'chore',
           semanticCommitScope: 'package',
           lazyGrouping: true,
-          newVersion: '1.2.0',
+          newValue: '1.2.0',
           foo: 1,
           group: {
             foo: 2,
@@ -174,7 +174,7 @@ describe('workers/repository/updates/generate', () => {
           ...defaultConfig,
           depName: 'some-dep',
           commitBody: '[skip-ci]',
-          newVersion: '1.2.0',
+          newValue: '1.2.0',
         },
       ];
       const res = generateBranchConfig(branch);
@@ -201,7 +201,7 @@ describe('workers/repository/updates/generate', () => {
           branchName: 'some-branch',
           prTitle: 'some-title',
           lazyGrouping: true,
-          newVersion: '0.5.7',
+          newValue: '0.5.7',
           group: {},
         },
         {
@@ -210,7 +210,7 @@ describe('workers/repository/updates/generate', () => {
           branchName: 'some-branch',
           prTitle: 'some-title',
           lazyGrouping: true,
-          newVersion: '0.6.0',
+          newValue: '0.6.0',
           group: {},
         },
       ];
diff --git a/website/docs/configuration-options.md b/website/docs/configuration-options.md
index cf0a9859dd..cba622f526 100644
--- a/website/docs/configuration-options.md
+++ b/website/docs/configuration-options.md
@@ -72,7 +72,7 @@ It's possible to add this setting into the `renovate.json` file as part of the "
 
 ## branchName
 
-It's recommended to use our default templates, but you may override branch name if you really wish. It's recommended to still keep `depName` and `newVersionMajor` in the branch name to make sure all other Renovate features can still work.
+It's recommended to use our default templates, but you may override branch name if you really wish. It's recommended to still keep `depName` and `newMajor` in the branch name to make sure all other Renovate features can still work.
 
 Example branch name: `renovate/eslint-4.x`.
 
diff --git a/website/docs/faq.md b/website/docs/faq.md
index 0636d0eb6d..a2413d7b83 100644
--- a/website/docs/faq.md
+++ b/website/docs/faq.md
@@ -190,8 +190,8 @@ Set the `branchName`, `commitMessage`, `prTitle` or `prBody` configuration
 options:
 
 ```
-"branchName": "vroom/{{depName}}-{{newVersionMajor}}.x",
-"commitMessage": "Vroom vroom dependency {{depName}} to version {{newVersion}}",
+"branchName": "vroom/{{depName}}-{{newMajor}}.x",
+"commitMessage": "Vroom vroom dependency {{depName}} to version {{newValue}}",
 "prTitle": "Vroom {{depName}},
 ```
 
-- 
GitLab