# beta_87 - test build. Stable is beta_85.
# One user-facing note per non-blank, non-# line; # lines are section comments.

# --- A memory leak in Lua apps -------------------------------------------------------------------
Lua apps leaked memory every time they redrew a screen, and the more a screen had on it the faster it went. Clearing a page destroyed the buttons and list rows but kept the code attached to each one, so an app that rebuilds a list of twenty contacts left twenty of those behind on every redraw, until it ran out of memory and could not build a screen at all. Clearing a page now releases that code along with the widgets it belonged to.
It could also have made a button do the wrong thing. The firmware matched the leftover code to a button by its address, and addresses get reused, so a new button with nothing attached to it could have run something left behind by a screen you had already closed. That cannot happen now that nothing is left behind.
If you write apps and have seen one get slower, or start failing to draw, the longer it ran, this is why. Reported by Jade while writing a one-time-pad app.

# --- For people writing Lua apps -------------------------------------------------------------------
New: wada.ui.emoji(cb) opens the emoji picker and gives you the chosen emoji back, so an app that draws its own text entry can offer them. If you use wada.ui.input() you do not need it: the picker is already on that field's long-press menu, along with Cut, Copy, Paste and Sym.

# --- For testers ---------------------------------------------------------------------------------------
This build is two fixes for Lua apps and nothing else. If you do not write apps or run them, beta_86 is the same firmware for you.
