Skip to content

AWTRIX NG 1.2.3

Release of 2026-11-03. Everything that changed since 1.2.2.

New

  • 8-bit sound for songs: wave=chiptri, wave=chipnoise, wave=chipmetal and levels= sound like an old game console. Existing songs sound the same. See 8-bit sound.

For script developers

  • effects() and overlays() list the built-in effect and overlay names, in every method. See The effects this clock has.
  • hint= puts gray hint text in an empty text or number box. It is never a value. See Show a hint instead of a value.
  • A switched-off script is stopped. Its setup() no longer runs, and its timers, requests and connections end. Switched on again, it starts from the beginning. See How it behaves.
  • Setting lengths count characters, not bytes: maxlen=3 takes MÄR.
  • An error while the script runs names its line. The web UI shows it next to the script and marks it in the editor. In a module function, it is the line in your app that called it. See ERR: on the display.
  • ERR:<name> scrolls through once when the name is too long for the display.
  • timeout for slow services: a request can wait longer than 5 seconds for a service that thinks before it answers, and http.cancel() ends a request you no longer need. See HTTP calls.
  • A User-Agent a script sets reaches the server. Without one, requests say AWTRIX-NG.

Improved

  • More free memory. About 18 KB more stays free.
  • Radio stations are part of the backup. Tick Radio stations under System → Backup & restore. A restore puts them in use at once, without a reboot.

Fixed

  • MQTT: a message of 8 to 64 KB no longer breaks the connection over and over. The clock skips it and logs it. A message over 64 KB still makes the clock connect again.
  • The AI agent skill installs with npx skills add Blueforcer/awtrix-ng again.
  • Time zones: Winnipeg, Vancouver, Edmonton, Inuvik, Casablanca and El Aaiún follow their current rules. A clock already set to one of these zones corrects itself after the update.
  • Log: a cut or broken character in a line no longer makes /api/v1/logs unreadable for strict JSON tools. A cut character is left out, and other broken bytes show as ?.
  • Network: a few crafted mDNS packets from another device on your network could restart the clock.
  • Uploads: an upload that stops halfway no longer blocks the web interface. The clock gives up after 20 seconds.
  • Scripts can nest code and JSON deeper before the clock runs out of stack.
  • Script requests: a server that stops sending halfway through an answer no longer holds up the requests of all scripts. The request ends after 30 seconds.
  • Songs: a looping song keeps the first beat of its loop.