-if (isset($versions[$major][$version])) {
- printf("%s\n", $versions[$major][$version]["version"]);
+$by_minor = array();
+# build the tree of latest versions per minor
+if (!empty($versions) && !isset($versions["error"])) {
+ foreach (array_keys((array) $versions) as $release) {
+ list($major, $minor, $patch) = explode(".", $release);
+ if (isset($by_minor["$major.$minor"])) {
+ if (version_compare($release, $by_minor["$major.$minor"], "<")) {
+ continue;
+ }
+ }
+ $by_minor["$major.$minor"] = $release;
+ }
+}
+# check latest release
+if (isset($by_minor[$version])) {
+ printf("%s\n", $by_minor[$version]);