Skip to content

v0.1.8 alpha

Choose a tag to compare

@PhilMo6 PhilMo6 released this 25 Jun 01:33

MeshPunk v0.1.8
Changes since v0.1.6

A big release focused on MeshCore feature completion, a new app/storage architecture, and the Map app's meshprint triangulation.

Highlights
Meshprint sender triangulation (Map app) — With enough mesh data, run a meshprint on a message's sender to capture their first- and second-hop repeaters and triangulate the sender's approximate location. The more data you have, the better the result.
Fuller MeshCore support — Added region support, auto-add contact settings, and an auto-add max hops setting, bringing the device closer to feature parity with the MeshCore companion apps.
App manager — All apps now launch and close through a central app manager. Apps register their timers so they always tear down cleanly, fixing a class of leaks and stale-timer crashes.
New file storage system — Messages now persist as binary files that prune based on age (days) rather than message count, with GPS-seeded timestamps.

Messenger
Major messenger overhaul: chat-bubble UI and the remaining MeshCore-related settings.
Trackball/keyboard navigation now works consistently everywhere in the app.
Added a ? help button explaining how to use q to back out of selected areas.
Hardened teardown and fixed a small public-channel UI issue.
Map
Meshprint triangulation (see Highlights).
Fixed a map memory leak.
Added an archive-contact cycle button for stepping through archived contacts that don't all fit on screen at once.
Channels
Public is now a normal channel — it was previously a non-removable special case. It can now be removed and re-added just like any other channel.
Navigation
Replaced the old gridnav logic with a dedicated nav.lua navigation layer; messenger and all settings pages updated to use it for more reliable trackball/WASD focus handling.
PICO-8
Fixed a Lua interpreter bug that mis-evaluated certain values, causing rare random glitches.
Performance optimizations for heavy carts.
Under the hood / fixes
Large Lua files now stream to the loader in chunks instead of being read into one big string first — files of any size load correctly.
SLog logger added to stop serial prints from stepping on each other.
GC hardening to reduce memory pressure during app lifecycle.
Fixed a build bug where the custom partition/allocation file was ignored because it shared a name with a framework default (renamed to meshpunk_custom_16Mb.csv).