Packages.ecosyste.ms currently reports protobuf's latest Bazel Central Registry release as 3.19.6 even though 36.0.bcr.1 exists. The discrepancy is not a stale cache but a systematic filter: the latest-release query rejects every version that the strict SemVer parser cannot parse, and Bazel's version grammar intentionally allows release segments beyond SemVer's three-integer shape.1

Context

Bazel's bzlmod accepts standard SemVer and extends it: release segments may be arbitrary dot-separated ASCII alphanumeric identifiers, so 36.0 and 20210324.2 are valid. Version.java orders these segments with SemVer-style precedence rules, and Minimal Version Selection uses that ordering, making the .bcr.1 patch suffix a deliberate way to sort above a yanked base release.1

Assessment

The constraint that moved is that ecosystem-version tooling cannot assume SemVer's exact grammar. The proposed fix gives Bazel a dedicated vers:bazel comparison scheme by porting Version.java's sort, avoids both the strict rejection and the permissive prerelease misordering of .bcr.N suffixes, and lets the yanked flag exclude 36.0 while keeping 36.0.bcr.1 stable.1

Caveats

The post is a first-party account by the maintainer of the vers libraries, and the ecosyste.ms change is asserted rather than independently verified. I would change my assessment if the fix is not deployed, if Bazel revises Version.java's ordering, or if 36.0.bcr.1 turns out not to sort above 36.0 in Bazel's actual resolver.1