fix: 3.x-dev can install a 3.y version by mayeut · Pull Request #417 · actions/setup-python

It was clear for me with minor, I find it unclear with your proposal. How about:
to install the latest release of a minor version -> to install the latest patch version release for a given minor version

If what the patch is doing is unclear using 3.10-dev as an example:

import * as semver from 'semver';

function check(version: string, range: string) {
  const statified = semver.satisfies(version, range);
  const expected = semver.satisfies(version, "~3.10.0-0", {includePrerelease: true});
  if (expected !== statified) {
    console.error(`FAIL: ${version} statifies ${range} returned ${statified}, expected ${expected}`)
  }
  else {
    console.log(`PASS: ${version} statifies ${range} returned ${statified}, expected ${expected}`)
  }
}

for (const range of [">= 3.10.0-a0", "~3.10.0-0"]) {
  for (const version of ["3.9.9", "3.10.0-alpha.1", "3.10.0", "3.10.1-alpha.1", "3.10.1", "3.11.0-alpha.1", "3.11.0"]) {
    check(version, range);
  }
}

before PR (>= 3.10.0-a0):

PASS: 3.9.9 statifies >= 3.10.0-a0 returned false, expected false 
PASS: 3.10.0-alpha.1 statifies >= 3.10.0-a0 returned true, expected true 
PASS: 3.10.0 statifies >= 3.10.0-a0 returned true, expected true 
FAIL: 3.10.1-alpha.1 statifies >= 3.10.0-a0 returned false, expected true
PASS: 3.10.1 statifies >= 3.10.0-a0 returned true, expected true 
PASS: 3.11.0-alpha.1 statifies >= 3.10.0-a0 returned false, expected false 
FAIL: 3.11.0 statifies >= 3.10.0-a0 returned true, expected false

with the PR (~3.10.0-0):

PASS: 3.9.9 statifies ~3.10.0-0 returned false, expected false 
PASS: 3.10.0-alpha.1 statifies ~3.10.0-0 returned true, expected true 
PASS: 3.10.0 statifies ~3.10.0-0 returned true, expected true 
FAIL: 3.10.1-alpha.1 statifies ~3.10.0-0 returned false, expected true
PASS: 3.10.1 statifies ~3.10.0-0 returned true, expected true 
PASS: 3.11.0-alpha.1 statifies ~3.10.0-0 returned false, expected false 
PASS: 3.11.0 statifies ~3.10.0-0 returned false, expected false