Skip to content

Releases: IT-BAER/hado

v1.1.3

15 May 18:42

Choose a tag to compare

Added

  • Drag-to-reorder lists in the main app: long-press any list chip to pick it up and drag left or right to change the order; order is persisted across sessions
  • Drag-to-reorder lists in widget settings: long-press the drag handle (⠿) on any list row to pick it up and drag to a new position; widget renders lists in the saved order

v1.1.2

08 May 18:32

Choose a tag to compare

Added

  • Optional due and overdue item notifications with per-list filtering, configurable lead time, repeat cadence, and quick actions for Later and Done
  • In-app language picker with Android per-app locale support for all supported HAdo languages
  • Completed translation coverage for the latest notification, language, and MDI icon strings across every supported locale

Changed

  • Home overview header now uses a tighter compact layout with clearer done and overdue status pills
  • The add-item editor no longer applies top-bar padding when launched without the top app bar, keeping full-screen widget launches properly aligned

Fixed

  • Logging out now cancels scheduled reminder work, and signing in or switching to Local Mode reschedules it cleanly
  • Notification list filters now self-heal when available to-do lists change, preventing stale saved selections from breaking reminder settings

v1.1.1

01 May 08:28

Choose a tag to compare

Fixed

  • Due date off-by-one error: The date picker now correctly handles UTC/Local time conversions so selected dates no longer shift by a day in certain timezones
  • Login "www. error" toast: Replaced raw network exception messages (like "www.host: Unable to resolve host") with user-friendly descriptions and added URL validation to catch malformed addresses early

v1.1.0

24 Apr 20:40

Choose a tag to compare

Added

  • New list icon picker with direct typed mdi:* search, live preview, inline suggestions, and native MDI defaults; compatible emoji and MDI choices can sync upstream while custom images remain local-only
  • Pull-to-refresh on every list editor: swipe down to force a fresh fetch from Home Assistant (or local store in local mode)
  • Scroll animation fix: items no longer appear to reorder or shuffle when scrolling fast through a list — enter animations now only play for truly new items

Changed

  • The inline add row now stays above active items, and newly added items are inserted at the top in both the app editor and widget editor
  • Newly added Home Assistant items are now moved to the top immediately after creation, so the refreshed persisted order matches the optimistic UI order
  • Rapid check/uncheck taps on the same item are now debounced (350 ms) and coalesced — only the settled state is sent to Home Assistant, eliminating out-of-order API races
  • Toggling an item now reverts its optimistic state if the Home Assistant API call fails, instead of leaving the item in a wrong state
  • The widget editor now shows the list icon and list name directly in the top app bar, freeing more vertical space for items and the add row
  • List icons now use a shared fixed-size preview across the editor, home overview, app settings, and widget settings so emoji and custom image icons stay visually aligned

Fixed

  • Expired or revoked Home Assistant sessions now clear saved auth state and return cleanly to the login screen instead of bouncing between screens in a 401 loop
  • Tapping a list chip in the home editor now moves the horizontal pager to that list again; chip taps and swipes stay in sync
  • Newly added items now animate existing rows downward instead of snapping when the optimistic temporary row is replaced by the confirmed item
  • The Local Mode button on the login screen now uses a readable high-contrast style instead of a barely visible outline treatment
  • Custom list images are now center-cropped before being stored and render as proper circular icons instead of malformed stretched thumbnails
  • Non-admin Home Assistant accounts now fall back cleanly to local-only custom icons and show a note instead of attempting admin-only entity icon updates
  • Reopening the list icon picker now shows the active MDI or emoji selection again, inline icon suggestions no longer dismiss the keyboard, and restoring the default icon now returns to the native mdi:clipboard-list list icon

Security

  • Updated Glance widget library from 1.1.0 to 1.1.1 to address CVE-2024-7254 (protobuf vulnerability in transitive dependencies glance-appwidget-proto and glance-appwidget-external-protobuf)

v1.0.5

23 Apr 17:08

Choose a tag to compare

Added

  • The currently open list now refreshes in the background about every 5 seconds while the home screen is visible, so changes from other users show up much faster
  • New opt-in widget setting “Focus add field on open”: tapping a list title on the widget can now automatically focus the new-item input and open the keyboard
  • Main app header now includes a purple heart support action that opens an optional external support dialog for Buy Me a Coffee and PayPal
  • Widget settings now end with a "💜 Support" section that links to the same optional external support pages

Changed

  • Home list loading now uses a per-list cache and deduplicated item requests instead of letting each embedded page fetch on its own

Fixed

  • Swiping between lists no longer triggers duplicate todo.get_items bursts that could hit Home Assistant 429 rate limits
  • Short Retry-After rate-limit responses are now retried once while the existing cached list stays visible
  • Swiping between home lists now auto-scrolls the selected list chip into view so the active list stays visible

v1.0.4

22 Apr 19:52

Choose a tag to compare

Added

  • Widget settings now include a global switch to show or hide list title icons

Changed

  • Widget settings redraw immediately from cached widget state while a background refresh still updates live Home Assistant data

Fixed

  • Widget loading placeholder now uses a centered, rounded card style instead of a bright white overlay
  • Widget list headers now fall back to the default list icon when custom icon data is missing or stale

v1.0.3

21 Apr 19:38

Choose a tag to compare

Added

  • Inline home list editing with drag-to-reorder, long-press item details, shared editor behavior, and horizontal swiping between lists
  • Home overview now shows resolved list icons, and the editor reclaims vertical space while typing by hiding the overview strip
  • Per-widget item height control and a dedicated widget loading placeholder during startup
  • Extended translations for the new app and widget UI copy across all supported locales

Changed

  • Refreshed the app UI across login, home, settings, and Material 3 theme tokens, shapes, and spacing
  • Widget refresh interval is now configured per widget instance instead of globally, and widget schedules are created and cancelled per widget
  • Widget title area now opens the app directly while the refresh action stays refresh-only

Fixed

  • While adding items inline, the active field stays visible after Enter and a second Back after closing the keyboard restores the full layout instead of exiting the app
  • Widget toggles are now optimistic across widget instances, show a pending state while syncing, and revert cleanly if Home Assistant update fails
  • Build support and warning cleanup for compileSdk 35, including AGP 8.7.3, Gradle 8.9, deprecated UI API cleanup, and preserved debug symbols for libdatastore_shared_counter.so

v1.0.2

15 Apr 18:30

Choose a tag to compare

Changed

  • Widget settings: back gesture/button now saves changes instead of discarding them

Added

  • Full i18n support for 10 languages: English, German, Spanish, French, Portuguese (Brazil), Dutch, Russian, Japanese, Korean, Chinese (Simplified)

v1.0.1

13 Apr 15:48

Choose a tag to compare

Fixed

  • Release build: added ProGuard keep rules for widget data classes (WidgetListData, WidgetSettings, RefreshTokenResponse) that R8 was obfuscating, breaking Gson serialization
  • Release build: extracted local SimpleState classes to shared model package covered by existing keep rules, fixing HA API state parsing
  • Release build: added @SerializedName field preservation rule for R8 full mode (default in AGP 8.5+)
  • Release build: added android:usesCleartextTraffic="true" to allow HTTP connections to local Home Assistant instances
  • Added ProGuard keep rules for LocalTodoStore inner classes and Gson TypeToken