I have a large codebase in which some functions make calls to Python TCP servers. The code used to work perfectly in `Mathematica 12.2`, but has not worked since I updated to `Mathematica 12.3` last night. I have managed to isolate the problem to the call to `WriteString`. The following is a minimum illustration of the issue. Here is the Python server: import socketserver import json import time class TCPHandler(socketserver.BaseRequestHandler): def handle(self): bufSz = 2048 while(True): self.data = self.request.recv(bufSz) if self.data: jsonReq = json.loads(self.data.strip()) print(f"Request: {jsonReq}") jsonRes = json.dumps({"res": len(jsonReq["arg"])}) print(f"Response: {jsonRes}") self.request.sendall(bytes(jsonRes, "utf-8")) else: time.sleep(0.10) self.data = "" continue def main(): host, port = "localhost", 9990 with socketserver.TCPServer((host, port), TCPHandler) as server: print(f"Test server now running at {host} on port {port}") server.serve_forever() if __name__ == "__main__": main() And here is the `Wolfram Language` code that calls it: ClearAll[sock]; sock = SocketConnect[{"localhost", 9990}, "TCP"]; ClearAll[params]; params = ExportString[<|"arg" -> "test string"|>, "JSON"]; Module[{res}, WriteString[sock, params]; res = ByteArrayToString@SocketReadMessage[sock]; ImportString[res, "JSON"] ] This exact set-up used to work for me reliably until `Mathematica 12.2`. But now the execution hangs at the `WriteString` command. I have tried turning off Windows firewall entirely. The problem persists. Any assistance would be gratefully acknowledged.