Convert version string to pack_format
JavaScript (ES6),  43  42 bytes

s=&gt;([,x,y]=s.split`.`,x*x+x*3+~~y)/51^x&gt;16

Try it online!
How?
Given an input string 1.x.y, we compute:
$$\left\lfloor\frac{x^2+3x+y}{51}\right\rfloor$$
Because we're using ~~y, we implicitly assume \$y=0\$ if the input string is just 1.x.
This gives the correct result for all versions except the last one, which gives \$6\$ instead of \$7\$. This is fixed by XOR'ing with \$1\$ if \$x&gt;16\$.