diff --git a/python/lib/dependabot/python/update_checker/latest_version_finder.rb b/python/lib/dependabot/python/update_checker/latest_version_finder.rb index b5e03e98f81..decfdea6dc8 100644 --- a/python/lib/dependabot/python/update_checker/latest_version_finder.rb +++ b/python/lib/dependabot/python/update_checker/latest_version_finder.rb @@ -159,10 +159,7 @@ def filter_out_of_range_versions(versions_array) end def wants_prerelease? - if dependency.version - version = version_class.new(dependency.version.tr("+", ".")) - return version.prerelease? - end + return version_class.new(dependency.version).prerelease? if dependency.version dependency.requirements.any? do |req| reqs = (req.fetch(:requirement) || "").split(",").map(&:strip) diff --git a/python/spec/dependabot/python/update_checker/latest_version_finder_spec.rb b/python/spec/dependabot/python/update_checker/latest_version_finder_spec.rb index d8a5dc7f119..8e44a055a69 100644 --- a/python/spec/dependabot/python/update_checker/latest_version_finder_spec.rb +++ b/python/spec/dependabot/python/update_checker/latest_version_finder_spec.rb @@ -204,6 +204,12 @@ end it { is_expected.to eq(Gem::Version.new("2.7.0b1")) } + + context "with a local version" do + let(:dependency_version) { "2.6.0a1+local.1" } + + it { is_expected.to eq(Gem::Version.new("2.7.0b1")) } + end end context "when raise_on_ignored is enabled and later versions are allowed" do