)]}'
{
  "commit": "b034faa46f7bf6ce099796a6ec67318b678f7d49",
  "tree": "d2c4a9cfce1ebc841661f3da13cc7e342587cea3",
  "parents": [
    "a029f7c49c4e1d5e2b691b9a46533bb2fe6522cc"
  ],
  "author": {
    "name": "Marcos B",
    "email": "15697303+gmarcosb@users.noreply.github.com",
    "time": "Tue Sep 09 13:46:58 2025 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 09 19:46:58 2025 +0000"
  },
  "message": "Fix various issues with TCP connections (#40817)\n\n* Fix ActiveTCPConnectionState being leaked when CASE connections are closed (e.g. via ExpireAllSessionsOnLogicalFabric)\n\n* Fix test failure caused by the global gActiveTCPConnState - globals used between tests seem to result in strange behavior where pointer location is kept but not cleaned up\n\n* Address review comments\n\n* Support multiple connections to same peer by sharing a single TCP socket\n\n* Unit test with multiple connections, to simulate SessionManager\n\n* Fix failing test \u0026 address PR comment\n\n* Add support for force-closing a TCP connection (generally should only be used for testing)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d16dfa704013be9de8a0fa2585660320045dba2a",
      "old_mode": 33188,
      "old_path": "src/controller/python/BUILD.gn",
      "new_id": "be9e91fcfa51197fa3cd88dccc1456bba508ca58",
      "new_mode": 33188,
      "new_path": "src/controller/python/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "a5a60da6b1281bab27f308186416815696393f4d",
      "old_mode": 33188,
      "old_path": "src/controller/python/ChipDeviceController-ScriptBinding.cpp",
      "new_id": "8a134e5359829fbbc71a1de05e0ac8a5fbd6c0e2",
      "new_mode": 33188,
      "new_path": "src/controller/python/ChipDeviceController-ScriptBinding.cpp"
    },
    {
      "type": "modify",
      "old_id": "b633f424da8a30f0cacf272e7a7db5303f42d288",
      "old_mode": 33188,
      "old_path": "src/lib/support/AutoRelease.h",
      "new_id": "8729605ed5b69d86b61522e080f8f70d325a0d94",
      "new_mode": 33188,
      "new_path": "src/lib/support/AutoRelease.h"
    },
    {
      "type": "modify",
      "old_id": "a55bae14209f857cc7d9bfbb3a1d5d96e61d3d9a",
      "old_mode": 33188,
      "old_path": "src/lib/support/CodeUtils.h",
      "new_id": "dd3411096dddc67e0563fd62922cb35a856b357e",
      "new_mode": 33188,
      "new_path": "src/lib/support/CodeUtils.h"
    },
    {
      "type": "modify",
      "old_id": "ff29b24003e740092138925cf910d017a268dee9",
      "old_mode": 33188,
      "old_path": "src/messaging/ExchangeContext.cpp",
      "new_id": "6cc2ac75cc1651180053bf0dd34a31eaa97488c3",
      "new_mode": 33188,
      "new_path": "src/messaging/ExchangeContext.cpp"
    },
    {
      "type": "modify",
      "old_id": "e10ef84ce911bea657f8bda8f099b59b88106ddd",
      "old_mode": 33188,
      "old_path": "src/messaging/ExchangeContext.h",
      "new_id": "7b6d5f65976bc93184b7b7f1e48913f9ec735a7c",
      "new_mode": 33188,
      "new_path": "src/messaging/ExchangeContext.h"
    },
    {
      "type": "modify",
      "old_id": "cf2eea8910954f75af727a1282e8f883c934ec39",
      "old_mode": 33188,
      "old_path": "src/messaging/ExchangeDelegate.h",
      "new_id": "e6857d58427ea316b06e6ff416199f4f620fec68",
      "new_mode": 33188,
      "new_path": "src/messaging/ExchangeDelegate.h"
    },
    {
      "type": "modify",
      "old_id": "fad088bd523a670132dee13e2cf4532349947002",
      "old_mode": 33188,
      "old_path": "src/messaging/ExchangeMgr.cpp",
      "new_id": "1dd60fd3608f470223665fac5d274767ed810882",
      "new_mode": 33188,
      "new_path": "src/messaging/ExchangeMgr.cpp"
    },
    {
      "type": "modify",
      "old_id": "88346060093ddce18ab4f73796f69bb93aa45c27",
      "old_mode": 33188,
      "old_path": "src/messaging/ExchangeMgr.h",
      "new_id": "8a90952a1717a8e13aa34cabb692d7d5526b684a",
      "new_mode": 33188,
      "new_path": "src/messaging/ExchangeMgr.h"
    },
    {
      "type": "modify",
      "old_id": "c3aa3f6085c6dfa66ca3bf291462d65a4e2d0bd1",
      "old_mode": 33188,
      "old_path": "src/messaging/tests/echo/echo_requester.cpp",
      "new_id": "71565bd23c8bdee8846490e14c60413d10f32459",
      "new_mode": 33188,
      "new_path": "src/messaging/tests/echo/echo_requester.cpp"
    },
    {
      "type": "modify",
      "old_id": "1ebfe3f4c1a261f4b54fe998fae3c88ced313bf4",
      "old_mode": 33188,
      "old_path": "src/protocols/secure_channel/CASESession.cpp",
      "new_id": "1280ea3eda63a98dbd33f766f5f688e8b23e9d07",
      "new_mode": 33188,
      "new_path": "src/protocols/secure_channel/CASESession.cpp"
    },
    {
      "type": "modify",
      "old_id": "85a1a437ef4ca68b4c69094187a873491fda18de",
      "old_mode": 33188,
      "old_path": "src/protocols/secure_channel/CASESession.h",
      "new_id": "65a1dcdd5a5f7d0787423b36329559854b79d94d",
      "new_mode": 33188,
      "new_path": "src/protocols/secure_channel/CASESession.h"
    },
    {
      "type": "modify",
      "old_id": "b2c746f281ba42ba8546da131b6cbd01dfee2dfa",
      "old_mode": 33188,
      "old_path": "src/protocols/secure_channel/PairingSession.cpp",
      "new_id": "818e77a07996e4b6ace36aac27cbceaaef3fbe4b",
      "new_mode": 33188,
      "new_path": "src/protocols/secure_channel/PairingSession.cpp"
    },
    {
      "type": "modify",
      "old_id": "d154de71c3104e4f077d064254d6721d9571fa7b",
      "old_mode": 33188,
      "old_path": "src/transport/Session.h",
      "new_id": "1483d7a90cda3cbfd1f4eb162b9751e8b14d56f4",
      "new_mode": 33188,
      "new_path": "src/transport/Session.h"
    },
    {
      "type": "modify",
      "old_id": "4557d0ae107e688dbddc4bad0c994e9df1822bfa",
      "old_mode": 33188,
      "old_path": "src/transport/SessionConnectionDelegate.h",
      "new_id": "f3d07f03cc572b6408bbc8c904185b04bbcf8957",
      "new_mode": 33188,
      "new_path": "src/transport/SessionConnectionDelegate.h"
    },
    {
      "type": "modify",
      "old_id": "ed7f4f6b3d1b286ad3f858f33de88e3b46c7caa9",
      "old_mode": 33188,
      "old_path": "src/transport/SessionDelegate.h",
      "new_id": "7048ff2805f78f3cddae45bf1658e230c50c4a3c",
      "new_mode": 33188,
      "new_path": "src/transport/SessionDelegate.h"
    },
    {
      "type": "modify",
      "old_id": "8121746e3dbe566d6ac1d4dbe7a52e3fa45b3d1d",
      "old_mode": 33188,
      "old_path": "src/transport/SessionManager.cpp",
      "new_id": "b56c639163e00913b033b7287261ab8a5e78e875",
      "new_mode": 33188,
      "new_path": "src/transport/SessionManager.cpp"
    },
    {
      "type": "modify",
      "old_id": "67871d4ee83b2a31b6703537b34029a24ce4f59e",
      "old_mode": 33188,
      "old_path": "src/transport/SessionManager.h",
      "new_id": "776f49f22a177c085dc7e1bcf3ccf84143bfd602",
      "new_mode": 33188,
      "new_path": "src/transport/SessionManager.h"
    },
    {
      "type": "modify",
      "old_id": "6e5f03ab4a44a62d3f4d2d4692477a7b02c66ba5",
      "old_mode": 33188,
      "old_path": "src/transport/TransportMgr.h",
      "new_id": "11173fef24a1ea56d05753afe15d87da21c37866",
      "new_mode": 33188,
      "new_path": "src/transport/TransportMgr.h"
    },
    {
      "type": "modify",
      "old_id": "98997102eb92cabb118cf87dcdd611426d2d4733",
      "old_mode": 33188,
      "old_path": "src/transport/TransportMgrBase.cpp",
      "new_id": "70eb3c63f1a589ecd4913f6d72b24cbebdc86876",
      "new_mode": 33188,
      "new_path": "src/transport/TransportMgrBase.cpp"
    },
    {
      "type": "modify",
      "old_id": "2b0f33bfb9e3a7d021c68c5563b2167f5b9deb9f",
      "old_mode": 33188,
      "old_path": "src/transport/TransportMgrBase.h",
      "new_id": "d9a63194df9695406224253df78819f01e8ade21",
      "new_mode": 33188,
      "new_path": "src/transport/TransportMgrBase.h"
    },
    {
      "type": "modify",
      "old_id": "2176048cc253644c24b36c8729d925006ba8d51c",
      "old_mode": 33188,
      "old_path": "src/transport/raw/ActiveTCPConnectionState.h",
      "new_id": "5cee93fd9c16e23dd47399ba6cf2db90982aacd2",
      "new_mode": 33188,
      "new_path": "src/transport/raw/ActiveTCPConnectionState.h"
    },
    {
      "type": "modify",
      "old_id": "920f932b82be41fe02715f50e04c313f1d4c7d6f",
      "old_mode": 33188,
      "old_path": "src/transport/raw/Base.h",
      "new_id": "a18130ef6277a4d17ee7b2d914f1446021a4b90b",
      "new_mode": 33188,
      "new_path": "src/transport/raw/Base.h"
    },
    {
      "type": "modify",
      "old_id": "e85304176f694eb1bd21979c8d059c7b93d16c23",
      "old_mode": 33188,
      "old_path": "src/transport/raw/TCP.cpp",
      "new_id": "2fb9e406e52fa4c6f387e3a9781a9d7a80ba3926",
      "new_mode": 33188,
      "new_path": "src/transport/raw/TCP.cpp"
    },
    {
      "type": "modify",
      "old_id": "4cd63b2b56260ea160a7a3e7eb6ef1912d160154",
      "old_mode": 33188,
      "old_path": "src/transport/raw/TCP.h",
      "new_id": "5d69c49b4d02ecee052144cfdde520c1d7072cce",
      "new_mode": 33188,
      "new_path": "src/transport/raw/TCP.h"
    },
    {
      "type": "modify",
      "old_id": "a2fb39816d3a558e15f23b26cccaa6a914610253",
      "old_mode": 33188,
      "old_path": "src/transport/raw/Tuple.h",
      "new_id": "479b35b58d87f46647549116077258530e559755",
      "new_mode": 33188,
      "new_path": "src/transport/raw/Tuple.h"
    },
    {
      "type": "modify",
      "old_id": "e89392f76c4daa6bc23e4c2befd4d9f3d897b913",
      "old_mode": 33188,
      "old_path": "src/transport/raw/tests/TCPBaseTestAccess.h",
      "new_id": "ce8d29191439d491430019b374231ea1b8f946bf",
      "new_mode": 33188,
      "new_path": "src/transport/raw/tests/TCPBaseTestAccess.h"
    },
    {
      "type": "modify",
      "old_id": "213eb6c757eed60dd472b23bf5f8af4ab5b34197",
      "old_mode": 33188,
      "old_path": "src/transport/raw/tests/TestTCP.cpp",
      "new_id": "87742d2d7a611597e84e79eb015fcfeae4b08120",
      "new_mode": 33188,
      "new_path": "src/transport/raw/tests/TestTCP.cpp"
    }
  ]
}
