From 35c347428b6e92def0c73be5e31fa760cb59d1d2 Mon Sep 17 00:00:00 2001
From: Daniel Cassidy <mail@danielcassidy.me.uk>
Date: Mon, 14 Oct 2019 12:23:49 +0100
Subject: [PATCH] fix(pin): avoid pinning deprecated version (#4609)

---
 lib/workers/repository/process/lookup/index.ts | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts
index 8fdecf1745..554ca87bc2 100644
--- a/lib/workers/repository/process/lookup/index.ts
+++ b/lib/workers/repository/process/lookup/index.ts
@@ -138,7 +138,12 @@ export async function lookupUpdates(
       res.updates.push(rollback);
     }
     const rangeStrategy = getRangeStrategy(config);
-    const fromVersion = getFromVersion(config, rangeStrategy, allVersions);
+    const nonDeprecatedVersions = releases
+      .filter(release => !release.isDeprecated)
+      .map(release => release.version);
+    const fromVersion =
+      getFromVersion(config, rangeStrategy, nonDeprecatedVersions) ||
+      getFromVersion(config, rangeStrategy, allVersions);
     if (
       fromVersion &&
       rangeStrategy === 'pin' &&
@@ -379,7 +384,7 @@ function getFromVersion(
   config: LookupUpdateConfig,
   rangeStrategy: string,
   allVersions: string[]
-): string {
+): string | null {
   const { currentValue, lockedVersion, versionScheme } = config;
   const version = versioning.get(versionScheme);
   if (version.isVersion(currentValue)) {
-- 
GitLab