With 8.6.1 I get:
19:05:03.959mpegtsplutotv.py - COPS in Pluto TV UK (IPTV) - tuning on IPTV #1
19:05:04.014spawnExecuting "/usr/bin/streamlink"
19:05:04.014epggrabplutotv.py - COPS in Pluto TV UK (IPTV) - registering mux for OTA EPG
19:05:04.019subscription321F: "HTTP" subscribing to service "Pluto TV UK (IPTV)/plutotv.py - COPS/{PMT:0}", weight: 100, adapter: "IPTV #1", network: "Pluto TV UK (IPTV)", mux: "plutotv.py - COPS", profile="pass", hostname="192.168.1.147", client="VLC/3.0.23 LibVLC/3.0.23"
19:05:04.824spawn[cli][info] Found matching plugin pluto for URL https://pluto.tv/live-tv/661cf62d24e1d000087dae0d
19:05:05.676spawnerror: Unable to open URL: https://pluto.tv/live-tv/661cf62d24e1d000087dae0d (404 Client Error: Not Found for url: https://pluto.tv/gb_ie/live-tv/661cf62d24e1d000087dae0d/)
19:05:05.747iptvstdin pipe 64 unexpectedly closed: No data
With 8.6.0 I get:
19:18:28.547mpegtsplutotv.py - 5 Cops in Pluto TV UK (IPTV) - tuning on IPTV #2
19:18:28.587spawnExecuting "/usr/bin/streamlink"
19:18:28.587subscription0007: "HTTP" subscribing to service "Pluto TV UK (IPTV)/plutotv.py - 5 Cops/5 Cops", weight: 100, adapter: "IPTV #2", network: "Pluto TV UK (IPTV)", mux: "plutotv.py - 5 Cops", profile="pass", hostname="192.168.1.147", client="VLC/3.0.23 LibVLC/3.0.23"
19:18:29.389spawn[cli][info] Found matching plugin pluto for URL https://pluto.tv/live-tv/5d2c571faeb3e2738ae27933
19:18:29.391spawnerror: Unable to open URL: https://pluto.tv/live-tv/5d2c571faeb3e2738ae27933 (type object 'Urllib3UtilUrlPercentReOverride' has no attribute 'sub')
19:18:29.451iptvstdin pipe 64 unexpectedly closed: No data
Did you modify the script at all?