Tags give the ability to mark specific points in history as being important
-
v0.2.0
protectedRelease: patinate v0.2.0c22c143a · ·patinate v0.2.0 Pre-1.0: this release breaks configuration (a salt is now required). ## v0.2.0 -- privacy zone no longer outlines home ### Breaking - Any render with an obfuscation radius above 0 now requires `[privacy] salt` (or `PATINATE_PRIVACY__SALT`): at least 16 characters, kept private, never changed. Generate one with `openssl rand -hex 16`. Without it the render stops with an error naming the key. Radius 0 and the non-render commands need no salt. - New `[privacy] offset_m`, default 750, minimum 250 for any positive radius. A non-finite or negative radius is now refused. - Contributors: the Makefile is replaced by a justfile, pinned with `just` and git-lfs in `mise.toml`. - The published crate no longer ships fixtures, `web/`, assets or examples. ### Security - v0.1.x clipped every track at one exact circle around home, so the cut ends outlined it. A circle fit recovered home to within metres from the SVG, and to about 40 m even from a PNG. The hidden zone is now offset from home in a salted, secret direction, and each cut end is trimmed a further salted distance along the track. Renders that share a salt share one zone centre, so renders at different radii cannot be intersected. - Residual: tracks still converge toward home, and a determined analyst can narrow it to roughly 100-250 m. - Upgrading and re-rendering is strongly recommended. Replace any render published with v0.1.x. - `--web` simplification and coordinate rounding can no longer draw a line inside the home radius. - The zone derivation is pinned by golden tests, so a dependency update cannot silently move a salt's zone. - The cache, which holds the Strava refresh token, and patinate's data directory are created owner-only (0600 and 0700), and existing ones are tightened. ### Added - `--fit cover` fills a viewbox of any aspect by cropping the long axis. `contain` stays the default. - `heat.blend` theme field (normal, multiply or screen). The default multiplies on a light ground and screens on a dark one, by luminance. - The heat glow is a `<use>` stack over one path group, not three copies of every path. Posters shrink by about a third. - `--web` writes compact, merged paths sized to the viewbox and drops streams, keeping rivers and canals. - Fixtures are now fully synthetic, with the OSM basemap in git LFS. Examples and `render_smoke` run from a fresh clone. ### Fixed - Equal-sized road components rank deterministically, so two renders of the same input keep the same roads. - `fetch-osm` accepts negative coordinates. - The Overpass User-Agent reports the crate's real version. ### Changed - oauth2 no longer pulls in a second HTTP client and TLS stack. - Dependencies refreshed.
-
v0.1.1
protectedRelease: patinate v0.1.1efba8219 · ·v0.1.1 -- darwin build fix Patch release. Same code as v0.1.0 plus one rust-toolchain.toml line (`targets = ["aarch64-apple-darwin"]`) so the nomograph rust-cli CI image's prepared darwin target reaches the pinned 1.94.0 toolchain. The v0.1.0 tag pipeline failed `build:darwin-arm64` for this reason; v0.1.0 still landed on crates.io but had no GitLab Release artifacts. This release ships both linux-amd64 and darwin-arm64 binaries plus SBOMs and cosign signatures via the GitLab package registry. `cargo install patinate` picks up v0.1.1 automatically. Existing v0.1.0 installs are functionally identical. See README.md for install + quickstart, CHANGELOG.md for the full v0.1 feature surface, CONTRIBUTING.md for the dev loop.
-
v0.1.0
protected3f136da4 · ·v0.1.0 -- first public release Render Strava activity into stylized heatmap posters and inline SVG. Real polyline-circle obfuscation. Privacy flags for shippable renders. Highlights - patinate auth/sync/fetch-osm/render flow, end-to-end for one rider in one city. - Real polyline-circle clipping (replaces v0-era naive start-point check) with a load-bearing privacy invariant test. - --anonymize + --obfuscation-radius-m for renders destined for public publication. - Four embedded themes (noir_heat, blueprint_heat, warm_beige, cycle_heat) plus --themes-dir for custom JSON themes. - --web preset (single-layer heat, precision-1 coords, no minor roads) for inline page embeds. - --heat-bloom + --heat-alpha runtime knobs to tune the glow stack per render. - 44 lib tests, cargo audit clean, cargo deny clean, clippy clean on rust 1.94. See README.md for install + quickstart, CHANGELOG.md for the full feature list, CONTRIBUTING.md for the dev loop, SECURITY.md for disclosure policy. Built on storr runner. Cross-compiled to linux-amd64 + darwin-arm64 via the nomograph rust-cli component. Cosign-signed; SBOMs in the GitLab package registry.