← Back to all sparks
O

osrm.backend

INFRA · APIS
Velocity0.0

Bindings for 'Open Source Routing Machine'

osrm.backend stopped trusting upstream binaries and started shipping its own

rroutingosrmbinary distributionsupply chaingeospatial
Current state
osrm.backend installs and manages OSRM routing servers from R. Through 0.3.x it fetched official upstream binaries and patched around their runtime dependencies. 0.4.0 in July 2026 changed the supply chain: the package now ships self-built, immutable OSRM binaries for macOS (Intel and Apple Silicon), Linux (x86_64 and arm64) and Windows, built by the maintainer and bundled with runtime libraries like Intel TBB.
Where it's heading
The package is moving from wrapper toward distribution channel. The maintainer-built binaries are the default provider, with the official ones retained behind osrm_binaries_provider = 'official'. Integrity verification switched to GitHub release asset digests with checksums.txt as fallback, so new binary builds no longer require a package update to be trusted. Earlier releases show the same instinct — 0.3.0 added an osrm_gui() Shiny explorer and a server registry rather than leaving those to users.
Prediction
With the build matrix and verification path in place, the next work is likely validating newer upstream OSRM versions against the existing binary pipeline rather than changing the installation model. Whether the maintainer can sustain a five-platform build matrix is the open question the entries do not answer.

Recent moves

  1. 1mo ago

    Self-built OSRM binaries for five platforms replace upstream as default

    ⚡ SPARK

    The package takes over its own binary supply chain, shipping maintainer-built immutable OSRM releases across macOS, Linux and Windows with runtime libraries bundled in. Installation integrity moves to GitHub release asset digests, and download_url/file_path arguments open a manual install path. Upstream binaries stay available but are no longer the default.

    View source ↗
  2. 3mo ago

    Windows install fixes for OSRM v26+ binaries

    A narrow patch fixing the install process for OSRM v26 and later on Windows. The kind of platform-specific breakage that 0.4.0's self-built binaries are designed to eliminate.

    View source ↗
  3. 3mo ago

    osrm_gui() Shiny app and a server registry with print methods

    Adds an interactive Shiny application for exploring a loaded routing network, with auto-centering driven by extents the server registry now pre-saves. Server IDs move to a readable osrm-{port}-{pid} format and error messages gain hints when a graph is incompatible with the installed OSRM version. The package starts owning more of the operational surface, which 0.4.0 extends to binaries.

    View source ↗
  4. 6mo ago

    Server logging moves to temp files to avoid deadlocks

    A breaking change to logging: the log_file option no longer accepts a list for separate stdout/stderr, and servers write to a temporary file by default rather than using pipes, which could deadlock in R's single-threaded environment. Correctness over configurability.

    View source ↗
  5. 8mo ago

    Test suite fixes for CRAN warnings

    Test-suite-only changes to clear CRAN warnings. No user-visible effect.

    View source ↗