diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 00eda06042c132752c88074133956151572ef69f..2a17e0b2d42cc6e1ee37ee9b0773d4162e2409f4 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -37,7 +37,7 @@ on:
         type: boolean
 
 env:
-  CACHE_VERSION: 10
+  CACHE_VERSION: 11
   UV_CACHE_VERSION: 1
   MYPY_CACHE_VERSION: 9
   HA_SHORT_VERSION: "2024.10"
diff --git a/script/licenses.py b/script/licenses.py
index f39dcf13c143531f2c45570584c99939918cd377..b04b3cd272602bac60624a7eaf2f0b5fdcc50a28 100644
--- a/script/licenses.py
+++ b/script/licenses.py
@@ -165,6 +165,8 @@ EXCEPTIONS = {
     "tapsaff",  # https://github.com/bazwilliams/python-taps-aff/pull/5
     "vincenty",  # Public domain
     "zeversolar",  # https://github.com/kvanzuijlen/zeversolar/pull/46
+    # Using License-Expression (with hatchling)
+    "ftfy",  # Apache-2.0
 }
 
 TODO = {