)]}'
{
  "log": [
    {
      "commit": "7199051aaf0ddfa2849650933119307327d8669c",
      "tree": "70328ed50a56a9461f25540a4bb02679d013587d",
      "parents": [
        "7cf49320ba53f2954a00409c264ccdca2a7b728b"
      ],
      "author": {
        "name": "Chris Sarbora",
        "email": "tophyr@gmail.com",
        "time": "Fri Mar 22 09:32:02 2024 -0500"
      },
      "committer": {
        "name": "Chris Sarbora",
        "email": "tophyr@gmail.com",
        "time": "Mon Mar 25 14:53:10 2024 -0500"
      },
      "message": "Wait for disconnect when rebooting to userspace FB\n\nWait for the device to disconnect when rebooting to userspace fastboot.\nThis is a particular problem for USB-over-IP devices, which must tunnel\nthe USB commands over a relatively-slow network and thus will not\ndisconnect as quickly as local ones.\n\nOnly currently effective for Linux hosts, since LinuxUsbTransport is the\nonly transport that implements WaitForDisconnect().\n\nTest Plan:\nprovision with a usbip-attached device, see flash succeed\n\nChange-Id: Ia8903dfa6e40755377870fbeaef9162934f992a0\n"
    },
    {
      "commit": "9c48951d91aa2873d7e236d825b7a6d3f05c6797",
      "tree": "7cdc338b7b4faf82a2b106fd9aed6e0eff0a065b",
      "parents": [
        "94d60a73f40fcdc1df12592a186f55b7382b9524"
      ],
      "author": {
        "name": "Chun-Wei Wang",
        "email": "wangchun@google.com",
        "time": "Tue Jan 02 14:59:53 2024 +0800"
      },
      "committer": {
        "name": "Chun-Wei Wang",
        "email": "wangchun@google.com",
        "time": "Tue Jan 02 15:29:21 2024 +0800"
      },
      "message": "Add help text for `fastboot gsi status`\n\nBug: 298533290\nTest: fastboot -h\nChange-Id: Icf91a980059aaa8e74e41af4036778fbbfbf1bd2\n"
    },
    {
      "commit": "adb91b0e5979148b4c141b7e966e375615fce62d",
      "tree": "1fe944470034235f3022a332d1f63f5f85fc88b3",
      "parents": [
        "e2c6171f652b5d6979b1fabfe24c527c380522fc"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Dec 12 11:25:40 2023 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Dec 14 16:00:27 2023 -0800"
      },
      "message": "remount: Detect when flashall has happened in the bootloader.\n\nThis adds a new metadata header flag to the super partition. This flag\nis set when \"adb remount\" is used, and is implicitly cleared when\nflashing.\n\nIf there is a scratch partition present on /data, we require that the\nflag be set in order to proceed using overlays. If not set, scratch is\nnot mapped in first-stage init, and scratch images are removed later\nduring startup.\n\nBug: 297923468\nTest: adb remount -R, touch file in out/, sync, flashall\nChange-Id: I9cc411a1632101b5fc043193b38db8ffb9c20e7f\n"
    },
    {
      "commit": "e20438f83b17c42d7468e388c3025a195b5093c1",
      "tree": "b413569b34f8356f906b8e2dcb1cd0b7d7081e32",
      "parents": [
        "e9c24760d39e161a03fd02b2f6a0c158cef6e48c"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Sat Dec 09 01:55:20 2023 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Sat Dec 09 01:55:20 2023 +0000"
      },
      "message": "fastboot: fix network connected device status\n\nBug: 303236495\nChange-Id: Iceac3509531af1af65b455b1a3d5f5ab9029fda6\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "0bc02bfe71017757343657dff4f26b6c86ddb302",
      "tree": "528b3020a96ba3994c3a44eb723ddd740d4d6323",
      "parents": [
        "7bcd7715f8ba852361b15c7b02276f3eb9193e5a"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Oct 20 11:17:44 2023 -0700"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Oct 20 11:20:53 2023 -0700"
      },
      "message": "fastboot: Fix flashing failure when a sparse image has an avb footer.\n\nTrying to move the AVB footer on a sparse file will corrupt the sparse\nformat. Rather than implement this properly, for now, have the\ncopy_avb_footer() function gracefully fail by skipping the operation.\n\nBug: 304574023\nTest: fastboot flash sparse image with avb footer\nChange-Id: Ia6f0711789a04897ec266ad604a3d243c7184082\n"
    },
    {
      "commit": "3e9b88d50401177820c522bf2b762292c320368b",
      "tree": "efc7b77d1a40a06b5710626856a1c3a77e9c001a",
      "parents": [
        "adad3dbefea3c269dca6e09230c12c05370fa511"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Sep 25 16:41:05 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Oct 05 12:37:57 2023 -0700"
      },
      "message": "Removing is_retrofit code path\n\nThis code path was never invoked. is_logical will return false on\nsecondary partitions in retrofit devices, so nothing actually is ever\ndeleted. If we manage to call the delete, the device side code will\nfail with \"cannot open the super partition\"\n\nTest: fastboot flashall on sargo device\nChange-Id: I20b430c5c30bf992506190ea4e00b0b69c7b1005\n"
    },
    {
      "commit": "9dabc9ef320ce3651dda4db4881cdb49686c4f52",
      "tree": "87b8e50b0dc1bfdd00c34a3d580b66ce72c6f182",
      "parents": [
        "e877885533696352a67707b4ed61643351160a6d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 02 17:02:05 2023 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Oct 02 17:02:51 2023 -0700"
      },
      "message": "Change source to be a unique_ptr.\n\nThe current code keeps a pointer to a local variable which doesn\u0027t\nwork too well. Change this to a unique_ptr and allocate the source\nobject that will be used instead.\n\nTest: All unit tests pass.\nTest: fastboot -w flashall on a mokey which crashed without this change.\nChange-Id: Ief5437374181e514928c45dd540b42898901a137\n"
    },
    {
      "commit": "7a8f82acbd3c24ce5ecc7e57d633576b74af30e9",
      "tree": "25db71ec5e5af3d656675d64f758345951e67c8d",
      "parents": [
        "8d983ee878fa8d1dc54f30665377eb1f3e155279"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Sep 21 20:37:47 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Sep 26 16:55:06 2023 -0700"
      },
      "message": "should_flash_in_userspace signature change\n\nWe should change should_flash_in_userspace to work without\n$ANDROID_PRODUCT_OUT being set and fall back on $OUT directory when\nsource isn\u0027t specified\n\nThis also fixes the flashing issue of flashing retrofit devices without\n$ANDROID_PRODUCT_OUT set. If we\ncall fastboot update on a retrofit device, copy_avb_footer will resize\nbuf-\u003esz of secondary partitions to the partition size, causing us to\nsend the unsparsed payload to the device -\u003e \"Invalid Size\" issue.\n\nThis is because secondary partitions are considered physical partitions\non retrofit devices \u0026\u0026 should_flash_in_userspace wouldn\u0027t work if\n$ANDROID_PRODUCT_OUT is set, so our first return clause in\ncopy_avb_footer doesn\u0027t catch this edge case causing us to resize the\nbuf-\u003e sz incorrectly.\n\nDid some testing, and also observed a case where flashing is able to\nsucceed despite $ANDROID_PRODUCT_OUT not being set before, so there\nmight still be some other edge case that we are still missing.\n\nTest: fastboot update on sargo without $ANDROID_PRODUCT_OUT\n\nChange-Id: I0e4781d96709b712f7d71657ec0d16d99b90214d\n"
    },
    {
      "commit": "5cbcdfae4ec2cfd9ff1f90ecb363504d97b81875",
      "tree": "e32803e5e04d1b0933fb0106c0a964ac1531c8a3",
      "parents": [
        "c4463ebee6a918735830b08e95cc85cc7d298fe9"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Sep 21 18:27:09 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Sep 22 13:22:57 2023 -0700"
      },
      "message": "is_retrofit_device to work in bootloader\n\nChanging is_retrofit_device() to work in bootloader. Previously flashall\nflow was to boot into fastbootd and then  make a call to get\n\"super-image-name\", however this does not work in bootloader. Since all\ntasks are generated ahead of time, this old check will now fail and we\nwill fail to add the correct delete tasks in collectTasks(). This change\ndoes make it so that is_retrofit check only works during fastboot\nflashall + fastboot update (since this function is only used here,\nnothing is currently affected).\n\nTo determine if a device is retrofit, it must satisfy two conditions -\u003e Has\ndynamic partitions \u0026\u0026 does not contain a super partition. The check for\nif source has super_empty.img is sufficient for determining if a device\nhas dynamic partitions and if any single partition has\nLP_PARTITION_ATTR_SLOT_SUFFIXED it is determined to be retrofit\n\nTest: logs from fastboot update on sargo device confirms this check\nreturns true. Fastboot update on sargo\nBug: 300287332\n\nChange-Id: Iadf5c56de51993a79307c60e45d6cc4988436f23\n"
    },
    {
      "commit": "8aba6d022cddb153f144488a9fabd445b08afb71",
      "tree": "1701ebbe802e25e22965640ab685150b1c91c8fb",
      "parents": [
        "2e6aee53163cd5e6e31599c7948b54a2458d2344"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Sep 19 16:59:13 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Sep 19 17:01:23 2023 -0700"
      },
      "message": "Removing headers + using string\n\nRemoving some unused headers and swapping out std::string_literal to\nstrings\n\nTest: fastboot flashall\nChange-Id: I343272f4a678398a0446660a639c525e42e25891\n"
    },
    {
      "commit": "2e6aee53163cd5e6e31599c7948b54a2458d2344",
      "tree": "9311be634a37974624fe92617e7ed38eaba12621",
      "parents": [
        "1b52ac6efe17fa8199bad9627d03a241e76e9af1"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Sep 19 16:14:50 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Sep 19 16:17:52 2023 -0700"
      },
      "message": "Removing double delete from flashall\n\nFrom aosp/2475604 the functionality of deleting retrofit partitions\nwasn\u0027t added back correctly. aosp/837186 adds this logic in. We should\nonly have one delete that exists if the image is secondary and is\ndynamic.\n\nUnfortunately don\u0027t have a retrofit device to test on, but from an eye\ntest this logic seems to match the old functionality and should be\nworking\n\nTest: m fastboot\nChange-Id: I5481893ab1638541d21813efe1c4aab5219e1dcd\n"
    },
    {
      "commit": "7d8ac7f1227782b858bc4a4c2bc8b77fc169bacc",
      "tree": "39579ab6a5d8a556735ab5880ea7a6c7169ff319",
      "parents": [
        "b03378fe7113746641f480e198fb3bd3173aab5d",
        "1fff690c180a06e76e2e89b08cf20c6ef8c5efcd"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Sep 07 16:12:30 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 07 16:12:30 2023 +0000"
      },
      "message": "Merge \"Adding testing for optimized flash super\" into main"
    },
    {
      "commit": "62051237a28d3ba858e28072d87112a3995f83f9",
      "tree": "68b5da5ac8b9da5ab0e3f8125e40834b096f7291",
      "parents": [
        "f667b6d8ba08528fea3826e66a6e4e88fe8358ae",
        "671a2a551a8f40c7d54ff30b148fd79dc8de0053"
      ],
      "author": {
        "name": "Chun-Wei Wang",
        "email": "wangchun@google.com",
        "time": "Tue Sep 05 22:18:40 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 05 22:18:40 2023 +0000"
      },
      "message": "Merge \"Add a fastboot command to show GSI status\" into main"
    },
    {
      "commit": "671a2a551a8f40c7d54ff30b148fd79dc8de0053",
      "tree": "2a8c99fa8ec3e4717facf0f9b3f7f30ecd680c6f",
      "parents": [
        "47fc3df9a010d40059f6dc51f02c9d5478232ecb"
      ],
      "author": {
        "name": "Chun-Wei Wang",
        "email": "wangchun@google.com",
        "time": "Wed Aug 30 07:55:43 2023 +0000"
      },
      "committer": {
        "name": "Chun-Wei Wang",
        "email": "wangchun@google.com",
        "time": "Tue Sep 05 23:31:01 2023 +0800"
      },
      "message": "Add a fastboot command to show GSI status\n\nThe command will be used by RMA tool to skip\ndevice wiping when it is already in GSI mode.\n\nThis change also makes it easier to add more\ngsi commands in the future without needing to\nupdate the host side tool (fastboot).\n\nBug: 298130522\nBug: 298138572\nTest: 1. reboot into fastboot mode\n      2. fastboot gsi status\nChange-Id: Ic81f89a93b854f9ec70aebe2d209bfd1f98e3645\n"
    },
    {
      "commit": "f667b6d8ba08528fea3826e66a6e4e88fe8358ae",
      "tree": "6d0fda59cd91ee19422edf2e23edc3ef7d171de6",
      "parents": [
        "9fb6b49131ca8ab3b9531517fbe450d164d61b1d",
        "0b627d92c45baca2070f0ad88154a49472de542a"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Tue Sep 05 14:04:54 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 05 14:04:54 2023 +0000"
      },
      "message": "Merge \"fastboot: get rid of manual transport memory management\" into main"
    },
    {
      "commit": "0b627d92c45baca2070f0ad88154a49472de542a",
      "tree": "976a7775f6d5447c538767f0edc05928e1bc82c6",
      "parents": [
        "b5f51166e797a9d0f37d281a696bbd7a04dcc781"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Sun Sep 03 17:30:46 2023 +0100"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Sun Sep 03 17:30:46 2023 +0100"
      },
      "message": "fastboot: get rid of manual transport memory management\n\nExisting code has transport memory leaks. Use smart pointers\nfor transport to get rid of those cases and manual memory\nmanagement\n\nTest: atest fastboot_test\nTest: manually checked transport isn\u0027t leaking anymore\nBug: 296629925\nChange-Id: Ifdf162d5084f61ae5c1d2b56a897464af58100da\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "1fff690c180a06e76e2e89b08cf20c6ef8c5efcd",
      "tree": "6d0d6c60b9f846735a805abe9995ca67930d6f7d",
      "parents": [
        "09a61fad871ee69562ab856d8520c89c0cf60bbc"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Aug 24 09:47:43 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Aug 30 12:59:26 2023 -0700"
      },
      "message": "Adding testing for optimized flash super\n\nAdding test cases for correct formation of optimized flash super task.\nWe are adding an explicit pattern match for this task to be correctly\nformed. Changing Optimized flash task to only remove the reboot to\nuserspace as a user might want to reboot back to bootloader after\nflashing. We also need to change a couple functions to take a\nIFastbootDriver to mock up the initialization path.\n\nTest: fastboot_test\nBug: 297085098\nChange-Id: Ic5c63bd4057ca6d64647134e5ce33fef12077fdb\n"
    },
    {
      "commit": "1ef66b70ffb91c4e94acae268137f8a915271337",
      "tree": "261bc7c8304a15b83c5d065e193c7b59d329962c",
      "parents": [
        "2326e056bdb699d6ce11653d515cecff6f636da3"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Aug 24 15:44:56 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Aug 30 09:39:30 2023 -0700"
      },
      "message": "Fixing optimization logic\n\nAdding a hard pattern check for optimized task formation. To keep\nbehavior consistent, we will remove the old initialization path and add\nresize tasks after attempting optimization.\n\nTest: fastboot_test\nBug: 297085098\nChange-Id: Ie0e656af9be7abdd130290fe547ffbf385ce75d6\n"
    },
    {
      "commit": "720007ba43d9c42ffb8ca463df9566e6496f2d9a",
      "tree": "856441b1cb5db908aeb2c4db210714de58ad712b",
      "parents": [
        "a981d58972b8be66d00e4fdd4833ca9fb95e27b1",
        "cbda2c038b742915eb96e2cd469df6f804f2693a"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Aug 09 18:09:00 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 09 18:09:00 2023 +0000"
      },
      "message": "Merge \"Adding flag to flash only static partitions\" into main"
    },
    {
      "commit": "6367e8953aaace4967643a7f2f78d36ae84b1a9c",
      "tree": "f4a9867e51d390509d5f6819ce85a9198bffa4ea",
      "parents": [
        "babf3a98741570bfc8a5bcf8e4ef12e0bfd66555"
      ],
      "author": {
        "name": "Alexander Koskovich",
        "email": "akoskovich@pm.me",
        "time": "Sat Aug 05 00:38:29 2023 -0400"
      },
      "committer": {
        "name": "Alexander Koskovich",
        "email": "akoskovich@pm.me",
        "time": "Sat Aug 05 00:39:10 2023 -0400"
      },
      "message": "core: fastboot: Fix data not being wiped on do_update\n\n * With platform-tools-34.0.4 if you try to wipe data\n   as apart of the fastboot update command it will not\n   work, will just reboot to userspace without running\n   the wipe task.\n\nTest: fastboot -w update image.zip, observe that data\n      gets wiped. Also verified \u0027fastboot update image.zip\u0027\n      does *not* wipe data.\nChange-Id: I57a2c64029fd4f78968324bdf60251e1e962b3fd\n"
    },
    {
      "commit": "cbda2c038b742915eb96e2cd469df6f804f2693a",
      "tree": "5d89b8386316304b4645933861280b22c814164e",
      "parents": [
        "83ebc4376dea43c5e483d44aae70a05d28fa8559"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 18 15:04:43 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jul 24 13:54:49 2023 -0700"
      },
      "message": "Adding flag to flash only static partitions\n\nadding in --exclude-dynamic-partitions to flash only bootloader\npartitions and skip the rest. Super optimization will be turned off as\nwell when this flag is enabled\n\nTest: fastboot flashall --exclude-dynamic-partitions\n\nChange-Id: I4b9d70b7f6179bf079991bf3a20aade64cfe9935\n"
    },
    {
      "commit": "f161ee27710248c973e188d5e61c76e473c86d52",
      "tree": "539cadb0e7e509447a90d8916fb0d6e6485867cb",
      "parents": [
        "435b520bf090ed720bf7b7b4e24f4e751de0adc5",
        "658182b8e7ce29c1e14ea0b96b147cd6a21f1144"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jul 19 00:20:59 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 19 00:20:59 2023 +0000"
      },
      "message": "Merge \"Adding documentation\" into main"
    },
    {
      "commit": "658182b8e7ce29c1e14ea0b96b147cd6a21f1144",
      "tree": "4bbcbcdd7f398bffd10ff7c35ee518b9f8e3a74f",
      "parents": [
        "83ebc4376dea43c5e483d44aae70a05d28fa8559"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 18 15:36:26 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 18 15:36:26 2023 -0700"
      },
      "message": "Adding documentation\n\nadding --help documentation to fastboot for --disable-super-optimization\nand --disable-fastboot-info\n\nTest: fastboot -h\nChange-Id: Ia8993b3894d302a63cc97796d66e0af3fb004eef\n"
    },
    {
      "commit": "1c77579a06c279d158eb2bb084151fb395e1bb23",
      "tree": "8fc16f285370084c81968b41298fd5986108d706",
      "parents": [
        "42164ff920282ff77855945844ee0c603d8b025d",
        "556c46bfb9f79955b6f66c55c2581cfd38d2c7ee"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Jul 17 21:51:01 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jul 17 21:51:01 2023 +0000"
      },
      "message": "Merge \"Look for radio.img and bootloader.img in ANDROID_PRODUCT_OUT\" into main"
    },
    {
      "commit": "556c46bfb9f79955b6f66c55c2581cfd38d2c7ee",
      "tree": "2fed205a162ccf6668b5c32571b1a08cd8ddaf81",
      "parents": [
        "c7998f2abbe67595100bb7db4711d3d991b59a45"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Jul 17 13:41:38 2023 -0700"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Mon Jul 17 14:05:21 2023 -0700"
      },
      "message": "Look for radio.img and bootloader.img in ANDROID_PRODUCT_OUT\n\nTest: fastboot flash bootloader and fastboot flash radio both work\nChange-Id: I79674469c0df3dd592e5fcf840fef0dcc3f11d33\n"
    },
    {
      "commit": "63dfeaae7acc9fcefdab93b71f1c691cb09887ae",
      "tree": "2bd5e7c7bde4244f28fbf63b7e5322275903b737",
      "parents": [
        "eabfe272c3829cc1b0cd26dbc1aea800e7325901"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jul 03 14:01:57 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 11 12:53:30 2023 -0700"
      },
      "message": "Adding flag to disable fastboot_info\n\nAdding flag to override fastboot_info for a quick fix in case\nfastboot_info format is wrong\n\nTest: fastboot flashall\nChange-Id: I1f41646f14d747ce7ac7636ca9ced7279e13f7b0\n"
    },
    {
      "commit": "eabfe272c3829cc1b0cd26dbc1aea800e7325901",
      "tree": "10bf2ff192a23f25334bdec3ee58770f9e3a1f08",
      "parents": [
        "59589d47dbdd3a648f2d9496c13206e795115c54"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:51:54 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 11 12:53:29 2023 -0700"
      },
      "message": "Fastboot-info testing\n\nadding test to compare task list formed from fastboot-info vs list\nformed from image list. To test, we need to set sparse_limit in flashing\nplan and turn off update-super-optimization. The list of partitions to\nbe flashed by parsing fastboot-info should be a superset of the\npartitions flashed by the hardcoded list. Changing is_retrofit_device()\nto also take in a fastboot driver so we can pass in a mock\n\nTest: fastboot_test\nBug: 194686221\nChange-Id: Ib860c24c85779de1fbaa6bec8778e1f5ebb9475a\n"
    },
    {
      "commit": "59589d47dbdd3a648f2d9496c13206e795115c54",
      "tree": "45e084ab95579a7d3832d616dcef7ee8b0b47e25",
      "parents": [
        "a0d2401d23b231d4b48e9ec6ee0e58fded421e13"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jul 10 16:51:30 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 11 12:44:13 2023 -0700"
      },
      "message": "Asserting flashing plan is used in do_flash\n\nAdding check to ensure flashing plan is used in do_flash. FlashingPlan\nshould never be null\n\nTest: fastboot flashall -w\nChange-Id: I8e69326c59b31c7b54d6d2e04c8ce5c0f12693a7\n"
    },
    {
      "commit": "a0d2401d23b231d4b48e9ec6ee0e58fded421e13",
      "tree": "df6b33b24d768d633bf33a22bcebdb20469a87a0",
      "parents": [
        "b95f10064063bf990136b936e33b3fc9b7c4c606"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jul 10 16:45:54 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jul 11 12:44:13 2023 -0700"
      },
      "message": "Mocking get_uint_var()\n\nChanging implementation to have mock fastboot driver return a the\nsparse_limit rather than modifying the variable inside of flashing plan\n\nTest: fastboot_test\nChange-Id: I850ccd5bd09b6a8479ccc8cf7bf1d227abb87e3a\n"
    },
    {
      "commit": "c97eeed5e4fc0266bc4f028ba7e6643e5a98eabe",
      "tree": "a90ae1b6d9544aab396505fca33fc808acb1894a",
      "parents": [
        "3e04857a59db6b466465350f1b3bac01b4bce040"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:49:52 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jul 05 13:17:39 2023 -0700"
      },
      "message": "Adding parsing for fastboot-info\n\nAdding back the parsing for fastboot info\n\nTest: m fastboot, fastboot flashall\nChange-Id: I0075266bad5d45dcb99dbf91aa431008ca336216\n"
    },
    {
      "commit": "3e04857a59db6b466465350f1b3bac01b4bce040",
      "tree": "7a158e68e854fb9858ca1ec83581bd0b1015a77a",
      "parents": [
        "8ec7d3da5865e5032b0ac2cc81e2667c6b194cb4"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 15:21:06 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jun 27 10:19:58 2023 -0700"
      },
      "message": "Changing name of flash super layout\n\nOptimizedFlashSuper makes more sense and is more consistent with\nshould-optimize-super\n\nTest: m fastboot\nChange-Id: I6ceb31144dce591e0a53faec68b932112d9cd360\n"
    },
    {
      "commit": "ba07ef57329c857592c9c10da9e71a5efb4a27aa",
      "tree": "a0aa6cae49848e9c09457c60ee446d37c730d839",
      "parents": [
        "5769b268bf23fcbcb74d70b883339745d446847f"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:14:19 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Jun 22 09:52:08 2023 -0700"
      },
      "message": "Change HardcodedFlash to add flashtasks\n\nChanging Hardcoded FLash to add flash tasks, also modifying do_flash to\ndownload signature data if a source is provided\n\nTest: fastboot flashall\nChange-Id: Ic33bc4076f269d0d48146a3de457a72eedd5e6df\n"
    },
    {
      "commit": "5769b268bf23fcbcb74d70b883339745d446847f",
      "tree": "af692ff13bd1291f63935acb1fb2547f6fe26381",
      "parents": [
        "d62002cf06cd01b687d192095eb1514130095fc0"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:41:11 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Jun 22 09:52:06 2023 -0700"
      },
      "message": "use FlashingPlan sparse_limit for testing\n\nHave get_sparse_limit() return FlashingPlan\u0027s sparse limit if set. Used\nfor testing to compare task lists\n\nTest: fastboot_test\nChange-Id: I7ac1eb4dc83a53b3d7aa59aa668a780b4b550664\n"
    },
    {
      "commit": "d62002cf06cd01b687d192095eb1514130095fc0",
      "tree": "8d425b0c30d28e50865587211b13b85af679e518",
      "parents": [
        "59c22c33a090f98493e3e10a0f7b334d530b54af"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:27:35 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Jun 22 09:49:09 2023 -0700"
      },
      "message": "Add flag to disable super optimization\n\nAdding flag to turn off the super optimization. Makes for easier testing\nas dynamic partitions flash tasks won\u0027t be replaced by one flash super\nlayout task\n\nTest: fastboot flashall --disable-super-optimization\nBug: 194686221\nChange-Id: I9142490ecfe587725872e4b734486d3db1728aa7\n"
    },
    {
      "commit": "59c22c33a090f98493e3e10a0f7b334d530b54af",
      "tree": "0330d156cbce9964cbb2e043e173b8a19f2c9e8b",
      "parents": [
        "7f8fff0360233e5f8af74ba1715e8d7c07342829"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:30:46 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Jun 22 09:49:09 2023 -0700"
      },
      "message": "Removing local image lookup from load_buf\n\nThe initial logic for adding this in was incorrect. This changed had\nallowed us to do fastboot flash dts dt.img on command line. But really\nwe should enforce that we pass in the path to the image. This change was\nadded so the command line tool with resemble fastboot-info format which\nwill support flash dts dt.img (situation where image name and partition\nname don\u0027t match).\n\nTest: fastboot flash {partition}, fastboot flashall\nBug: 194686221\nChange-Id: I62f170e14860d865453ab52793e346fe4066c6d4\n"
    },
    {
      "commit": "7f8fff0360233e5f8af74ba1715e8d7c07342829",
      "tree": "d4c2098c98f71c3a4d9c62dc4a4493d07db7174f",
      "parents": [
        "7f72b30e65d9f9c0136f62a7cfa37404f7baa1b7"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:23:56 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Jun 21 14:23:56 2023 -0700"
      },
      "message": "Moving source class declaration\n\nMoving zipImageSource and localImageSource to header file to be used for\ntesting purposes\n\nTest: m fastboot\nBug: 194686221\nChange-Id: I689e73eb0102d3b2cdd0c4fc232b2b60b9022c47\n"
    },
    {
      "commit": "18c531984c1ff1770e53787708bd8ddfc2ec0c1b",
      "tree": "c4b98b75bcf2205b7c1df0d39c84b35e8245eaad",
      "parents": [
        "812aaa962002f9c99291a8b0443eec9495ebb934",
        "3dc7fcc0b69b20eb6fb34fdf36908313f2cf811e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jun 13 23:18:50 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 13 23:18:50 2023 +0000"
      },
      "message": "Merge \"Removing duplicate CollectImages()\""
    },
    {
      "commit": "3dc7fcc0b69b20eb6fb34fdf36908313f2cf811e",
      "tree": "b19a6aa39d77a25b9859db7071a03415852d92c9",
      "parents": [
        "aa4531945362a7c85f80360e43d4bc0f2d73b6ca"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jun 13 14:53:32 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jun 13 14:57:25 2023 -0700"
      },
      "message": "Removing duplicate CollectImages()\n\nimages are being flashed twice, because of an additional collectImages.\nThis is resulting in a ~50% increase in flashing time\n\nTest: fastboot flashall -w\nChange-Id: I6c271e1e1456cd789f37ebd67cefd221cabc6e7a\n"
    },
    {
      "commit": "9d2fb9ca3cf50de931666dbd4783652f45cf2a5b",
      "tree": "247dce810357a5f91ddc90d6373623df20401546",
      "parents": [
        "bb8637b3997273c837585923e0a7e4b424a07839"
      ],
      "author": {
        "name": "John Stultz",
        "email": "jstultz@google.com",
        "time": "Fri Jun 09 18:52:22 2023 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "jstultz@google.com",
        "time": "Fri Jun 09 22:54:09 2023 +0000"
      },
      "message": "fastboot: Introduce FASTBOOT_DEVICE alias for ANDROID_SERIAL environment variable\n\nThe ANDROID_SERIAL env is useful for managing multiple\ndirectly connected devices at one time.\n\nUnfortunately for network connected devices, its harder to use.\n\nThis is because both adb and fastboot use the same ANDROID_SERIAL\nenvironment value to identify the device to use, and while that\none value works for directly connected devices, when using\nnetwork connected devices, the fastboot and adb port numbers may\ndiffer for the same device.\n\nSo if I set: `ANDROID_SERIAL\u003d\"tcp:127.0.0.1:44403\"`\nfastboot will work, but when I type `adb shell`, I\u0027ll get:\n adb: device \u0027tcp:127.0.0.1:44403\u0027 not found\n\nAs `adb devices` outputs:\nList of devices attached\nlocalhost:36697 device\n\nTo resolve this, we need separate environment variables,\nso introduce a FASTBOOT_DEVICE variable for fastboot.\n\nIf FASTBOOT_DEVICE is set, it will use that, and if not\nit will fall back to the ANDROID_SERIAL if it is set.\n\nUsing an explicit -s argument will still override both.\n\nChange-Id: Icd7db6f29e51ed2decd219e35537f6ed98d698b8\nSigned-off-by: John Stultz \u003cjstultz@google.com\u003e\n"
    },
    {
      "commit": "819a3529b5aedbc16aa022b4cf8ffec164a695c5",
      "tree": "e66bba667cf3e8f7a3d88a8c6dbd9a7c44f92db8",
      "parents": [
        "9bf90f14d4411e485ad456cda8f0cbad712c7aca",
        "303fb49cc042d029cbbbba7c35a5d00116014a1c"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jun 05 19:15:30 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 05 19:15:30 2023 +0000"
      },
      "message": "Merge \"Adding in wipe tasks before other tasks run.\""
    },
    {
      "commit": "303fb49cc042d029cbbbba7c35a5d00116014a1c",
      "tree": "a32d2d50b33c63e828aa313cfb4ac7483c3b6837",
      "parents": [
        "507c5f947655d043e3f89fd1fefe5ec549863730"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jun 05 10:30:44 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jun 05 10:30:44 2023 -0700"
      },
      "message": "Adding in wipe tasks before other tasks run.\n\nif we call -w and a reboot task runs beforehand, we don\u0027t actually wipe\nthe given partitions. We want the wipe to occur before reboots.\n\nTest: fastboot flashall -w\nChange-Id: If327c5de0858e222cf5fc14531bc20fb741c2960\n"
    },
    {
      "commit": "6c008ff888c8c79c3322f8d06587407cf5a098b0",
      "tree": "402be51bdbcdb4777d808b0a3dd11ab8acba75c5",
      "parents": [
        "b991aeb5f78426dae7f9098905545570b029d1cb"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Fri Jun 02 12:44:31 2023 +0100"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Fri Jun 02 12:44:31 2023 +0100"
      },
      "message": "Avoid creating a storage folder for fastboot devices command\n\nBug: 284267164\nBug: 284786311\nTest: fastboot devices doesn\u0027t create a .fastboot folder\nChange-Id: I3e44c2a838e4287e6220c18f6e805cc71e0c9669\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "2a56592d589e52928d86729301a367efd0c9817f",
      "tree": "6bee05cdfa9f3b3914b96958a7c4a9a04019d36d",
      "parents": [
        "3c962eee3ab12f6fccfcc6e27922aebfbce91250"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed May 31 11:20:08 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed May 31 11:20:08 2023 -0700"
      },
      "message": "Reverting code to old flashing code\n\nFalling back on old flashing code until fastboot-info is fixed\n\nTest: m fastboot, fastboot flashall\nChange-Id: I10146ec75f75d57d4a4049d35def370533619401\n"
    },
    {
      "commit": "997ce15d5e50e1e8ff5b8f7ac3a8d45f4519ea47",
      "tree": "72c1abc272489bed5abe23abe4fd6f23934d0f44",
      "parents": [
        "30e648b346599d9bd745e083148e545afa4142f2"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue May 30 09:24:46 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue May 30 09:24:46 2023 -0700"
      },
      "message": "Update add resizetasks to work in update\n\nOld should_flash_in_userspace doesn\u0027t work if $ANDROID_PRODUCT_OUT is\nnot set. Also adding in a check to see if resizetasks were added\ncorrectly\n\nTest: fastboot update update.zip without $ANDROID_PRODUCT_OUT and\nremoving the flashsuperlayout code.\nBug: 283330320\n\nChange-Id: Ib72f6a1cf07745daf70fffae3d1a6b8352e3f79c\n"
    },
    {
      "commit": "30e648b346599d9bd745e083148e545afa4142f2",
      "tree": "aa7fe16e37d9eb6822b18aade9ea1847bbd12b06",
      "parents": [
        "2775df617e5ea96e1f9adf9fb55758d7bd0cdfe7"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu May 25 15:56:29 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu May 25 15:56:29 2023 -0700"
      },
      "message": "Keeping naming consistent\n\nTest: m fastboot\nChange-Id: I46d798fa2ce78a255dc0ea414f5e25782f45c4d1\n"
    },
    {
      "commit": "791a83bb4565b3b2a4e3d40ea2c0ec592cfb0d04",
      "tree": "c0e892e766d39383668c9df3a62d6a90994912b0",
      "parents": [
        "5a9905a62bf819d9eca4a7439ee51a8b5d12ef9d"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue May 23 10:42:39 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu May 25 13:29:16 2023 -0700"
      },
      "message": "Chang flash task to take in source\n\nOld changes didn\u0027t actually take into account sources. fastboot update\n{update.zip} should read fastboot-info from the update package. It was\ninstead flashing local images + reading local fastboot-info.txt\n\nTest: m fastboot, fastboot update, fastboot flashall\nBug: 283330320\n\nChange-Id: I9587a7735ddfbfb661153eb12ebc3caa7c32f141\n"
    },
    {
      "commit": "d441d52540a4e8edd0fa33d8c6a7c43ce609bd8f",
      "tree": "07dce34fb761cee4c1f890ddc68b1d39d0b35606",
      "parents": [
        "451e46f1ae270c11ef3e983602d7c3af774b24ee"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu May 04 15:27:34 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri May 05 10:50:17 2023 -0700"
      },
      "message": "Fail on fastboot-info.txt format error\n\nIf fastboot-info.txt has wrong format we should not fall back on\nhardcoded list silently. Instead we should LOG(FATAL) and fail.\nHardcoded list should only be used when fastboot-info.txt is not found\nor is empty \n\nTest:  fastboot flashall \nBug: 194686221\nChange-Id: I1cada102f3ff12c1f3002d0b61d3785fc25543c1\n"
    },
    {
      "commit": "451e46f1ae270c11ef3e983602d7c3af774b24ee",
      "tree": "5c8157008fa8dcd520f81312b5211eab67602313",
      "parents": [
        "630f29e0dbeb11820f7c6b8d8116881a5b45d123"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Apr 28 16:37:46 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon May 01 14:04:13 2023 -0700"
      },
      "message": "Adding fastboot-info version to host tool\n\nReplacing check with PLATFORM_TOOLS_VERSION with FASTBOOT_INFO_VERSION\nto indicate waht version of fastboot_info.txt we currently support. This\nmakes mor sense since PLATFORM_TOOLS_VERSION won\u0027t be updated every time\nme make a change to the host tool\n\nTest: fastboot flashall\nBug: 194686221\nChange-Id: I621b62c92ba129f402857463dae9112a0797ab07\n"
    },
    {
      "commit": "630f29e0dbeb11820f7c6b8d8116881a5b45d123",
      "tree": "ad3a989703398c5be1a187bdfb0e6c7ec59a5765",
      "parents": [
        "2e998a43e1819daf51032fef02b83f8497c4e59d"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Apr 28 14:06:45 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon May 01 14:04:12 2023 -0700"
      },
      "message": "Updating fastboot-info version check\n\nUpdating version to just be a single number.  Reason for updating is\nto keep format the same as Flashstation\u0027s\n\nTest: fastboot_test\nBug: 194686221\nChange-Id: I21ab0747e620d3f6d05c5170c3e55707eed0288a\n"
    },
    {
      "commit": "39b1de953f3b5c1226af4284c0e7b82435f0b34d",
      "tree": "2566bf869b808e7e447e0ee9daf3090842f9a1af",
      "parents": [
        "b7d14facd2fbb1bea6f10156ea8d61ca8bdaa6de",
        "65eb246aa26dd9dd8710ccd995b16b7f92a13060"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Apr 19 21:12:37 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 21:12:37 2023 +0000"
      },
      "message": "Merge \"Moving FlashallTool Definition\""
    },
    {
      "commit": "b7d14facd2fbb1bea6f10156ea8d61ca8bdaa6de",
      "tree": "a302a3a0bd42f79550c600333193c8892543f1b8",
      "parents": [
        "37673f0bf532bd244c7e37b9df3877de9e20343d",
        "29a211c19402c4c972a3afed9f302ef893bff0e9"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Apr 19 21:12:29 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 19 21:12:29 2023 +0000"
      },
      "message": "Merge \"Changing flashall to parse fastboot-info.txt\""
    },
    {
      "commit": "65eb246aa26dd9dd8710ccd995b16b7f92a13060",
      "tree": "ed198c8fea98856f45f4296d155c6239ae172e82",
      "parents": [
        "29a211c19402c4c972a3afed9f302ef893bff0e9"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Mar 30 14:54:13 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Apr 19 12:30:38 2023 -0700"
      },
      "message": "Moving FlashallTool Definition\n\nmoved flashalltool definition to header file\n\nTest: flashall on raven\nBug: 194686221\nChange-Id: I5f726492ee5b3ae42755214e3de0269257b62ba8\n"
    },
    {
      "commit": "29a211c19402c4c972a3afed9f302ef893bff0e9",
      "tree": "6488175c31fef1a9124c48a16370c2f1f44d35bd",
      "parents": [
        "0897526557e66dbb74523d67c314c4f72affb7f8"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 10 07:23:49 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Apr 19 12:30:37 2023 -0700"
      },
      "message": "Changing flashall to parse fastboot-info.txt\n\nTest: tested on Raven\nChange-Id: I9f26bf6025a0a6318f84be929091f4e82bd87556\n"
    },
    {
      "commit": "0a785083bb89cb60d988d1469c6f21d3784f8f81",
      "tree": "4ca91be8ade37a824700bee14cbdad49e8c49cb2",
      "parents": [
        "203d8316c622f914e152ac04049c1852512e4522",
        "76c934333927fce90f0fb451e023b456ad0ed68c"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Apr 13 20:44:31 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 13 20:44:31 2023 +0000"
      },
      "message": "Merge \"Cleaning up main code\""
    },
    {
      "commit": "23631b9be771c8b32400544db303109c60f57565",
      "tree": "c8ec7a7e428a946a6fff1742e69bbb9ef9f1ecff",
      "parents": [
        "dddb5fa80bde6f41ab57710c8a4a2107431ca41f",
        "1e6456b0119f844a1acd139d349cbd12a0675d7b"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Apr 10 18:02:05 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 10 18:02:05 2023 +0000"
      },
      "message": "Merge \"Cleaned up slot logic\""
    },
    {
      "commit": "dddb5fa80bde6f41ab57710c8a4a2107431ca41f",
      "tree": "bfa71a2f00a3bc1657a7819efda6ff1d83251571",
      "parents": [
        "57c1a4e30817be570a6d3ee738d66ab9486666c4",
        "1418fb8ce04866f14e596d6fac28d8175a2b89a1"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Apr 10 17:46:03 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 10 17:46:03 2023 +0000"
      },
      "message": "Merge \"Correcting Reboot Task Functionality\""
    },
    {
      "commit": "1e6456b0119f844a1acd139d349cbd12a0675d7b",
      "tree": "2ea9d56cba3c73c4d26b9b151c21c462f303c474",
      "parents": [
        "57c1a4e30817be570a6d3ee738d66ab9486666c4"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Apr 10 09:35:48 2023 -0700"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Apr 10 09:35:48 2023 -0700"
      },
      "message": "Cleaned up slot logic\n\nUpdating old clean up slot logic change. Some devices don\u0027t know current\nslot so we can\u0027t always just call get_current_slot()\n\nTest: tested flashall on raven\nChange-Id: Id655f1c1ee0b1ff09331f0d91d77412836d0af8d\n"
    },
    {
      "commit": "2a4a45f3e45471ec2b25b47a42cbbd08434b85b4",
      "tree": "56bf72b7aeb90bc20e21a55415ed928025701ecf",
      "parents": [
        "bd85a18d0bcdd3041357c846905c737f10732320"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Mon Apr 03 20:44:05 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 03 20:44:05 2023 +0000"
      },
      "message": "Revert \"Cleaned up some slot logic\"\n\nThis reverts commit bd85a18d0bcdd3041357c846905c737f10732320.\n\nReason for revert: b/276759363\n\nChange-Id: I3ba08cf4abeeb7769569512d50e7ff135438cf20\n"
    },
    {
      "commit": "76c934333927fce90f0fb451e023b456ad0ed68c",
      "tree": "63a15b9cfcb907833755ca6ef29414c08db33641",
      "parents": [
        "1418fb8ce04866f14e596d6fac28d8175a2b89a1"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 13 20:47:19 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Mar 30 18:35:14 2023 +0000"
      },
      "message": "Cleaning up main code\n\ncleaning up main() code in fastboot.cpp to run off one task vector. The\neventual goal is to just have all functionality run off this vector.\n\nTest: tested commands on raven\nBug: 194686221\nChange-Id: I98d0ba33091eff31ff1bc338766c3689ffb54746\n"
    },
    {
      "commit": "1418fb8ce04866f14e596d6fac28d8175a2b89a1",
      "tree": "d31e53122dde25cda983ac68bae69ef59dfeb702",
      "parents": [
        "bd85a18d0bcdd3041357c846905c737f10732320"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 13 18:13:08 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Mar 30 18:35:14 2023 +0000"
      },
      "message": "Correcting Reboot Task Functionality\n\nModifying fastboot-info.txt to directly call reboot fastboot instead of\nreboot userspace -\u003e so no longer need \"userspace\" in reboot task. Also\nmoving skip_reboot check to task since in old code we can have\nskip_reboot be true and still reboot to bootloader, fastboot, or\nrecovery\n\nTest: tested reboot commands on Raven\nChange-Id: I98ba51747bf7229a88ba737540c81d20b42e5981\n"
    },
    {
      "commit": "bd85a18d0bcdd3041357c846905c737f10732320",
      "tree": "3962a645fb8f11fca1d482d234df2dcc3dd4b83f",
      "parents": [
        "6f213b2c793921f7158bbe89336f844a113d71a5"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Mar 22 21:27:19 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Mar 30 18:21:28 2023 +0000"
      },
      "message": "Cleaned up some slot logic\n\nDoesn\u0027t look like we actually need current_slot, since we can always\njust call function get_current_slot\n\nTest: tested flashall on raven\nChange-Id: Icba64bc9fdd08f36d44965e32558a73d0beab0e1\n"
    },
    {
      "commit": "e33e8a86852326da32bb95965e1a9bed11600c12",
      "tree": "0c0928c979681bd25daf7eef18ac8ccc25a8efc1",
      "parents": [
        "1295d2e8bb297e3ea69f22f61c2a051cb297fa27"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Mar 29 04:20:48 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Mar 30 18:19:04 2023 +0000"
      },
      "message": "Added check to copy AVB footer\n\nis_logical shouldn\u0027t work in bootloader for some devices, so we also need to check\nusing should_flash_in_userspace to see if partition is dynamic\n\nTest: tested to flash {partition} on raven and checked to see avb\nfooters are not copied from dynamic partitions\n\nChange-Id: Iabb3ea535fa80b26cf1c08040beb3d4ea5e8c2ae\n"
    },
    {
      "commit": "ecdbbbda825bb26715881037a6f3a5aaf2f95de7",
      "tree": "7eb853ae254c0e505322cc72f05f0a17fbb653af",
      "parents": [
        "3b1e71c63b9673ee5322b15a921cc7c01e151c3e",
        "74c7807af1fffdf81b93144389a10abfa5c969c1"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Mar 22 00:02:13 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 22 00:02:13 2023 +0000"
      },
      "message": "Merge changes Ie68aed2f,Ic40696b3\n\n* changes:\n  fastboot: Handle libsparse failures better.\n  libsparse: Fix allocation failures on 32-bit systems.\n"
    },
    {
      "commit": "74c7807af1fffdf81b93144389a10abfa5c969c1",
      "tree": "826d1f7d21575e5de32b6cfe7fcbc8e854b92362",
      "parents": [
        "f06debcf24509a2bd33ebae51aaeffdc675fc2be"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Mar 16 21:21:28 2023 -0700"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Mon Mar 20 15:55:57 2023 -0700"
      },
      "message": "fastboot: Handle libsparse failures better.\n\nsparse_file_len is not actually infallible; on Windows it\u0027s pretty easy\nto make it fail by embedding large files in the stream. fastboot didn\u0027t\nhandle this anywhere, leading to bad sparse images when libsparse\nruns out of address space.\n\nBug: 273933042\nBug: 268872725\nTest: fastboot flashall on Windows\nChange-Id: Ie68aed2f1970e820350d9f97aa89a6c0242229b8\n"
    },
    {
      "commit": "0bf3b71fbbccbe2740bc91e45fce97bf9dfd0f6f",
      "tree": "9d2a85e6147847665dee946b9228ef2a03956942",
      "parents": [
        "85c0f3e5673c1ba6b42df0358cdc3fd7f5c324cc"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Feb 13 23:58:04 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 20 20:21:31 2023 +0000"
      },
      "message": "Updating Flashall to work off tasks\n\nTest: testing fastboot flashall on raven\nBug: 194686221\nChange-Id: I82ac2392686775b57c3d98ea003ab30b48f1ab0f\n"
    },
    {
      "commit": "85c0f3e5673c1ba6b42df0358cdc3fd7f5c324cc",
      "tree": "1d9293ad698f0204ae6c7ec316325abb1be13be8",
      "parents": [
        "f1ddba9dfd324f115f8903f6a879578d388f4279"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 10 23:27:17 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 20 20:21:31 2023 +0000"
      },
      "message": "Updated location of initialization\n\nTest: tested flashall on raven\nBug: 194686221\nChange-Id: Ie0dd7acd65833a938623e374e2b21e6bd6079d08\n"
    },
    {
      "commit": "980985af6e69a2215384205bcac02ba3ebd911f7",
      "tree": "f1770e10fbbe3aca2cb951022d1e1a3f9677bc38",
      "parents": [
        "095374cde7c44f5a95247fbcfec571dd944e4be6"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Mar 14 17:20:08 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 20 16:24:40 2023 +0000"
      },
      "message": "Removed hardcoded check to copy AVB Footer\n\nTest: tested flashall on raven\nBug: 194686221\nChange-Id: Iaca03bde51fcd6b2886dc8ba84da4f67174a9c3f\n"
    },
    {
      "commit": "403657d9985d2ac06271caa078b5ceb1ae38cd4a",
      "tree": "2cb3330fadd81e4ceee58a18aa0fed9c8c1d9a78",
      "parents": [
        "15e77832636f4b0122d2a4c5d7a215fc45e319be"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 10 07:37:25 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 13 18:28:14 2023 +0000"
      },
      "message": "Changing FlashTask to take in apply_vbmeta\n\nTest: tested on Raven\nChange-Id: I709842d87aa4ad6a7772e4f441886d127c3028a7\n"
    },
    {
      "commit": "15e77832636f4b0122d2a4c5d7a215fc45e319be",
      "tree": "59427b64223ab47584c26bb29971c3b4bb74c9d6",
      "parents": [
        "f8b5e48eeec23d56ae060964c2bfba1f5a563d94"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 13 17:09:43 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Mar 13 17:37:31 2023 +0000"
      },
      "message": "Added support for Wipe Task\n\nTest: tested wipe on Raven\nBug: 194686221\nChange-Id: I582800a279cbe8a3e733a1e75447e5b5142d4120\n"
    },
    {
      "commit": "aa70f4c74859f1dc47b8ebd800e4a0485421e83b",
      "tree": "73f2ec33d48815c13affde6a250adddc3c731083",
      "parents": [
        "9f7bf7eff316b2775ef16835a443aab3fa08f00c"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Mar 07 18:59:51 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Mar 08 23:07:51 2023 +0000"
      },
      "message": "Added support for Delete Task\n\nTest: tested delete-logical-partition {partition} and flashall on Raven\n\nChange-Id: I04f07c8132159deda42434b9178e8c98d5ab768b\nBug: 194686221\n"
    },
    {
      "commit": "9f7bf7eff316b2775ef16835a443aab3fa08f00c",
      "tree": "abfd8da3c65c027625fff0115df4557d51056174",
      "parents": [
        "6bb8baa9299a1f78e53f6935f1cb0e373c6b9013"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 03 07:16:46 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Mar 08 23:07:50 2023 +0000"
      },
      "message": "Added support for Resize Task\n\nTest: tested flashall on raven\nBug: 194686221\nChange-Id: I60586756b2d5f99848a664def8204c0bd47d7e67\n"
    },
    {
      "commit": "6bb8baa9299a1f78e53f6935f1cb0e373c6b9013",
      "tree": "f90e170d78c2c10e04ffa185c53626c23d05dab3",
      "parents": [
        "47d70a55598998005b7c243c92d0ea405eb184c3"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 03 07:14:23 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Mar 08 23:07:50 2023 +0000"
      },
      "message": "Added support for Update Super Task\n\nTest: tested flashall on raven\nBug: 194686221\nChange-Id: Ifc99af77f9235bf56a549f53e7d43575686fb42b\n"
    },
    {
      "commit": "47d70a55598998005b7c243c92d0ea405eb184c3",
      "tree": "270a3a63ca35d8bf7cbed78bad026347f0567784",
      "parents": [
        "42908c45e56fa31b2de8404ca7eb1b34d60156db"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Feb 14 17:44:40 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Mar 08 23:07:48 2023 +0000"
      },
      "message": "Added support for FlashSuperLayoutTask\n\nTest: testing flashall code with this change\nBug: 194686221\nChange-Id: Ibb96980402db51b48c9a296338f29195f68c65bf\n"
    },
    {
      "commit": "48b39ba01e98706c61717078e8edf7c11ddd4cf4",
      "tree": "0121f5adc489d2a5b0cab909f1f3f990f7fe74fb",
      "parents": [
        "78a0f7f1b295f6ca36444a5bb63128d3ba9be51f",
        "cdbfa7a3e87530a44a532482d90c5ea23950d1f7"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Fri Mar 03 18:52:33 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 18:52:33 2023 +0000"
      },
      "message": "Merge \"fastboot: Introduce ParseNetworkSerial unit tests\""
    },
    {
      "commit": "78a0f7f1b295f6ca36444a5bb63128d3ba9be51f",
      "tree": "351d69cb78ffff3fe758ca104a7b33c39e7bb6d2",
      "parents": [
        "f8da682c84f208fc482eb0c1db492e570b97f42d",
        "bc01da5c0d8f1a91cd0a033b2853f34b2f0356c0"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 03 07:43:03 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 07:43:03 2023 +0000"
      },
      "message": "Merge \"Changed FlashTask and RebootTask to take in FlashingPlan\""
    },
    {
      "commit": "f8da682c84f208fc482eb0c1db492e570b97f42d",
      "tree": "45fc17a86aafee0c8f2a4f4e42a197cf3b0f7697",
      "parents": [
        "e89ee18b9b54c07245b0129eeaa56c7bba6ba3f9",
        "7df2ab9c87daa12013171185d66f3b9bd2916bdc"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 03 07:42:55 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 07:42:55 2023 +0000"
      },
      "message": "Merge \"Added Flashing Plan\""
    },
    {
      "commit": "bc01da5c0d8f1a91cd0a033b2853f34b2f0356c0",
      "tree": "b441755dfebc62f0a474e9dc82de721144f73ac2",
      "parents": [
        "7df2ab9c87daa12013171185d66f3b9bd2916bdc"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Feb 23 03:25:52 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 03 06:49:34 2023 +0000"
      },
      "message": "Changed FlashTask and RebootTask to take in FlashingPlan\n\nTest: tested flash {partition} on raven and reboot {target} on raven\nChange-Id: I26f4723474c3a142b086c1ac361578f8487ec3b9\nBug: 194686221\n"
    },
    {
      "commit": "7df2ab9c87daa12013171185d66f3b9bd2916bdc",
      "tree": "c702db4a90d5a694f2320118fcb32d1269ba5fcb",
      "parents": [
        "71b3b4349563e2b21329c9e31c314300f8aaeea4"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Feb 21 18:22:08 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Fri Mar 03 06:49:32 2023 +0000"
      },
      "message": "Added Flashing Plan\n\nFastboot has a lot of flags that are used by many different functions\nincluding the Flashall Class and newly added FlashSuperTask. Passing all\nof these flags as paramaters is cumbersome, so adding a Flashing Plan\nthat contains these flags simplifies the code.\n\nTest: tested Flashall and update img.zip on raven\nChange-Id: I9c842f25389a20b852d55f684e1b86040af1d86a\nBug: 194686221\n"
    },
    {
      "commit": "cdbfa7a3e87530a44a532482d90c5ea23950d1f7",
      "tree": "87713e06c782fe0f9809c0eecdf08d1fa339b8b6",
      "parents": [
        "18b6e9b819a9ae152240dfee4842b2d39b2f2bf1"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Mar 01 23:50:05 2023 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Thu Mar 02 00:03:49 2023 +0000"
      },
      "message": "fastboot: Introduce ParseNetworkSerial unit tests\n\nIntroduced positive and negative unit tests to cover\nParseNetworkSerial logic. Alongside with that move\nresult related stuff to the separate header.\n\nTest: atest fastboot_test\nTest: manually checked basic functionality works fine\nBug: 271155012\nChange-Id: Icac6053c11b5a36daa64555209555826ea28cc61\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "396b107a41c217269e8ab5815082ae7366e074b7",
      "tree": "238f0bb7f581e96c6e97013b6e5b106451fe2c29",
      "parents": [
        "007769a0d7c006f15896718ff6e750cfa5e7e308",
        "4785554ca1f7eb14c077a22661102aa498cb687c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 28 22:46:02 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 22:46:02 2023 +0000"
      },
      "message": "Merge \"fastboot: Fix IPv6 connect and -s host parsing\""
    },
    {
      "commit": "4785554ca1f7eb14c077a22661102aa498cb687c",
      "tree": "f42ac8668708fa76435942194adcabdc430d18ab",
      "parents": [
        "45380e4ace48e1abe292fd579427d09bddee646c"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Tue Feb 28 21:02:48 2023 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Tue Feb 28 21:02:48 2023 +0000"
      },
      "message": "fastboot: Fix IPv6 connect and -s host parsing\n\nDuring fastboot connect / disconnect introduction, we\ncompletely broke the IPv6 support (it was considering\nall IPv6 addresses as a USB serial).\n\nMakeing sure this problem isn\u0027t reproducible anymore\nalongside with fixing EXCPECT causing process crash\nand improve network serial error detection.\n\nBug: 271152365\nChange-Id: Ic52aa5fff1948a64ac3d2672f3cf4d2b022e5cea\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "71b3b4349563e2b21329c9e31c314300f8aaeea4",
      "tree": "0b14d3446d1980af52684b3c9066b9c1a37495a5",
      "parents": [
        "16ab2b67f7d42d14bd70f93910a3d9fad621452c"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jan 30 17:43:00 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Thu Feb 23 00:15:08 2023 +0000"
      },
      "message": "Added support for reboot task\n\nTest: tested on raven device\nChange-Id: I4935d720f567e70da95ea8da37f3404b80b313c8\nBug: 194686221\n\nChanged reboot {target} to work off tasks. reboot-{target} commands are\nalso supported.\n\nTest: tested reboot on raven device\nChange-Id: I05aed269d121a5d651c1ab1180a1b4878ae213fd\n\nModified load_buf to be able to find images in $OUT directory\n\nTest: tested flash {partition} and flash {partition} {img_name} on raven\ndevice\n\nChange-Id: I3879792d11ad15bc910670853d2a7fe200fcc66f\n"
    },
    {
      "commit": "96ea7b9ccfccc07dedeb79c285b431cb6c8e6f44",
      "tree": "5cc0eeefe1e59f6a5e213153bc7bd5af25031854",
      "parents": [
        "678516efa1c3a0f9bffc0493f31d7edec1adf025",
        "c48cd9f6c0a08f44c2af65aec158d6dcb20facd4"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Feb 15 19:05:34 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 15 19:05:34 2023 +0000"
      },
      "message": "Merge \"fastboot: Follow fastboot pattern to show network-connected device status\""
    },
    {
      "commit": "c48cd9f6c0a08f44c2af65aec158d6dcb20facd4",
      "tree": "e904f1dd25a7aa44f91253834ddd611b8b09eeb4",
      "parents": [
        "d14a7551d5d78a028b09bdcc4cbf33b23dc97eea"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Feb 15 15:34:58 2023 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Feb 15 15:34:58 2023 +0000"
      },
      "message": "fastboot: Follow fastboot pattern to show network-connected device status\n\nBug: 269348113\nTest: checked output\nChange-Id: Ie6c48d36bd67fcb060ad3f4a35185fd9cc59ff81\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "368a9083346da3aabec3bb9fd7bf596faf43c5f7",
      "tree": "0977dd47fb10e4e32ed59d5d96b1e4d638f6777e",
      "parents": [
        "5c1d43f7326b4348fdfe0682967b8b68fadbe22c",
        "99097cc020a92bff3c6546a486db274096238271"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 15 11:49:24 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 15 11:49:24 2023 +0000"
      },
      "message": "Merge \"Fastboot: Add new TEXT message to protocol to handle long lines.\""
    },
    {
      "commit": "99097cc020a92bff3c6546a486db274096238271",
      "tree": "c159531b75aa1a1e7d7bf009d1f32ce1094b44eb",
      "parents": [
        "e6d8dd3e157ecd38696c21920d6cca5965abdcac"
      ],
      "author": {
        "name": "Raphael Herouart",
        "email": "rherouart@google.com",
        "time": "Fri Dec 30 11:51:54 2022 +0000"
      },
      "committer": {
        "name": "Raphael Herouart",
        "email": "rherouart@google.com",
        "time": "Tue Feb 14 19:58:42 2023 +0000"
      },
      "message": "Fastboot: Add new TEXT message to protocol to handle long lines.\n\nTrusty Benchmarks need to be evaluated in ABL which is much more\ncontrolled than linux. However fastboot prints evry atomic message from\ntrusty/abl on its own line starting with \"(bootloader)\"\n\nBug: 263454481\nTest: - \"fastboot oem trusty runtest trusty.hwrng.bench\"\nChange-Id: I99847a8cc54457c8ec809e219736325dce0ac891\n"
    },
    {
      "commit": "0d30718d9ce1e05bbd2b7c067f8ed4c05e7aaa2e",
      "tree": "174bb77d3ee643473508b2b4de37cf0f320c1e17",
      "parents": [
        "77f4cb4db09f76260fec53ef7018297ba7933eac"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Tue Jan 31 21:07:53 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Feb 13 23:27:41 2023 +0000"
      },
      "message": "Added support for flash task\n\nAdded Flash Task\n\nTest: tested on raven\nChange-Id: I4a6c22f795440afeba18497745dddf8d5c570f65\nBug: 194686221\n\nchanged flash {partition_name} to work with tasks\n\nTest: tested flash {partition_name} on raven\nChange-Id: I1fa45b949ad8e5017026dd542dfe1389279a9e64\nBug: 194686221\n"
    },
    {
      "commit": "0ee285aa68c23a6a2b8caac20de858c308171c27",
      "tree": "e8d27c7dd6446842a4ce55228c50d355d1cfccd5",
      "parents": [
        "91297172eb3528c129e20a3d34e03692e1c8ab01"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Sat Feb 11 00:02:22 2023 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Sat Feb 11 00:02:22 2023 +0000"
      },
      "message": "fastboot: Introduce connect / disconnect for network-connected devices\n\nUse introduced FileLock and network-connected devices storage entities\nto introduce fastboot connect / disconnect commands\n\nTest: everything works like discussed here go/fastboot-connect-disconnect on windows/linux\nBug: 267507450\nBug: 267506875\nChange-Id: I2d6495ad567a3ddadd471a89b82d78c8c36a3d52\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "1a01a1cda1d67c5e07cef778cde6cebf1718d2d6",
      "tree": "36920245cf6e1e3c5ad5e2a2e6385468567385e9",
      "parents": [
        "6e0eb996b36e508e5ec363fca2f4e7fc3cb2bbe7"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Jan 30 23:29:50 2023 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Mon Feb 06 23:58:13 2023 +0000"
      },
      "message": "Created new Task.h file to contain task classes.\n\nTest: tested Reboot {target} + Flash {partition} on raven device\nBug: 194686221\nChange-Id: I0d80230d682f80af12cca9705df0172651bf4461\n"
    },
    {
      "commit": "667b1efadd8ce8d8cf19d0684a871125cce203d3",
      "tree": "49453a8a88c416011455bce250992f4359bde7ae",
      "parents": [
        "aa87dc5a0d10630c313ec9aebf8a5d51ce3ef8d9"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Jan 27 21:11:11 2023 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Feb 01 11:28:18 2023 -0800"
      },
      "message": "fastboot: Avoid reboots to userspace when using flashall/update.\n\nReboots to fastbootd (userspace fastboot) take a long time, particularly\ndue to the orange AVB screen and the likelihood of devices having uart\nenabled. For \"flashall\", there is rarely a need to actually go into\nuserspace, because all of super is getting thrown away. We can just\nflash super in the bootloader.\n\nIn the past we didn\u0027t do this because computing super.img is expensive -\nboth in terms of time (due to reading dependent images) and in terms of\nspace (it\u0027s easily over 5GB).\n\nBut we don\u0027t actually need to fully compute super.img. We can build a\nsparse_file containing the metadata/headers, with additional references\nto each image file containing partition data. Liblp provides the API to\ndo that, and here, we simply need to translate the layout to libsparse.\n\nOn Pixel, this reduces flashall time by around 35-50 seconds, or around\n20% of total time, depending on whether uart is in use.\n\nThere are some caveats, in which case we\u0027ll fall back to normal\nfastbootd. This does not work on non-A/B devices, on retrofit dynamic\npartition devices (Pixel 3), and in some other edge-casey scenarios. If\nit fails, -v will add logging information about why.\n\nBue: 266982466\nTest: fastboot flashall on Pixel 5+\nChange-Id: Ie040da597d739faa7f834202184cec8f8e412076\n"
    },
    {
      "commit": "aa87dc5a0d10630c313ec9aebf8a5d51ce3ef8d9",
      "tree": "322abca4e9aa10fa3e8d3ecebcde20d053e1edaa",
      "parents": [
        "a67fc32a8afd225e85709301ed249c8e976d8a42"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Jan 27 20:39:06 2023 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Feb 01 11:28:16 2023 -0800"
      },
      "message": "fastboot: Move some helpers into util.h/.cpp.\n\nBug: 266982466\nTest: builds\nChange-Id: Ib744d763e11d8a7f7e3f417b331defff61fe4559\n"
    },
    {
      "commit": "a67fc32a8afd225e85709301ed249c8e976d8a42",
      "tree": "99f350a699a2de8dffe7324d72fd18d1df203263",
      "parents": [
        "a1c983e800c02c7b91e0609ed6381db07ffd2f4e"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Jan 27 16:15:52 2023 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Feb 01 11:09:29 2023 -0800"
      },
      "message": "fastboot: Allow using LOG().\n\nThe die() and verbose() macros are not really standard for AOSP. To\nallow a gradual transition off them, call InitLogging on startup. This\nwill also allow seeing liblp logs when -v is passed.\n\nBug: 266982466\nTest: builds\nChange-Id: I74278bb5f698edb0dc81477a575b130b0bd11cdf\n"
    },
    {
      "commit": "a1c983e800c02c7b91e0609ed6381db07ffd2f4e",
      "tree": "7a66c2612fdbb821a4460c9bb2fd5df65e123ded",
      "parents": [
        "e6cef616f1f9882119e1a7caf84debb247186c6b"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Jan 27 11:57:27 2023 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Feb 01 11:09:28 2023 -0800"
      },
      "message": "fastboot: Use RAII for sparse_file objects.\n\nBug: 266982466\nTest: fastboot flash\nChange-Id: I3d240d6ecc8a37d968ffdef9d50e349e787e8d3e\n"
    },
    {
      "commit": "acb49528a7fcd38e579dbd20ac0d350c542ae386",
      "tree": "be39db9c17abfb2d84bfb3c258b10c7dfac62a5f",
      "parents": [
        "9b9924b412c9fc0d6c152eb4de81506269f76b1e"
      ],
      "author": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Thu Jan 12 14:28:29 2023 -0800"
      },
      "committer": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Thu Jan 12 14:33:56 2023 -0800"
      },
      "message": "fastboot: Copy AVB footer from recovery.img to the end of the partition\n\nCopy the AVB footer of the recovery.img to the end of the recovery\npartition, so that it can be found when loading a recovery image\nfrom a partition that is larger than the image.\n\nBug: 261673286\nTest: m and flashing recovery image and bootloader can now detect\nAVB footer.\nChange-Id: Ib93da33c72f3a96eb8d9bcedaab5ef0c3a4d418d\nSigned-off-by: Isaac J. Manjarres \u003cisaacmanjarres@google.com\u003e\n"
    },
    {
      "commit": "65452d036e82de42ad324db7611fb68fdb9cf464",
      "tree": "aeb1289d3365f53b578129a29e936c588bb9a309",
      "parents": [
        "f9e6c5104d4d0be8661006e75ae2f5b8d227df12"
      ],
      "author": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Nov 30 02:25:31 2022 +0000"
      },
      "committer": {
        "name": "Daniel Zheng",
        "email": "zhengdaniel@google.com",
        "time": "Wed Nov 30 03:36:46 2022 +0000"
      },
      "message": "Updating fastboot to modern c++ standards\n\nTest: tested fastboot on raven device\nChange-Id: I0c1fa4cd09378282edf5df54ae26d747e6d4f3eb\n"
    },
    {
      "commit": "5d72d6ce2033d378f9acb6ecec5f9aacdac083d8",
      "tree": "e799d74cfa3f0e626d0882d7d305d79e1a452bef",
      "parents": [
        "c20b6b58fcc59cb76d9de7ebaefeb74ad59fe123"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Thu Jul 21 14:43:20 2022 +1000"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Thu Jul 21 14:50:05 2022 +1000"
      },
      "message": "Remove unused execution paths when formatting\n\nfastboot uses the internal functions generate_ext4_image and\ngenerate_f2fs_image when called via the `format` subcommand. An option\nfor populating the newly created fs with an initial directory exists,\nbut it is not exposed to the command line interface (initial_dir is\nalways \"\"). Remove the unused codepaths for this preloading.\n\nTest: atest --host fastboot_test\nBug: 237960487\nChange-Id: I7acfe6352cf26b5cbe0e5553b288c3798e96a893\n"
    },
    {
      "commit": "f0fb5dde89827a51926c6c7ce59384500a2b5b95",
      "tree": "43e310b065c35c4cc3151ee306a528edecc1c9a7",
      "parents": [
        "6079d30145ccbdbb16777958b5333074630853f3"
      ],
      "author": {
        "name": "Lucas Wei",
        "email": "lucaswei@google.com",
        "time": "Mon Mar 28 21:57:58 2022 +0800"
      },
      "committer": {
        "name": "Lucas Wei",
        "email": "lucaswei@google.com",
        "time": "Sat Apr 02 01:04:23 2022 +0800"
      },
      "message": "fastboot: Add vendor_kernel_boot\n\nBug: 214409109\nSigned-off-by: Lucas Wei \u003clucaswei@google.com\u003e\nChange-Id: I8b0baa887e5e2309a1cb4a602fe8f6ca9e22526b\n"
    },
    {
      "commit": "ff9cfac08e11aa58ae470f991a8de298afb45e5b",
      "tree": "7e054af84f52ef2078386f3f90faa3cc741f14a4",
      "parents": [
        "eb710bfa72ad6461ab147f77d8873c561efa1010"
      ],
      "author": {
        "name": "Paweł Grabas",
        "email": "pawel.grabas@volvocars.com",
        "time": "Thu Mar 04 13:11:25 2021 +0100"
      },
      "committer": {
        "name": "Kamaljeet Maini",
        "email": "kamaljeet@google.com",
        "time": "Tue Feb 08 22:40:06 2022 +0000"
      },
      "message": "Allow disabling AVB on special vbmeta partitions\n\nThe vbmeta partition might have additional prefix\n(e.g., guest_vbmeta_a) on some virtual machine\nenvironment. Allowing rewriting the disable-verity/\ndisable-verification bits in the vbmeta image upon\nflash under such use case.\n\nBug: https://partnerissuetracker.corp.google.com/u/1/issues/181791553\nTest: manual tests with different names of vbmeta partition\nChange-Id: Iacadaf587fce1e1e7fef946f56bbfc7f4e8233d8\n"
    },
    {
      "commit": "60bd33ffd5a0ad3cc8782456a8f33510b4198720",
      "tree": "56fd6ff24b4f4abff9eed1b79817c2617292be99",
      "parents": [
        "28d7b767a9924e74d00b82c17b44a053b15e26c5"
      ],
      "author": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Tue Jan 11 02:01:26 2022 +0000"
      },
      "committer": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Tue Jan 11 02:02:59 2022 +0000"
      },
      "message": "fastboot: make init_boot.img optional\n\nOlder devices don\u0027t build this image because they don\u0027t have a partition\nfor it.\n\nBug: N/A\nTest: m\nChange-Id: I56b58c1bc137ce25e426aa4ec6d2303fa7d77ccc\n"
    },
    {
      "commit": "cb5098f5475422bd5cadf76b8da662998789604c",
      "tree": "2c2f018194b00c916eea731dab44a8b2c2e84a07",
      "parents": [
        "12e5f038a970fdf099d4450482342c1997a42fbf"
      ],
      "author": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Fri Jan 07 16:33:46 2022 +0000"
      },
      "committer": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Fri Jan 07 18:03:33 2022 +0000"
      },
      "message": "fastboot: make copy_boot_avb_footer more generic\n\nThe funciton is now used for init_boot and boot partitions, so the name\nand the error messages should be more generic.\n\nBug: 203698939\nTest: m\nChange-Id: I168fdcb08accb11b2c9cfc402168744274f59665\n"
    }
  ],
  "next": "1af1202fbdf03d309c0d56df1e93341a8d863daf"
}
