Skip to content

Releases: SH1FT-W/recall

26.10.6

Choose a tag to compare

@SH1FT-W SH1FT-W released this 19 Oct 16:43

Now public

Recall is now open source under the Apache 2.0 license and installable through HACS as a custom repository: https://github.com/SH1FT-W/recall.

  • New README and project page: https://sh1ft-w.github.io/recall/
  • NOTICE with acknowledgements (Saver by PiotrMachowski as the idea, no code taken over).
  • Tests no longer contain personal example names.

No functional changes in this release.

26.10.5

Choose a tag to compare

@SH1FT-W SH1FT-W released this 19 Oct 16:43

Fixed

  • Remembered entries without a stored state are discarded on load like other corrupted entries. Previously restoring aborted.
  • When Recall is removed, no late save recreates the file with the remembered states.

Improved

  • Less storage and fewer writes: per domain only the attributes needed for comparison and restore are remembered (for example light: brightness, colour mode, colour values, effect; cover: position, tilt). Option lists, cover art, media positions, icons and names no longer end up in the file. Old entries stay readable.
  • Media players that constantly report new positions no longer trigger a save or a sensor update.
  • Changing options no longer rewrites the remembered states; time window and sensor still adapt immediately.
  • On unload or restart nothing is written twice if everything is already saved.
  • After a restart, old automation runs are no longer detected as own changes.

26.10.4

Choose a tag to compare

@SH1FT-W SH1FT-W released this 19 Oct 16:43

New version numbers

From now on Recall uses calendar versions: year.month.release of that month. 26.10.4 is the fourth release in October 2026; the next month starts again at .1. The jump from 1.2.1 to 26.10.4 is intended, Home Assistant sees it as newer.

Fixed

  • README: the version badge still showed 1.2.0.

1.2.1

Choose a tag to compare

@SH1FT-W SH1FT-W released this 19 Oct 16:43
  • "Remembered states" sensor: saved_at, expires_at and changed_at in local time, 24 h, to the second. Templates using as_datetime keep working.

1.2.0

Choose a tag to compare

@SH1FT-W SH1FT-W released this 19 Oct 16:43
  • Handover between slots: if another slot remembered exactly our expected state after us and then moved the device, that is no longer a manual change. On restore our remembered state is handed to that slot (no movement, own slot forgotten, reason handed_over).
  • Editor: recall.restore and recall.forget without a target no longer show a red "no target" warning.
  • Diagnostics redact sensitive attributes and include the settings.
  • Remembered states are saved immediately on unload.
  • Domains without restore support (for example sensor) report unsupported instead of "restored"; lights with a colour mode but no colour value come back with their brightness.
  • Unknown slot on restore or forget returns not_saved; deleted entities are forgotten.
  • "Remembered states" and the sensor show what is remembered (for example 70 % · tilt 30 %) and until when.
  • Several fixes around parallel calls, error messages and groups.

1.1.0

Choose a tag to compare

@SH1FT-W SH1FT-W released this 19 Oct 16:42

First releases (1.0.0 and 1.1.0)

  • Replacement for Saver: recall.save, recall.restore and recall.forget with response data, named slots, expiry, stored across restarts.
  • Manual change detection: Recall learns the state the automation drives to and leaves alone entities that someone changed afterwards (intermediate positions while moving do not count, tolerance adjustable).
  • Restores like scenes (position and tilt, lights with transition, climate and more).
  • Condition recall.is_saved, "Remembered states" sensor, events, diagnostics, repair notice while Saver is still set up.
  • Settings under Settings > Devices & services > Recall > Configure: defaults for respecting manual changes, forget after restore, tolerance, settle time, wait time, maximum duration and expiry. They apply when an action does not set the field and take effect without a restart.
  • "Remembered states" in the same dialog: see everything remembered and forget single slots.
  • expires_after: 0 in recall.save means never expire for this call.