Only show update indicators when the remote core version is newer. Add coverage for prereleases, build metadata, invalid versions, and version boundaries.