Skip to content

v4.6.0 - Quality & Reliability Improvements

Choose a tag to compare

@moag1000 moag1000 released this 19 Apr 16:45

Quality & Reliability Improvements

CI/CD Hardening

  • Supply Chain Security: All GitHub Action SHAs pinned (checkout@v6.0.2, setup-python@v6.2.0, hacs/action@22.5.0, hassfest@master)
  • JSON/YAML Validation: New CI job validates manifest.json, strings.json, translations, services.yaml
  • Coverage Report: Tests now run with --cov --cov-report=term-missing
  • Least Privilege: permissions: {} on all workflows

Repair Flows Refactored

  • KKTRepairFlow base class: Shared async_mark_resolved(), DRY pattern
  • HA-compliant: Removed manual __init__ — HA sets self.hass and self.data automatically
  • Downgrade protection: async_migrate_entry() now rejects unknown future versions

Translations Complete (Hassfest-konform)

  • 28 config steps, 6 options steps, 17 error keys, 12 abort reasons — all verified against code
  • Added missing: smartlife_reauth, no_local_key, cannot_connect, unknown, invalid_ip, invalid_device_id, API credential errors
  • Added missing options: smartlife_account, account_settings, renew_token, smartlife_device, device steps
  • Added missing options errors: auth_failed, qr_code_failed
  • Added repair flow translations: local_key_expired, tuya_api_auth_failed, tuya_api_wrong_region
  • Removed 15+ orphaned translations never used in code

Runtime Improvements

  • Shutdown Timeout: 30s asyncio.timeout() on coordinator.async_shutdown() prevents hanging during HA shutdown
  • PLATFORMS in const.py: Moved from __init__.py with Final[list[Platform]] type hint