github l5yth/potato-mesh v0.5.0
app potato-mesh v0.5.0

latest releases: v0.5.7, v0.5.7-rc1, v0.5.7-rc0...
2 months ago

This a feature release of the app potato-mesh v0.5.0. It contains a major refactor, changes all defaults (please read carefully below), enables federation between instances and now knows about lora preset, region frequency, and channel names, plus many bug fixes.

  • in production, make sure to set an INSTANCE_DOMAIN=example.com, otherwise we attempt reverse DNS
  • breaking: streamlined environmental variables for simplicity:
    • MESH_SERIAL is now CONNECTION
    • DEFAULT_CHANNEL is now CHANNEL
    • DEFAULT_FREQUENCY is now FREQUENCY
    • MAP_CENTER_LAT and MAP_CENTER_LON are now merged to MAP_CENTER="38.761944,-27.090833"
    • MAX_NODE_DISTANCE_KM is now MAX_DISTANCE
    • MATRIX_ROOM is now CONTACT_LINK and does not have to be Matrix
  • breaking: moved database and config to respective XDG directories (the app has migration built in, but make sure to update your backup scripts)
  • turn on ENERGY_SAVING=1 if you want to query remote/solar nodes but don't want to cycle their power too much
  • add a /metrics endpoint for prometheus (thanks @nicjansma)
  • deployed production instances of potato-mesh now talk to each other (turn off with FEDERATION=0)

What's Changed

  • Update changelog by @l5yth in #238
  • Add inline documentation to config helpers and frontend scripts by @l5yth in #240
  • Add comprehensive coverage tests for mesh ingestor by @l5yth in #241
  • docs: add ingestor inline docstrings by @l5yth in #244
  • Add tests for helper utilities and asset routes by @l5yth in #243
  • Refactor front-end assets into external modules by @l5yth in #245
  • Fix mesh ingestor telemetry and neighbor handling by @l5yth in #249
  • Add JSDoc documentation across client scripts by @l5yth in #253
  • Document Ruby helper methods with RDoc comments by @l5yth in #254
  • Handle missing node IDs in Meshtastic nodeinfo packets by @l5yth in #251
  • Document mesh ingestor modules with PDoc-style docstrings by @l5yth in #255
  • Force dark theme default based on sanitized cookie by @l5yth in #252
  • docs: add matrix to readme by @l5yth in #259
  • chore: restore apache headers by @l5yth in #260
  • Add energy saving cycle to ingestor daemon by @l5yth in #256
  • v0.4.0 version string in web UI by @nicjansma in #265
  • Relocate JS coverage export script into web directory by @l5yth in #266
  • Add fullscreen toggle to map view by @l5yth in #263
  • Added prometheus /metrics endpoint by @nicjansma in #262
  • Dockerfile fixes by @nicjansma in #268
  • Add hourly reconnect handling for inactive mesh interface by @l5yth in #267
  • Prometheus metrics updates on startup and for position/telemetry by @nicjansma in #270
  • Add targeted API endpoints and expose version metadata by @l5yth in #271
  • Document production deployment configuration by @l5yth in #273
  • Add configurable instance domain with reverse DNS fallback by @l5yth in #272
  • Add persistent federation metadata endpoint by @l5yth in #274
  • Fix federation signature handling and IP guard by @l5yth in #276
  • Implement federation announcements and instances API by @l5yth in #277
  • Improve instance domain detection logic by @l5yth in #278
  • Fix production Docker builds for web and ingestor images by @l5yth in #279
  • Avoid blocking startup on federation announcements by @l5yth in #281
  • Normalize INSTANCE_DOMAIN configuration to require hostnames by @l5yth in #280
  • Configure web container for production mode by @l5yth in #282
  • Clarify BLE connection description in README by @l5yth in #283
  • Ensure mesh ingestor queue resets active flag when idle by @l5yth in #284
  • Clarify numeric address requirement for network target parsing by @l5yth in #285
  • Ensure Docker config directories are created for non-root user by @l5yth in #286
  • Add regression test for queue drain concurrency by @l5yth in #287
  • Update default site configuration defaults by @l5yth in #288
  • Refactor config and metadata helpers into PotatoMesh modules by @l5yth in #290
  • Restore modular app functionality by @l5yth in #291
  • Adjust federation announcement interval to eight hours by @l5yth in #292
  • Handle federation HTTPS CRL verification failures by @l5yth in #293
  • Fix IPv6 instance domain canonicalization by @l5yth in #294
  • Update workflows for ingestor, sinatra, and frontend by @l5yth in #295
  • Add Apache license headers to missing sources by @l5yth in #297
  • Unify structured logging across application and ingestor by @l5yth in #296
  • Ensure JavaScript workflow runs frontend tests by @l5yth in #298
  • Handle CRL lookup failures during federation TLS by @l5yth in #299
  • Add in-repo Meshtastic protobuf stubs for tests by @l5yth in #300
  • Document sanitization and helper modules by @l5yth in #301
  • Add comprehensive theme and background front-end tests by @l5yth in #302
  • Increase coverage for configuration and sanitizer helpers by @l5yth in #303
  • Fix map initialization bounds and add coverage by @l5yth in #305
  • Fix map auto-fit handling and add controller by @l5yth in #311
  • Add fallback for offline tile rendering errors by @l5yth in #306
  • Improve offline tile fallback initialization by @l5yth in #307
  • Ensure APIs filter stale data and refresh node details from latest sources by @l5yth in #312
  • Adjust map auto-fit padding and default zoom by @l5yth in #315
  • refactor: streamline ingestor environment variables by @l5yth in #314
  • Adopt XDG base directories for app data and config by @l5yth in #316
  • Fix legacy configuration migration to XDG directories by @l5yth in #317
  • Refine environment configuration defaults by @l5yth in #318
  • Refine stacked short info overlays on the map by @l5yth in #319
  • Ensure web Docker image ships application sources by @l5yth in #322
  • Ensure frontend reports git-aware version strings by @l5yth in #321
  • Fix FrozenError when filtering node query results by @l5yth in #324
  • Capture radio metadata for ingestor payloads by @l5yth in #327
  • Add channel metadata capture for message tagging by @l5yth in #329
  • Add LoRa metadata fields to nodes and messages by @l5yth in #331
  • Adjust node table columns responsively by @l5yth in #332
  • Ensure node overlays appear above fullscreen map by @l5yth in #333

New Contributors

Full Changelog: v0.4.0...v0.5.0

Don't miss a new potato-mesh release

NewReleases is sending notifications on new releases.