From fb700cc84799b0b07f892ffffb0ace68282b3966 Mon Sep 17 00:00:00 2001
From: Steven Looman <steven.looman@gmail.com>
Date: Sat, 20 Jan 2024 03:48:08 +0100
Subject: [PATCH 1/4] Bump async-upnp-client to 0.38.1 (#108382)

---
 homeassistant/components/dlna_dmr/manifest.json  | 2 +-
 homeassistant/components/dlna_dms/manifest.json  | 2 +-
 homeassistant/components/samsungtv/manifest.json | 2 +-
 homeassistant/components/ssdp/manifest.json      | 2 +-
 homeassistant/components/upnp/manifest.json      | 2 +-
 homeassistant/components/yeelight/manifest.json  | 2 +-
 homeassistant/package_constraints.txt            | 2 +-
 requirements_all.txt                             | 2 +-
 requirements_test_all.txt                        | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/homeassistant/components/dlna_dmr/manifest.json b/homeassistant/components/dlna_dmr/manifest.json
index e2a07a3e351..ab5d035dd54 100644
--- a/homeassistant/components/dlna_dmr/manifest.json
+++ b/homeassistant/components/dlna_dmr/manifest.json
@@ -8,7 +8,7 @@
   "documentation": "https://www.home-assistant.io/integrations/dlna_dmr",
   "iot_class": "local_push",
   "loggers": ["async_upnp_client"],
-  "requirements": ["async-upnp-client==0.38.0", "getmac==0.9.4"],
+  "requirements": ["async-upnp-client==0.38.1", "getmac==0.9.4"],
   "ssdp": [
     {
       "deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
diff --git a/homeassistant/components/dlna_dms/manifest.json b/homeassistant/components/dlna_dms/manifest.json
index 6173c9a3843..d4a74725467 100644
--- a/homeassistant/components/dlna_dms/manifest.json
+++ b/homeassistant/components/dlna_dms/manifest.json
@@ -8,7 +8,7 @@
   "documentation": "https://www.home-assistant.io/integrations/dlna_dms",
   "iot_class": "local_polling",
   "quality_scale": "platinum",
-  "requirements": ["async-upnp-client==0.38.0"],
+  "requirements": ["async-upnp-client==0.38.1"],
   "ssdp": [
     {
       "deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
diff --git a/homeassistant/components/samsungtv/manifest.json b/homeassistant/components/samsungtv/manifest.json
index 2b388cf706a..780d47e4743 100644
--- a/homeassistant/components/samsungtv/manifest.json
+++ b/homeassistant/components/samsungtv/manifest.json
@@ -39,7 +39,7 @@
     "samsungctl[websocket]==0.7.1",
     "samsungtvws[async,encrypted]==2.6.0",
     "wakeonlan==2.1.0",
-    "async-upnp-client==0.38.0"
+    "async-upnp-client==0.38.1"
   ],
   "ssdp": [
     {
diff --git a/homeassistant/components/ssdp/manifest.json b/homeassistant/components/ssdp/manifest.json
index e6f18190c0b..8afed8b4fd1 100644
--- a/homeassistant/components/ssdp/manifest.json
+++ b/homeassistant/components/ssdp/manifest.json
@@ -9,5 +9,5 @@
   "iot_class": "local_push",
   "loggers": ["async_upnp_client"],
   "quality_scale": "internal",
-  "requirements": ["async-upnp-client==0.38.0"]
+  "requirements": ["async-upnp-client==0.38.1"]
 }
diff --git a/homeassistant/components/upnp/manifest.json b/homeassistant/components/upnp/manifest.json
index 4b6badb0d3c..8ce32158016 100644
--- a/homeassistant/components/upnp/manifest.json
+++ b/homeassistant/components/upnp/manifest.json
@@ -8,7 +8,7 @@
   "integration_type": "device",
   "iot_class": "local_polling",
   "loggers": ["async_upnp_client"],
-  "requirements": ["async-upnp-client==0.38.0", "getmac==0.9.4"],
+  "requirements": ["async-upnp-client==0.38.1", "getmac==0.9.4"],
   "ssdp": [
     {
       "st": "urn:schemas-upnp-org:device:InternetGatewayDevice:1"
diff --git a/homeassistant/components/yeelight/manifest.json b/homeassistant/components/yeelight/manifest.json
index 4881d8c576d..f2a11aaf1fe 100644
--- a/homeassistant/components/yeelight/manifest.json
+++ b/homeassistant/components/yeelight/manifest.json
@@ -17,7 +17,7 @@
   "iot_class": "local_push",
   "loggers": ["async_upnp_client", "yeelight"],
   "quality_scale": "platinum",
-  "requirements": ["yeelight==0.7.14", "async-upnp-client==0.38.0"],
+  "requirements": ["yeelight==0.7.14", "async-upnp-client==0.38.1"],
   "zeroconf": [
     {
       "type": "_miio._udp.local.",
diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt
index d9df52ea800..5da0d79d48f 100644
--- a/homeassistant/package_constraints.txt
+++ b/homeassistant/package_constraints.txt
@@ -6,7 +6,7 @@ aiohttp-zlib-ng==0.1.3
 aiohttp==3.9.1
 aiohttp_cors==0.7.0
 astral==2.2
-async-upnp-client==0.38.0
+async-upnp-client==0.38.1
 atomicwrites-homeassistant==1.4.1
 attrs==23.1.0
 awesomeversion==23.11.0
diff --git a/requirements_all.txt b/requirements_all.txt
index 27bd47f3739..cff90b6a6cd 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -469,7 +469,7 @@ asterisk_mbox==0.5.0
 # homeassistant.components.ssdp
 # homeassistant.components.upnp
 # homeassistant.components.yeelight
-async-upnp-client==0.38.0
+async-upnp-client==0.38.1
 
 # homeassistant.components.keyboard_remote
 asyncinotify==4.0.2
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index df3eceb14c6..8877471660a 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -421,7 +421,7 @@ arcam-fmj==1.4.0
 # homeassistant.components.ssdp
 # homeassistant.components.upnp
 # homeassistant.components.yeelight
-async-upnp-client==0.38.0
+async-upnp-client==0.38.1
 
 # homeassistant.components.sleepiq
 asyncsleepiq==1.4.1

From ea8fc64dd690e8163eb4d12dae899395c491575e Mon Sep 17 00:00:00 2001
From: Erik Montnemery <erik@montnemery.com>
Date: Sat, 20 Jan 2024 15:12:32 +0100
Subject: [PATCH 2/4] Fix empty files included by !include_dir_named (#108489)

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---
 homeassistant/util/yaml/loader.py | 7 ++++++-
 tests/util/yaml/test_init.py      | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/homeassistant/util/yaml/loader.py b/homeassistant/util/yaml/loader.py
index 5da5a84cc48..5d66ea23dcb 100644
--- a/homeassistant/util/yaml/loader.py
+++ b/homeassistant/util/yaml/loader.py
@@ -355,7 +355,12 @@ def _include_dir_named_yaml(loader: LoaderType, node: yaml.nodes.Node) -> NodeDi
         filename = os.path.splitext(os.path.basename(fname))[0]
         if os.path.basename(fname) == SECRET_YAML:
             continue
-        mapping[filename] = load_yaml(fname, loader.secrets)
+        loaded_yaml = load_yaml(fname, loader.secrets)
+        if loaded_yaml is None:
+            # Special case, an empty file included by !include_dir_named is treated
+            # as an empty dictionary
+            loaded_yaml = NodeDictClass()
+        mapping[filename] = loaded_yaml
     return _add_reference(mapping, loader, node)
 
 
diff --git a/tests/util/yaml/test_init.py b/tests/util/yaml/test_init.py
index 30637fe2785..93c8ed50498 100644
--- a/tests/util/yaml/test_init.py
+++ b/tests/util/yaml/test_init.py
@@ -193,7 +193,7 @@ def test_include_dir_list_recursive(
         ),
         (
             {"/test/first.yaml": "1", "/test/second.yaml": None},
-            {"first": 1, "second": None},
+            {"first": 1, "second": {}},
         ),
     ],
 )

From 71370f65d5bf4b53e5a1d7641e8eb8001bf32f26 Mon Sep 17 00:00:00 2001
From: Franck Nijhof <git@frenck.dev>
Date: Sat, 20 Jan 2024 15:51:05 +0100
Subject: [PATCH 3/4] Bump version to 2024.1.5

---
 homeassistant/const.py | 2 +-
 pyproject.toml         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/homeassistant/const.py b/homeassistant/const.py
index 45f48c4e89e..f9d250c6732 100644
--- a/homeassistant/const.py
+++ b/homeassistant/const.py
@@ -16,7 +16,7 @@ from .helpers.deprecation import (
 APPLICATION_NAME: Final = "HomeAssistant"
 MAJOR_VERSION: Final = 2024
 MINOR_VERSION: Final = 1
-PATCH_VERSION: Final = "4"
+PATCH_VERSION: Final = "5"
 __short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
 __version__: Final = f"{__short_version__}.{PATCH_VERSION}"
 REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 11, 0)
diff --git a/pyproject.toml b/pyproject.toml
index b8b63cf011c..f678d14d214 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
 
 [project]
 name        = "homeassistant"
-version     = "2024.1.4"
+version     = "2024.1.5"
 license     = {text = "Apache-2.0"}
 description = "Open-source home automation platform running on Python 3."
 readme      = "README.rst"

From 4c4dc6a0860074b5e09d13279c556eef7ad16477 Mon Sep 17 00:00:00 2001
From: Franck Nijhof <git@frenck.dev>
Date: Sat, 20 Jan 2024 18:08:35 +0100
Subject: [PATCH 4/4] Pin pandas to 2.1.4 (#108509)

---
 homeassistant/package_constraints.txt | 3 +++
 script/gen_requirements_all.py        | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt
index 5da0d79d48f..821b6fdf141 100644
--- a/homeassistant/package_constraints.txt
+++ b/homeassistant/package_constraints.txt
@@ -189,3 +189,6 @@ lxml==4.9.4
 # dacite: Ensure we have a version that is able to handle type unions for
 # Roborock, NAM, Brother, and GIOS.
 dacite>=1.7.0
+
+# Musle wheels for pandas 2.2.0 cannot be build for any architecture.
+pandas==2.1.4
diff --git a/script/gen_requirements_all.py b/script/gen_requirements_all.py
index 7f652b14302..15bcbf1b7f3 100755
--- a/script/gen_requirements_all.py
+++ b/script/gen_requirements_all.py
@@ -182,6 +182,9 @@ lxml==4.9.4
 # dacite: Ensure we have a version that is able to handle type unions for
 # Roborock, NAM, Brother, and GIOS.
 dacite>=1.7.0
+
+# Musle wheels for pandas 2.2.0 cannot be build for any architecture.
+pandas==2.1.4
 """
 
 GENERATED_MESSAGE = (