Skip to content

1.4.3

Choose a tag to compare

@wallenium wallenium released this 27 Jul 11:56
· 200 commits to main since this release
52af16c

What's Changed

  • Add product usage logging, timer actions, and usage statistics cards by @wallenium with @Copilot in #1
  • Resolve storage.py merge conflict between symptom logging and product usage changes by @wallenium with @Copilot in #3
  • Feature/symptom logging by @wallenium in #2
  • Implement menarche tracking, symptom validation, pregnancy services docs, and get_symptom response by @wallenium with @Copilot in #4
  • feat: add options flow for post-setup configuration management by @wallenium with @Copilot in #5
  • Commit 11: Improve sensor naming with profile association by @wallenium in #6
  • Commit 12b: Add menstrual-cycle-history-card-analog.js with pregnancy and menarche support by @wallenium in #8
  • Add shared household inventory card and backend stock management for multi-user period products by @wallenium with @Copilot in #10
  • fix: export ovulation_day as sensor attribute and display in gauge card by @wallenium with @Copilot in #12
  • Fix Lovelace resource load failure in menstrual-product cards (locale.language + syntax error) by @wallenium with @Copilot in #14
  • fix(period-countdown-timer): dropdown closes immediately, can't select item by @wallenium with @Copilot in #15
  • feat: symptom input modal in gauge card + heatmap integration by @wallenium with @Copilot in #13
  • Restrict pre‑menarche symptom input and show menarche ETA countdown in gauge card by @wallenium with @Copilot in #16
  • fix: use hass.locale.language instead of non-existent hass.language in product cards by @wallenium with @Copilot in #17
  • Fix period countdown product dropdown auto-closing on open by @wallenium with @Copilot in #18
  • Keep pre_menarche state stable while tracking is active by @wallenium with @Copilot in #19
  • Pass menarche/pre-menarche runtime data into sensor model and expose missing menarche attributes by @wallenium with @Copilot in #20
  • Verify: SVG dropdown arrow already complete in period-countdown-timer.js by @wallenium with @Copilot in #21
  • Add compact cycle status card with circular day indicator and phase SVG by @wallenium with @Copilot in #22
  • feat: Compact status card with adaptive layout — phase circle, progress bars, icon+text modes by @wallenium with @Copilot in #24
  • fix: handle unhandled promise rejection in inventory card button click handler by @wallenium with @Copilot in #26
  • feat: Add postpartum progress bar and menopause duration to compact status card by @wallenium with @Copilot in #25
  • Simplify period continuation logging via bleeding strength by @wallenium with @Copilot in #27
  • Harden menstrual product inventory card against duplicate loads and unsafe render input by @wallenium with @Copilot in #28
  • Harden menstrual-product-stats-card against duplicate loads, invalid locales, and HTML injection by @wallenium with @Copilot in #29
  • Standardize dark-mode theming across all custom Lovelace cards using HA design tokens by @wallenium with @Copilot in #30
  • Register all custom card modules with manifest-driven cache-busted Lovelace URLs by @wallenium with @Copilot in #32
  • fix: drop _async_register_card_static_path, rely solely on Lovelace resource registration by @wallenium with @Copilot in #33
  • fix: register static HTTP path for custom Lovelace card JS files by @wallenium with @Copilot in #34
  • fix: use async_register_static_path per-file for current HA versions by @wallenium with @Copilot in #35
  • fix: replace broken HTTP static path registration with frontend_extra_module_url (v1.3.0) by @wallenium with @Copilot in #36
  • fix: use /hacsfiles/ endpoint in manifest.json frontend_extra_module_url by @wallenium with @Copilot in #37
  • Serve card JS files via custom aiohttp HTTP handler at /menstruation_gauge/{filename} by @wallenium with @Copilot in #38
  • Make Lovelace resource auto-registration reliable across HA resource APIs by @wallenium with @Copilot in #39
  • feat: Add cervical mucus (Schleim) as trackable symptom by @wallenium with @Copilot in #40
  • fix: throttle period-countdown-timer updateStatus() to only fire on state changes by @wallenium with @Copilot in #41
  • Add missing static getConfigElement() to menstrual-product-stats-card by @wallenium with @Copilot in #42
  • feat(heatmap): cervical mucus tracking + redesigned rich tooltip by @wallenium with @Copilot in #43
  • fix: register domain services globally in async_setup() instead of per config entry by @wallenium with @Copilot in #44
  • Fix period countdown timer lifecycle to prevent blank card render by @wallenium with @Copilot in #45
  • Clean up stale versioned Lovelace resources on integration upgrade by @wallenium with @Copilot in #46
  • Refactor product usage telemetry to structured sensor attributes and consolidated stats entity by @wallenium with @Copilot in #47
  • Refactor symptom payloads to compact sensor attributes and precompute cycle statistics by @wallenium with @Copilot in #48
  • feat: Optimize period history — compact sensor broadcasting, pre-calculate cycle statistics by @wallenium with @Copilot in #49
  • fix: prevent double-click interference with HA edit mode in gauge calendar by @wallenium with @Copilot in #51
  • feat: Replace emoji product icons with SVGs and add comprehensive i18n translations by @wallenium with @Copilot in #50
  • perf(gauge-card): fix event listener accumulation, modal delegation, date-parse caching, ResizeObserver by @wallenium with @Copilot in #52
  • feat(inventory-card): product visibility control + visual Lovelace editor by @wallenium with @Copilot in #53
  • feat(period-countdown-timer): smooth animated SVG fill indicators for cup, tampon & pad by @wallenium with @Copilot in #54
  • Add visual editors for menstruation-cycle-heatmap-card and menstrual-cycle-history-card-row by @wallenium with @Copilot in #55
  • feat: Add SVG product icons to inventory card product headers by @wallenium with @Copilot in #56
  • Add visual Lovelace editor for period countdown timer settings by @wallenium with @Copilot in #58
  • Centralize menstrual product SVG icons across Lovelace cards by @wallenium with @Copilot in #57
  • Compact product usage timeline attributes while preserving full-history stats by @wallenium with @Copilot in #59
  • perf: event delegation + hass guard for MenstrualProductInventoryCard by @wallenium with @Copilot in #60
  • feat: progressive pregnancy silhouette icon in product-icons.js, used across compact status card and countdown timer by @wallenium with @Copilot in #61
  • Centralize animated cycle/life-stage SVG status icons and replace card emojis by @wallenium with @Copilot in #62
  • Fix menstrual-product-stats-card KPI values showing 0 after PR#47 data model change by @wallenium with @Copilot in #63
  • Replace product header icons with sanitized inline SVG path data by @wallenium with @Copilot in #64
  • feat: persist timer state via HA service for cross-device continuity by @wallenium with @Copilot in #65
  • Fix delegated actions in period countdown timer card by @wallenium with @Copilot in #66
  • Eliminate frontend listener/observer leaks in timer, heatmap, and editor components by @wallenium with @Copilot in #67
  • Map pregnancy status icons to month-specific inline SVGs (preg_01–preg_09) by @wallenium with @Copilot in #68
  • Normalize pregnancy UI rendering in inventory card by @wallenium with @Copilot in #69
  • Fix pregnancy handling in the gauge card by @wallenium with @Copilot in #70
  • fix: remove card frame from pregnancy gauge center content by @wallenium with @Copilot in #71
  • feat: wire exact pregnancy and period product SVG assets from assets/ directory by @wallenium with @Copilot in #72
  • Fix symptom value translations in heatmap tooltip by @wallenium with @Copilot in #73
  • Theme-aware rendering for pregnancy and period product SVG assets by @wallenium with @Copilot in #74
  • fix(ui): remove remaining pregnancy-panel frame in gauge center by @wallenium with @Copilot in #75
  • fix: pregnancy week→icon mapping; remove dead PREGNANCY_MONTH_ICON_PATHS by @wallenium with @Copilot in #76
  • fix: show liner and period underwear in product usage stats card by @wallenium with @Copilot in #77
  • Stabilize heatmap tooltip by skipping unnecessary rerenders on HA websocket updates by @wallenium with @Copilot in #78
  • Investigating menstrual product usage stats issue by @wallenium with @Copilot in #79
  • Use period asset SVGs for animated product icons (cup/tampon/pad) with mask-based fill and resilient fallback by @wallenium with @Copilot in #80
  • Fix product usage quantity coercion across timeline and stats aggregation by @wallenium with @Copilot in #81
  • fix(gauge-card): eliminate preg_02.svg flicker, add status icon above day-label, resize pregnancy icon to 56px by @wallenium with @Copilot in #82
  • fix(pregnancy-timer): correct title, week-0 bug, and broken symptom logging by @wallenium with @Copilot in #83
  • feat(compact-status): move status icon right, match gauge size, add tooltip by @wallenium with @Copilot in #84
  • fix: pregnancy mode symptom logging, field visibility, and timer icon theming/sizing by @wallenium with @Copilot in #85
  • Fix midnight refresh callback thread-safety in Home Assistant integration by @wallenium with @Copilot in #86
  • Replace remaining animated status icons with shared static state assets by @wallenium with @Copilot in #87
  • Beheben der premenarche-Animation und Umstellung auf statisches Icon by @wallenium with @Copilot in #88
  • Add reload support for Settings → Devices & Services UI by @wallenium with @Copilot in #90
  • fix(product-icons): remove undefined function exports from ProductIcons by @wallenium with @Copilot in #91
  • Preserve original colors for state center icons while keeping pregnancy icons currentColor-masked by @wallenium with @Copilot in #92
  • feat: 64px state icons, menopause/neutral as SVG assets, menopause sensor setting by @wallenium with @Copilot in #93
  • Fix product icons invisible in dark mode in Period Countdown Timer by @wallenium with @Copilot in #94
  • Inventory card: move thresholds to editor, simplify UI, add HA shopping list integration by @wallenium with @Copilot in #95
  • Implement cup/underwear-specific inventory behavior and add underwear/cup insights to product stats by @wallenium with @Copilot in #96
  • Add discharge symptom category across cycle modes and place it after spotting by @wallenium with @Copilot in #97
  • Add 6 new symptom categories to Gauge Card with dependent clots logic and cervix 2x3 selector by @wallenium with @Copilot in #98
  • Fix smart period continuation and end detection for daily period logging by @wallenium with @Copilot in #99
  • [WIP] Add button for logging first period in Pre-Menarche mode by @wallenium with @Copilot in #100
  • feat: add contraception awareness point to welcome period popup by @wallenium with @Copilot in #102
  • Add Statistik Card with cycle analytics and doctor HTML report export by @wallenium with @Copilot in #101
  • Restore log_first_period backend service wiring by @wallenium with @Copilot in #103
  • Fix pre-menarche modal label and add first-period flow to gauge card by @wallenium with @Copilot in #104
  • Reorder gauge symptom sections and align pregnancy symptom payloads by @wallenium with @Copilot in #106
  • Integrate product stats into statistics card as Hygiene tab by @wallenium with @Copilot in #107
  • Remove standalone product-stats-card; hygiene stats live natively in statistics-card by @wallenium with @Copilot in #108
  • refactor: fully inline menstruation-product-stats-shared.js into menstruation-statistics-card.js by @wallenium with @Copilot in #111
  • Fix fertile window and ovulation rendering when sensor attributes use datetime values by @wallenium with @Copilot in #112
  • Adjust fertile-window timeline for longer periods and auto-enable pregnancy mode from start date by @wallenium with @Copilot in #114
  • Preserve logged period-day styling in the history heatmap by @wallenium with @Copilot in #115
  • feat: noncycle_data support — auto cycle length defaults to 5 days by @wallenium with @Copilot in #116
  • feat: compact inventory card — hide cup quantity, move stock to icon corner by @wallenium with @Copilot in #118
  • Show fertile period and ovulation indicators on historical cycle months by @wallenium with @Copilot in #117
  • Dynamic fertile window & ovulation calculations based on actual cycle length by @wallenium with @Copilot in #119
  • Align fertile window with ovulation instead of period end by @wallenium with @Copilot in #120
  • [WIP] Fix ovulation day marker not displaying on menstruation gauge card by @wallenium with @Copilot in #121
  • fix: narrow fertile window to clinically accurate ovulation ±5 days by @wallenium with @Copilot in #122
  • Add configurable multi-cycle forecast (up to 12) across model, sensor, and cycle cards by @wallenium with @Copilot in #123
  • Add standalone menstruation calendar card with configurable phase markers and editor by @wallenium with @Copilot in #124
  • Calendar card: display predicted future cycles from predicted_cycle_starts by @wallenium with @Copilot in #125
  • Prevent duplicate Lovelace JS resource registration across versioned URLs and fallback payloads by @wallenium with @Copilot in #126
  • fix: symptom modal save button label — "Periode Start" → "Speichern" by @wallenium with @Copilot in #127
  • [WIP] Add optional NFP integration for dynamic ovulation detection by @wallenium with @Copilot in #128
  • fix: NFP fertile window overwritten by standard cycle calculation in Gauge Card by @wallenium with @Copilot in #129
  • fix: NFP low-confidence data leaks into gauge series day calculation by @wallenium with @Copilot in #130
  • fix: NFP confidence level requires ≥2 indicators for "medium" (Sensiplan) by @wallenium with @Copilot in #131
  • fix: fertile window and ovulation not displayed on day 1 when crossing month boundary by @wallenium with @Copilot in #132
  • Fix calendar card ignoring NFP confidence level for ovulation/fertile display by @wallenium with @Copilot in #133
  • feat: Learn ovulation day offset from historical basal temperature data by @wallenium with @Copilot in #134
  • [WIP] Add NFP mode selection for user preference by @wallenium with @Copilot in #135
  • Fix gauge ovulation marker day extraction to use ISO date parts by @wallenium with @Copilot in #137
  • Fix local-time date usage in Gauge Card causing off-by-day errors by @wallenium with @Copilot in #139
  • Align Gauge Card “today” calculations with ISO-normalized date flow by @wallenium with @Copilot in #138
  • Remove redundant fallback ovulation override that caused 11-day fertile window regression by @wallenium with @Copilot in #140
  • Fix gauge fertile/ovulation month selection across predicted cycle boundaries by @wallenium with @Copilot in #142
  • Fix: render all ovulation markers when two cycles fall in the same month by @wallenium with @Copilot in #143

New Contributors

Full Changelog: https://github.com/wallenium/HA-menstrual-gauge-v2/commits/1.4.3