start-sdk v2.0.5
What's Changed
Fixed
-
ExVer range operations no longer ignore the downstream revision.
compareVersionRangePointsandadjacentVersionRangePointscompared the upstream version twice instead of comparing the downstream on the second pass, so two points that shared an upstream but differed in downstream (1.0.0:3vs1.0.0:15) collapsed into a single point. Everything built on the truth tables inherited the error —normalize()silently dropped the lower of the two, andintersects()/satisfiable()could answer on a merged point.=1.0.0:0 || =1.0.0:1normalized to=1.0.0:1.The visible consequence was in packed manifests:
canMigrateFrom/canMigrateToare derived from the version graph and normalized, so any package declaring anotherversion sharingcurrent's upstream advertised a range narrower than the truth (mempoolat3.3.1:15withother: [3.3.1:3]shippedcanMigrateFrom: <=3.3.1:3rather than<=3.3.1:15). No upgrade actually broke — StartOS resolves migrations through the version graph rather than gating on this field, and the registry index does not yet populatesourceVersionfrom it — but the manifests were wrong and would have become load-bearing the moment either changed. The Rust implementation derives its point ordering and was never affected.