v3.0.10 - Bug Fix for Next Delivery Date
AmeriGas v3.0.10 — Release Notes
Release Summary
| Field | Value |
|---|---|
| Version | 3.0.10 |
| Type | Bug Fix |
| Status | ✅ Production Ready |
| Minimum HA | 2024.1.0 |
Upgrading
From v3.0.8 or v3.0.9: Update via HACS and restart. No configuration changes required. The next delivery date sensor will immediately reflect the corrected lookup.
From any earlier v3.0.x: All v3.0.x updates are non-breaking. Update via HACS and restart.
From v2.x: See MIGRATION.md.
Full Changelog
# AmeriGas v3.0.10 — Release NotesRelease Summary
| Field | Value |
|---|---|
| Version | 3.0.10 |
| Type | Bug Fix |
| Status | ✅ Production Ready |
| Minimum HA | 2024.1.0 |
What's Changed
v3.0.10 — Next Delivery Date API Fix
The next delivery date logic in api.py has been simplified and corrected.
The problem: v3.0.8 introduced a 5-level fallback chain to resolve next_delivery_date_raw, reading from estDeliveryWindowTo, estDeliveryWindowFrom, orderDate, and EstimatedDelivery before falling back to the account level. These fields don't exist or contain reliable data for all account types, causing some users to see incorrect or missing next delivery dates. The same block also applied parsed_result.replace(tzinfo=None) to strip timezone info — a workaround that was inconsistent with how every other date field in the file is handled.
The fix: Reverted to a direct, 3-step lookup and removed the timezone strip.
Before (v3.0.8):
# 5-level chain reading estDeliveryWindowTo, estDeliveryWindowFrom,
# orderDate, EstimatedDelivery, then account-level NextDeliveryDate
# ...followed by a timezone strip workaround
next_delivery_date = parsed_result.replace(tzinfo=None)After (v3.0.10):
if open_orders and len(open_orders) > 0:
next_delivery_date_raw = open_orders[0].get('DeliveryDate', '')
if not next_delivery_date_raw and one_click:
next_delivery_date_raw = one_click.get('NextDeliveryDate', '')
if not next_delivery_date_raw:
next_delivery_date_raw = account_data.get('NextDeliveryDate', '')
next_delivery_date = parse_date(next_delivery_date_raw)v3.0.9 — CI Security Hardening (included)
The hassfest.yml GitHub Actions workflow now declares permissions: contents: read, scoping the GITHUB_TOKEN to the minimum required for a read-only validation job. This resolves CodeQL code scanning alert #1. No integration code was changed in v3.0.9.
Files Changed
| File | Version | Change |
|---|---|---|
api.py |
3.0.10 | Simplified next_delivery_date lookup; removed timezone strip workaround |
manifest.json |
3.0.10 | Version bump |
.github/workflows/hassfest.yml |
3.0.9 | Added permissions: contents: read |
Upgrading
From v3.0.8 or v3.0.9: Update via HACS and restart. No configuration changes required. The next delivery date sensor will immediately reflect the corrected lookup.
From any earlier v3.0.x: All v3.0.x updates are non-breaking. Update via HACS and restart.
From v2.x: See [MIGRATION.md](MIGRATION.md).