)]}'
{
  "log": [
    {
      "commit": "aada044a22c1b96052f9cd089585154ea139692f",
      "tree": "6f0b9b4a1a29f32977f99897a57c557767746a3f",
      "parents": [
        "9710c4ee184608075e400b4fe29d89f47fed3aa1"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Mar 26 16:43:46 2026"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Mar 26 16:44:11 2026"
      },
      "message": "Update QoS of eDO socket handler queue to USER_INITIATED.\n\nThis prevents priority inversion issues enforced by the thread performance checker.\n\nPiperOrigin-RevId: 889894162\n"
    },
    {
      "commit": "9710c4ee184608075e400b4fe29d89f47fed3aa1",
      "tree": "6e0ce8e2297c6f642f207fe451f339ecd552f344",
      "parents": [
        "d09cb63805387021977c3c3d28ea4fa7a755e471"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Mar 06 19:45:50 2026"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Mar 06 19:46:17 2026"
      },
      "message": "Test fixes\n\nPiperOrigin-RevId: 879741144\n"
    },
    {
      "commit": "d09cb63805387021977c3c3d28ea4fa7a755e471",
      "tree": "b647b279ccbfea1ebd2abbc387b29c50c32c810f",
      "parents": [
        "9c4f9da6e0ee24c206bb33aee884a350ef1e1e77"
      ],
      "author": {
        "name": "Dave MacLachlan",
        "email": "dmaclach@google.com",
        "time": "Mon Feb 09 18:05:48 2026"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Feb 09 18:06:11 2026"
      },
      "message": "A nil check to handle cases where `otherPort` is nil, preventing a crash.\n\nPiperOrigin-RevId: 867656307\n"
    },
    {
      "commit": "9c4f9da6e0ee24c206bb33aee884a350ef1e1e77",
      "tree": "d31fd0d1865229ca32ac327a529775cde0cfd7f9",
      "parents": [
        "29931239e7baf7c2e1b9e54ee25e52f401abf62d"
      ],
      "author": {
        "name": "Dave MacLachlan",
        "email": "dmaclach@google.com",
        "time": "Wed Oct 22 17:21:16 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Oct 22 17:21:56 2025"
      },
      "message": "Cache method signatures in EDOObject.\n\nThis change introduces a thread-safe cache within `EDOObject` to store method signatures. When `methodSignatureForSelector:` is called, it first checks the cache. If the signature is not found, a remote request is made, and the result is then added to the cache for future use. This reduces redundant remote calls for method signature lookups.\n\nThis should improve overall edo performance.\n\nPiperOrigin-RevId: 822643324\n"
    },
    {
      "commit": "29931239e7baf7c2e1b9e54ee25e52f401abf62d",
      "tree": "74569c99670e6d668293ab04ce14d506f08ae804",
      "parents": [
        "d228369931f0872e32743ca2cbfea72eaf2e44bc"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Mon Aug 18 23:33:50 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Aug 18 23:34:19 2025"
      },
      "message": "Fix warning in Xcode 26 in client service for thread performance checker.\n\nPiperOrigin-RevId: 796623220\n"
    },
    {
      "commit": "d228369931f0872e32743ca2cbfea72eaf2e44bc",
      "tree": "ed70cee5665858482cb21a44943e7497bd9e25eb",
      "parents": [
        "5030b6a79c86f3b0787061f9c933b7476631efe3"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Tue Jul 29 21:57:35 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Jul 29 21:58:13 2025"
      },
      "message": "Fix warning in Xcode 26.\n\nPiperOrigin-RevId: 788619693\n"
    },
    {
      "commit": "5030b6a79c86f3b0787061f9c933b7476631efe3",
      "tree": "43988585eb7a5e7e6f3a23f4656fc0f932f0a1cf",
      "parents": [
        "4d0798b9c79a7c0d7d553603fde0453342c70878"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Mon Jul 28 19:14:32 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Jul 28 19:15:49 2025"
      },
      "message": "Minor cleanup to remove EDOSocket init.\n\nNote: existing clients should migrate to `+channelWithSocket:`.\nPiperOrigin-RevId: 788107729\n"
    },
    {
      "commit": "4d0798b9c79a7c0d7d553603fde0453342c70878",
      "tree": "0e00c7c47043def3bb02d84a6f138a9eee8c60f3",
      "parents": [
        "b33375c8b615691c8cb7878d5fd8a6c262f4934b"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Jul 25 17:59:44 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Jul 25 18:00:16 2025"
      },
      "message": "Resolve cast-function-type-mismatch and newline-eof warnings.\n\nPiperOrigin-RevId: 787170599\n"
    },
    {
      "commit": "b33375c8b615691c8cb7878d5fd8a6c262f4934b",
      "tree": "77ac8863d3863a661766b03d6e62b7a805b270d5",
      "parents": [
        "38e71ff183d76f702db6966fa7236c98831acd80"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Wed Jul 16 18:45:49 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Jul 16 18:46:24 2025"
      },
      "message": "Automatically forward `isKindOfClass:` for NSError.\n\nThis attempts to automatically forward the class comparison when a class with the same name can be found in the remote process.\n\nThe main reason for this change is that Xcode 16.3 seems to introduce a new behavior in Swift tests. In particular, an error that is thrown will be captured by a backtracing function that force casts it to a Swift error. This cast will fail and crash the test when the receiver is an `EDOObject`, which cannot be casted to a `Swift.Error`.\n\nForwarding the type check with the proper class fixes the issue.\n\nPiperOrigin-RevId: 783838546\n"
    },
    {
      "commit": "38e71ff183d76f702db6966fa7236c98831acd80",
      "tree": "3f3336231975025921f16cab9f0b5452726f574d",
      "parents": [
        "fef76c396a2ac184a82db792032202fdfc6210d7"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Apr 10 16:19:58 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Apr 10 16:20:28 2025"
      },
      "message": "Add test to check optional deserialization of `CodableVariable`\n\nVerifies that when using `try?` to deserialize, it returns nil instead of the actual value\n\nPiperOrigin-RevId: 746058102\n"
    },
    {
      "commit": "fef76c396a2ac184a82db792032202fdfc6210d7",
      "tree": "23d7bdf628180eb6ac962d453eb1345cc117a150",
      "parents": [
        "7fdc388fa95f5954e4524824771b839edcad9d8c"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Wed Apr 09 16:32:44 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Apr 09 16:33:18 2025"
      },
      "message": "Add helper method for interacting with remote arrays.\n\nPiperOrigin-RevId: 745621507\n"
    },
    {
      "commit": "7fdc388fa95f5954e4524824771b839edcad9d8c",
      "tree": "5073df2c1742d2084bc8653e7f54456c29c52bd5",
      "parents": [
        "a75d424d4c35afa3ef04cee6b8a51fca57e46a30"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Mon Mar 17 20:02:21 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Mar 17 20:02:59 2025"
      },
      "message": "Add an info message for remote Swift classes on the method requirements.\n\nPiperOrigin-RevId: 737722525\n"
    },
    {
      "commit": "a75d424d4c35afa3ef04cee6b8a51fca57e46a30",
      "tree": "31c66e8b787d388b36f09ba09d1a439ce57bed61",
      "parents": [
        "13fd3068bf462e6d55a405f5ec3c62abcf1dd9bb"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Feb 20 00:15:12 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Feb 20 00:15:44 2025"
      },
      "message": "Support wrapping SwiftObjects in EDO parameters.\n\nPreviously, one of the ways Swift classes can be \"passed\" to different processes is to have it conform to a @objc protocol and use the protocol in the shared interface. This approach still required that the Swift class inherit from NSObject. This change loosens this requirement.\n\nPiperOrigin-RevId: 728856266\n"
    },
    {
      "commit": "13fd3068bf462e6d55a405f5ec3c62abcf1dd9bb",
      "tree": "6f6db803942f58a635369d6dd7cc4e03229af0a9",
      "parents": [
        "d6eabd6091eb8817e6abbb0a7a8367c7fb4bf914"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Tue Jan 28 00:34:26 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Jan 28 00:34:57 2025"
      },
      "message": "Error when tracking object deallocation from multiple host ports.\n\nThis is not a supported use case currently and EDOObjects on other hosts cannot be deallocated even when the underlying object on the client is gon\n\nPiperOrigin-RevId: 720349208\n"
    },
    {
      "commit": "d6eabd6091eb8817e6abbb0a7a8367c7fb4bf914",
      "tree": "27be925fc441bad5f582c35839b3e00e486a2b60",
      "parents": [
        "840deebc126940afa5fb4c93f42be7a9fe077ca5"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Jan 24 19:26:59 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Jan 24 19:27:32 2025"
      },
      "message": "Update docs about EDOWeakObject.\n\nPiperOrigin-RevId: 719374300\n"
    },
    {
      "commit": "840deebc126940afa5fb4c93f42be7a9fe077ca5",
      "tree": "65492c3962df29045d2ac3dcb8cfc294d4753c90",
      "parents": [
        "49b4209a24329b7bbc440af7636328662a6bce87"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Jan 23 18:05:57 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Jan 23 18:06:21 2025"
      },
      "message": "Re-enable tests previously disabled due to incorrect OCMock usage.\n\nRemoved tests related to multiple weak objects as this is no longer a valid use case given the same cached object is returned via `remoteWeak` and that only one deallocation tracker is associated with the underlying object.\n\nPiperOrigin-RevId: 718913700\n"
    },
    {
      "commit": "49b4209a24329b7bbc440af7636328662a6bce87",
      "tree": "bc44f3f53d76ced333789ba35d8431bcbfe8b575",
      "parents": [
        "8c825efc8ba6ca9147a148445449470a66b9dc54"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Tue Jan 21 19:05:22 2025"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Jan 21 19:05:50 2025"
      },
      "message": "Fix tests failure when the same port is used across tests.\n\nInstead, use a random port that is available.\n\nPiperOrigin-RevId: 717991512\n"
    },
    {
      "commit": "8c825efc8ba6ca9147a148445449470a66b9dc54",
      "tree": "9ebd7fe271a268b4987e7e3930329d96f09b845d",
      "parents": [
        "8b0be005394ae1cd3635ed061c10b3206b4715de"
      ],
      "author": {
        "name": "Dave MacLachlan",
        "email": "dmaclach@google.com",
        "time": "Wed Oct 23 03:04:48 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Oct 23 03:05:32 2024"
      },
      "message": "Fix a typo in EDOChannelForwarder\n\nPiperOrigin-RevId: 688784456\n"
    },
    {
      "commit": "8b0be005394ae1cd3635ed061c10b3206b4715de",
      "tree": "4d59b9d04aa16bf26e7fe448474f07d3e1073301",
      "parents": [
        "afdcbb02534ac7aeef1ecf793ebf84f699f8299f"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Sat Sep 14 16:39:22 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Sep 14 16:39:51 2024"
      },
      "message": "Adding FOUNDATION_EXTERN annotations to C functions declared in header.\n\nPiperOrigin-RevId: 674669108\n"
    },
    {
      "commit": "afdcbb02534ac7aeef1ecf793ebf84f699f8299f",
      "tree": "bb10ccf964105bcecf1f66235b66e5caade60ad9",
      "parents": [
        "a81474e8b932e1fca1f217a098ef02b313dcc05e"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Wed Jul 10 22:41:43 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Jul 10 22:42:09 2024"
      },
      "message": "Skip broken test for investigation.\n\nPiperOrigin-RevId: 651176006\n"
    },
    {
      "commit": "a81474e8b932e1fca1f217a098ef02b313dcc05e",
      "tree": "197baf3ef61f430595e69f0ac2cbb34922327eba",
      "parents": [
        "2762c7a491ce4f95d10683db6a411fdb5c380fd7"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri May 31 00:39:33 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri May 31 00:40:09 2024"
      },
      "message": "Internal cleanup\n\nPiperOrigin-RevId: 638842646\n"
    },
    {
      "commit": "2762c7a491ce4f95d10683db6a411fdb5c380fd7",
      "tree": "846f4e4def2b7e988a762a69dcd513aa3bb788a1",
      "parents": [
        "1f304335c060d0f0e4f5900e7dc17070406a661a"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu May 16 09:30:15 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu May 16 09:31:53 2024"
      },
      "message": "Make NSUUID a value type.\n\nPiperOrigin-RevId: 634275871\n"
    },
    {
      "commit": "1f304335c060d0f0e4f5900e7dc17070406a661a",
      "tree": "39e50dd30d18d2629af7b31c8e0d18bc84d0a87f",
      "parents": [
        "20cb17feb472b2b8551a2e1de92dd1c9bd3fed2f"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Mar 08 21:09:20 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Mar 08 21:09:51 2024"
      },
      "message": "Bypass C-pointer limitation so dictionary can be enumerated.\n\nThe remote enumeration will be slower because `stop` doesn\u0027t actually stop the enumeration, but just the callback invocations. The behavior of the callback doesn\u0027t change.\n\nPiperOrigin-RevId: 614024030\n"
    },
    {
      "commit": "20cb17feb472b2b8551a2e1de92dd1c9bd3fed2f",
      "tree": "e2a3d8ad24c6d18662b7e780db97c3620862eee5",
      "parents": [
        "0032cf505f811cba931c3fc1e9f2f01698db1af4"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Mar 07 23:52:03 2024"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Mar 07 23:52:54 2024"
      },
      "message": "Fix the 3th ordinal suffix.\n\nPiperOrigin-RevId: 613729324\n"
    },
    {
      "commit": "0032cf505f811cba931c3fc1e9f2f01698db1af4",
      "tree": "6d74e1c75e5d2b41dbb0a5672d9186a93eae4408",
      "parents": [
        "184cc4702271e8c2178c6ed141f6b58eaf722114"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Mon Oct 16 19:29:38 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Oct 16 19:31:45 2023"
      },
      "message": "Add -[EDOClientService isServiceAvailableOnPort].\n\nisServiceAvailableOnPort checks if an EDOHostService is running in another process.\n\nPiperOrigin-RevId: 573894398\n"
    },
    {
      "commit": "184cc4702271e8c2178c6ed141f6b58eaf722114",
      "tree": "9e26a4b61f48bf1f8156ca2052750bfa6721ec84",
      "parents": [
        "a49d4af87bb94f84025ae25163edc5bb7dc253f0"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Sep 28 16:25:35 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Sep 28 16:26:05 2023"
      },
      "message": "[iOS] Remove deprecated suppression warning in edo lib\n\nWe are cleaning up third party code with deprecated suppression warnings in the Chromium repo. Please feel free to let me know if we shouldn\u0027t do this for any reason.\n\nPiperOrigin-RevId: 569204887\n"
    },
    {
      "commit": "a49d4af87bb94f84025ae25163edc5bb7dc253f0",
      "tree": "5dbac0408c2be078ce6fdda531c89bbea26d1ab2",
      "parents": [
        "726d5e6fc7c316bfeea43716e5caa0adea4ecdae"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Sep 15 02:36:21 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Sep 15 02:36:59 2023"
      },
      "message": "Xcode Project Update\n\nPiperOrigin-RevId: 565544867\n"
    },
    {
      "commit": "726d5e6fc7c316bfeea43716e5caa0adea4ecdae",
      "tree": "64558f6b126a51e45923a0588bb3952f95ba4550",
      "parents": [
        "56d1ab9e94346125d9ac98180a3c12f642ba4eff"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Aug 04 18:30:09 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Aug 04 18:30:34 2023"
      },
      "message": "Create eDO Swift equivalence of `EDO_REMOTE_CLASS`.\n\nUpdate EarlGrey Swift API that fetches the remote class from the testing process.\n\nPiperOrigin-RevId: 553865019\n"
    },
    {
      "commit": "56d1ab9e94346125d9ac98180a3c12f642ba4eff",
      "tree": "c2f93c81f1d0fe7ce2df65a15a86d82eeee716e4",
      "parents": [
        "2f8f33150c0a41532e3308bfadba989ae9f294d7"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri May 19 00:34:46 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri May 19 00:35:14 2023"
      },
      "message": "Add detail to C pointer not supported error and fail it earlier.\n\nPiperOrigin-RevId: 533299346\n"
    },
    {
      "commit": "2f8f33150c0a41532e3308bfadba989ae9f294d7",
      "tree": "616319ee0a62f1082edbf9c5e0a283c046916630",
      "parents": [
        "112acf9535659982e1b867e30d341f3c91743644"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue May 16 18:14:47 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue May 16 18:15:15 2023"
      },
      "message": "Add callback to EDOHostService for device connection failure.\n\nThe callback is passed in during the construction of the service. Right now, it will be called exactly once throughout the service\u0027s lifecycle, when the attempt of connection fails, including both initial connection and reconnection.\n\nThe additional test case provides an example of how this can be used.\n\nPiperOrigin-RevId: 532517641\n"
    },
    {
      "commit": "112acf9535659982e1b867e30d341f3c91743644",
      "tree": "60d47f3991e5fd05ee61bd6b226d5766a0de89d5",
      "parents": [
        "f395ee1f293a04dc393b0e93455df91cfc78a0d7"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue May 16 05:33:29 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue May 16 05:34:00 2023"
      },
      "message": "Reveal Swift error description through EarlGrey.\n\nSwift error loses enum information when being sent across the process via eDO, so people cannot test the Swift error handling via eDO. However, users should still be able to get the information from that error, and this change will allow the error\u0027s `errorDescription` being printed within the test failure.\n\nPiperOrigin-RevId: 532333571\n"
    },
    {
      "commit": "f395ee1f293a04dc393b0e93455df91cfc78a0d7",
      "tree": "3e66c2c0a720df2b7fdc3b868e9bf38ef32928c1",
      "parents": [
        "73ba9dad3db53e20bf1c410089ef56dc72e45d9f"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Apr 21 21:45:29 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Apr 21 21:45:53 2023"
      },
      "message": "Use type inference for CodableVariable.unwrap() instead of explicit type parameter\n\nPiperOrigin-RevId: 526141460\n"
    },
    {
      "commit": "73ba9dad3db53e20bf1c410089ef56dc72e45d9f",
      "tree": "10865654a56d0f0f2c3a66f808444bec9478ae92",
      "parents": [
        "51058a369f943064dc6db4f38dca32263d584ea5"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Mar 29 01:10:26 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Mar 29 01:11:02 2023"
      },
      "message": "Fix variadic methods breakage on device tests.\n\nNSInvocation doesn\u0027t support variadic methods. Previously it still accepts the first argument but it breaks on physical device. For +arrayWithObjects: eDO will continue prints warnings and switch to +arrayWithObject: to mitigate the problem.\n\nPiperOrigin-RevId: 520189240\n"
    },
    {
      "commit": "51058a369f943064dc6db4f38dca32263d584ea5",
      "tree": "6d3934a36a5baaac2729a04d0e537436e9d446c7",
      "parents": [
        "1e427ab89eeace93b519aaa7e4eb9edd08517bc2"
      ],
      "author": {
        "name": "Aditya Atul Tirodkar",
        "email": "tirodkar@google.com",
        "time": "Sat Feb 18 01:24:50 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Feb 18 01:25:15 2023"
      },
      "message": "Proj Update\n\nPiperOrigin-RevId: 510558367\n"
    },
    {
      "commit": "1e427ab89eeace93b519aaa7e4eb9edd08517bc2",
      "tree": "3b183b5c064a40f9a2f9d54d922228e6f4dde0c1",
      "parents": [
        "d4d6f7da76f34b87b7b953176ef9e08eda83afb1"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Tue Feb 14 20:11:59 2023"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Feb 14 20:12:29 2023"
      },
      "message": "Internal tests\n\nPiperOrigin-RevId: 509601398\n"
    },
    {
      "commit": "d4d6f7da76f34b87b7b953176ef9e08eda83afb1",
      "tree": "625a6ce148854bdd8028db9ad86810838ae509b2",
      "parents": [
        "1d58a069cbc6c6838656d95b2746bb21c0fe7e1e"
      ],
      "author": {
        "name": "Aditya Atul Tirodkar",
        "email": "tirodkar@google.com",
        "time": "Tue Dec 13 19:50:28 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Dec 13 19:51:13 2022"
      },
      "message": "Internal\n\nPiperOrigin-RevId: 495085161\n"
    },
    {
      "commit": "1d58a069cbc6c6838656d95b2746bb21c0fe7e1e",
      "tree": "a3cf83e2c4adf7160918153b28c36a67125e8bae",
      "parents": [
        "904c99f0237920066a507129b0266080db3fda11"
      ],
      "author": {
        "name": "Aditya Atul Tirodkar",
        "email": "tirodkar@google.com",
        "time": "Thu Dec 08 19:52:39 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Dec 08 19:53:13 2022"
      },
      "message": "Internal\n\nPiperOrigin-RevId: 493956866\n"
    },
    {
      "commit": "904c99f0237920066a507129b0266080db3fda11",
      "tree": "900a79fa11f26687d58a63b513b7597a1a84b1b6",
      "parents": [
        "e571ad687b91d53f0fc38be9a87d3d5b3873dca7"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Oct 06 20:49:07 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Oct 06 20:49:35 2022"
      },
      "message": "Prints more logs for eDO device connections.\n\nMore info will be printed if the connection is closed from the device side, or the handshake with usbmuxd failed. To avoid spamming, the latter case will print logs every 10 seconds.\n\nPiperOrigin-RevId: 479403660\n"
    },
    {
      "commit": "e571ad687b91d53f0fc38be9a87d3d5b3873dca7",
      "tree": "848d75ee0314725c412978b3158674676be72e69",
      "parents": [
        "fa262201b8c29d6160d5773eac72f9a4dccd1c92"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Sep 29 21:47:56 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Sep 29 21:48:34 2022"
      },
      "message": "Add type encoding checks for NSArray elements before encoding.\n\nWith strict mode available in EarlGrey, there will be more users always sending NSArray by-value. One caveats from that is, NSArray doesn\u0027t always conform to NSCoding. The failure will happen if any element of the array does not conform to NSCoding. Right now, the encoding error doesn\u0027t have useful information, but just saying \"\u003cFailed Object\u003e does not conform to encodeWithCoder:\".\n\nThis change polishes the error message in this case, when failure happens, users will know:\n\n* failure happens during the eDO remote invocation.\n* which array causes the issue.\n* which object causes the issue.\n\nPiperOrigin-RevId: 477827955\n"
    },
    {
      "commit": "fa262201b8c29d6160d5773eac72f9a4dccd1c92",
      "tree": "baf8aae2070b778db5cae82301ba8c9d8105973f",
      "parents": [
        "101cd0562999a9b6fb6cff7c5783c1293a366acf"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Sep 08 21:54:09 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Sep 08 21:54:35 2022"
      },
      "message": "Changed comment format\n\nPiperOrigin-RevId: 473091631\n"
    },
    {
      "commit": "101cd0562999a9b6fb6cff7c5783c1293a366acf",
      "tree": "7965cdc4ff56228465aac4c920ad80f1df088fac",
      "parents": [
        "3d3dcee71993376f3abcf3457b046c1df6c13182"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Jul 28 21:10:55 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Jul 28 21:11:24 2022"
      },
      "message": "Type Safety Update\n\nPiperOrigin-RevId: 463922079\n"
    },
    {
      "commit": "3d3dcee71993376f3abcf3457b046c1df6c13182",
      "tree": "c2b8ce4941904329973c73f4bb6155962ad20b3f",
      "parents": [
        "988a6d0c8e19654a1c412a0752d8d4340b028b2d"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Jul 20 18:59:29 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Jul 20 19:00:04 2022"
      },
      "message": "Simplify EDOObjectAliveMessage.\n\nThe original EDOObjectAliveRequest/Response takes an EDOObject and verifies if it\u0027s cached by the target server, then returns itself on success. The EDOObject parameter is redundant in both request and response, because for request it only requires `port` and `remoteAddress`, and for response it only requires a BOOL.\n\nThe simplification of the request and response will reduce the size of the network message, as well as removing the redundant encoding/decoding of the EDOObject.\n\nPiperOrigin-RevId: 462198018\n"
    },
    {
      "commit": "988a6d0c8e19654a1c412a0752d8d4340b028b2d",
      "tree": "81533891386604ae44a303732e0251a3bf29d983",
      "parents": [
        "5b83bbecc3f7f2a007e7dabd3b12cde519c445b0"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Jun 24 23:02:14 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Jun 24 23:02:38 2022"
      },
      "message": "Fix for eDO to manage extra release (from ARC) for non vanilla selectors.\n\nPiperOrigin-RevId: 457111644\n"
    },
    {
      "commit": "5b83bbecc3f7f2a007e7dabd3b12cde519c445b0",
      "tree": "eae9835d09a5d06892482aa5a7fb28e20d36345f",
      "parents": [
        "f35669ab28e912551f12891673b11c7d1b0c1688"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Fri Jun 24 18:51:57 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Jun 24 18:52:21 2022"
      },
      "message": "Fix for eDO to manage extra release (from ARC) for non vanilla selectors.\n\nPiperOrigin-RevId: 457060590\n"
    },
    {
      "commit": "f35669ab28e912551f12891673b11c7d1b0c1688",
      "tree": "81533891386604ae44a303732e0251a3bf29d983",
      "parents": [
        "3e49e0e9664d7af8268eee9db7ab0a05671643e2"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue Jun 21 22:56:25 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Jun 21 22:56:51 2022"
      },
      "message": "Always allow protocol in blocklist check.\n\nprotocol is passed-by-value in special way, so add extra checks in the blocklist implementation to allow it.\n\nPiperOrigin-RevId: 456371078\n"
    },
    {
      "commit": "3e49e0e9664d7af8268eee9db7ab0a05671643e2",
      "tree": "c9bd3f2fbea56985ef80c909cfcad502d2b6f679",
      "parents": [
        "80e7a3c5cce7a9a68dc5a5e4d54e8fa164cec0e4"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Jun 17 19:40:46 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Jun 17 19:41:14 2022"
      },
      "message": "Cache remote weak for multiple invocations.\n\nThe the first weak object is invalidated when it is sent across the process for the second time, due to 2 invalid cache:\n\n1. a new EDOWeakObject is created with different remote address when `remoteWeak` is called.\n\n2. the old EDODeallocationTracker is released and invalidated the remote EDOObject cache when the second remote call is made.\n\nBoth of the above objects should be cached throughout the life time of the real object so that the remote process always use the same EDOObject.\n\nPiperOrigin-RevId: 455674793\n"
    },
    {
      "commit": "80e7a3c5cce7a9a68dc5a5e4d54e8fa164cec0e4",
      "tree": "7fbafc8b304751474b0aa43fd93dcc80dbdfa025",
      "parents": [
        "07ef2f35406e9f04cf86d11da5cc62d58f36cb15"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Jun 10 16:17:51 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Jun 10 16:18:14 2022"
      },
      "message": "Add API to exclude types from eDO blocklist.\n\nBy adding a type into eDO blocklist, all of its subclasses are blocked in eDO remote calls as well. This is intended behavior, but in some scenario, people want to perform \"allowlist\" manner for eDO remote calls, e.g., in EarlGrey test.\n\nThe new API allows people to block NSObject while adding a list of types to form an allowlist.\n\nPiperOrigin-RevId: 454178819\n"
    },
    {
      "commit": "07ef2f35406e9f04cf86d11da5cc62d58f36cb15",
      "tree": "0e346d269f735a30536839e115b5b752affa6920",
      "parents": [
        "4be4a94e0aa64b279a3eaae18414b2a7e7769be3"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu Jun 09 03:06:04 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Jun 09 03:06:30 2022"
      },
      "message": "Add API to exclude types from eDO blocklist.\n\nBy adding a type into eDO blocklist, all of its subclasses are blocked in eDO remote calls as well. This is intended behavior, but in some scenario, people want to perform \"allowlist\" manner for eDO remote calls, e.g., in EarlGrey test.\n\nThe new API allows people to block NSObject while adding a list of types to form an allowlist.\n\nPiperOrigin-RevId: 453825843\n"
    },
    {
      "commit": "4be4a94e0aa64b279a3eaae18414b2a7e7769be3",
      "tree": "543c2141a90992c53d11b089922c4e0b30d5ac05",
      "parents": [
        "b21633c42b63b940c45956a927f9b9f54e550e28"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Wed Jun 08 06:41:37 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Jun 08 06:42:10 2022"
      },
      "message": "Internal Change.\n\nPiperOrigin-RevId: 453608242\n"
    },
    {
      "commit": "b21633c42b63b940c45956a927f9b9f54e550e28",
      "tree": "0e346d269f735a30536839e115b5b752affa6920",
      "parents": [
        "a99f9d76b0f014bb02fc0fdf4944cb4f6928f0fa"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Wed Jun 08 05:15:40 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Jun 08 05:16:04 2022"
      },
      "message": "Add API to exclude types from eDO blocklist.\n\nBy adding a type into eDO blocklist, all of its subclasses are blocked in eDO remote calls as well. This is intended behavior, but in some scenario, people want to perform \"allowlist\" manner for eDO remote calls, e.g., in EarlGrey test.\n\nThe new API allows people to block NSObject while adding a list of types to form an allowlist.\n\nPiperOrigin-RevId: 453599300\n"
    },
    {
      "commit": "a99f9d76b0f014bb02fc0fdf4944cb4f6928f0fa",
      "tree": "543c2141a90992c53d11b089922c4e0b30d5ac05",
      "parents": [
        "07f8979b73afd95f7b448dae63583624b6beb52d"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue Jun 07 23:52:32 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Jun 07 23:52:57 2022"
      },
      "message": "Add API to exclude types from eDO blocklist.\n\nBy adding a type into eDO blocklist, all of its subclasses are blocked in eDO remote calls as well. This is intended behavior, but in some scenario, people want to perform \"allowlist\" manner for eDO remote calls, e.g., in EarlGrey test.\n\nThe new API allows people to block NSObject while adding a list of types to form an allowlist.\n\nPiperOrigin-RevId: 453556547\n"
    },
    {
      "commit": "07f8979b73afd95f7b448dae63583624b6beb52d",
      "tree": "0e346d269f735a30536839e115b5b752affa6920",
      "parents": [
        "a431b7fa37c84b5c5b9ca2851ae046da5b936c29"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Mon Jun 06 19:03:43 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Jun 06 19:04:12 2022"
      },
      "message": "Expose server decoding error for failed eDO invocation.\n\nThe decoding error is currently thrown as \"inconsistent exception\" for mismatching request and response ID. It\u0027s because server side fails to decode the eDO request so that it fails to add the request ID into the error response. As a fix, eDO client won\u0027t check request/response ID when EDOErrorResponse is produced.\n\nPiperOrigin-RevId: 453252269\n"
    },
    {
      "commit": "a431b7fa37c84b5c5b9ca2851ae046da5b936c29",
      "tree": "f3f803a19eef1c465bc29249888ab19a8828b92e",
      "parents": [
        "c3ff324fbce0c09fe85efad31486c8d33df3cd64"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu May 26 19:14:02 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu May 26 19:14:33 2022"
      },
      "message": "Internal\n\nPiperOrigin-RevId: 451216309\n"
    },
    {
      "commit": "c3ff324fbce0c09fe85efad31486c8d33df3cd64",
      "tree": "702100c60d6ec1a37646f57faa069e402118ea59",
      "parents": [
        "385dd87a5ce311d33893e434d7b673931b2cd092"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Thu May 26 02:54:36 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu May 26 02:55:06 2022"
      },
      "message": "Internal\n\nPiperOrigin-RevId: 451072822\n"
    },
    {
      "commit": "385dd87a5ce311d33893e434d7b673931b2cd092",
      "tree": "f3f803a19eef1c465bc29249888ab19a8828b92e",
      "parents": [
        "08988a24e17251c85c4283dae7badddc3402dee9"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Wed May 25 16:41:12 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed May 25 16:41:50 2022"
      },
      "message": "Internal\n\nPiperOrigin-RevId: 450944014\n"
    },
    {
      "commit": "08988a24e17251c85c4283dae7badddc3402dee9",
      "tree": "702100c60d6ec1a37646f57faa069e402118ea59",
      "parents": [
        "a9543bd5e36aebcd57b6ca3b677f616d5a15b5ed"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Apr 29 18:25:14 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Apr 29 18:25:48 2022"
      },
      "message": "Fix eDO -Wunused-but-set-variable by using equivalent approach in related code.\n\nIn EDOHostService, the extra __block varaible is not needed since dispatch_sync doesn\u0027t change thread. In EDOChannelUtil, the frame data can be fetched through the additional usage on the returned data object so it\u0027s no longer unused.\n\nPiperOrigin-RevId: 445465503\n"
    },
    {
      "commit": "a9543bd5e36aebcd57b6ca3b677f616d5a15b5ed",
      "tree": "627fa69d0efd9b825429af951f51e984e12930c0",
      "parents": [
        "727e556705278598fce683522beedbb9946bfda0"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Apr 21 21:11:06 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Apr 21 21:11:31 2022"
      },
      "message": "Add warning to variadic method +arrayWithObjects:.\n\nAs we see more people were confused by the behavior of variadic methods, it is demanded to add warning message to the most commonly used method. In this change the +arrayWithObjects: is added.\n\nPiperOrigin-RevId: 443475473\n"
    },
    {
      "commit": "727e556705278598fce683522beedbb9946bfda0",
      "tree": "40af8f80e108f5bb203083b7a851e81212a6c8af",
      "parents": [
        "f7dea1a5bdc745493aeffece692a4883e85c0e78"
      ],
      "author": {
        "name": "strangewiz",
        "email": "strangewiz@users.noreply.github.com",
        "time": "Fri Mar 25 02:48:48 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 25 02:48:48 2022"
      },
      "message": "Fix up EDO with -Wunused-but-set-variable warning turned on. (#244)\n\nCo-authored-by: Justin Cohen \u003cjustincohen@google.com\u003e"
    },
    {
      "commit": "f7dea1a5bdc745493aeffece692a4883e85c0e78",
      "tree": "5a5225609f2b3c71e6412ac8f5eb229acde5e226",
      "parents": [
        "8ab012678db672ff82203c4a702b9fa02c6ce5a3"
      ],
      "author": {
        "name": "Yan Zhang",
        "email": "ynzhang@google.com",
        "time": "Tue Mar 15 06:25:24 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Mar 15 06:25:52 2022"
      },
      "message": "Internal test update only.\n\nPiperOrigin-RevId: 434668835\n"
    },
    {
      "commit": "8ab012678db672ff82203c4a702b9fa02c6ce5a3",
      "tree": "4ff09aeadd0e1be4ec445973af2c2522316aa2f5",
      "parents": [
        "b043e0b7c2f8d1c59b116529abb97d5e87102b83"
      ],
      "author": {
        "name": "Yan Zhang",
        "email": "ynzhang@google.com",
        "time": "Tue Mar 15 01:02:28 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Mar 15 01:02:51 2022"
      },
      "message": "Test update only.\n\nPiperOrigin-RevId: 434616865\n"
    },
    {
      "commit": "b043e0b7c2f8d1c59b116529abb97d5e87102b83",
      "tree": "1989abfb4c9a6ab9bcda515137c7033e66a4aaa4",
      "parents": [
        "c979e4c2e631d92d79e194d1ed4d59b965175bd3"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Feb 04 01:16:02 2022"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Feb 04 01:16:30 2022"
      },
      "message": "eDO won\u0027t block the object encoding if the object is passed by value.\n\nThis is useful when developers want to block a class which has subclasses that are value type. In this case, eDO should bypass codable subclasses since they are not passed by reference.\n\nAs an extreme use case, developers can block NSObject to disallow pass by reference at all, but still send value types across the processes.\n\nPiperOrigin-RevId: 426274648\n"
    },
    {
      "commit": "c979e4c2e631d92d79e194d1ed4d59b965175bd3",
      "tree": "1380f3e8ce9c4d0f6892c536e9dd50c7985bf16f",
      "parents": [
        "a8147aa412e2e8d54af655cf65a231a754dd0bb6"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Nov 12 23:49:24 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Nov 12 23:49:54 2021"
      },
      "message": "Change EDOHostService.keepDeviceConnection to readwrite and atomic.\n\nkeepDeviceConnection is a mutable property without GCD synchronization, so using atomic for simplicity.\n\nPiperOrigin-RevId: 409524309\n"
    },
    {
      "commit": "a8147aa412e2e8d54af655cf65a231a754dd0bb6",
      "tree": "6710404b8e033e32009766c3e3971dcd6418aea9",
      "parents": [
        "54883c166b01c77fc68fc7d359e0015f22ed123b"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Nov 10 08:02:59 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Nov 10 08:03:36 2021"
      },
      "message": "Change internal-only property from \"readwrite/atomic\" to \"readonly/nonatomic\".\n\nPiperOrigin-RevId: 408800724\n"
    },
    {
      "commit": "54883c166b01c77fc68fc7d359e0015f22ed123b",
      "tree": "5f315361bf266bcc5acee0d9d5ec015939f6d8cf",
      "parents": [
        "25bdb083801fad2abc9812d881a7ba27843a21b4"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Tue Nov 09 21:57:39 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Nov 09 21:58:01 2021"
      },
      "message": "Add appropriate nonatomics to properties so we can enable `-Wimplicit-atomic-properties`\n\nPiperOrigin-RevId: 408699016\n"
    },
    {
      "commit": "25bdb083801fad2abc9812d881a7ba27843a21b4",
      "tree": "d68ef3d2e56aa911adb4f7fff6d7db765cf35832",
      "parents": [
        "c8d8878792813b6124a992e6b25a9c0395698d0f"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Mon Nov 08 06:01:22 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Nov 08 06:01:45 2021"
      },
      "message": "Fix up EDO with `-Wbad-function-cast` warning turned on.\n\nPiperOrigin-RevId: 408249146\n"
    },
    {
      "commit": "c8d8878792813b6124a992e6b25a9c0395698d0f",
      "tree": "d20af7d5277e4a5126ae0c9c67c771fa5012a907",
      "parents": [
        "da97a5231cd2fe01fe37b2658e75f1eaee363b8a"
      ],
      "author": {
        "name": "eDO Team",
        "email": "no-reply@google.com",
        "time": "Mon Nov 08 05:58:01 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Nov 08 05:58:36 2021"
      },
      "message": "Fix up EDO with `-Warc-repeated-use-of-weak`\n\nPiperOrigin-RevId: 408248758\n"
    },
    {
      "commit": "da97a5231cd2fe01fe37b2658e75f1eaee363b8a",
      "tree": "3ebedbf05e42cb1e061cf2b5fdd3460b155eda73",
      "parents": [
        "420f25ae68c1c92048d920584cf4cbe4fe4b8a62"
      ],
      "author": {
        "name": "Yan Zhang",
        "email": "ynzhang@google.com",
        "time": "Thu Oct 28 02:17:43 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Oct 28 02:18:14 2021"
      },
      "message": "Invalidate the host service before resetting the service map.\n\nPiperOrigin-RevId: 406036172\n"
    },
    {
      "commit": "420f25ae68c1c92048d920584cf4cbe4fe4b8a62",
      "tree": "29f5ee2188dce9cdd2e21ccceb866d1c99606ec3",
      "parents": [
        "b7dabae2ac6b619115b79a5f1dd02f1a15f51721"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Mon Oct 25 22:01:54 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Oct 25 22:02:31 2021"
      },
      "message": "Add reconnection logic if eDO host is constructed via device connection.\n\nPiperOrigin-RevId: 405499381\n"
    },
    {
      "commit": "b7dabae2ac6b619115b79a5f1dd02f1a15f51721",
      "tree": "9335c34732ce5d00119d1a8aa0dd253a2b552bd4",
      "parents": [
        "48f00d5e340af3f78a1f3768b3f4f085efaf099d"
      ],
      "author": {
        "name": "Yan Zhang",
        "email": "ynzhang@google.com",
        "time": "Mon Oct 18 20:59:55 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Oct 18 21:00:27 2021"
      },
      "message": "Fix an issue of encoding for some targets.\n\nPiperOrigin-RevId: 404052961\n"
    },
    {
      "commit": "48f00d5e340af3f78a1f3768b3f4f085efaf099d",
      "tree": "b0a37a5bb0d59a8e4529eac2764c046b05606137",
      "parents": [
        "f516fcc95fc870ea4c6e22af145c8ee3668f8444",
        "c07cfebb27b4cae85c215b0b2e6e1a00e37dda92"
      ],
      "author": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Aug 07 00:28:15 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Aug 07 00:28:15 2021"
      },
      "message": "Merge pull request #228 from wuhao5:xcode12.5\n\nPiperOrigin-RevId: 389297027\n"
    },
    {
      "commit": "c07cfebb27b4cae85c215b0b2e6e1a00e37dda92",
      "tree": "b0a37a5bb0d59a8e4529eac2764c046b05606137",
      "parents": [
        "f516fcc95fc870ea4c6e22af145c8ee3668f8444"
      ],
      "author": {
        "name": "Hao Wu",
        "email": "haowoo@google.com",
        "time": "Fri Aug 06 21:59:47 2021"
      },
      "committer": {
        "name": "Hao Wu",
        "email": "haowoo@google.com",
        "time": "Fri Aug 06 23:14:41 2021"
      },
      "message": "Update to Xcode 12.5 and clean up Travis.\n\n* Update to Xcode 12.5 and project version;\n* Remove unneeded pod update;\n* Move Swift test to right target.\n"
    },
    {
      "commit": "f516fcc95fc870ea4c6e22af145c8ee3668f8444",
      "tree": "c46afdfef6c42d38af63edeb34e1b24d2285f7bb",
      "parents": [
        "3afaeda34eedf9aa833c56a499a0949881371b3a"
      ],
      "author": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Jul 10 00:12:13 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Aug 04 22:01:03 2021"
      },
      "message": "Don\u0027t prevent passing NULL to non-Objective-C pointer parameters.\n\nThe purpose for disallowing non-Objective-C pointer parameters is because there\u0027s no way to know how big a C pointer\u0027s underlying data is.  But if the pointer is NULL, then there\u0027s nothing to pass, so just pass NULL and don\u0027t throw an exception.  This opens up partial support for key-value observing and other APIs that take optional context pointers (so long as the caller doesn\u0027t provide one).\n\nPiperOrigin-RevId: 383952113\n"
    },
    {
      "commit": "3afaeda34eedf9aa833c56a499a0949881371b3a",
      "tree": "104df2144321f462c20027d017676a5117b1e7db",
      "parents": [
        "90f45891774cb213852b86b849be32a2fed4e177"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue May 25 23:40:38 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue May 25 23:41:04 2021"
      },
      "message": "Correct return value of eDO class request to be nullable.\n\nPiperOrigin-RevId: 375823145\n"
    },
    {
      "commit": "90f45891774cb213852b86b849be32a2fed4e177",
      "tree": "27626177fa63cfd613d673b69ffe057655861606",
      "parents": [
        "e904b04fc8cbaf6a5d4e20ca5c3cbd1fd8069d64"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Apr 30 00:14:19 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Apr 30 00:14:39 2021"
      },
      "message": "Upgrade eDO deployment os target to 11.0.\n\nPiperOrigin-RevId: 371236841\n"
    },
    {
      "commit": "e904b04fc8cbaf6a5d4e20ca5c3cbd1fd8069d64",
      "tree": "6f289b2bea7e15e45a10e7cf6088af9df26f8926",
      "parents": [
        "73009d72eb528b1108d1540e3cd8d03d0b34280e"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Apr 29 19:41:23 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Apr 29 19:41:51 2021"
      },
      "message": "Create helper class to pass Codable pure Swift types through a remote call.\n\nPiperOrigin-RevId: 371180976\n"
    },
    {
      "commit": "73009d72eb528b1108d1540e3cd8d03d0b34280e",
      "tree": "097e896b342faf2e3addb2ded270355b8fe12f4d",
      "parents": [
        "b9cfc0cb37060725f3e968c186e14e6172388546"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Apr 29 03:53:29 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Apr 29 03:53:49 2021"
      },
      "message": "Bump Travis xcode version to 12.0.\n\nAlso remove 32bit tests in favor of minimum os requirement to 11.0.\n\nPiperOrigin-RevId: 371043059\n"
    },
    {
      "commit": "b9cfc0cb37060725f3e968c186e14e6172388546",
      "tree": "33bf0c5796032b378a13c2fa14ace9c8157bd80e",
      "parents": [
        "1c59aa78db883a1d81c0b0defea31f645d075f0f"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Mar 12 20:02:20 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Mar 12 20:02:42 2021"
      },
      "message": "Avoid always creating listening port on the temporary service.\n\nThis is a bug introduced by the last temporary service deadlock fix. When temporary service gets a response associated with a EDOObject return value, it calls `[EDOClientService -unwrappedObjectFromObject:]`. Currently this invocation will creating a listening port which is not necessary.\n\nTo fix this, we move the lazy-load of the listen socket to where it\u0027s actually needed, i.e. boxing objects. Other access to the host port won\u0027t trigger lazy-load any more.\n\nPiperOrigin-RevId: 362571601\n"
    },
    {
      "commit": "1c59aa78db883a1d81c0b0defea31f645d075f0f",
      "tree": "16057d9fd6df807a0f1ea7c93055093fb36c38af",
      "parents": [
        "5ddded8c62d217b037bf37713a848ba141b66e18"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Mar 12 03:02:24 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Mar 12 03:02:49 2021"
      },
      "message": "Clean up IWYU warnings for eDO code base.\n\nPiperOrigin-RevId: 362428379\n"
    },
    {
      "commit": "5ddded8c62d217b037bf37713a848ba141b66e18",
      "tree": "2fbbcd0a5ebc3ce08e5393a2ef6c618f4213cb2d",
      "parents": [
        "1e3afeca4a3022c592ceb0c7a7e2f0ec0d422099"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Mar 05 21:50:58 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Mar 05 21:51:27 2021"
      },
      "message": "Adds one more test case for deadlock fix.\n\nThe cache for temporary service is not immediately released after the outermost eDO invocation. Instead, it is released when autorelease pool ends, such as the end of dispatch_sync/async. So adding a test case to imply that.\n\nAt the same time, fix an issue that will fail the new test case, and cause retain cycle of host service -\u003e handler -\u003e host service.\n\nPiperOrigin-RevId: 361217991\n"
    },
    {
      "commit": "1e3afeca4a3022c592ceb0c7a7e2f0ec0d422099",
      "tree": "1d6cf547eca245e89ff62fa75ee4ff74684b1b90",
      "parents": [
        "6b5c01bab99c372f7bab29cd3f3a368a854ae127"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Mar 05 00:22:25 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Mar 05 00:22:51 2021"
      },
      "message": "Fix the deadlock caused by recursive eDO call from temporary host service.\n\nPiperOrigin-RevId: 361027513\n"
    },
    {
      "commit": "6b5c01bab99c372f7bab29cd3f3a368a854ae127",
      "tree": "a5c03a5c153818e1771cb390cdf2fee3cea26aff",
      "parents": [
        "14a804b024f084b260ab7422092a077665d17fe5"
      ],
      "author": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Feb 10 22:32:03 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Feb 10 22:32:26 2021"
      },
      "message": "Internal Change.\n\nPiperOrigin-RevId: 356828014\n"
    },
    {
      "commit": "14a804b024f084b260ab7422092a077665d17fe5",
      "tree": "333a79725c9e79e59f18eb97f784ec595322484b",
      "parents": [
        "3832b71f8ce190c1a05a2e34069fb519e4c2530b"
      ],
      "author": {
        "name": "Aditya Atul Tirodkar",
        "email": "tirodkar@google.com",
        "time": "Thu Jan 14 23:34:58 2021"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Jan 14 23:35:26 2021"
      },
      "message": "Update eDO comments.\n\nPiperOrigin-RevId: 351890295\n"
    },
    {
      "commit": "3832b71f8ce190c1a05a2e34069fb519e4c2530b",
      "tree": "e0d4d89b50f02c750db5139fe1ecc2d220376fa2",
      "parents": [
        "6733a915d12cb956f092b24066ad098a474a1ce9"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Dec 18 01:04:47 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Dec 18 01:05:12 2020"
      },
      "message": "Fix remote invocation failure on EDOObject wrapped EDOWeakObject.\n\nEDOWeakObject forwards everything to -forwardTargetForMethodSelector: without implementing -methodSignatureForSelector:, which causes EDOObject throwing exceptions when it tries to fetch method signature for a wrapped EDOWeakObject.\n\nTo avoid the similar bug being caused by other NSProxy(s), this exception will be handled by EDO messages by looking up the -forwardTargetForMethodSelector: firstly to determine which object the -methodSignatureForSelector: will be casted to.\n\nPiperOrigin-RevId: 348120024\n"
    },
    {
      "commit": "6733a915d12cb956f092b24066ad098a474a1ce9",
      "tree": "5e43727f0421b364a17e43f014b4a6fc7ce0c266",
      "parents": [
        "91c532d921e1f37f7e0f213c534df16df6061ec1"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Dec 09 22:38:44 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Dec 09 22:39:03 2020"
      },
      "message": "Upgrade CHANGELOG and podspec for eDO 1.0.2 release.\n\nPiperOrigin-RevId: 346640390\n"
    },
    {
      "commit": "91c532d921e1f37f7e0f213c534df16df6061ec1",
      "tree": "e373a30f9a2f25caf2fd50b5a99165a06fb9932a",
      "parents": [
        "7a72382e85947dda084213cb3c18a7fabd828724"
      ],
      "author": {
        "name": "Hao Wu",
        "email": "haowoo@google.com",
        "time": "Mon Nov 23 21:04:41 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Nov 23 21:05:05 2020"
      },
      "message": "Retrieve block signatures directly from block headers.\n\nThe placeholder block has replaced its signature now and retrieving its signature can be done in the same way as the regular blocks.\n\nPiperOrigin-RevId: 343912714\n"
    },
    {
      "commit": "7a72382e85947dda084213cb3c18a7fabd828724",
      "tree": "3517e3a500026b18e0122760b32a42490c9d26c9",
      "parents": [
        "6ffbf833173f53fcd06ecf08670a95cc01c01f72"
      ],
      "author": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Nov 21 17:23:16 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sat Nov 21 17:23:38 2020"
      },
      "message": "Add signature to blocks in EDO\n\nBlocks in EDO did not have correct signatures. This was causing problems for code that examines the block signatures.\n\nPiperOrigin-RevId: 343657607\n"
    },
    {
      "commit": "6ffbf833173f53fcd06ecf08670a95cc01c01f72",
      "tree": "503dab8e89bd9905f5236c478803922398dc653f",
      "parents": [
        "0e889018f1363388338b747ef20beeb44c350285"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue Nov 10 19:41:59 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Nov 10 19:42:18 2020"
      },
      "message": "Fix Swift Array objectAtIndex: failure on eDO since iOS 13.4.\n\nPiperOrigin-RevId: 341664156\n"
    },
    {
      "commit": "0e889018f1363388338b747ef20beeb44c350285",
      "tree": "02d8c21dfe10860046d9b8eaa4f682fd8c39ed70",
      "parents": [
        "a5b351e2a86189eae061695dffed46b3bf1724f6"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Mon Nov 02 23:11:22 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Nov 02 23:11:50 2020"
      },
      "message": "Fix eDO TSAN issue caused by __block variable.\n\nWhen __block variable lives beyond the declarant scope and is written asynchronously in the block, there is a small chance (\u003c 1/1000) that TSAN complains [read and write happens unsynchronized](https://screenshot.googleplex.com/6WfDaySAK2moAi4). The read, which is complained by the TSAN, implicitly added by ARC at the end of the scope through a release call.\n\nAs a workaround, we can move the `__block` declaration, as well as the blocks that use it, into the serial queue that runs the block. In that case, the implicit read on `__block` variables will happen synchronized.\n\nPiperOrigin-RevId: 340325470\n"
    },
    {
      "commit": "a5b351e2a86189eae061695dffed46b3bf1724f6",
      "tree": "4409d1aac4dc6892207b3a4a7fbfaafc846185dc",
      "parents": [
        "56c675a8ed7f420fb77cd7b08bf93d4acc210747"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Oct 15 01:19:29 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Oct 15 01:19:50 2020"
      },
      "message": "Enable ASAN and TSAN Travis tests in external CI.\n\nPiperOrigin-RevId: 337215431\n"
    },
    {
      "commit": "56c675a8ed7f420fb77cd7b08bf93d4acc210747",
      "tree": "a85ca2d351e8b7c8969c5940d400bf7ebd5a58c6",
      "parents": [
        "8cc67a7d1451e443b3fc2256d469a4123135178e"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Oct 14 21:23:41 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Oct 14 21:24:02 2020"
      },
      "message": "Fix eDO ASAN issue captured by Xcode 10.\n\nCause: Through a unit test, EDOHostPort reads a uint32_t on a NSData of size 3. It is an error if passed-in data size is less than the header such that the read can overflow the buffer.\n\nFix: EDOHostPort performs NSData size validation before reading using struct.\nPiperOrigin-RevId: 337171533\n"
    },
    {
      "commit": "8cc67a7d1451e443b3fc2256d469a4123135178e",
      "tree": "e1d38545f02883046e4143f5968c7ef55db9866b",
      "parents": [
        "8f4c8d35aec5712a7632f714fecf7d74e5910be9"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Oct 07 02:27:59 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Oct 07 02:28:27 2020"
      },
      "message": "Fix TSAN warning on EDOListenSocket.\n\nPiperOrigin-RevId: 335773325\n"
    },
    {
      "commit": "8f4c8d35aec5712a7632f714fecf7d74e5910be9",
      "tree": "6ca2978f15c5d11c42a2569eda798433cc13cf10",
      "parents": [
        "e8a984232246078667bfb2699494bc0fc0b363fb"
      ],
      "author": {
        "name": "Hao Wu",
        "email": "haowoo@google.com",
        "time": "Sun Oct 04 02:44:45 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sun Oct 04 02:45:17 2020"
      },
      "message": "Remove the unneeded cancel block.\n\nThe dispatch source is held by the event handler and get released after the event is invoked or cancelled.\n\nPiperOrigin-RevId: 335242218\n"
    },
    {
      "commit": "e8a984232246078667bfb2699494bc0fc0b363fb",
      "tree": "20e1171be2dcd0ca38fc0d3ea7ebb612702b3887",
      "parents": [
        "17a3435cbaee02c3147f011d407a30e21dcb147e"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue Sep 01 22:58:52 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Sep 01 22:59:17 2020"
      },
      "message": "Added 1.0.1 patch release for respectful code.\n\nPiperOrigin-RevId: 329598932\n"
    },
    {
      "commit": "17a3435cbaee02c3147f011d407a30e21dcb147e",
      "tree": "db1820464146c40c2665734f9d7475fb2422de3c",
      "parents": [
        "f27af12afc16c34f55c6d72797187dbd3d07511f"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Mon Aug 31 20:55:57 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Mon Aug 31 20:56:24 2020"
      },
      "message": "Rename EDOBlacklistedType to EDOBlockedType per go/respectful-code.\n\nPiperOrigin-RevId: 329372445\n"
    },
    {
      "commit": "f27af12afc16c34f55c6d72797187dbd3d07511f",
      "tree": "9a141890040bb36469f9067da382366256b8bd07",
      "parents": [
        "a63a8c6c1816675e27a69052d1df748baaa0570a"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Thu Aug 20 01:38:05 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Thu Aug 20 01:38:34 2020"
      },
      "message": "Fix ASAN breakage on eDO device unit test.\n\n`A \u003d\u003d B` gives an unsigned long result (4 bytes), whereas BOOL is 1 byte. As the result, OCMock\u0027s `andReturn(A \u003d\u003d B)` saves 4 bytes data into a NSConcreteData with the size 1, and causes asan complaint.\n\nPiperOrigin-RevId: 327548825\n"
    },
    {
      "commit": "a63a8c6c1816675e27a69052d1df748baaa0570a",
      "tree": "ccd19ee13dc9a76e6be19c5247f841a4b85ada27",
      "parents": [
        "be936c00c163dbf32a0d269d4cfc419ce915f021"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Aug 19 23:48:46 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Aug 19 23:49:13 2020"
      },
      "message": "Internal Change.\n\nPiperOrigin-RevId: 327533597\n"
    },
    {
      "commit": "be936c00c163dbf32a0d269d4cfc419ce915f021",
      "tree": "074fb88f65cdb8a651f52bbc743457b29a60ae83",
      "parents": [
        "1c392bb11bf3e654e471e33a817c8d630f9b516d"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Sun Aug 16 01:04:01 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Sun Aug 16 01:04:23 2020"
      },
      "message": "Comments for ${POD_TARGET_SRCROOT} in podspec.\n\nPiperOrigin-RevId: 326853141\n"
    },
    {
      "commit": "1c392bb11bf3e654e471e33a817c8d630f9b516d",
      "tree": "52874cb577f4a8f3705754334de0628ef63c5b08",
      "parents": [
        "b6ac886f148a206940bc28028f60148095e1bd45"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Fri Aug 14 23:35:27 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Fri Aug 14 23:35:53 2020"
      },
      "message": "Upgrade podspec for Cocoapods 1.0.0 release.\n\nFix `pod lib lint` which depends on ${PODS_TARGET_SRCROOT} for header search: Pods linter references local repository instead of copying files from Github, and ${PDS_TARGET_SRCROOT} points to the root folder of the local eDistantObject codebase.\n\nPiperOrigin-RevId: 326752375\n"
    },
    {
      "commit": "b6ac886f148a206940bc28028f60148095e1bd45",
      "tree": "7ac87d09eb4d38acb39ef139d3eb6b6b4310fd78",
      "parents": [
        "1e41b4c06809358a62b242e3a36905f530ff789b"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Wed Aug 12 18:00:59 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Wed Aug 12 18:01:22 2020"
      },
      "message": "Second improvement of TSAN flakiness on channel tests.\n\nThe flakiness rate is higher when cleanup handlers of multiple dispatch IO are invoked at the same time on the different queues. Consequently, let\u0027s use a single serial queue to close socket for EDOSocketChannel.\n\nPiperOrigin-RevId: 326268100\n"
    },
    {
      "commit": "1e41b4c06809358a62b242e3a36905f530ff789b",
      "tree": "0cc3771db4b5bcb1cf91cdba2493ca97d60f2a7b",
      "parents": [
        "61a4ad865a3b1ed6e91bc4f7af98917f12f3b208"
      ],
      "author": {
        "name": "Albert Wang",
        "email": "albertbow@google.com",
        "time": "Tue Aug 11 20:11:03 2020"
      },
      "committer": {
        "name": "Mobile DevX Robot",
        "email": "mobile-devx-github-bot@google.com",
        "time": "Tue Aug 11 20:11:24 2020"
      },
      "message": "Fix part of the TSAN flakiness of ChannelTests.\n\n#### How does the flakiness happen?\n\nIf a Dispatch I/O instance has pending dispatch_io_read, the dispatch_io_close waits for the dispatch_io_read to be completed before releasing resources. However, `[EDOSocketChannel -receiveDataWithHandler:]` does two consecutive dispatch_io_read, so the second dispatch_io_read may corrupt dispatch_io_close when TSAN is enabled.\n\n#### Proposed Fix\n\nIn `[EDOSocketChannel -receiveDataWithHandler:]`, before performing the second dispatch_io_read, it first checks if the Dispatch I/O is still valid.\n\nPiperOrigin-RevId: 326086302\n"
    }
  ],
  "next": "61a4ad865a3b1ed6e91bc4f7af98917f12f3b208"
}
