Skip to content

app: v1.19.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 11:17
edbace5

Changelog

1.19.0 (2026-08-26)

Features

  • web,server: tell a hunter when their member verification comes through (#531) (54981ca)

1.18.0 (2026-08-26)

Features

  • app,web,server: filter receptions by sender-id class (#528) (f10b1ac)

1.17.1 (2026-08-26)

Bug Fixes

  • web,app: resolve the names in the target list, and mark the ids that cannot (#526) (9fe9067)
  • web,server: say how far back the map reaches instead of "capped" (#488) (5a26e51), closes #440

1.17.0 (2026-08-25)

Features

  • app,web: keep the reception when the identity or the decode fails (#478) (0c2831a)
  • app: give the app the map's two reception filters (#507) (a5243b0)
  • web: open the map on the last 30 days, not on All time (#512) (28802ac)

1.16.0 (2026-08-25)

Features

  • app: name the 1-byte path hash instead of showing no sender (#522) (9ad8389)

1.15.0 (2026-08-25)

Features

  • app,web: locate from the whole signal field, not its centre of mass (#516) (4d9a947), closes #454
  • server,web: give a flood with no sender something to filter on (#497) (9362217)

Bug Fixes

  • app: send the receptions that are waiting, radio or no radio (#515) (15f79ff), closes #454
  • server,app: stop one reception blocking every reception behind it (#505) (c49b87a), closes #454
  • web,app: make the map keep up with the drive (#514) (720da82), closes #454

1.14.0 (2026-08-24)

Features

  • app: widen the cue ladder to twelve steps, 4.5 dB apart (#472) (ff012ba)

Documentation

  • app: say what a lit hex cell claims after #455, and drop two stale claims (#469) (3040d01)

1.13.2 (2026-08-24)

Performance Improvements

  • app: stop rebuilding a render tick that cannot have changed (#485) (18aa6ca), closes #462

1.13.1 (2026-08-23)

Documentation

  • app,web: write the release notes for what shipped since the backfill (#460) (ca1e31a)

1.13.0 (2026-08-23)

Features

  • app,web: write release notes for readers, not from the commit log (#435) (8b70eaa)

1.12.0 (2026-08-22)

Features

  • app: capture what the radio hears, not only what it can name (#455) (f7518b6)
  • app: give What's new its own Settings tab, and let its dot reach the HUD (#429) (bc646c3), closes #421

1.11.1 (2026-08-21)

Bug Fixes

  • app: collapse coincident receptions to one 3D pillar (#419) (f973714)
  • app: let the node-position key fade, so it stops sitting on the ticker (#444) (fa58db2), closes #413
  • app: stop MapLibre shading the tier colour out of the 3D bars (#446) (29e73dc)
  • app: warn on a low battery when the companion does, not 260 mV later (#443) (61bd271), closes #380

Tests

  • app,web: pin densityGrid's kernel, which nothing was holding (#442) (b1807dd), closes #370

1.11.0 (2026-08-19)

Features

  • app,server: draw SF8 nodes on the position layer too (#430) (863c3ac), closes #418

1.10.0 (2026-08-19)

Features

  • app,web: give the website an onboarding tour, and say what a hunter is (#379) (ea7bb21), closes #316 #371
  • app: add a time-of-day sky, so near-horizontal pitch stops reading as broken (#401) (f199dec), closes #397
  • app: raise the tilt ceiling to 85 so the camera can look along the ground (#399) (b5d1a23), closes #333

Bug Fixes

  • app: stop the FAB progress ring lighting a segment when sound is off (#414) (77e5a1f), closes #373

1.9.0 (2026-08-19)

Features

  • app,web: make the receptions ticker readable at a glance (#404) (c48a974), closes #322

1.8.0 (2026-08-18)

Features

  • app,web: show what changed in a release behind a version badge (#363) (3a3dcf1), closes #284

Bug Fixes

  • app: draw 3D buildings from z13, the zoom the source declares (#400) (7a727f9), closes #395
  • app: pan the map when a receptions-ticker row is tapped (#392) (940d03e), closes #309

Documentation

  • make the pre-push self-review concrete, mutation-check new tests, widen §7 (#364) (e4c7051), closes #334

1.7.0 (2026-08-15)

Features

  • app,web: carry the decoder's full packet-type set in the filter chips (#343) (e924935)
  • app,web: extend the weak end of the RSSI scale below -110 dBm (#344) (29b1015)
  • app: refuse captures on a GPS fix too poor to place, and guard invalid fixes (#345) (ee8874f)
  • app: verify advert signatures before an advert may name anything (#362) (cac64b3)

Bug Fixes

  • app: guard localStorage reads so a storage-hostile context cannot blank the app (#342) (ce9d534)
  • app: say so when the node-position layer has no registry data to draw (#355) (2e2f30a)

Performance Improvements

  • app: rebuild the map once per view change, not twice (#351) (f2d0546)

1.6.0 (2026-08-08)

Features

  • app: companion battery, topbar consolidation and HUD sender readout (#323) (a25bf1c), closes #281
  • app: merge layer FAB + 2D/3D FAB into one 5-state view cycle (#314) (9e48a38), closes #258
  • app: park background audio and cue both transitions (#315) (14bc526), closes #260

Bug Fixes

  • app: round the 3D pillar footprint to an octagon, sized as a radius (#311) (ad0560b), closes #308
  • app: show the node-position disclaimer as a glance, keep a permanent key (#312) (eb89280), closes #306
  • app: truncate target chip with ellipsis, keep topbar controls visible (#310) (22233c9), closes #305

1.5.1 (2026-07-29)

Bug Fixes

  • app: make the map popup and the target list agree on a selection (#297) (#326) (8bde3bb)
  • app: restore tier opacity and age-fade on the 3D pillars (#302) (#328) (74d6a1f)
  • refuse ambiguous prefixes and consult sender_kind on both sides (#295, #296) (#325) (55a026f)

Continuous Integration

  • add an eslint no-undef pass over app, web and nameresolver (#303) (#324) (0eafdca)

1.5.0 (2026-07-27)

Features

  • app: render points in 3D mode as raised pillar markers (#250) (#266) (5d21696)
  • app: sound modes — rx/tx cues + generative ambient music (#145) (#261) (c72022e)
  • node-position layer — advertised positions vs. the RSSI estimate (app + web) (#272) (0c21df5)

Bug Fixes

  • app: bound queue reads, persist the publish watermark, add 7-day retention (#230) (#283) (c1c92fc)
  • app: merge target-list rows for the same node across id prefixes (#268) (91e63c6)

1.4.0 (2026-07-26)

Features

  • app: segmented progress ring for multi-state FABs (#259) (#265) (fe22c49)

Bug Fixes

  • app: move the FAB stack down toward the thumb zone (#257) (#264) (852a9bd)
  • app: stop auto-ping's discover broadcast and first trace-ping colliding (#253, #254) (#262) (428f57c)

1.3.1 (2026-07-13)

Bug Fixes

  • app: stop the blank map and 3D freeze; drop terrain from 3D (#147) (#247) (0bc7a25)

1.3.0 (2026-07-13)

Features

  • app: 3D mode — 2D/3D FAB, extruded hex bars, buildings, terrain (#147) (#228) (75fb92e)
  • app: auto-discover toggle with pulse feedback and repeater trace-ping (#241) (83dea99)
  • app: GPS course as a third compass-mode heading source (driving mode) (#245) (6c09b26)

Bug Fixes

  • app,web: locate disclaimer, glossary, and copy parity (#174) (#227) (41e1456)
  • app: clarify login/register submit action, keep it above the keyboard (#239) (0255490)
  • app: lighter help-overlay backdrop, click-outside dismiss, splash tagline, anchored tooltips (#220) (addd30a), closes #216
  • app: stop follow-mode recenter from cancelling an active pinch-zoom (#243) (d92cd28)
  • app: two-line target rows to fix id/RSSI overlap and improve name legibility (#219) (d800486), closes #215

Styles

1.2.0 (2026-07-11)

Features

  • app: Mesh-Hunter onboarding splash + display-name rename (#202) (c1d75c1)
  • app: migrate the map to MapLibre GL — 2D parity (#147 phase 1) (#214) (cb05ab3)
  • app: multi-select targets + byte-prefix in the target list (#206) (742252a)
  • app: new Mesh-Hunter app icon (hex · reticle · thermal signal) (#205) (1f23045)
  • app: settings as a full page with Settings / About tabs (#207) (76f549d)

1.1.1 (2026-07-04)

Bug Fixes

  • web: only load Matomo on production hosts (not localhost/CI) (1c70a7a)

Miscellaneous Chores

  • add cookieless Matomo analytics to landing/map/app (9b06bad)

1.1.0 (2026-07-04)

Features

  • app: compass FAB icon previews the next state, not the current one (63f6671)
  • app: draw the hunter's own session route trail on the map (cd8f0e3)
  • app: topbar redesign — Select-target chip, filter dropdown, locate over the filtered set (#128) (5f62978)

1.0.0 (2026-07-04)

Features

  • app: in-app register/login and companion linking (v1.0) (00514a9)

0.14.1 (2026-07-03)

Bug Fixes

  • app: correct leaflet-rotate's renderer zoom transform to stop drift (#168) (a0f6093)

0.14.0 (2026-07-02)

Features

  • app: fade reception points with age instead of hard-vanishing (#164) (cf9a62b)
  • app: make the Messages-panel ignore button a toggle (#165) (228ce93)

Bug Fixes

  • app: show discover responses in the Messages panel (#166) (2e8c2c7)

0.13.0 (2026-07-02)

Features

  • app: Settings reload button with deploy version check (#162) (0b4702e)

0.12.0 (2026-07-02)

Features

  • app: auto-fade the locate-info box after 2s (#127) (3f887d1)
  • app: distinct icon for the combined points+hex layer mode (#126) (07092f9)
  • app: focus the existing PWA instance instead of relaunching (#153) (bba418a)
  • app: manual pause/resume for the MQTT connection (#121) (496406c)
  • app: mark individual non-default settings within the sheets (#110) (a2f1dfa)
  • app: mark the selected target active in the target list (#108) (208920a)
  • app: real map rotation on device heading + two-finger rotate gesture (#151) (033033b)
  • app: replace settings-btn emoji with an inline SVG gear icon (#113) (3e4c241)
  • app: show splash disclaimer + tips on every visible screen (#123) (21d8bc6)
  • app: tap outside filter/settings/target sheets to close (#111) (b6dbb3f)
  • app: toggle FAB for the single-hunter locate overlay (#120) (aa95e7d)

Bug Fixes

  • app: direct-only filter must check hops === 0, not is_direct (#150) (66301e1)
  • app: disable pull-to-refresh (breaks active BLE/MQTT connection) (#133) (6adb347)
  • app: ignore-sender updates the map immediately (#112) (355e809)
  • app: raise map maxZoom from 19 to 20 (#107) (475ab1b)
  • app: render points above the hex layer in 'both' mode (#125) (963871d)
  • app: resolve relayed-advert prefixes to repeater names (#137) (6a5037a), closes #136
  • app: Settings connect/disconnect button stays disabled after connecting (#124) (986a275)

Documentation

  • app: document required publish-only broker ACL (#154) (f80459a)

Miscellaneous Chores

  • app: remove the Manual position (dev) debug feature (#122) (5e43aa7)

0.11.0 (2026-07-01)

Features

  • app: single-hunter locate for the isolated target (pwa) (#92) (ebe93bb)

Bug Fixes

  • app: active state for the Messages panel isolate-sender button (#89) (5f756e1)
  • app: compass-mode toggle for the map recenter button (pwa) (#88) (f7cd13f)
  • app: default Direct-only filter to off (#90) (db65239)
  • app: prevent text-selection tap-to-search on row buttons (Android) (#84) (9723b2d)
  • app: swap layer-toggle FAB icon per active layer mode (#87) (a720d4c)
  • app: unify Settings connection button (connect/disconnect/retry) (#86) (9d1adbd)

0.10.0 (2026-07-01)

Features

  • app: rotating tips on the GPS-wait splash (#83) (b1605bf)

Bug Fixes

  • app: include last-hop repeaters in the target dropdown (#76) (92d1c2c)

0.9.0 (2026-07-01)

Features

  • app: make the PWA installable (register SW, add icons + meta) (#27) (d7155df)

0.8.0 (2026-07-01)

Features

  • app: read companion spreading factor and show it in settings (#52) (b60ad80)

Documentation

  • dedupe release changelogs (drop merge-commit duplicates) (#70) (10d0528)

0.7.0 (2026-07-01)

Features

  • app: attenuator compensation added back to plotted RSSI (5a6deb7), closes #54
  • app: capture FLOOD last-hop relay (path[last]) as a directly-heard node (f08e88a), closes #64
  • app: move settings to the top bar, Discover as a radar-icon FAB above the filter (3f2378f), closes #45
  • app: startup splash + GPS-loading indicator (75fc9bf)
  • app: target dropdown with pinned top senders (a76da15)
  • app: treat the ignore-list as a filter (move to filter sheet, light filter FAB) (82dc174), closes #48
  • identify every zero-hop node (advert + discover) by ID + role, resolve name via API (3728f26), closes #41

Bug Fixes

  • app: add missing styles for the radio settings section (f93f158)
  • app: don't let MQTT connect failure abort the BLE connect (984afdf)
  • app: keep the hex-heat grid aligned during zoom (rebuild on zoomend, not mid-animation) (bd00863), closes #44

0.6.0 (2026-06-30)

Features

  • app,web: resolve node names from CoreScope for full-pubkey senders (197fc5a)
  • app: filter-active indicator + filter sheet layout (776eaf9)
  • app: HUD timer showing time since last packet (6face72)
  • app: move Disconnect into BLE settings, keep Connect in the HUD (3db3fdc)
  • app: scale hex resolution with zoom (down to 3 m) (0192d97)

Bug Fixes

  • app: prevent Chrome auto-translate from rewriting the UI (ae20e57)

Styles

  • app: themed X close button in overlay sheets (8fe485b)

0.5.0 (2026-06-30)

Features

  • app: keep screen awake during drive — Wake Lock (#17) (bb19d42)

0.4.0 (2026-06-30)

Features

  • app: single-shot Discover button; remove redundant hop pill (#14) (a93d344)

0.3.0 (2026-06-29)

Features

  • app: hashtag-channel decoding from a config channel-name list (#11) (e9d4449)

0.2.0 (2026-06-29)

Features

  • app: live Messages feed — decrypted channel messages + adverts (#8) (7af52b7)