v3.0.0 - Plover
Plover 3.0.0
Biggest release yet — the routing engine, the dialog, and the repo were rebuilt end to end. 11x faster with ~5% shorter tours on a 100-point two-slough benchmark vs v2.7.0.
Fixed
- The boundary buffer now genuinely lets routes hug the field edge — points sitting exactly on the boundary line no longer become unreachable (previously they were silently connected with straight lines that could cross sloughs)
- Routing runs in a background task: QGIS stays responsive, runs are cancellable
- Layer dropdowns track the project (no more "Reload Plugin" workaround)
- Toolbar icon actually displays
- Points are auto-reprojected to the boundary CRS; geographic CRS gets a clear refusal
- Unreachable points are reported by number instead of being silently straight-lined
New
- Processing algorithm
plover:tsproute— use Plover in the Processing Toolbox, Model Designer, batch mode, and qgis_process - One-way routes (uncheck "Return to start")
- Numbered visit-order layer with labels and per-leg lengths; route styled with direction arrows
- GPX and KML export, auto-reprojected to WGS84 for handhelds/phones
- Use-only-selected-points mode and a start-point feature picker
- Multi-feature boundary layers; fully-enclosed features auto-treated as exclusion zones
Engine
- Visibility graph reduced to reflex (turn) vertices — a rectangular field contributes zero graph nodes
- Prepared-geometry edge tests instead of overlay operations
- One Dijkstra per waypoint instead of one per pair
- Multi-start nearest-neighbour + 2-opt + Or-opt local search
- Solver core is pure Python with 18 unit tests; 20 more headless QGIS integration tests
Install
Download plover-v3.0.0.zip below, then in QGIS: Plugins → Manage and Install Plugins → Install from ZIP. Compatible with QGIS 3.22+ and QGIS 4.x (Qt5 and Qt6).