Files
meshcore-bot-firmware/CHANGELOG.md
cj-vana 15c7072d81 Add repo scaffolding for Colorado-Mesh publish
Adds the project metadata and CI/release workflow needed to publish this
repo under Colorado-Mesh/meshcore-bot-firmware.

- LICENSE: MIT with attribution to upstream MeshCore (also MIT)
- README: rewritten with badges, supported boards, install paths (web
  flasher / PlatformIO / esptool), bot command table, layout map,
  development quickstart
- CONTRIBUTING: submodule + patch-queue workflow, what-goes-where,
  patch hygiene rules, PR expectations
- RELEASE: cmesh-bot-vX.Y.Z tag scheme + procedure
- CHANGELOG: Keep-a-Changelog format, seeded with the hop-coordination
  fix and patch-5 utility commands
- Issue templates: bug_report (with bot stats prompt), feature_request,
  config.yml (no blank issues, link to upstream + community)
- Pull request template: layer checklist, verification gates,
  prefs-schema impact prompt
- .github/workflows/firmware-build.yml: keep PR check on representative
  envs (Heltec V3, RAK 4631 USB+BLE), add concurrency cancellation for
  PRs, scope cache key to PIO config hash
- .github/workflows/release.yml: NEW; triggers on cmesh-bot-v* tag or
  manual dispatch, enumerates all 133 *_companion_radio_(usb|ble) envs
  from vendor/MeshCore/variants/, shards across 8 parallel matrix jobs,
  aggregates artifacts into a single draft release
- scripts/verify.sh: respect MESHCORE_SKIP_APPLY_PATCHES like
  build-representative.sh does, so verify works when vendor already has
  patches applied as commits
- .gitignore: add .forge.bak.*/ for forge backup directories
2026-05-16 13:01:09 -06:00

36 lines
1.4 KiB
Markdown

# Changelog
All notable changes to this firmware are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), versioning
follows the `cmesh-bot-vX.Y.Z` scheme described in [RELEASE.md](RELEASE.md).
## [Unreleased]
### Added
- Hop-aware response coordination: bot delays its reply proportional to
the sender's hop count so the closest bot wins; far bots suppress.
- Utility commands: `time`, `lora`, `id`, `neighbors`.
- Neighbor tracking: bot remembers nodes heard directly within the last
hour for the `neighbors` command.
- `received_at_timestamp` field on bot messages; personalized ack target
in command context.
- Comprehensive repository scaffolding: README, CONTRIBUTING, LICENSE,
CHANGELOG, RELEASE doc, issue/PR templates, release workflow building
all 133 companion USB+BLE environments.
### Changed
- `BOT_HOP_STEP_MILLIS_DEFAULT` lowered from 5000 to 1500 ms per hop.
- Added `BOT_HOP_BIAS_MAX_MILLIS` cap of 8000 ms on the total hop bias.
- `BOT_RESPONSE_PENDING_TTL_MILLIS` raised from 15000 to 45000 ms.
- `BOT_PREFS_VERSION` bumped 2 → 3 to force re-default of in-the-wild
bots that saved the broken 5000 ms hop-step value.
### Fixed
- Multi-hop senders on `#bot` no longer get silently ignored. Previously
3+ hop responses scheduled past the 15 s TTL and were dropped by the
coordinator's `poll()` as `READY_EXPIRED`. Verified on a Heltec V3
bench bot replying at 2, 4, and 6 hops.