github dmellok/tesserae v0.47.17
v0.47.17 — Marketplace, themes, smart sync

latest releases: mcp-v0.11.0, mcp-v0.10.3, mcp-v0.10.2...
one month ago

v0.47.17 — Marketplace, themes, smart sync

A catch-up release covering everything shipped since v0.45.5 (2026-06-10). 12 patch versions; the highlights below are organised by theme rather than tag.

Themes as a catalog kind

  • Themes can now be installed from the marketplace alongside widgets and fonts. Single themes or theme packs.
  • Six theme packs available in the community catalog today: Tonal, Pigment, Muted, Vivid, Gradient, Auroras (60+ themes total).
  • Per-theme "Show in picker" toggle so a freshly-installed catalog doesn't bury the themes you actually use.
  • Vivid and Gradient theme packs extracted out of the bundled set, so the host stays lean.

Smart sync for rotations

  • Rotations JIT-render the upcoming step when a bound device is close to waking, instead of rendering on the scheduler's tick. Panels grab a frame that's seconds old, not minutes old.
  • Live countdown to the next step + "play this step now" override on the rotations page.

Marketplace UX

  • Browse page splits widgets / themes / fonts via kind filter chips.
  • Carousel preview for catalog entries with multiple screenshots.
  • GitHub star counts displayed on cards, cached and refreshed hourly.
  • Bundle entries surface their folder list inline.

Network egress capability contract

  • Widget manifests can declare which hosts they reach (requires: ["network:api.github.com"]). The host enforces at the socket layer; undeclared egress raises CapabilityDenied.
  • Worked example shipped in the devref bundle (devref_egress).

GitHub widget bundle expansion

  • Bundle grew from 7 to 14 widgets. New hero-stat widgets: Star Count, Streak, Open PR Count, CI Status, Star Growth, Activity Heatmap, Commit Cadence.

Notable fixes

  • Webpage widget now awaits iframe load before screenshotting, so scheduled pushes to TRMNL X / Inky Impression don't capture blank cells (fixes #15).
  • Community and user themes now apply on panel push (loopback bypass for /themes/*.css).
  • Editor cell config no longer reverts after edit; multi-device layout corruption fixed.
  • History view shows page name on schedule and rotation rows instead of the raw hex id.
  • Thumbnail .tmp extension bug + mypy strict miss in github_commit_cadence sample.

Catalog and ecosystem

  • First third-party widget submission (Belgian public transport widget by @JayJay1989).
  • Dashboards list grouped by device for instances with many panels.
  • Recipes widget shipped to the catalog with QR-code-back-to-source rendering (segno added as a host dep).

Devices

  • esp32_bw + photopainter clients documented in the README and on the wiki.

Upgrade: Docker users pull ghcr.io/dmellok/tesserae:0.47.17; HA add-on bumps land automatically once the add-on repo syncs.

927 tests, all green.

Don't miss a new tesserae release

NewReleases is sending notifications on new releases.