Skip to content

Releases: rhendriks/MiGreedy

MiGreedy v1.5.3

29 Mar 06:39

Choose a tag to compare

What's changed

  • Support RTT measurements from RIPE Atlas DNS measurements

Full Changelog: v1.5.2...v1.5.3

Full Changelog: v1.5.2...v1.5.3

Full Changelog: v1.5.2...v1.5.3

Full Changelog: v1.5.2...v1.5.3

MiGreedy v1.5.2

28 Mar 20:12

Choose a tag to compare

What's changed

Algorithm improvements

  • Ambiguous disc exclusion — Discs that overlap multiple MIS clusters are now excluded from all clusters, preventing noise from measurements where the reached anycast site is unknown.
  • Progressive disc intersection — Geolocation now intersects all cluster discs (smallest to largest) rather than using only the smallest. If a disc would eliminate all remaining candidates, it is skipped and the previous candidate set is preserved.
  • R-tree spatial indexing — City/airport lookups now use an R-tree (O(log n)) instead of a linear scan over all locations.
  • Relative population threshold (--pop-ratio) — New per-geolocation filter that keeps only cities with pop >= max_pop × ratio among candidates, complementing the existing absolute --min-pop.
  • Unified cities dataset — The three separate city files (cities1000, cities5000, cities15000) have been replaced by a single cities500.csv.gz containing all cities with population ≥ 500. Filtering is now done at runtime via --min-pop.

Performance

  • Precomputed MIS distance matrix — Haversine distances from all discs to all MIS discs are computed once upfront, eliminating redundant calculations during clustering.

New features

  • --accuracy flag — Adds two optional output columns for assessing the accuracy of individual geolocation outputs:
    • candidate_diameter — max pairwise distance (km) between surviving candidate cities (spatial precision)
    • num_constraints — number of discs that narrowed the candidate set (confidence)
  • RIPE Atlas API robustness — Handles the min RTT field returned as either a number or a string, fixing deserialization failures on certain measurements.

Repository changes

  • Python implementation removed — The legacy Python code (code/) has been removed. Only the Rust implementation is maintained going forward.
  • Modular codebase — The single main.rs has been split into six modules: main, analyzer, atlas, io, model, geo.

What's Changed

  • 24 population threshold including relative by @rhendriks in #25

Full Changelog: v1.5.0...v1.5.2

What's Changed

  • 24 population threshold including relative by @rhendriks in #25

Full Changelog: v1.5.0...v1.5.2

What's Changed

  • 24 population threshold including relative by @rhendriks in #25

Full Changelog: v1.5.0...v1.5.2

MiGreedy v1.5.0

27 Mar 10:08

Choose a tag to compare

What's Changed

  • 18 testing and validation by @rhendriks in #21
  • 22 ripe atlas measurement id input by @rhendriks in #23
  • included optional city-level geolocation by @rhendriks in #23
  • changed geolocation algorithm, for finding the best airport/city in each MIS (iteratively intersecting circles till the best candidate city is found) by @rhendriks in #23

Full Changelog: v1.4.3...v1.5.0

What's Changed

Full Changelog: v1.4.3...v1.5.0

What's Changed

Full Changelog: v1.4.3...v1.5.0

What's Changed

Full Changelog: v1.4.3...v1.5.0

MiGreedy v1.4.3

27 Feb 19:02
f95eb4d

Choose a tag to compare

What's Changed

  • include airport file in binary, update polars by @rhendriks in #20

Full Changelog: v1.4.0...v1.4.3

What's Changed

  • include airport file in binary, update polars by @rhendriks in #20

Full Changelog: v1.4.0...v1.4.3

MiGreedy v1.4.0

27 Feb 18:43

Choose a tag to compare

What's Changed

Full Changelog: v1.2.1...v1.4.0

What's Changed

Full Changelog: v1.2.1...v1.4.0

MiGreedy v1.2.1

16 Jan 18:19
4be8d0c

Choose a tag to compare

What's Changed

  • Update country codes for Rwanda and Kosovo by @m-appel in #13
  • Fixed workflow

Full Changelog: v1.2.0...v1.2.1

What's Changed

  • Update country codes for Rwanda and Kosovo by @m-appel in #13

New Contributors

Full Changelog: v1.2.0...v1.2.1

Release v1.2.0

14 Sep 17:15

Choose a tag to compare

Release v1.1.0

14 Sep 14:51
efb1d13

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/rhendriks/MiGreedy/commits/v1.1.0