Skip to content

beta-0.1.40

Pre-release
Pre-release

Choose a tag to compare

@hermes-gadget hermes-gadget released this 07 Jun 14:38

SigurdOS T-Deck Firmware — beta-0.1.40

Flash with esptool

# Full flash (first install):
esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash 0x0 firmware-merged.bin

# App update (keep settings):
esptool.py --chip esp32s3 --port /dev/ttyACM0 \
  write_flash 0x10000 firmware.bin

Web Flasher

Use the manifest at webflasher/manifest.json with esptool.js.

File Use
firmware.bin App only (flash at 0x10000)
firmware-merged.bin Full flash (flash at 0x0)

What's Changed

  • fix: remove double-queue of received mesh messages by @hermes-gadget in #336
  • fix: PIN screen crash on unlock — three bugs by @hermes-gadget in #337
  • fix: persist custom RF settings to NVS on apply by @hermes-gadget in #338
  • fix: DM navigation crash when opening from Heard/Contacts by @hermes-gadget in #339
  • feat: structured telemetry for AI agent monitoring by @hermes-gadget in #340
  • fix: RC1 feedback — UI stability, validation, crash fixes by @hermes-gadget in #335
  • docs: companion-only Regions (flood-scope) implementation plan by @hermes-gadget in #342
  • feat: Regions — companion flood scope (transport-code scoped flooding) by @hermes-gadget in #343
  • fix: regions UX — auto-prefix bare names + Alt+R shortcut by @hermes-gadget in #346
  • docs: Companion BLE — connect to the official MeshCore phone app (plan) by @hermes-gadget in #345
  • [codex] harden channel name boundaries by @n30nex in #362
  • [codex] filter invalid keyboard injection bytes by @n30nex in #366
  • [codex] reject invalid injected trackball events by @n30nex in #368
  • [codex] harden emoji search output bounds by @n30nex in #370
  • [codex] harden UTF-8 truncation byte limits by @n30nex in #372
  • [codex] fix telemetry heartbeat ring wrap indexing by @n30nex in #374
  • [codex] reject invalid telemetry trackball directions by @n30nex in #376
  • [codex] bound telemetry crash backtrace counts by @n30nex in #378
  • [codex] guard telemetry task watermark output by @n30nex in #380
  • [codex] guard telemetry packet log fields by @n30nex in #382
  • [codex] expose battery conversion helpers by @n30nex in #384
  • [codex] harden SD-card path validation by @n30nex in #386
  • [codex] expose GT911 touch point parser by @n30nex in #388
  • [codex] expose buzzer pattern helpers by @n30nex in #390
  • [codex] guard QR canvas layout bounds by @n30nex in #394
  • [codex] expose map renderer math helpers by @n30nex in #396
  • [codex] expose T-Deck battery threshold helper by @n30nex in #398
  • [codex] harden WiFi scan result ordering by @n30nex in #400
  • [codex] cover debug level bounds by @n30nex in #402
  • [codex] cover remote setrf parsing by @n30nex in #404
  • [codex] guard responsive column offsets by @n30nex in #406
  • [codex] harden region file count validation by @n30nex in #408
  • [codex] add typed GPIO mask helpers by @n30nex in #410
  • Test chat message cap normalization by @n30nex in #412
  • Test onboarding date and time validation by @n30nex in #414
  • Test UI splash transition timing by @n30nex in #416
  • [codex] add firmware audit and roadmap docs by @n30nex in #348
  • [codex] stabilize release warning cleanup by @n30nex in #350
  • [codex] fix T-Deck wake mask warning by @n30nex in #352
  • [codex] add mesh ACK tracking tests by @n30nex in #354
  • [codex] harden tile cache boundaries by @n30nex in #356
  • [codex] add telemetry protocol native coverage by @n30nex in #358
  • [codex] add smoke build matrix helper by @n30nex in #360
  • [codex] add responsive layout helper tests by @n30nex in #392
  • Test emoji fallback font wiring by @n30nex in #418
  • Test emoji font list integrity by @n30nex in #420
  • Test lodepng allocator fallback by @n30nex in #422
  • test: cover prefs sentinel defaults by @n30nex in #424
  • test: cover navigation screen inventory by @n30nex in #426
  • test: cover mesh public contract by @n30nex in #428
  • test: cover input hook contracts by @n30nex in #430
  • test: cover HAL public contracts by @n30nex in #432
  • test: cover GitHub OTA contract by @n30nex in #434
  • test: cover UI screen contracts by @n30nex in #436
  • docs: refresh native test guide by @n30nex in #438
  • docs: remove stale README test totals by @n30nex in #440
  • [codex] make merge-bin output ASCII-safe by @n30nex in #449
  • [codex] remove redundant MAX_TEXT_LEN build flag by @n30nex in #456
  • [codex] use 64-bit T-Deck wake mask by @n30nex in #447
  • [codex] harden region add validation by @n30nex in #445
  • [codex] cover release serial debug command policy by @n30nex in #451
  • [codex] fix T-Deck GPS UART bring-up by @n30nex in #453
  • feat: companion BLE bridge, persistent message store, Bluetooth UI by @hermes-gadget in #443
  • fix: persist companion message sent-flag to prevent re-send on reboot by @hermes-gadget in #457
  • feat: upstream RegionMap integration for flood-scope gating by @hermes-gadget in #458
  • feat: increase MAX_CONTACTS from 64 to 350 with heap allocation by @hermes-gadget in #459
  • docs: refresh roadmap and audit by @hermes-gadget in #463
  • feat: private per-chat scopes via Alt+C menu by @hermes-gadget in #461
  • [codex] record GPS lock hardware validation by @n30nex in #464
  • [codex] Add RC2 hardware smoke validation by @n30nex in #465
  • [codex] Add BLE hardware pairing validation by @n30nex in #466
  • [codex] Record RC2 non-radio UI smoke validation by @n30nex in #468
  • fix: support large contact lists by @hermes-gadget in #469
  • feat: OTA branch selection + pre-release support by @hermes-gadget in #471
  • fix: OTA branch/pre-release buttons update inline not full screen reload by @hermes-gadget in #472
  • [codex] Record RC2 release build validation by @n30nex in #473
  • feat: add Latin-extended text and raw T-Deck keyboard input by @hermes-gadget in #474
  • [codex] Add RC2 build identity reporting by @n30nex in #478
  • fix: update meshcore submodule URL to meshcore-dev/MeshCore (fixes CI on all PRs) by @hermes-gadget in #503
  • fix: correct EMJI_DATA_H → EMOJI_DATA_H include guard typo by @Jah-yee in #494
  • [Krab] setrf: add optional rx_boosted_gain parameter (closes #502) by @hermes-gadget in #505
  • [codex] Harden BLE companion reconnect validation by @hermes-gadget in #506
  • [Krab] test controller: add getrf command to read current radio params by @hermes-gadget in #509
  • ci: run only tests on PRs, build single unified firmware (BLE now default) by @hermes-gadget in #510
  • fix: keep Public channel visible by @hermes-gadget in #512
  • docs: sync roadmap and audit to latest upstream baseline by @n30nex in #515

New Contributors

Full Changelog: beta-0.1.39...beta-0.1.40