diff --git a/Changelog.md b/Changelog.md
index 95635350d..f4b4f1e72 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -11,7 +11,7 @@ # Instuctions for creating release
 -->
 
 
-## 2023.01.02
+### 2023.01.02
 
 * **Improve plugin architecture** by [Grub4K](https://github.com/Grub4K), [coletdjnz](https://github.com/coletdjnz), [flashdagger](https://github.com/flashdagger), [pukkandan](https://github.com/pukkandan)
     * Plugins can be loaded in any distribution of yt-dlp (binary, pip, source, etc.) and can be distributed and installed as packages. See [the readme](https://github.com/yt-dlp/yt-dlp/tree/05997b6e98e638d97d409c65bb5eb86da68f3b64#plugins) for more information
diff --git a/Collaborators.md b/Collaborators.md
index 58748ec91..3bce437c9 100644
--- a/Collaborators.md
+++ b/Collaborators.md
@@ -42,7 +42,7 @@ ## [Ashish0804](https://github.com/Ashish0804) <sub><sup>[Inactive]</sup></sub>
 * Improved/fixed support for HiDive, HotStar, Hungama, LBRY, LinkedInLearning, Mxplayer, SonyLiv, TV2, Vimeo, VLive etc
 
 
-## [Lesmiscore](https://github.com/Lesmiscore) <sup><sub>(nao20010128nao)</sup></sub>
+## [Lesmiscore](https://github.com/Lesmiscore) <sub><sup>(nao20010128nao)</sup></sub>
 
 **Bitcoin**: bc1qfd02r007cutfdjwjmyy9w23rjvtls6ncve7r3s  
 **Monacoin**: mona1q3tf7dzvshrhfe3md379xtvt2n22duhglv5dskr
diff --git a/pyproject.toml b/pyproject.toml
index 75e0100fe..97718ec43 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,5 @@
 [build-system]
-requires = ['setuptools']
 build-backend = 'setuptools.build_meta'
+# https://github.com/yt-dlp/yt-dlp/issues/5941
+# https://github.com/pypa/distutils/issues/17
+requires = ['setuptools > 50']
diff --git a/setup.cfg b/setup.cfg
index 2def390f5..6deaa7971 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -26,12 +26,12 @@ markers =
 
 [tox:tox]
 skipsdist = true
-envlist = py{36,37,38,39,310},pypy{36,37,38,39}
+envlist = py{36,37,38,39,310,311},pypy{36,37,38,39}
 skip_missing_interpreters = true
 
 [testenv]  # tox
 deps =
-   pytest
+    pytest
 commands = pytest {posargs:"-m not download"}
 passenv = HOME  # For test_compat_expanduser
 setenv =
diff --git a/supportedsites.md b/supportedsites.md
index a8740e0a2..a41bb239c 100644
--- a/supportedsites.md
+++ b/supportedsites.md
@@ -1199,7 +1199,6 @@ # Supported sites
  - **SaltTVLive**: [<abbr title="netrc machine"><em>salttv</em></abbr>]
  - **SaltTVRecordings**: [<abbr title="netrc machine"><em>salttv</em></abbr>]
  - **SampleFocus**
- - **SamplePlugin**: (**Currently broken**)
  - **Sangiin**: 参議院インターネット審議中継 (archive)
  - **Sapo**: SAPO Vídeos
  - **savefrom.net**
@@ -1694,7 +1693,7 @@ # Supported sites
  - **YouPorn**
  - **YourPorn**
  - **YourUpload**
- - **youtube+sample+NSIG+AGB**: YouTube
+ - **youtube**: YouTube
  - **youtube:clip**
  - **youtube:favorites**: YouTube liked videos; ":ytfav" keyword (requires cookies)
  - **youtube:history**: Youtube watch history; ":ythis" keyword (requires cookies)
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py
index b18d2e73e..ef9759974 100644
--- a/yt_dlp/extractor/common.py
+++ b/yt_dlp/extractor/common.py
@@ -1263,11 +1263,8 @@ def _html_search_regex(self, pattern, string, name, default=NO_DEFAULT, fatal=Tr
         """
         res = self._search_regex(pattern, string, name, default, fatal, flags, group)
         if isinstance(res, tuple):
-            return [clean_html(r).strip() for r in res]
-        elif res:
-            return clean_html(res).strip()
-        else:
-            return res
+            return tuple(map(clean_html, res))
+        return clean_html(res)
 
     def _get_netrc_login_info(self, netrc_machine=None):
         username = None
diff --git a/yt_dlp/extractor/drtv.py b/yt_dlp/extractor/drtv.py
index f4df3e246..d3e197551 100644
--- a/yt_dlp/extractor/drtv.py
+++ b/yt_dlp/extractor/drtv.py
@@ -2,14 +2,13 @@
 import hashlib
 import re
 
-
 from .common import InfoExtractor
 from ..aes import aes_cbc_decrypt_bytes, unpad_pkcs7
 from ..compat import compat_urllib_parse_unquote
 from ..utils import (
     ExtractorError,
-    int_or_none,
     float_or_none,
+    int_or_none,
     mimetype2ext,
     str_or_none,
     traverse_obj,
@@ -19,7 +18,6 @@
     url_or_none,
 )
 
-
 SERIES_API = 'https://production-cdn.dr-massive.com/api/page?device=web_browser&item_detail_expand=all&lang=da&max_list_prefetch=3&path=%s'
 
 
diff --git a/yt_dlp/extractor/xanimu.py b/yt_dlp/extractor/xanimu.py
index 2a1ec2775..e0b7bf968 100644
--- a/yt_dlp/extractor/xanimu.py
+++ b/yt_dlp/extractor/xanimu.py
@@ -1,7 +1,7 @@
 import re
 
-from ..utils import int_or_none
 from .common import InfoExtractor
+from ..utils import int_or_none
 
 
 class XanimuIE(InfoExtractor):