Skip to content

v0.25.0

Choose a tag to compare

@hassette-release-please hassette-release-please released this 26 Apr 16:38
1cd06ff

0.25.0 (2026-04-26)

⚠ BREAKING CHANGES

  • StartupPhase enum removed from hassette.types
  • test_utils: complete event simulation for AppTestHarness (#525)
  • scheduler: trigger-based API redesign + frontend integration (specs 032+033) (#517)
  • test_utils: RecordingApi.get_entity and get_entity_or_none now require an explicit BaseEntity subclass model argument, matching the production Api.get_entity signature. The previous BaseState-sentinel default silently aliased to get_state() and hid real bugs in test apps that forgot the model argument. Callers that want registry-converted state without a specific entity model should call get_state(entity_id) instead.
  • redesign Docker startup deps with constraints-based protection (#480)

Features

  • add error handlers for event listeners and scheduled jobs (#575) (3ef61df)
  • add execution timeout enforcement for scheduler jobs and event handlers (#552) (97b4cdc)
  • add resource dependency ordering with wave-based startup/shutdown (#584) (9a97898)
  • api: add typed Home Assistant helper CRUD (input_*, counter, timer) (#506) (0dcda5d)
  • bus: add immediate-fire and duration-hold for state/attribute handlers (#570) (075f3d4)
  • color system overhaul + responsive mobile adaptation (#483) (679fe4f)
  • end-user test utilities — AppTestHarness, RecordingApi, time control (#492) (399a081)
  • framework error identity, traceback in feed, unified dashboard (#537) (5b4132a)
  • preserve listener/job registrations across sessions (#466) (#487) (f62a2a7)
  • scheduler: trigger-based API redesign + frontend integration (specs 032+033) (#517) (c510a35)
  • telemetry source-tier unification (#484) (#495) (804f8ed)
  • test_utils: complete event simulation for AppTestHarness (#525) (2d3f044)
  • test_utils: docs sync + close 3 safety holes in test utilities (#502) (2743e4e)
  • test_utils: generate _RecordingSyncFacade via codegen and unify drain exceptions (#503) (89b6f2c)
  • ui: dashboard hierarchy, app detail polish, and design system refinements (#523) (7be31ab)
  • ui: dashboard polish — KPI hierarchy, quiet-canvas status, sorted grids (#485) (dfdbc61)

Bug Fixes

  • bus,scheduler: subscription race fix + cancel semantics redesign (#451, #518) (#520) (260e0a7)
  • dashboard shows zero handlers/jobs despite correct API data (#578) (857076f)
  • docker: prune uv cache on startup to prevent unbounded volume growth (#542) (dc5b503)
  • handle SIGTERM for graceful Docker shutdown (#479) (91eba12)
  • ui: fix dashboard error log filter flash, vanishing tabs, and framework orphan mislabel (#546) (bee9d3d)

Refactoring

  • eliminate _HassetteMock, two-phase Hassette construction, fixture migration (#593) (791e4b8)
  • formalize startup phases with StartupPhase enum (#580) (97e5c4a)
  • redesign Docker startup deps with constraints-based protection (#480) (1775a62)
  • tech debt cleanup across 13 issues (#579) (cd4b797)
  • test infrastructure cleanup (spec 039) (#586) (57a3630)

Documentation

  • add event bus API prior art research brief (#531) (c620526)
  • add prior art research for execution overlap modes (#544) (a8059ac), closes #543
  • add prior art research on disk cache layer design (#596) (42a4ad5)
  • add system internals page with architecture deep-dive diagrams (#605) (b2c8f2b)
  • comprehensive docs rewrite, review pass, recipes, and scheduler expansion (#507) (2056262)

Miscellaneous

  • add .claude/agent-memory/ to gitignore (#601) (eec045e)
  • remove manual changelog content and note release-please ownership (#497) (215819c)

CI/CD

  • replace sha-tagged docker images with pr-N and main tags (#499) (10f51fb)

Tests

  • improve web frontend test infrastructure and coverage (#600) (7e349d5)
  • replace flaky sleep waits with deterministic polling (#585) (50054c7)